Closed joemonem closed 1 month ago
This pull request introduces multiple enhancements to the Andromeda project, primarily focusing on the implementation of the IBC Registry ADO. Key changes include the addition of a new contract for managing IBC denomination information, updates to error handling structures, and the introduction of integration tests to ensure the functionality of the new features. The modifications also encompass configuration improvements for easier project management and testing capabilities.
File Path | Change Summary |
---|---|
contracts/os/andromeda-ibc-registry/.cargo/config |
Added command aliases for building, testing, and schema generation. |
contracts/os/andromeda-ibc-registry/Cargo.toml |
Defined package metadata, dependencies, and features for the andromeda-ibc-registry package. |
contracts/os/andromeda-ibc-registry/src/contract.rs |
Implemented core functionalities for the IBC registry, including instantiation, execution, and querying. |
contracts/os/andromeda-ibc-registry/src/lib.rs |
Added public modules for contract , state , and testing , enhancing modularity. |
contracts/os/andromeda-ibc-registry/src/mock.rs |
Developed a mock implementation for testing the IBC Registry contract. |
contracts/os/andromeda-ibc-registry/src/state.rs |
Introduced a persistent storage map for managing denomination information. |
contracts/os/andromeda-ibc-registry/src/testing/mod.rs |
Added a new module for unit and integration tests related to the IBC registry. |
contracts/os/andromeda-ibc-registry/src/testing/tests.rs |
Implemented a unit test for the instantiate function of the IBC Registry. |
packages/andromeda-data-storage/src/primitive.rs |
Modified error handling for empty denomination validation to include a message field. |
packages/std/src/error.rs |
Introduced new error variants and modified existing ones for better error reporting. |
packages/std/src/os/ibc_registry.rs |
Added structures and functions for managing IBC denominations and processing AMP packets. |
packages/std/src/os/mod.rs |
Introduced a new public module for the IBC registry. |
tests-integration/Cargo.toml |
Added dependency for andromeda-ibc-registry with testing feature for integration tests. |
tests-integration/tests/ibc_registry.rs |
Implemented integration tests for storing and querying denomination information in the IBC registry. |
tests-integration/tests/mod.rs |
Added a new test module for the IBC registry. |
ci: skip-changelog
🐰 In the garden, changes bloom,
New errors handled, dispelling gloom.
IBC registry, a wondrous feat,
With tests to ensure, our code's complete!
Hops of joy, we celebrate,
In Andromeda's world, we innovate! 🌼
Should this be set as 2.0.0 or 1.0.0?
1.0.0
Should we remove owner's ability to call StoreDenomInfo?
I think this is fine
Motivation
Part of [Q4 | RC1] IBC / Release 1 This OS contract,
ibc-registry
, stores a mapping ofString
toDenomInfo
with the ability to query the mapping.Implementation
service_address
is set by the user during Instantiation; It's the only address (alongside the contract owner) that can callStoreDenomInfo
. The structs are as follows:There's only one
Map
in state:The two queries are:
Testing
Unit test that tests
validate_denom
. Integration test that goes through instantiation, execution, and querying the results. Also tests authorization.Version Changes
Should this be set as 2.0.0 or 1.0.0?
Notes
Should we remove
owner
's ability to callStoreDenomInfo
?Future work
Needs a
README
fileSummary by CodeRabbit
Release Notes
New Features
Bug Fixes
Testing Enhancements
Documentation