-
Notifications
You must be signed in to change notification settings - Fork 19
Refactor/prepare next evolution #755
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThis PR marks a significant restructuring of the AXONE protocol contracts repository during an active reconstruction phase. The pull request removes four complex contracts (axone-cognitarium, axone-dataverse, axone-law-stone, axone-objectarium), archives their associated documentation and test data, updates workspace-level dependencies and release configurations, and introduces a minimal placeholder contract (axone-dummy) to serve temporarily during refactoring. Changes
Sequence Diagram(s)The structural nature of this change—large-scale removal of contract implementations combined with introduction of a minimal placeholder—does not warrant a sequence diagram, as it represents a refactoring checkpoint rather than new control-flow patterns or feature interactions. Estimated code review effort🎯 4 (Complex) | ⏱️ ~60–90 minutes Rationale: The diff spans multiple heterogeneous domains (RDF processing, verifiable credentials, Prolog-based governance, object storage), requiring context-specific validation for each removed contract. Critical review concerns include: (1) verifying intentional removal of thousands of lines across four distinct contracts, (2) ensuring no external dependencies on deleted public APIs within this workspace, (3) validating the transition from axone-law-stone to axone-dummy maintains correct binary wasm references in configuration, (4) confirming workspace-level dependency pruning does not break remaining build targets, and (5) ensuring test data and documentation removal aligns with contract removal scope. While much of the diff is deletion (lower complexity than novel logic), the breadth and interconnected configuration changes demand systematic verification. Possibly related PRs
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
size-limit report 📦
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.releaserc.cjs (1)
51-73
: Address configuration mismatch: expected match count (1) versus actual (0) in root Cargo.toml.The verification reveals a critical discrepancy. The
.releaserc.cjs
configuration specifiesnumMatches: 1
for rootCargo.toml
, but the actual count is 0. Noaxone-*
path dependencies with versions matching the pattern"\.\/[^"]*"
exist in the root file.While an
axone-dummy-lib
path dependency with version exists in./contracts/axone-dummy/Cargo.toml
, it uses a relative path../../packages/...
, which does not match the regex pattern requiring./
prefixes. The release configuration targets only the rootCargo.toml
file.Recommended action: Verify whether this rule should target workspace member files or confirm that no version synchronization is required for root-level
Cargo.toml
. If the rule is intentionally a no-op, adjust expectations accordingly.
🧹 Nitpick comments (2)
contracts/axone-dummy/src/contract.rs (2)
19-31
: Consider consistent variant syntax.Line 27 matches
ExecuteMsg::Foo {}
with empty braces, but the variant is defined as a unit variantFoo
in msg.rs (line 11). While Rust accepts both syntaxes, prefer consistency by usingExecuteMsg::Foo
without braces to match the definition.Apply this diff for consistency:
match msg { - ExecuteMsg::Foo {} => Ok(Response::new() + ExecuteMsg::Foo => Ok(Response::new() .add_attribute("action", "foo") .add_attribute("greeting", axone_dummy_lib::greeting())), }
1-38
: Missing unit tests.The coding guidelines specify: "Include unit tests alongside source using cosmwasm-std::testing mocks to exercise entry points." No
#[cfg(test)]
module is present to test the instantiate, execute, and query entry points. While this is a placeholder contract, adding basic tests would demonstrate proper patterns for the next evolution.Consider adding a test module:
#[cfg(test)] mod tests { use super::*; use cosmwasm_std::testing::{mock_dependencies, mock_env, mock_info}; #[test] fn test_instantiate() { let mut deps = mock_dependencies(); let env = mock_env(); let info = mock_info("creator", &[]); let msg = InstantiateMsg {}; let res = instantiate(deps.as_mut(), env, info, msg).unwrap(); assert_eq!(res.attributes.len(), 2); } #[test] fn test_execute_foo() { let mut deps = mock_dependencies(); let env = mock_env(); let info = mock_info("sender", &[]); let msg = ExecuteMsg::Foo; let res = execute(deps.as_mut(), env, info, msg).unwrap(); assert_eq!(res.attributes[0].key, "action"); } #[test] fn test_query() { let deps = mock_dependencies(); let env = mock_env(); let msg = QueryMsg::Bar { msg: "test".to_string() }; let res = query(deps.as_deps(), env, msg).unwrap(); assert!(!res.is_empty()); } }Based on coding guidelines.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (6)
Cargo.lock
is excluded by!**/*.lock
docs/axone-cognitarium.md
is excluded by!docs/*.md
docs/axone-dataverse.md
is excluded by!docs/*.md
docs/axone-dummy.md
is excluded by!docs/*.md
docs/axone-law-stone.md
is excluded by!docs/*.md
docs/axone-objectarium.md
is excluded by!docs/*.md
📒 Files selected for processing (107)
.github/copilot-instructions.md
(1 hunks).releaserc.cjs
(2 hunks).size-limit.json
(1 hunks)Cargo.toml
(0 hunks)README.md
(1 hunks)contracts/axone-cognitarium/Cargo.toml
(0 hunks)contracts/axone-cognitarium/README.md
(0 hunks)contracts/axone-cognitarium/examples/prolog-query/README.md
(0 hunks)contracts/axone-cognitarium/examples/prolog-query/query.pl
(0 hunks)contracts/axone-cognitarium/examples/sample-data.rdf.xml
(0 hunks)contracts/axone-cognitarium/src/bin/schema.rs
(0 hunks)contracts/axone-cognitarium/src/error.rs
(0 hunks)contracts/axone-cognitarium/src/lib.rs
(0 hunks)contracts/axone-cognitarium/src/msg.rs
(0 hunks)contracts/axone-cognitarium/src/parser/ast.rs
(0 hunks)contracts/axone-cognitarium/src/parser/mod.rs
(0 hunks)contracts/axone-cognitarium/src/querier/engine.rs
(0 hunks)contracts/axone-cognitarium/src/querier/expression.rs
(0 hunks)contracts/axone-cognitarium/src/querier/mapper.rs
(0 hunks)contracts/axone-cognitarium/src/querier/mod.rs
(0 hunks)contracts/axone-cognitarium/src/querier/plan.rs
(0 hunks)contracts/axone-cognitarium/src/querier/plan_builder.rs
(0 hunks)contracts/axone-cognitarium/src/querier/variable.rs
(0 hunks)contracts/axone-cognitarium/src/rdf/atom.rs
(0 hunks)contracts/axone-cognitarium/src/rdf/mapper.rs
(0 hunks)contracts/axone-cognitarium/src/rdf/mod.rs
(0 hunks)contracts/axone-cognitarium/src/state/blank_nodes.rs
(0 hunks)contracts/axone-cognitarium/src/state/mod.rs
(0 hunks)contracts/axone-cognitarium/src/state/namespaces.rs
(0 hunks)contracts/axone-cognitarium/src/state/store.rs
(0 hunks)contracts/axone-cognitarium/src/state/test_util.rs
(0 hunks)contracts/axone-cognitarium/src/state/triples.rs
(0 hunks)contracts/axone-cognitarium/src/storer/engine.rs
(0 hunks)contracts/axone-cognitarium/src/storer/mod.rs
(0 hunks)contracts/axone-cognitarium/testdata/blank-nodes.ttl
(0 hunks)contracts/axone-cognitarium/testdata/sample.nq
(0 hunks)contracts/axone-cognitarium/testdata/sample.nt
(0 hunks)contracts/axone-cognitarium/testdata/sample.rdf.xml
(0 hunks)contracts/axone-cognitarium/testdata/sample.ttl
(0 hunks)contracts/axone-cognitarium/tests/e2e/features/insert.feature
(0 hunks)contracts/axone-cognitarium/tests/e2e/main.rs
(0 hunks)contracts/axone-dataverse/Cargo.toml
(0 hunks)contracts/axone-dataverse/Makefile.toml
(0 hunks)contracts/axone-dataverse/README.md
(0 hunks)contracts/axone-dataverse/src/contract.rs
(0 hunks)contracts/axone-dataverse/src/credential/crypto.rs
(0 hunks)contracts/axone-dataverse/src/credential/error.rs
(0 hunks)contracts/axone-dataverse/src/credential/mod.rs
(0 hunks)contracts/axone-dataverse/src/credential/proof.rs
(0 hunks)contracts/axone-dataverse/src/credential/rdf_marker.rs
(0 hunks)contracts/axone-dataverse/src/credential/vc.rs
(0 hunks)contracts/axone-dataverse/src/error.rs
(0 hunks)contracts/axone-dataverse/src/lib.rs
(0 hunks)contracts/axone-dataverse/src/msg.rs
(0 hunks)contracts/axone-dataverse/src/registrar/credential.rs
(0 hunks)contracts/axone-dataverse/src/registrar/mod.rs
(0 hunks)contracts/axone-dataverse/src/registrar/rdf.rs
(0 hunks)contracts/axone-dataverse/src/registrar/registry.rs
(0 hunks)contracts/axone-dataverse/src/state.rs
(0 hunks)contracts/axone-dataverse/src/testutil.rs
(0 hunks)contracts/axone-dataverse/testdata/proof-ed255192020-ok.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-ed255192020-options.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-invalid-pkey.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-malformed-value.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-malformed.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-missing-created.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-missing-method.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-missing-purpose.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-missing-type.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-missing-value.nq
(0 hunks)contracts/axone-dataverse/testdata/proof-unsupported.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-claim-hierarchy.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-di-ed-ok.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-ecdsa-2019-ok.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-eddsa-2018-ok.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-eddsa-2020-ok-unsecured-trusted.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-eddsa-2020-ok-unsecured.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-eddsa-2020-ok.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-unsupported-1.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-unsupported-2.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-unsupported-3.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-unsupported-4.nq
(0 hunks)contracts/axone-dataverse/testdata/vc-valid.nq
(0 hunks)contracts/axone-dummy/Cargo.toml
(2 hunks)contracts/axone-dummy/README.md
(1 hunks)contracts/axone-dummy/src/bin/schema.rs
(1 hunks)contracts/axone-dummy/src/contract.rs
(1 hunks)contracts/axone-dummy/src/lib.rs
(1 hunks)contracts/axone-dummy/src/msg.rs
(1 hunks)contracts/axone-law-stone/Makefile.toml
(0 hunks)contracts/axone-law-stone/README.md
(0 hunks)contracts/axone-law-stone/examples/multiple-sources/README.md
(0 hunks)contracts/axone-law-stone/examples/multiple-sources/gov.pl
(0 hunks)contracts/axone-law-stone/examples/multiple-sources/template.pl
(0 hunks)contracts/axone-law-stone/examples/single-source/README.md
(0 hunks)contracts/axone-law-stone/examples/single-source/gov.pl
(0 hunks)contracts/axone-law-stone/src/bin/schema.rs
(0 hunks)contracts/axone-law-stone/src/contract.rs
(0 hunks)contracts/axone-law-stone/src/error.rs
(0 hunks)contracts/axone-law-stone/src/helper.rs
(0 hunks)contracts/axone-law-stone/src/lib.rs
(0 hunks)contracts/axone-law-stone/src/msg.rs
(0 hunks)contracts/axone-law-stone/src/state.rs
(0 hunks)contracts/axone-objectarium/Cargo.toml
(0 hunks)contracts/axone-objectarium/Makefile.toml
(0 hunks)contracts/axone-objectarium/README.md
(0 hunks)contracts/axone-objectarium/src/bin/schema.rs
(0 hunks)
⛔ Files not processed due to max files limit (21)
- contracts/axone-objectarium/src/compress.rs
- contracts/axone-objectarium/src/crypto.rs
- contracts/axone-objectarium/src/cursor.rs
- contracts/axone-objectarium/src/error.rs
- contracts/axone-objectarium/src/lib.rs
- contracts/axone-objectarium/src/msg.rs
- contracts/axone-objectarium/src/pagination.rs
- contracts/axone-objectarium/src/state.rs
- packages/axone-cognitarium-client/README.md
- packages/axone-cognitarium-client/src/client.rs
- packages/axone-cognitarium-client/src/lib.rs
- packages/axone-dummy-lib/Cargo.toml
- packages/axone-dummy-lib/README.md
- packages/axone-dummy-lib/src/lib.rs
- packages/axone-logic-bindings/Cargo.toml
- packages/axone-logic-bindings/Makefile.toml
- packages/axone-logic-bindings/README.md
- packages/axone-logic-bindings/src/atom.rs
- packages/axone-logic-bindings/src/error.rs
- packages/axone-logic-bindings/src/lib.rs
- packages/axone-logic-bindings/src/query.rs
💤 Files with no reviewable changes (97)
- contracts/axone-law-stone/README.md
- contracts/axone-cognitarium/src/querier/mod.rs
- contracts/axone-law-stone/Makefile.toml
- contracts/axone-law-stone/examples/multiple-sources/README.md
- contracts/axone-objectarium/src/bin/schema.rs
- contracts/axone-law-stone/src/lib.rs
- contracts/axone-dataverse/testdata/proof-unsupported.nq
- contracts/axone-cognitarium/testdata/sample.rdf.xml
- contracts/axone-dataverse/testdata/vc-unsupported-3.nq
- contracts/axone-cognitarium/src/state/blank_nodes.rs
- contracts/axone-dataverse/testdata/proof-invalid-pkey.nq
- contracts/axone-cognitarium/examples/prolog-query/README.md
- contracts/axone-dataverse/testdata/proof-ed255192020-ok.nq
- contracts/axone-cognitarium/src/rdf/atom.rs
- contracts/axone-dataverse/testdata/vc-eddsa-2020-ok-unsecured.nq
- contracts/axone-law-stone/src/state.rs
- contracts/axone-cognitarium/testdata/sample.nt
- contracts/axone-dataverse/testdata/proof-missing-purpose.nq
- contracts/axone-cognitarium/testdata/blank-nodes.ttl
- contracts/axone-dataverse/testdata/vc-unsupported-4.nq
- contracts/axone-law-stone/src/msg.rs
- contracts/axone-dataverse/src/error.rs
- contracts/axone-law-stone/src/contract.rs
- contracts/axone-dataverse/src/testutil.rs
- contracts/axone-dataverse/testdata/proof-malformed-value.nq
- contracts/axone-dataverse/src/credential/error.rs
- contracts/axone-cognitarium/Cargo.toml
- contracts/axone-dataverse/testdata/proof-malformed.nq
- contracts/axone-law-stone/src/error.rs
- contracts/axone-dataverse/src/credential/crypto.rs
- contracts/axone-dataverse/testdata/proof-missing-created.nq
- contracts/axone-dataverse/src/credential/mod.rs
- contracts/axone-dataverse/testdata/vc-di-ed-ok.nq
- contracts/axone-dataverse/README.md
- contracts/axone-dataverse/testdata/vc-eddsa-2020-ok.nq
- contracts/axone-cognitarium/testdata/sample.ttl
- contracts/axone-cognitarium/src/rdf/mod.rs
- contracts/axone-cognitarium/src/rdf/mapper.rs
- contracts/axone-dataverse/testdata/vc-eddsa-2020-ok-unsecured-trusted.nq
- contracts/axone-law-stone/src/helper.rs
- contracts/axone-cognitarium/src/storer/mod.rs
- contracts/axone-dataverse/testdata/proof-ed255192020-options.nq
- contracts/axone-cognitarium/src/querier/variable.rs
- contracts/axone-cognitarium/src/parser/mod.rs
- contracts/axone-dataverse/testdata/vc-ecdsa-2019-ok.nq
- contracts/axone-cognitarium/src/state/store.rs
- contracts/axone-law-stone/examples/single-source/gov.pl
- contracts/axone-cognitarium/README.md
- contracts/axone-cognitarium/src/state/namespaces.rs
- contracts/axone-cognitarium/src/state/test_util.rs
- contracts/axone-dataverse/testdata/vc-valid.nq
- contracts/axone-law-stone/src/bin/schema.rs
- contracts/axone-dataverse/testdata/proof-missing-value.nq
- contracts/axone-cognitarium/testdata/sample.nq
- contracts/axone-cognitarium/src/querier/engine.rs
- contracts/axone-objectarium/README.md
- contracts/axone-dataverse/src/msg.rs
- contracts/axone-dataverse/src/registrar/credential.rs
- contracts/axone-dataverse/src/lib.rs
- contracts/axone-dataverse/testdata/vc-unsupported-1.nq
- contracts/axone-law-stone/examples/multiple-sources/template.pl
- contracts/axone-dataverse/testdata/proof-missing-method.nq
- contracts/axone-objectarium/Makefile.toml
- contracts/axone-law-stone/examples/multiple-sources/gov.pl
- contracts/axone-dataverse/src/registrar/mod.rs
- contracts/axone-dataverse/src/credential/vc.rs
- contracts/axone-cognitarium/src/querier/expression.rs
- contracts/axone-dataverse/src/contract.rs
- contracts/axone-dataverse/src/state.rs
- contracts/axone-cognitarium/src/state/triples.rs
- contracts/axone-cognitarium/src/error.rs
- contracts/axone-cognitarium/examples/prolog-query/query.pl
- contracts/axone-dataverse/src/registrar/registry.rs
- contracts/axone-cognitarium/src/state/mod.rs
- contracts/axone-cognitarium/src/parser/ast.rs
- contracts/axone-cognitarium/src/querier/plan_builder.rs
- contracts/axone-dataverse/testdata/vc-claim-hierarchy.nq
- contracts/axone-objectarium/Cargo.toml
- contracts/axone-dataverse/Makefile.toml
- Cargo.toml
- contracts/axone-cognitarium/src/lib.rs
- contracts/axone-dataverse/Cargo.toml
- contracts/axone-cognitarium/examples/sample-data.rdf.xml
- contracts/axone-cognitarium/tests/e2e/features/insert.feature
- contracts/axone-cognitarium/src/querier/plan.rs
- contracts/axone-law-stone/examples/single-source/README.md
- contracts/axone-dataverse/src/registrar/rdf.rs
- contracts/axone-dataverse/testdata/vc-unsupported-2.nq
- contracts/axone-dataverse/src/credential/proof.rs
- contracts/axone-cognitarium/src/bin/schema.rs
- contracts/axone-cognitarium/src/msg.rs
- contracts/axone-dataverse/testdata/vc-eddsa-2018-ok.nq
- contracts/axone-dataverse/src/credential/rdf_marker.rs
- contracts/axone-cognitarium/src/querier/mapper.rs
- contracts/axone-dataverse/testdata/proof-missing-type.nq
- contracts/axone-cognitarium/src/storer/engine.rs
- contracts/axone-cognitarium/tests/e2e/main.rs
🧰 Additional context used
📓 Path-based instructions (7)
contracts/axone-*/{src,schema,examples,testdata}/**
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Each contract must include the standard subdirectories: src/, schema/, examples/, and testdata/
Files:
contracts/axone-dummy/src/lib.rs
contracts/axone-dummy/src/msg.rs
contracts/axone-dummy/src/contract.rs
contracts/axone-dummy/src/bin/schema.rs
contracts/axone-*/src/**/*.rs
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
contracts/axone-*/src/**/*.rs
: Include unit tests alongside source using cosmwasm-std::testing mocks to exercise entry points
Validate all user inputs before state modifications and enforce strict access control using MessageInfo.sender, Addr, and CanonicalAddr appropriately
Optimize for low gas usage by minimizing redundant state reads/writes
Files:
contracts/axone-dummy/src/lib.rs
contracts/axone-dummy/src/msg.rs
contracts/axone-dummy/src/contract.rs
contracts/axone-dummy/src/bin/schema.rs
{contracts,packages}/**/*.rs
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Use English for comments; prefer /// for public API docs and use // sparingly to explain non-obvious reasoning, invariants, and trade-offs
Files:
contracts/axone-dummy/src/lib.rs
contracts/axone-dummy/src/msg.rs
contracts/axone-dummy/src/contract.rs
contracts/axone-dummy/src/bin/schema.rs
**/*.rs
⚙️ CodeRabbit configuration file
**/*.rs
: Review the Rust code, point out issues relative to principles of clean code, expressiveness, and performance.
Suggest idiomatic solutions and best practices.
Files:
contracts/axone-dummy/src/lib.rs
contracts/axone-dummy/src/msg.rs
contracts/axone-dummy/src/contract.rs
contracts/axone-dummy/src/bin/schema.rs
contracts/axone-*/src/msg.rs
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Define and export InstantiateMsg, ExecuteMsg, and QueryMsg in msg.rs
Files:
contracts/axone-dummy/src/msg.rs
contracts/axone-*/src/contract.rs
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
contracts/axone-*/src/contract.rs
: Expose CosmWasm entry points with #[cfg_attr(not(feature = "library"), entry_point)] and standard signatures (instantiate/execute/query and migrate when needed)
When storage or logic changes are breaking, implement a migrate entry point and document required state transitions
Files:
contracts/axone-dummy/src/contract.rs
**/*.toml
⚙️ CodeRabbit configuration file
Review the TOML configuration files for correctness, maintainability, and adherence to best practices.
Files:
contracts/axone-dummy/Cargo.toml
🧠 Learnings (6)
📚 Learning: 2025-08-17T21:05:34.837Z
Learnt from: CR
PR: axone-protocol/contracts#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T21:05:34.837Z
Learning: Applies to contracts/axone-*/src/msg.rs : Define and export InstantiateMsg, ExecuteMsg, and QueryMsg in msg.rs
Applied to files:
contracts/axone-dummy/src/lib.rs
contracts/axone-dummy/src/msg.rs
contracts/axone-dummy/src/contract.rs
contracts/axone-dummy/src/bin/schema.rs
📚 Learning: 2025-08-17T21:05:34.837Z
Learnt from: CR
PR: axone-protocol/contracts#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T21:05:34.837Z
Learning: Applies to contracts/axone-*/src/contract.rs : Expose CosmWasm entry points with #[cfg_attr(not(feature = "library"), entry_point)] and standard signatures (instantiate/execute/query and migrate when needed)
Applied to files:
contracts/axone-dummy/src/lib.rs
contracts/axone-dummy/src/msg.rs
contracts/axone-dummy/src/contract.rs
📚 Learning: 2025-08-17T21:05:34.837Z
Learnt from: CR
PR: axone-protocol/contracts#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T21:05:34.837Z
Learning: Applies to contracts/axone-law-stone/** : Treat governance rules as immutable Prolog sources stored via objectarium; allow query-only access
Applied to files:
.github/copilot-instructions.md
📚 Learning: 2025-08-17T21:05:34.837Z
Learnt from: CR
PR: axone-protocol/contracts#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T21:05:34.837Z
Learning: Applies to contracts/axone-*/src/**/*.rs : Include unit tests alongside source using cosmwasm-std::testing mocks to exercise entry points
Applied to files:
contracts/axone-dummy/src/contract.rs
📚 Learning: 2025-08-17T21:05:34.837Z
Learnt from: CR
PR: axone-protocol/contracts#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T21:05:34.837Z
Learning: Applies to contracts/axone-*/tests/**/*.rs : Place Rust integration tests under tests/ using real contract instantiation and dependencies
Applied to files:
contracts/axone-dummy/src/contract.rs
📚 Learning: 2025-08-17T21:05:34.837Z
Learnt from: CR
PR: axone-protocol/contracts#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-08-17T21:05:34.837Z
Learning: Applies to contracts/axone-*/schema/**/*.json : After any change to msg.rs or message types, regenerate and commit updated JSON schemas
Applied to files:
contracts/axone-dummy/src/bin/schema.rs
🧬 Code graph analysis (2)
contracts/axone-dummy/src/lib.rs (1)
contracts/axone-dummy/src/contract.rs (3)
execute
(20-31)instantiate
(8-17)query
(34-38)
contracts/axone-dummy/src/contract.rs (1)
packages/axone-dummy-lib/src/lib.rs (1)
greeting
(1-3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: report-wasm-size
- GitHub Check: test-rust
- GitHub Check: Analyze (rust)
🔇 Additional comments (11)
README.md (1)
15-22
: Clear communication of repository status.The reconstruction banner effectively communicates the transitional state of the repository and provides users with a reference to the last stable release. This is appropriate for a major refactoring effort.
contracts/axone-dummy/README.md (1)
1-3
: LGTM!The documentation appropriately describes the placeholder nature of this contract. For a temporary scaffold during refactoring, this level of documentation is sufficient.
contracts/axone-dummy/src/bin/schema.rs (1)
1-11
: LGTM!The schema generation binary correctly references the new
axone_dummy::msg
module and follows the standard CosmWasm pattern for API schema generation.contracts/axone-dummy/src/lib.rs (1)
1-4
: LGTM!The module structure follows the standard CosmWasm pattern, with public module declarations and appropriate re-exports of entry points at the crate root.
contracts/axone-dummy/src/msg.rs (1)
1-28
: Message definitions follow CosmWasm conventions.The message types are properly structured with
cw_serde
andQueryResponses
derives. However, note thatQueryMsg::Bar
includes amsg: String
parameter that appears unused in the query entry point (see contracts/axone-dummy/src/contract.rs line 34 where_msg
is ignored). For a placeholder contract, this is acceptable, but consider removing unused parameters if this structure is maintained longer-term.contracts/axone-dummy/src/contract.rs (2)
7-17
: Entry point correctly annotated and structured.The
instantiate
function follows the standard CosmWasm entry point pattern with proper annotations and signature. For a placeholder contract, the minimal implementation is acceptable.
33-38
: Query parameter ignored.The
query
function ignores the_msg
parameter entirely (line 34), yetQueryMsg::Bar
is defined with amsg: String
field in msg.rs (line 20). This creates an inconsistency where the query input is unused. For a placeholder contract this is acceptable, but the unused parameter suggests either the query implementation should use the input or the message definition should be simplified.contracts/axone-dummy/Cargo.toml (1)
1-30
: LGTM!The package configuration is minimal and appropriate for a placeholder contract. Dependencies are correctly specified using workspace references, and the internal
axone-dummy-lib
dependency is properly configured with a path reference..size-limit.json (1)
1-8
: LGTM! Artifact path updated correctly.The configuration now reflects the single placeholder contract with the correct path to
axone_dummy.wasm
. The flags remain appropriately configured..releaserc.cjs (2)
87-90
: LGTM! Release assets correctly updated.The GitHub release assets have been appropriately reduced to include only
axone_dummy.wasm
and the checksums file, aligning with the repository's refactored state.
36-50
: Code change verified and approved.The verification confirms that the workspace consolidation was executed correctly. The Cargo.toml file contains exactly one version declaration matching the pattern, aligning perfectly with the
numMatches: 1
andnumReplacements: 1
expectations in the.releaserc.cjs
configuration. The release pipeline will function as intended without encountering match failures.
b7166ae
to
45e5231
Compare
@coderabbitai resolve |
✅ Actions performedComments resolved and changes approved. |
Let's sit the stage for what come next. This PR just keeps the minimal build setup alive, and lays the groundwork for a new generation of smart contracts...
Summary by CodeRabbit