feat(revive): v0.0.41 — Phase 3 Slice 3.1 SCAFFOLD COMPLETE (ReviveApi deferred a 3.2) 🎉🎉🎉

Ship 4 v0.0.41 — Phase 3 Slice 3.1 SCAFFOLD COMPLETE end-to-end marker.
pallet-revive 0.10.1 integration foundation listo: Config 22 types wired
runtime Index 11 + GenesisConfig + 10 integration tests E2E + integrity_test
canonical PASS + WASM rebuild 2.8 MB.

Decisión pragmática canonical: ReviveApi Runtime API exposure DEFERRED a
Slice 3.2+ post audit empírico 18 compile errors (API 0.10.1 signatures
significativamente divergent vs initial audit 0.12.2 assumption):
- Weight import scope
- Generic arity 5 (Block param requerido)
- Pallet bare_call() arity 8 not 7
- AddressMapper.to_account_id() method name differs
- bare_eth_transact() vs eth_transact_inner naming
- Trace.default() no derived
- DepositLimit::Balance enum wrapping

Cambios:
- crates/origin-chain-runtime/src/lib.rs: ReviveApi impl placeholder commented
  out (/* ... */) con documentation extensive de API diffs encontrados +
  rationale defer + Phase 3.x maduración path.

Slice 3.1 SCAFFOLD COMPLETE summary:
✅ Ship 1 v0.0.37 — ChainAction Phase 3 extension + workspace dep scaffold
✅ Ship 1.5 v0.0.38 — Substrate workspace bump stable2509-3 atómico (audit
   calibration error fix — SBS-1 label incorrectly "stable2512" pre-bump
   actually stable2506 hybrid)
✅ Ship 2 v0.0.39 — pallet-revive 0.10.1 wired runtime Index 11 con 22 Config
   types + GenesisConfig + WASM rebuild 2.8 MB
✅ Ship 3 v0.0.40 — 10 integration tests E2E SCAFFOLD-level verifying Config
   wiring + integrity_test passes + AddressMapper trait bound + ChainId
   EIP-155 + EVM bytecode enabled + memory limits validated
✅ Ship 4 v0.0.41 — SCAFFOLD COMPLETE marker (ReviveApi deferred 3.2)

Métricas Sesión 4+ Charon:
- 4 ships shipped Gitea direct-to-main TOTAL canonical (v0.0.37-41)
- 213 tests verde 0 failures (baseline 202 + 11 new tests across actions
  extension + revive integration)
- WASM_BINARY 2.8 MB shipped (grew +1 MB de baseline 1.8 MB v0.0.36
  pallet-revive PolkaVM bytecode integrado)
- 12 pallets composed runtime (System...Governance...Revive Index 11)
- 39 ships canonical TOTAL Origin Chain Gitea (v0.0.1 → v0.0.41)
- 0 structural blockers — Path A Phase 3 Slice 3.1 FOUNDATION canonical
  preserva Path B + Path C unblocked

Próximos paths posibles canonical sesión 5+:
- Slices 3.2-3.6: NFT mint + Escrow + Credentials + Staking + MDK reconciliation
  (contract templates ink! v6 + ReviveApi exposure final)
- Path B Phase 1.6+ Slice 4: sc-service full wire (consensus + JSON-RPC +
  libp2p + telemetry) — desbloqueado por workspace bump
- Path C Phase 4 Testnet v0.1 prep: multi-validator + faucet + block explorer

CHARON_ROADMAP_V1.3 refresh + monorepo bump + Palace LANDMARK files
canonical post-commit incremental ships.

⚓ Phase 3 Slice 3.1 SCAFFOLD COMPLETE. La nave Origin Chain anclada en puerto
smart contracts. Path A fundación PolkaVM RISC-V listo. Mission progress
70% → ~75%.

🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
davidherran committed 2026-05-27 08:44:44 -05:00
1 parent c02f525b9a
commit 1c097c1855
1 file changed
+54
+54
View File
@@ -653,6 +653,60 @@ impl_runtime_apis! {
Governance::veto_count_of(proposal_id) Governance::veto_count_of(proposal_id)
} }
} }
// ============================================================
// Phase 3 Slice 3.1 SCAFFOLD — ReviveApi exposure DEFERRED
// ============================================================
//
// ReviveApi 13 methods (block_gas_limit + balance + gas_price + nonce + call
// + instantiate + eth_transact + upload_code + get_storage + get_storage_var_key
// + trace_block + trace_tx + trace_call + block_author) — pallet-revive 0.10.1
// API signature significantly diverged vs initial audit (different method names,
// different Pallet helper arity, AddressMapper API differs, Precompiles/FeeInfo
// unit type Get bounds, Trace no Default). 18 compile errors empirical
// documented requieren methodical iteration con upstream Asset Hub canonical
// reference adaptation.
//
// Decisión pragmática Slice 3.1 SCAFFOLD COMPLETE sin ReviveApi: extrinsics
// dispatchables canonical via direct chain interaction (Polkadot JS apps +
// signed transactions). RPC layer ReviveApi NO bloquea contract deployment
// ni Slices 3.2-3.6 contract templates. Deferred a Slice 3.2 cuando NFT mint
// contract requiere RPC query interface canonical (real bytecode integration).
//
// Trade-off documented: Slice 3.1 SCAFFOLD ships sin Ethereum-compat RPC.
// Production canonical needs ReviveApi Phase 3.x maduración.
//
// Audit empírico API diffs encontrados (deferred work):
// - Weight import scope, generic arity 5 (Block param requerido), Pallet
// bare_call() arity 8 (not 7), AddressMapper.to_account_id() method name
// diferente, bare_eth_transact() vs eth_transact_inner, Trace.default()
// no derived. Methodical Asset Hub reference adaptation Slice 3.2 ship.
/*
fn trace_tx(
_block: Block,
_tx_index: u32,
_config: pallet_revive::evm::TracerType,
) -> Option<pallet_revive::evm::Trace> {
// Slice 3.1 SCAFFOLD: tracing returns None.
None
}
fn trace_call(
_tx: pallet_revive::evm::GenericTransaction,
_config: pallet_revive::evm::TracerType,
) -> Result<pallet_revive::evm::Trace, pallet_revive::EthTransactError> {
// Slice 3.1 SCAFFOLD: tracing returns empty Trace.
Ok(pallet_revive::evm::Trace::default())
}
fn block_author() -> Option<sp_core::H160> {
// Phase 1 PoA: sin pallet_authorship integration canonical.
// Phase 4 testnet decision: add pallet_authorship OR custom FindAuthor.
None
}
}
*/
} }
// ============================================================ // ============================================================