feat(runtime): Phase 2.1 v0.0.15 — Provenance pallet wired runtime + BoundedVec agent_chain
8 pallets composed total (Provenance Index 7 wired canonical). DC PROVENANCE_PALLET_V1 5/10 firmas en ratificación — procediendo paralelo per "notify and continue" canonical. Deliverables canonical: - Pallet wire: configs.rs Config impl + lib.rs runtime composition macro pallet_index(7) Provenance - Alias `Provenance` (NO OriginProvenance que conflictaría con trait existente) - BoundedVec<AccountId, ConstU32<10>> replace Vec en AssetAttestation.agent_chain - Inmutable #41 pragmatic bound canonical: max 10 AGI co-authors per asset - Removed #[pallet::without_storage_info] (MaxEncodedLen ahora satisfied) - AccountId + Signature: DecodeWithMemTracking derive added (FRAME stable2512+ requirement) - AssetAttestation: Encode/Decode/DecodeWithMemTracking/MaxEncodedLen/TypeInfo SCALE derives - 4 nuevos tests boundary canonical (max 10 enforce + boundary accepted + SCALE roundtrip) Verification end-to-end: - cargo check workspace verde 2.14s - 82+ tests pass workspace - cargo build release 5.57s clean - info subcommand muestra 8 pallets (Provenance index 7) - build-spec subcommand NO regression Slice 3 mock-WASM chain_spec Roadmap canonical post-v0.0.15: - v0.0.16 Real Ed25519 verify (post Ergon Cap 42+ sub-crate) - v0.0.17 Runtime API verify_provenance PROV-8 - v0.1.0 Full integration testnet Q3 2026 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
4359515f45
commit
e0c5e8be18
11 files changed
+178
-23
No files matched your search
@@ -72,12 +72,10 @@ pub mod pallet {
|
||||
|
||||
/// Pallet definition canonical.
|
||||
///
|
||||
/// `without_storage_info` canonical (scaffold v0.0.14): bypass MaxEncodedLen
|
||||
/// requirement para `AssetAttestation` (que tiene Vec<AccountId> agent_chain
|
||||
/// sin bound). Post v0.0.15: replace con BoundedVec<AccountId, ConstU32<10>>
|
||||
/// + remove without_storage_info canonical.
|
||||
/// v0.0.15: `AssetAttestation.agent_chain` ahora es `BoundedVec<AccountId,
|
||||
/// ConstU32<10>>` canonical → MaxEncodedLen ahora satisfied canonical →
|
||||
/// `#[pallet::without_storage_info]` ya NO necesario canonical.
|
||||
#[pallet::pallet]
|
||||
#[pallet::without_storage_info]
|
||||
pub struct Pallet<T>(_);
|
||||
|
||||
/// PROV-2 canonical: `StorageMap<AssetHash, AssetAttestation>` canonical.
|
||||
@@ -215,8 +213,8 @@ pub mod pallet {
|
||||
hash: asset_hash,
|
||||
creator: origin_chain_types::AccountId::new([0u8; 32]), // SCAFFOLD placeholder
|
||||
signature: origin_chain_types::Signature::new(validation_attestation.signature),
|
||||
anchored_at_block: 0, // SCAFFOLD — block_number wire post v0.0.15
|
||||
agent_chain: alloc::vec![],
|
||||
anchored_at_block: 0, // SCAFFOLD — block_number wire post v0.0.16
|
||||
agent_chain: origin_chain_types::AgentChain::default(), // BoundedVec empty
|
||||
};
|
||||
|
||||
Attestations::<T>::insert(asset_hash, attestation);
|
||||
|
||||
Reference in new issue
Block a user