feat(runtime): v0.0.21 — Fees pallet wired runtime composition Index 8
Phase 2.4 FEES pallet wired canonical en `frame_support::runtime` macro como
Index 8 (post-Provenance Index 7). 8 → 9 pallets composed canonical. Config
trait RuntimeEvent association wired canonical en configs.rs (pattern Provenance
Phase 2.1 mirror).
## Changes
- crates/origin-chain-runtime/src/lib.rs:285 — Index 8 pub type Fees = origin_chain_fees::Pallet<Runtime>
- crates/origin-chain-runtime/src/configs.rs:347 — impl origin_chain_fees::Config for Runtime { type RuntimeEvent = RuntimeEvent }
- crates/origin-chain-runtime/Cargo.toml — origin-chain-fees workspace dep + std feature
- Cargo.toml — origin-chain-fees workspace dependency
- crates/origin-chain-node/src/main.rs — 8 → 9 pallets listed + Fees Index 8 highlighted + Provenance status updated v0.0.15 → v0.0.17
## Verification
- cargo build -p origin-chain-runtime 13.63s clean
- cargo test --workspace — 123 tests passing, 0 failures
- cargo build --release -p origin-chain-node 4.39s clean
- origin-chain-node info muestra 9 pallets canonical
🔌 Phase 2.4 wired canonical. Real impl v0.0.22 next.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
33b10b7545
commit
0a83395a16
7 files changed
+95
-2
No files matched your search
@@ -6,6 +6,58 @@ by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions follow
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.0.21] — 2026-05-24 — Phase 2.4 wired — Fees pallet runtime composition Index 8
|
||||
|
||||
**🔌 Phase 2.4 FEES pallet WIRED runtime composition canonical** — `origin-chain-fees`
|
||||
añadido al `#[frame_support::runtime]` macro como Index 8 (post-Provenance Index 7).
|
||||
8 → **9 pallets** composed canonical. Config trait `RuntimeEvent` association wired
|
||||
canonical en `crates/origin-chain-runtime/src/configs.rs` (pattern Provenance Phase 2.1).
|
||||
|
||||
### Deliverables v0.0.21
|
||||
|
||||
**Runtime composition canonical (Index 8 added)**:
|
||||
- `crates/origin-chain-runtime/src/lib.rs:285` — `#[runtime::pallet_index(8)] pub type Fees = origin_chain_fees::Pallet<Runtime>;`
|
||||
- `crates/origin-chain-runtime/src/configs.rs:347` — `impl origin_chain_fees::Config for Runtime { type RuntimeEvent = RuntimeEvent; }`
|
||||
|
||||
**Workspace deps canonical**:
|
||||
- `Cargo.toml:154` — `origin-chain-fees = { path = "crates/origin-chain-fees", version = "0.0.1" }` workspace dep
|
||||
- `crates/origin-chain-runtime/Cargo.toml:47` — `origin-chain-fees.workspace = true` dep + std feature
|
||||
- Documentación canonical pattern Provenance (deferred fields OitFeeSchedule post-OCAFB ratify)
|
||||
|
||||
**Node info subcommand update canonical**:
|
||||
- `crates/origin-chain-node/src/main.rs:194` — 8 → **9 pallets** listed canonical
|
||||
- `crates/origin-chain-node/src/main.rs:203` — Index 8 Fees highlighted `[Phase 2.4 scaffold v0.0.21]`
|
||||
- Provenance status updated `[Phase 2.1 scaffold v0.0.15]` → `[Phase 2.1 COMPLETE v0.0.17]`
|
||||
|
||||
### Verification end-to-end canonical
|
||||
|
||||
- ✅ `cargo build -p origin-chain-runtime` 13.63s clean (warnings cosméticos macro-generated)
|
||||
- ✅ `cargo test --workspace` — **123 tests passing**, 0 failures:
|
||||
- origin-chain-types: 55 (+8 ChainAction + SubscriptionTier)
|
||||
- origin-chain-fees: 20 (16 vendor + 4 pallet scaffold)
|
||||
- origin-chain-provenance: 17 (9 integration + 6 standalone + 2 auto)
|
||||
- origin-chain-runtime: 16 (no regressions)
|
||||
- origin-coin-tokenomics: 2
|
||||
- origin-chain-bridges/consensus/governance: 3
|
||||
- origin-chain-node chain_spec: 10
|
||||
- ✅ `cargo build --release -p origin-chain-node` 4.39s clean
|
||||
- ✅ `origin-chain-node info` muestra 9 pallets canonical + 12 Runtime APIs (FeesApi pendiente v0.0.23)
|
||||
- ✅ Existing subcomandos canonical NO regression (version + list-presets + print-preset + info + build-spec)
|
||||
|
||||
### Roadmap canonical post-v0.0.21
|
||||
|
||||
| Version | Trigger |
|
||||
|---------|---------|
|
||||
| **v0.0.22** | **Real `compute_fee_for_action` impl + storage assertions + mock runtime integration tests E2E (sesión 3+ shipping ahora, pattern v0.0.18 mirror)** |
|
||||
| v0.0.23 | Runtime API canonical `FeesApi.query_fee_for_action` read-only RPC → **Phase 2.4 COMPLETE 7/7 OCAFB** |
|
||||
| v0.1.0 | Slice 2e WASM resolved + full testnet Q3 2026 launch |
|
||||
|
||||
### Cross-pillar consumers status post v0.0.21
|
||||
|
||||
- ✅ Mathi `OitFeeSchedule` trait wired canonical (Config association deferred v0.0.22)
|
||||
- 🟢 `Fees` pallet runtime composition canonical activated Index 8
|
||||
- 🟢 Mock runtime integration tests pattern v0.0.18 ready para mirror v0.0.22
|
||||
|
||||
## [0.0.20] — 2026-05-24 — Phase 2.4 scaffold — pallet-origin-fees trait-first foundation (OCAFB-1..6)
|
||||
|
||||
**🚀 Phase 2.4 FEES pallet SCAFFOLD trait-first foundation** — Vendor copy
|
||||
|
||||
Generated
+1
@@ -2237,6 +2237,7 @@ dependencies = [
|
||||
"frame-system",
|
||||
"frame-system-rpc-runtime-api",
|
||||
"log",
|
||||
"origin-chain-fees",
|
||||
"origin-chain-provenance",
|
||||
"origin-chain-types",
|
||||
"pallet-aura",
|
||||
|
||||
@@ -151,6 +151,7 @@ origin-chain-types = { path = "crates/origin-chain-types", version = "0.0.1" }
|
||||
origin-chain-consensus = { path = "crates/origin-chain-consensus", version = "0.0.1" }
|
||||
origin-coin-tokenomics = { path = "crates/origin-coin-tokenomics", version = "0.0.1" }
|
||||
origin-chain-provenance = { path = "crates/origin-chain-provenance", version = "0.0.1" }
|
||||
origin-chain-fees = { path = "crates/origin-chain-fees", version = "0.0.1" }
|
||||
origin-chain-bridges = { path = "crates/origin-chain-bridges", version = "0.0.1" }
|
||||
origin-chain-governance = { path = "crates/origin-chain-governance", version = "0.0.1" }
|
||||
origin-chain-runtime = { path = "crates/origin-chain-runtime", version = "0.0.1" }
|
||||
|
||||
@@ -191,7 +191,7 @@ fn print_info() {
|
||||
println!("Impl name: {}", IMPL_NAME);
|
||||
println!("Runtime version: {}", RUNTIME_VERSION);
|
||||
println!();
|
||||
println!("Pallets canonical (8):");
|
||||
println!("Pallets canonical (9):");
|
||||
println!(" • Index 0 System (frame_system foundational)");
|
||||
println!(" • Index 1 Timestamp (pallet_timestamp block clock → Aura)");
|
||||
println!(" • Index 2 Balances (pallet_balances OGC token CHN-2)");
|
||||
@@ -199,7 +199,8 @@ fn print_info() {
|
||||
println!(" • Index 4 Aura (pallet_aura PoA block production CHN-1)");
|
||||
println!(" • Index 5 Grandpa (pallet_grandpa finality gadget CHN-1)");
|
||||
println!(" • Index 6 Session (pallet_session 4h epoch rotation CHN-1)");
|
||||
println!(" • Index 7 Provenance (pallet_origin_provenance asset attestation CHN-7) [Phase 2.1 scaffold v0.0.15]");
|
||||
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 scaffold v0.0.21]");
|
||||
println!();
|
||||
println!("Runtime APIs canonical (12):");
|
||||
println!(" • sp_api::Core (version + execute_block)");
|
||||
|
||||
@@ -44,6 +44,10 @@ pallet-session.workspace = true
|
||||
# Phase 2.1 v0.0.15: pallet-origin-provenance scaffold canonical wired
|
||||
origin-chain-provenance.workspace = true
|
||||
|
||||
# Phase 2.4 v0.0.21: pallet-origin-fees wired runtime composition Index 8 canonical
|
||||
# (OCAFB-1..6 consumer Mathi OitFeeSchedule via vendor copy interim Option B)
|
||||
origin-chain-fees.workspace = true
|
||||
|
||||
# pallet-identity DEFERRED a Phase 2.7 (canonical decision empírica 2026-05-21)
|
||||
|
||||
# RuntimeAPI canonical (sp_api::impl_runtime_apis! consumers)
|
||||
@@ -98,6 +102,7 @@ std = [
|
||||
"pallet-grandpa/std",
|
||||
"pallet-session/std",
|
||||
"origin-chain-provenance/std",
|
||||
"origin-chain-fees/std",
|
||||
"sp-offchain/std",
|
||||
"sp-genesis-builder/std",
|
||||
"sp-transaction-pool/std",
|
||||
|
||||
@@ -342,3 +342,21 @@ impl pallet_session::Config for Runtime {
|
||||
impl origin_chain_provenance::Config for Runtime {
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// origin_chain_fees::Config — Phase 2.4 v0.0.21 wired
|
||||
// ============================================================
|
||||
//
|
||||
// pallet-origin-fees scaffold canonical (DC `origin_chain_amis_fee_bridge_v1`
|
||||
// OCAFB-1..6 sesión 3+ 6/7 firmas, ratify target 2026-06-21). Scaffold-level
|
||||
// Config canonical v0.0.21: solo RuntimeEvent association. Future canonical
|
||||
// fields post-OCAFB ratify + Mathi sub-crate ship:
|
||||
//
|
||||
// - `OitFeeSchedule: Arc<dyn arkhe_amis_server::OitFeeSchedule>` (post-OCAFB
|
||||
// ratify swap canonical cross-workspace)
|
||||
// - Pallet weights canonical desde benchmarking real (post-Phase 4 testnet)
|
||||
// - Custom origin canonical para fee waiver scenarios (governance Phase 5)
|
||||
|
||||
impl origin_chain_fees::Config for Runtime {
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
}
|
||||
@@ -280,6 +280,21 @@ mod runtime {
|
||||
#[runtime::pallet_index(7)]
|
||||
pub type Provenance = origin_chain_provenance::Pallet<Runtime>;
|
||||
|
||||
/// Fees pallet canonical (Phase 2.4 v0.0.21 wired canonical per OCAFB-1..6 +
|
||||
/// DC `origin_chain_amis_fee_bridge_v1` 6/7 firmas sesión 3+ Charon ratified).
|
||||
/// Cross-pillar fee economy consumer Mathi `OitFeeSchedule` trait (commit
|
||||
/// `ce4fafb` 2026-05-24 `arkhe-amis-server/src/fee_schedule.rs`) via vendor
|
||||
/// copy interim Option B (swap canonical post-OCAFB ratify o post Mathi
|
||||
/// sub-crate ship). Scaffold-level v0.0.21: dispatchable
|
||||
/// `compute_fee_for_action` placeholder, real impl v0.0.22 + Runtime API
|
||||
/// v0.0.23.
|
||||
///
|
||||
/// Naming canonical: alias `Fees` (NO `OriginFees` que conflictaría con
|
||||
/// el trait existente del mismo nombre en `origin_chain_types::pallets`,
|
||||
/// pattern análogo Provenance Index 7).
|
||||
#[runtime::pallet_index(8)]
|
||||
pub type Fees = origin_chain_fees::Pallet<Runtime>;
|
||||
|
||||
// Identity pallet DEFERRED a Phase 2.7 (canonical decision empírica
|
||||
// 2026-05-21 documentada en configs.rs). pallet-identity 41.0.0 ReservableCurrency
|
||||
// compat work canonical hereda al custom `pallet_agent_identity` Phase 2.7
|
||||
|
||||
Reference in new issue
Block a user