feat(release): v0.9.0 Foundation Complete (spec_version 112)#24
Open
imzzaidd wants to merge 9 commits into
Open
feat(release): v0.9.0 Foundation Complete (spec_version 112)#24imzzaidd wants to merge 9 commits into
imzzaidd wants to merge 9 commits into
Conversation
…pliance Add domain-separated SHA-256 functions alongside existing Blake2-256 to meet NIST FIPS 180-4 regulatory requirements for DePIN deployments. New functions: sha256_with_domain, sha256_raw, sha256_hash_pair, nist_key_fingerprint. Five NIST domain constants with 7ay:nist: prefix ensure separation between hash families. Includes 12 unit tests.
Reduce nesting depth in reconstruct() by extracting the Lagrange basis polynomial computation into a dedicated helper method. Fixes clippy excessive_nesting warning.
…tor, device Introduce seveny-runtime-api crate with 4 runtime API traits and typed response structs. Implement presence_getState, epoch_current, validator_status, and device_health RPC methods bridging pallet storage to jsonrpsee endpoints. Document equivocation reporting status.
Add #[benchmarks] module to each pallet with representative extrinsic benchmarks. Wire all 16 pallets into runtime define_benchmarks! and enable runtime-benchmarks feature flags. Replaces hand-estimated weights with measurable benchmark infrastructure.
Add 30 integration tests exercising the real Presence, Epoch, and Validator pallets wired together (no mocks). Cover full lifecycle flow, epoch binding, state monotonicity, terminal state immutability, quorum edge cases, and cross-pallet error propagation for INV1,7-11,14,16-17,46.
Mark the "Foundation Complete" milestone with workspace version 0.9.0 and runtime spec_version 112. This version adds SHA-256 NIST dual-hash, DePIN RPC endpoints, FRAME benchmarks, and cross-pallet integration tests.
- Add missing runtime API trait imports in node/src/rpc.rs (PresenceApi, EpochApi, ValidatorApi, DeviceApi) to fix E0599 compile errors - Wrap H256 values with ActorId in lifecycle benchmarking to fix E0308 type mismatch errors under runtime-benchmarks feature - Suppress RUSTSEC-2026-0037 (quinn-proto DoS) and RUSTSEC-2026-0049 (rustls-webpki CRL matching) - transitive deps from polkadot SDK
…ompile errors - Add frame-benchmarking dependency to device-scanner and triangulation Cargo.toml (was missing, causing E0433 unresolved crate errors) - Use pallet-local Position struct instead of seveny_primitives::Position to fix E0308 type mismatch in both pallets' benchmarking modules - Rename benchmark fn to match extrinsic name (set_scan_data) so the #[extrinsic_call] _() macro resolves correctly - Remove unused pallet::* imports in epoch and lifecycle benchmarks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v0.9.0 "Foundation Complete" — SHA-256 NIST dual-hash, DePIN RPC endpoints, FRAME benchmarks, and cross-pallet integration tests.
Changes
NIST_DOMAIN_*), 4 functions (sha256_with_domain,sha256_raw,sha256_hash_pair,nist_key_fingerprint) for FIPS 180-4 complianceseveny-runtime-apicrate with 4 runtime API traits and jsonrpsee implementations:presence_getState,epoch_current,validator_status,device_health#[benchmarks]module for all 16 custom pallets wired intodefine_benchmarks!lagrange_basis_at_zerohelper to fix clippy excessive nestingpallet_sessiondependency; stubs remain until session integrationNew Files
runtime-api/src/lib.rsruntime-api/Cargo.tomlruntime/src/integration_tests.rspallets/*/src/benchmarking.rs(x16)Test Results
cargo fmtcleanTest plan
cargo test --workspace— all 687 tests passcargo clippy --all-targets -- -D warnings— zero warningscargo fmt --all -- --check— cleancargo check --no-default-features --target wasm32-unknown-unknown -p seveny-runtime— no_std verification