feat(governance): v0.0.31 — Runtime API GovernanceApi.query_proposal + query_vote (Phase 5.1 FOUNDATION COMPLETE) 🎉
Phase 5.1 GOVERNANCE pallet FOUNDATION COMPLETE end-to-end canonical. Runtime API GovernanceApi.query_proposal + query_vote wired canonical via sp_api::decl_runtime_apis! + impl runtime impl_runtime_apis! macro. 15 Runtime APIs total (14 + nuevo GovernanceApi con 2 methods read-only). ## Changes - crates/origin-chain-runtime/src/lib.rs:574 — impl origin_chain_governance::GovernanceApi<Block> for Runtime con query_proposal + query_vote (AccountId conversion ChainAccountId::from(voter.0)) - crates/origin-chain-node/src/main.rs — 14 → 15 APIs + GovernanceApi highlighted + Index 10 Governance v0.0.29 → v0.0.31 FOUNDATION COMPLETE ## Phase 5.1 FOUNDATION COMPLETE 🎉 - Proposal struct + ProposalStatus enum + storage (Proposals + Votes) - 3 dispatchables real impl: submit_proposal (7-step) + cast_vote (6-step) + finalize_proposal (5-step) - 8 Errors canonical + 3 Events canonical - BLAKE2-256 derive_proposal_id pure fn (Inmutable #16) - 10 integration tests E2E lifecycle complete - Runtime API canonical GovernanceApi NUEVO ✅ ## Phase 5.2-5.8 next refinements - 5.2 pallet_collective Technical Council - 5.3 OIP stake validation runtime config - 5.4 Stake-weighted voting via pallet_balances integration - 5.5 Technical Council veto + override 2/3 - 5.6 5 AI advisor agents (AdvisorMayNotVote enforcement) - 5.7 Emergency referendum 48h - 5.8 Treasury disbursement ## Verification - cargo build --release -p origin-chain-node 8.63s clean - cargo test --workspace — 177 tests passing, 0 failures - origin-chain-node info: 11 pallets + 15 Runtime APIs canonical - GovernanceApi visible + Phase 5.1 FOUNDATION COMPLETE highlighted 🎉 Phase 5.1 FOUNDATION COMPLETE end-to-end canonical. 4 Phase 2.x+5.1 COMPLETE sesión 3+. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
7c1425ff66
commit
e6a7feecae
3 files changed
+123
-2
No files matched your search
@@ -202,9 +202,9 @@ fn print_info() {
|
||||
println!(" • Index 7 Provenance (pallet_origin_provenance asset attestation CHN-7) [Phase 2.1 COMPLETE v0.0.17]");
|
||||
println!(" • Index 8 Fees (pallet_origin_fees cross-pillar economy OCAFB-1..6) [Phase 2.4 COMPLETE v0.0.23]");
|
||||
println!(" • Index 9 AgentIdentity (pallet_agent_identity AGI DIDs Inmutable #41) [Phase 2.7 COMPLETE v0.0.27]");
|
||||
println!(" • Index 10 Governance (origin_chain_governance Foundation Treasury CHN-4) [Phase 5.1 scaffold v0.0.29]");
|
||||
println!(" • Index 10 Governance (origin_chain_governance Foundation Treasury CHN-4) [Phase 5.1 FOUNDATION COMPLETE v0.0.31]");
|
||||
println!();
|
||||
println!("Runtime APIs canonical (14):");
|
||||
println!("Runtime APIs canonical (15):");
|
||||
println!(" • sp_api::Core (version + execute_block)");
|
||||
println!(" • sp_api::Metadata (runtime metadata)");
|
||||
println!(" • sp_block_builder::BlockBuilder (block production)");
|
||||
@@ -219,6 +219,7 @@ fn print_info() {
|
||||
println!(" • origin_chain_provenance::ProvenanceApi (verify_provenance RPC) [Phase 2.1 v0.0.17]");
|
||||
println!(" • origin_chain_fees::FeesApi (query_fee_for_action RPC) [Phase 2.4 COMPLETE v0.0.23]");
|
||||
println!(" • origin_chain_agent_identity::AgentIdentityApi (query_identity RPC) [Phase 2.7 COMPLETE v0.0.27]");
|
||||
println!(" • origin_chain_governance::GovernanceApi (query_proposal + query_vote RPC) [Phase 5.1 FOUNDATION COMPLETE v0.0.31]");
|
||||
println!();
|
||||
println!("Genesis presets canonical (3):");
|
||||
println!(" • development (Alice + 100M OGC dev)");
|
||||
|
||||
@@ -599,6 +599,33 @@ impl_runtime_apis! {
|
||||
AgentIdentity::query_identity_of(&runtime_account)
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Phase 5.1 canonical: Governance Runtime API canonical (v0.0.31)
|
||||
// ============================================================
|
||||
//
|
||||
// Foundation governance frontend + 5 AI advisor agents (advise-only canonical)
|
||||
// + cross-pillar consumers query canonical proposals + vote stances sin full
|
||||
// node access. Pattern análogo ProvenanceApi + FeesApi + AgentIdentityApi —
|
||||
// read-only RPC query canonical sin storage mutation.
|
||||
//
|
||||
// Phase 5.1 FOUNDATION COMPLETE canonical post-v0.0.31 🎉
|
||||
|
||||
impl origin_chain_governance::GovernanceApi<Block> for Runtime {
|
||||
fn query_proposal(
|
||||
id: origin_chain_types::ProposalId,
|
||||
) -> Option<origin_chain_governance::Proposal> {
|
||||
Governance::query_proposal_of(id)
|
||||
}
|
||||
|
||||
fn query_vote(
|
||||
proposal_id: origin_chain_types::ProposalId,
|
||||
voter: origin_chain_types::AccountId,
|
||||
) -> Option<origin_chain_types::VoteStance> {
|
||||
let runtime_voter = ChainAccountId::from(voter.0);
|
||||
Governance::query_vote_of(proposal_id, &runtime_voter)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
|
||||
Reference in new issue
Block a user