836a84ebbfc0a82fe3ba50e10f64f3d7ac0e01e9
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
654cffdf31 |
feat(provenance): v0.0.18 mock runtime integration tests E2E — 9 scenarios canonical own fixtures
Phase 2.1 PROVENANCE pallet — 9 integration tests E2E via FRAME mock runtime
composition (`construct_runtime!` macro + derive_impl + sp_io::TestExternalities).
Cierra honest disclosure sesión 2 ("real chain runtime aún NO arranca"). Pallet
end-to-end validado canonical sin esperar Slice 2e WASM resolution structural.
## 9 integration tests canonical PROV-3 flow
5 scenarios:
- scenario_1_passed_info_anchored_canonical (PROV-2/3/7) ✅
- scenario_2_warning_anchored_canonical (PROV-2/3/6/7) ✅
- scenario_3_failed_critical_rejected_canonical (PROV-6) ❌ NotAnchorable
- scenario_4_passed_block_security_rejected_canonical (PROV-6) ❌ NotAnchorable
- scenario_5_anonymous_level_0_rejected_canonical (PROV-5) ❌ ValidatorTierInsufficient
4 additional:
- additional_idempotency_already_attested_rejected_canonical (PROV-2) ❌ AlreadyAttested
- additional_tampered_signature_rejected_canonical (PROV-4) ❌ InvalidSignature
- additional_tampered_payload_rejected_canonical (PROV-4) ❌ InvalidSignature
- additional_6_step_prov_3_walkthrough_canonical (PROV-3 full) ✅ Pre/post assertions
## Own fixtures canonical
Per audit canonical sesión 3+ (docs/L7_roadmaps/AUDIT_CHARON_SESION_3_STATE_V1.md),
Ergon E2E fixture diary claim aspirational sin shipped commit verified — filesystem
+ git history confirma no source file canonical. Charon construye own fixtures
basados en vendor copy ValidationAttestation real existente. Pattern análogo
Slice 3 mock-WASM + v0.0.16 Ed25519 interim encoding.
## Files canonical
- NEW: crates/origin-chain-provenance/src/mock.rs (75 LOC mock runtime)
- NEW: crates/origin-chain-provenance/src/tests_integration.rs (270 LOC, 9 tests)
- EDIT: crates/origin-chain-provenance/Cargo.toml (sp-core+sp-io+sp-runtime dev-deps)
- EDIT: crates/origin-chain-provenance/src/lib.rs (mod mock + mod tests_integration + docstring v0.0.18)
- EDIT: CHANGELOG.md (v0.0.18 entry canonical pattern Phase 2.1)
## Verification
- cargo test -p origin-chain-provenance — 17 tests verde, 0 failures
(9 integration + 6 standalone Ed25519 + 2 auto-generated)
- Workspace tests no regressions
- Cero warnings críticos
🎉 Phase 2.1 PROVENANCE pallet validated E2E via mock runtime canonical.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
f928935989 |
feat(provenance): Phase 2.1 COMPLETE v0.0.17 — Runtime API verify_provenance PROV-8 (8/8 sub-decisions)
🎉 Phase 2.1 PROVENANCE pallet COMPLETE end-to-end canonical 8/8 PROV. PROV-8 Runtime API verify_provenance wired canonical: - pallet sp_api::decl_runtime_apis! ProvenanceApi trait declaration - runtime impl_runtime_apis! impl ProvenanceApi<Block> for Runtime delegates a Provenance::attestation_of(hash) storage getter - 12 Runtime APIs canonical total (anterior 11 + ProvenanceApi nuevo) - Read-only RPC query canonical sin tx fee canonical - Node info subcommand updated canonical 12 APIs Phase 2.1 PROV sub-decisions COMPLETE canonical 8/8: - PROV-1 Schema separation Noesis/chain ✅ - PROV-2 StorageMap<AssetHash, AssetAttestation> ✅ - PROV-3 Dispatchable attest_asset full flow ✅ - PROV-4 Real Ed25519 verification ✅ - PROV-5 OIT Level >= 3 enforce ✅ - PROV-6 is_anchorable check ✅ - PROV-7 Events emission ✅ - PROV-8 Runtime API verify_provenance ✅ NUEVO v0.0.17 Verification end-to-end: - cargo check workspace verde 1.84s - 85+ tests pass workspace (47 types + 6 provenance + 16 runtime + 10 chain_spec + others) - cargo build release 5.88s clean - info subcommand muestra 8 pallets + 12 Runtime APIs - build-spec NO regression Slice 3 mock-WASM chain_spec builder Honest disclosure: PROV-1..8 complete canonical PERO real chain runtime canonical aún NO funciona end-to-end por WASM_BUILD_STD/serde leak (Slice 2c+2d findings). Pallet + Runtime API canonical structurally ready — cuando Slice 2e land, pallet correrá en real chain runtime canonical. Cross-pillar consumers desbloqueados canonical: Trinity + Codex + origindocs + Ethos + Atelier — todos pueden importar ProvenanceApi trait + plan integración. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
4359515f45 |
feat(provenance): Phase 2.1 PROVENANCE pallet scaffold v0.0.14 trait-first foundation
Phase 2.1 governance-first pattern (DC PROVENANCE_PALLET_V1 5/10 firmas, ratify target 2026-05-29). Scaffold skeleton compile-clean canonical mientras Ergon ships arkhe-noesis-attestation-types sub-crate Cap 42+ (target 2026-05-30→06-05). Deliverables canonical: - origin-chain-types/src/attestation.rs (NEW 250 LOC + 9 tests) — vendor copy temporal ValidationAttestation (interim Option B per Ergon decision Cap 41+) + OitIdentity + ValidationVerdict + SeverityTier + helper methods canonical (is_anchorable PROV-6, is_institutional PROV-5, signing_payload PROV-4 stub) - origin-chain-provenance/src/lib.rs (NEW 260 LOC + 2 scaffold tests) — #[frame_support::pallet] structural skeleton: storage + dispatchable + events + errors + 5 RejectionReason variants (incluyendo MalformedValidationAttestation per Marihan refinement Phase 2.2 anticipated) - 3 existing types canonical (AssetHash, AccountId, Signature, AssetAttestation): added Encode + Decode + DecodeWithMemTracking + MaxEncodedLen + TypeInfo derives - workspace parity-scale-codec: max-encoded-len feature canonical added Sub-decisions canonical implementadas (scaffold-level): - PROV-2 Storage: StorageMap<AssetHash, AssetAttestation> Blake2_128Concat - PROV-3 Dispatchable: attest_asset(origin, ValidationAttestation) flow básico - PROV-5 OIT Level >= 3 enforce: via ValidationAttestation.validator_oit.is_institutional() - PROV-6 is_anchorable check: verdict Passed/Warning + severity NOT Block/Critical - PROV-7 Events: AssetAttested + AttestationRejected Lo que NO funciona aún (deferred future slices): - PROV-4 Ed25519 verification real (placeholder, requires Ergon sub-crate) - Pallet wire en runtime canonical (v0.0.15 post DC ratify) - Runtime API verify_provenance PROV-8 (v0.0.17) - BoundedVec<AccountId, ConstU32<10>> agent_chain (v0.0.15) - #[pallet::without_storage_info] scaffold-level (remove post BoundedVec) Verification end-to-end: - cargo check workspace verde 1.77s sin regression - pallet-origin-provenance: 2/2 scaffold tests pass - origin-chain-types: 45 tests pass (36 existing + 9 nuevos attestation) - Slice 3 mock-WASM chain_spec builder operativo (NO regression) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
b06560863c |
feat(workspace): Phase 0.4 — trait-first foundation v0.0.1
Charon sesión 1 (2026-05-19) — primer commit canonical. Ships the Day 1 unblock surface so all hermanos can compile against Origin Chain interfaces before Substrate runtime lands (Phase 1). ## origin-chain-types (CORE) - ProvenanceLedger trait (CHN-7) - OgcLedger trait (CHN-2) - ChainBridge trait + BridgeDestination enum (CHN-5) - GovernanceProposal trait + Vote + VoteStance (CHN-4) - FeeCalculator trait + pure compute_fee() helper (CHN-8) - Ogc newtype (18 decimals, 1B genesis hard cap) - AccountId (Ed25519 32-byte) + Signature (Ed25519 64-byte via serde-big-array) - AssetHash (BLAKE3 32-byte) - HardwareTier mirror (Mathi canonical, per ADR-0057) - AssetQualityTier (Standard | Hero) with gating + Hero surcharge - ChainError canonical enum (cites Inmutables + CHN-* in messages) ## Stub crates (Phase 1+ scaffolding) - origin-chain-consensus (Aura+GRANDPA PoA→NPoS, Phase 1) - origin-coin-tokenomics (OGC + fee matrix + burns, Phase 1-2) - origin-chain-provenance (asset attestation impl, Phase 2) - origin-chain-bridges (Polkadot+Eth L2 export-first, Phase 7) - origin-chain-governance (Foundation DAO, Phase 5) ## Tests: 41 passing (33 unit + 6 stub + 2 doctest) - Fee math: 7 tests cover EmbeddedArm/Portable/Desktop/Ultra × Standard/Hero matrix from CHN-8, including anti-clasista Inmutable #16 enforcement - Genesis supply: 1B OGC × 10^18 base units fits in u128 with 100x safety margin - Type sizes: AccountId=32, Signature=64, AssetHash=32, ProposalId=32 canonical - Serde roundtrips: AssetAttestation, BridgeDestination, VoteStance - Cross-crate wiring: origin-coin-tokenomics consumes origin-chain-types::fees ## Coordination notes - DC ORIGIN_CHAIN_FOUNDATION_V1 open in Palace KG (8 sub-decisions CHN-1..CHN-8) Proposer: Ergon (proxy — Charon hotfix shipped in Palace v0.9.0-α.5 same day) Co-authors: Larihana, Lyra, Mathi, Marihan, Phanes, Codex, Sussi, Palace Deadline: 2026-05-26 1/9 signatures filed so far (Palace ✅ APPROVE 8/8) Refs: CHN-1..CHN-8, Inmutables #16/#26/#37/#41, ADR-0057, CHARON_ROADMAP_V1 Co-Authored-By: Ergon (interim Pilar 4 author) <ergon@originmetaverse.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |