Extract consensus module into standalone vero-consensus crate - #295
Conversation
verification/ previously depended on the full vero-core-contracts crate (including soroban-sdk) just to reach the pure, Env-free consensus module. Extracted consensus into its own zero-dependency crate (vero-consensus) so verification/ can depend on it directly. - New consensus/ crate holds the pure consensus logic (no soroban-sdk) - Main crate now re-exports from vero-consensus instead of defining it inline - verification/Cargo.toml now depends on vero-consensus directly (confirmed via cargo tree: no soroban-sdk in its dependency graph) - Fixed inverted cfg_attr that was suppressing the wrong build condition, causing spurious unused-import warnings - Full workspace builds cleanly; all existing tests pass (100+ tests, 0 failures) Note: Kani harnesses were not re-run in this environment (no native Windows support for Kani); requesting a maintainer confirm via 'cargo kani --manifest-path verification/Cargo.toml' before merge.
|
Closes #224 |
|
Could you add a Everything else looks fine — just need the link before this can merge. (For this one it'd be |
|
Closes #224 |
|
The failure is Extracting vero-consensus = { path = "consensus", version = "0.1.0" }Everything else is green — Build & Test, Test Coverage, and cargo-audit all pass. |
|
This needs a |
|
please ensure all checks pass |
- src/migrate.rs: remove unused testutils::Address import; add #[allow(dead_code)] on synthetic_failing_v1_to_v2 template helper - src/storage.rs: add doc comment to ARCHIVE_AFTER_SECONDS constant - src/contracts/storage_layout.rs: add module-level #![allow(missing_docs)] to suppress macro-generated items from contracttype that cannot carry doc comments; remove now-redundant per-enum allow attribute - tests/upgrade.rs: remove unused ContractError import; add #[allow(dead_code)] on event_symbols helper; fix unused_must_use on result.unwrap() in test_propose_same_hash_adds_approval
tests/upgrade.rs used ContractError at lines 639 and 660 but the import was dropped during the clippy cleanup, breaking Build & Test with E0433. cargo-deny's wildcard lint rejects a path dependency carrying no version, so vero-consensus is pinned to 0.1.0 to match consensus/Cargo.toml. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Merged — thanks for the contribution! If you've got a moment, a rating on GrantFox helps the project. |
Closes #224
verification/ previously depended on the full vero-core-contracts crate (including soroban-sdk) just to reach the pure, Env-free consensus module. Extracted consensus into its own zero-dependency crate (vero-consensus) so verification/ can depend on it directly.
New consensus/ crate holds the pure consensus logic (no soroban-sdk)
Main crate now re-exports from vero-consensus instead of defining it inline
verification/Cargo.toml now depends on vero-consensus directly (confirmed via cargo tree: no soroban-sdk in its dependency graph)
Fixed inverted cfg_attr that was suppressing the wrong build condition, causing spurious unused-import warnings
Full workspace builds cleanly; all existing tests pass (100+ tests, 0 failures)
Note: Kani harnesses were not re-run in this environment (no native Windows support for Kani); requesting a maintainer confirm via 'cargo kani --manifest-path verification/Cargo.toml' before merge.