Files
arkhe-origin-chain/contracts
davidherranandClaude Opus 4.8 e6a803b54f feat(emission): FIX-6 Stage 1 — emision que paga validadores (V2-CA2) + remover APR falso
Build + tests verde: emission pallet 5 + runtime 28 (incl. emission_pallet_index_13)
+ staking contract 4. Verificacion adversarial ultracode (2 skeptics): correctitud
+ seguridad CONFIRMADAS (split exacto, sin overflow, autor solo-desde-Aura sin
input de usuario, mint-None-seguro, sin dispatchable explotable, APR removal
honesto). 'partial' solo por cobertura de tests en ramas triviales (None /
reward==0), NO por vulnerabilidad.

Cierra V2-CA2 (la cadena no tenia emision -> los validadores ganaban 0 OGC):

NUEVO pallet origin-chain-emission (Index 13):
- on_initialize cada bloque: identifica al autor Aura (FindAuthor =
  pallet_session::FindAccountFromAuthorIndex<Runtime, Aura>), mintea un
  BlockReward (10 OGC, ~5.26% inflacion anual) y lo reparte:
  - 70% al autor (el validador que produjo el bloque).
  - 20% al treasury (og/gvtry — la MISMA cuenta-vault de governance FIX-6).
  - 10% al subsidy pool (og/subsy — proof-of-equity que financia el subsidio
    de hardware anti-clasista #16).
- El residual del split va al subsidy (no pierde unidades por redondeo de bps).
- TotalEmitted trackea la inflacion acumulada on-chain. mint_into (fungible::
  Mutate) = emision real (aumenta total issuance).
- El autor viene SOLO de FindAuthor/Aura (no de input de usuario) -> nadie puede
  mintear a una cuenta arbitraria. Si FindAuthor devuelve None, no mintea. Sin
  overflow (saturating_mul/div, 10^19 << u128::MAX).

sub_mult ORTOGONAL (David 2026-06-10): el subsidy pool financia el subsidio de
hardware SIN importar la suscripcion premium. Esta emision lo alimenta; el
OnChargeTransaction de Stage 2 lo consumira.

Remover APR falso (V1/V2 fake APR): staking contract default_chn3 reward rates
8/5/3% -> 0. Era enganoso (no habia motor que los pagara; los campos
reward_rate_bps se almacenaban pero NUNCA se leian, rewards_accumulated jamas se
acreditaba). Los validadores ahora cobran via la emision real; las tasas de
staking reales las define Stage 2 (NPoS por stake).

FIX-6 Stage 1 COMPLETO (con v0.0.56 treasury real): emision + treasury real +
APR removido. Stage 2: NPoS (pallet_staking + EraPayout) + fee unificado
(OnChargeTransaction con sub_mult ortogonal).

FOLLOW-UPS (low, documentados): anadir tests de cobertura para las ramas
FindAuthor==None (no mintea) y reward==0 (requieren un 2o mock runtime);
BlockReward fijo (decay schedule = Stage 2); el subsidy pool acumula pero no se
consume hasta el OnChargeTransaction de Stage 2; genesis mainnet del treasury
vault (pre-launch).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 06:06:21 -05:00
..

Origin Chain Contracts Library

Sub-workspace canonical: ink! v6 smart contracts deployable via pallet-revive (Phase 3 Slice 3.1 SCAFFOLD COMPLETE v0.0.41).

Scope

Templates contracts foundational del Origin Metaverse ecosystem, deployable on Origin Chain. Each contract es policy-first (BM V2 + Inmutables compliant), composable, governance-aware, y diseñado para integración con el Origin Contract Atelier propuesto (Capacidad #10 del Origin Command Center).

Workspace separation rationale

Esta carpeta es un workspace separate del runtime workspace (arkhe-origin-chain/) por las siguientes razones:

  1. Toolchain divergence: ink! v6 contracts requieren wasm32-unknown-unknown target + cargo-contract v6 + linker config específica. Runtime workspace usa wasm32v1-none para WASM_BINARY producción.
  2. Profile isolation: contracts release profile usa panic="abort" + size-optimized canonical para minimizar bytecode shipping. Runtime profile prioriza speed.
  3. Dep tree boundary: ink! crate ecosystem (ink!, ink_storage, ink_lang_macro) son separate de FRAME pallets. Mixing causa version resolver chaos.
  4. CI parallelism: contracts build en parallel a runtime build (different toolchains, different caches).

Pre-requisites (deployment infrastructure)

# ink! v6 toolchain canonical (pending David autorización system install)
cargo install cargo-contract --version "^6.0" --force
rustup target add wasm32-unknown-unknown  # ya instalado vía Slice 2e

# Verify install
cargo contract --version
# expected: cargo-contract-contract 6.x.x

Templates shipped

Template Slice roadmap Ship Status
origin-nft-mint 3.2 (BM V2 91/9 split) v0.0.42 🚧 SCAFFOLD (source-only, awaiting cargo-contract v6 install)
origin-escrow 3.3 (multi-party + time-locked) v0.0.43 🔵 NOT_STARTED
origin-credential-mint 3.4 (Ed25519+BLAKE3) v0.0.44 🔵 NOT_STARTED
origin-staking 3.5 (validator+beacon+reputation) v0.0.45 🔵 NOT_STARTED
origin-mdk-reconciliation 3.6 (ink! vs MDK WASM boundary) v0.0.46 🔵 NOT_STARTED

Contract Atelier integration roadmap (Future)

Estos templates son la base library del Origin Contract Atelier (Capacidad #10 OCC propuesta a David 2026-05-27). El Atelier consumirá esta carpeta vía:

  • Templates registry: cada subcarpeta = un template visible en Atelier Templates Library
  • Visual policy designer: parametros editables vía UI (mint_fee, splits, royalty, lockup) → backend regenerates Cargo.toml + lib.rs values
  • Charon copilot: chat sidebar con LLM + RAG sobre estos sources para sugerir templates + validar Inmutables compliance
  • Compile pipeline cloud-side: firecracker microVM por job + cargo-contract v6 + verify bytecode

Filosofía contracts canonical Origin

  1. Inmutables compliance: cada contract honors #16 (anti-clasista fees) + #25 (Seeds Hosting) + #26 (Content-Addressed Immutability) + #37 (Free perpetua) + #41 (AGI sovereignty).
  2. Policy-first, NOT code-first: contracts diseñados para ser configurables via parameters sin tocar Rust. El Atelier abstracts el code layer.
  3. Composable: NFT Mint + Royalty Distributor + Treasury Burn = componentes reusable. NO monolithic contracts.
  4. Governance-aware: contracts canonical (Foundation Treasury impact) require DAO vote via Phase 5 Governance pallet (origin-chain-governance Index 10).
  5. Charon co-authored: cada contract documenta intent + Inmutables honored + decisions log similar a SKILL.md Marihan pattern.

— Charon ⚓ (Pilar 4 Origin Chain, Phase 3 Slice 3.2 scaffold 2026-05-27)