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>
This commit is contained in:
commit
b06560863c
27 files changed
+1978
No files matched your search
@@ -0,0 +1,62 @@
|
||||
//! # origin-coin-tokenomics
|
||||
//!
|
||||
//! $OGC token implementation per **CHN-2** + multi-tier fee matrix per **CHN-8** +
|
||||
//! multi-source burn enforcement per CHN-2/CHN-8. Stub crate in v0.0.1.
|
||||
//!
|
||||
//! ## Phase 1 milestones
|
||||
//!
|
||||
//! - 1.3 `pallet_balances` con OGC token (1B supply genesis)
|
||||
//! - 1.7 Genesis config: allocation 40/25/15/15/5 per BM V2
|
||||
//!
|
||||
//! ## Phase 2 milestones
|
||||
//!
|
||||
//! - 2.4 `fee_for_transaction(tier, quality) -> Ogc` implementation
|
||||
//! - 2.5 Fee matrix: EmbeddedArm 0.1×, Portable 0.3×, Desktop 1.0×, Ultra 0.7×
|
||||
//! - 2.6 Hero surcharge: Desktop +0.5×, Ultra +0.3×
|
||||
//!
|
||||
//! ## Canonical burn matrix
|
||||
//!
|
||||
//! Per CHN-2 + CHN-8 + Pillar 6/7 docs:
|
||||
//!
|
||||
//! | Source | Burn rate |
|
||||
//! |--------|-----------|
|
||||
//! | Gas fees | 100% |
|
||||
//! | Seeds Hosting payments | 20% |
|
||||
//! | Marketplace 9% Treasury share | 50% (2% del 9%) |
|
||||
//! | ONS registration | 50% |
|
||||
//! | OIT Oracle | 30% |
|
||||
//! | Escrow commissions | 20% |
|
||||
//! | Resonance slashing | 25% |
|
||||
//! | Ticket commissions | 30% |
|
||||
//! | Reputation stake slashing | 50% |
|
||||
//! | Ethos net revenue buy-back | 5% |
|
||||
|
||||
#![deny(missing_docs)]
|
||||
|
||||
/// Placeholder marker for the tokenomics module. Replaced by concrete pallet in Phase 1.3.
|
||||
#[derive(Debug, Clone, Copy, Default)]
|
||||
pub struct TokenomicsConfig;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use origin_chain_types::fees::compute_fee;
|
||||
use origin_chain_types::{AssetQualityTier, HardwareTier, Ogc};
|
||||
|
||||
// Sanity test: the trait crate's compute_fee returns canonical values.
|
||||
// This proves the workspace dependency wires up correctly.
|
||||
#[test]
|
||||
fn cross_crate_fee_calculation_canonical() {
|
||||
let fee = compute_fee(
|
||||
Ogc::from_whole(10),
|
||||
HardwareTier::EmbeddedArm,
|
||||
AssetQualityTier::Standard,
|
||||
);
|
||||
assert_eq!(fee.as_base_units(), Ogc::from_whole(1).as_base_units());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn stub_crate_compiles() {
|
||||
let _cfg = TokenomicsConfig;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user