Closed mdjakovic0920 closed 2 months ago
The updates to the Andromeda blockchain module enhance the framework for block information utilities, significantly improving the development experience. Key changes include the introduction of a .cargo/config
file for command aliases, structured message handling for instantiation and querying, and robust testing utilities. This modular approach improves organization, streamlines workflows, and facilitates easier integration within the Andromeda ecosystem.
Files | Change Summary |
---|---|
contracts/modules/andromeda-block-info-utils/.cargo/config |
New Cargo aliases for building, testing, and schema generation to enhance development workflow. |
contracts/modules/andromeda-block-info-utils/Cargo.toml |
Defines package metadata, features, and conditional dependencies for modularity and ease of use. |
contracts/modules/andromeda-block-info-utils/examples/schema.rs |
Introduces a main function to generate API schema for smart contracts using the cosmwasm_schema crate. |
contracts/modules/andromeda-block-info-utils/src/contract.rs |
Implements a smart contract with key functionalities: instantiation, execution, querying, and migration. |
contracts/modules/andromeda-block-info-utils/src/lib.rs |
Establishes a modular structure with contract , testing , and mock modules for better organization. |
contracts/modules/andromeda-block-info-utils/src/mock.rs |
Provides a mock implementation of the contract for testing, including instantiation and querying methods. |
contracts/modules/andromeda-block-info-utils/src/testing/mock.rs |
Introduces testing utilities, including mock dependencies and functions for proper initialization and querying. |
contracts/modules/andromeda-block-info-utils/src/testing/mod.rs |
Organizes the testing structure with submodules for mocks and tests. |
contracts/modules/andromeda-block-info-utils/src/testing/tests.rs |
Contains unit tests to validate initialization and querying functionality of the module. |
packages/andromeda-modules/src/block_info_utils.rs |
Defines message structures for blockchain interactions, including InstantiateMsg , ExecuteMsg , and QueryMsg . |
packages/andromeda-modules/src/lib.rs |
Adds a new public module block_info_utils for block information utilities, enhancing modularity. |
sequenceDiagram
participant Dev as Developer
participant C as Cargo
participant SC as Smart Contract
participant M as Mock
participant T as Testing Framework
Dev->>C: Run command (e.g., "cargo unit-test")
C->>SC: Execute tests
SC->>M: Use mock for testing
M->>SC: Return mocked responses
SC->>C: Return test results
C-->>Dev: Show test results
🐰 In code's embrace, a rabbit hops high,
Block info utilities, reaching the sky.
With aliases sweet, and mocks in a row,
We build and we test, letting joy overflow.
In Andromeda's realm, where ideas take flight,
We dance with our code, from morning till night! 🌼
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
I think this contract could only make sense in the context of IBC, since all contracts of the same chain have access to that value without the need to query it from another contract.
Closing as this is retrievable via the entry point Env
variable.
Motivation
This ADO returns current block height as a query result.
Testing
Unit test cases were added.
Version Changes
Version is set at 1.0.0
Summary by CodeRabbit
New Features
block_info_utils
module for enhanced block information processing.Bug Fixes
Tests