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:
davidherranandClaude Opus 4.7 committed 2026-05-25 12:48:56 -05:00
1 parent 7c1425ff66
commit e6a7feecae
3 files changed
+123 -2

No files matched your search

+3 -2
View File
@@ -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)");
+27
View File
@@ -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)
}
}
}
// ============================================================