David, 3-nov-2026, tras la primera auditoría de fuera (Mathi, f9c3664a): poner al día los README de todos los crates y repositorios. La plantilla de la casa está en docs/ORIGIN_README_PARA_PERSONAS_V1.md del monorepo, y el inventario le daba a Charon 11 crates sin README y 5 de contratos de mayo. - Los 11 crates tienen ya su README en la forma corta: qué es, su estado con dónde comprobarlo, lo que no hace todavía, sus pruebas medidas hoy (cargo test -p, que suman 365 enba5d1d8) y quién lo cuida. Una línea en inglés en cada uno. - Tres crates son esqueletos que el runtime no usa (bridges, consensus, tokenomics), y su README lo dice y señala dónde vive lo real. - Los contratos de ink! llevan arriba su estado verdadero. Compilaban y pasaban sus pruebas como crates de Rust en junio (6663dbd), pero nunca se han construido con cargo-contract ni desplegado. En el de NFT, además, lo que ya no vale: el 91/9, la regalía del 5 % y la quema, sustituidos el 2-nov por el 6 % para la LLC y el 3 % para el tesoro común. - El README del repositorio corrige esa misma frase: decía que nunca se habían compilado. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8.1 KiB
origin-nft-mint — NFT Mint Contract Template (Slice 3.2)
Estado (3-nov-2026): borrador de mayo de 2026. Como crate de Rust compilaba y pasaba sus pruebas en junio, con ink! 6.0.0-beta.1 (commit
6663dbd; hoy no lo he vuelto a medir). Pero nunca se ha construido concargo-contractni se ha desplegado. No es producto ni describe el diseño vigente. Donde este texto diga «ratificado», «garantizado» o «complete», habla de mayo. In English: May-2026 draft. It compiled and passed its Rust tests in June 2026 (6663dbd), but it has never been built with cargo-contract nor deployed. Not a product. Lo que ya no vale: el reparto 91/9, la regalía del 5 % y la quema del 20 %. Desde el 2-nov-2026, el 9 % de cada venta del Store se reparte en 6 % para la LLC de la casa y 3 % para el tesoro común, sin quema. Además, el Store será una pallet propia de la cadena, no este contrato (ver el README del repositorio).
First foundational template del Origin Contract Atelier (Capacidad #10 OCC propuesta David 2026-05-27). Implementa el split BM V2 ratificado 2026-05-18 91% creator / 9% Treasury + transfer royalty 5% (configurable) + Treasury burn 20% (per BM V2 burn matrix Pillar 3).
Status
🚧 SCAFFOLD (source-only, v0.0.42) — lib.rs shipped + Cargo.toml ready. Real compilation deferred hasta cargo-contract v6 install autorizado (precedent Slice 2e brew LLVM authorization pattern). El source es:
- Compilable canonical una vez tooling instalado:
cargo contract build --release - Reference architectural para Contract Atelier visual designer Phase 3.x
- Documentation living del policy-first contract design pattern Origin
Inmutables compliance compile-detect
| Inmutable | Enforcement canonical en este contract |
|---|---|
| #16 HTS anti-clasista | mint_fee_base modulated por HardwareTier vía OitFeeSchedule bridge Phase 3.x integration |
| #25 Seeds Hosting Non-Gatekept | NFT ownership NO gates base world access — purely decorative/economic layer |
| #26 Content-Addressed Immutability | asset_hash: AssetHash BLAKE3 hash compile-detect required (Error::InvalidAssetHash if zero) |
| #37 Free perpetua | Read methods (total_supply, token_owner, balance_of, etc.) sin payment — siempre gratis |
| #41 AGI Co-authorship | AccountId32 canonical para AGI accounts (Phase 2.7 AgentIdentity) sin distinction de Human accounts |
Configuration parameters (Contract Atelier UI exposure)
| Parameter | Type | Default BM V2 | Range UI canonical |
|---|---|---|---|
mint_fee_base |
Balance (u128) |
1 OGC (10^18 base) | 0.01 - 1000 OGC sliders |
creator_share_bps |
u16 |
9_100 (91%) | locked invariant 91% canonical (BM V2 ratified) |
treasury_share_bps |
u16 |
900 (9%) | locked invariant 9% canonical (BM V2 ratified) |
transfer_royalty_bps |
u16 |
500 (5%) | 0-1000 (0-10%) sliders |
treasury_burn_bps |
u16 |
2_000 (20%) | 0-5000 (0-50%) sliders |
max_supply |
Option<u32> |
None (unlimited) | None OR Some(1..=4_294_967_295) selector |
lockup_blocks |
u32 (blocks) |
0 (no lockup) | 0-1_576_800 (≈ 6 months Pi 5 6s blocks) slider |
children_safety_strict |
bool |
false | toggle (Inmutable #35 strict mode) |
Cross-pillar integration canonical
┌─────────────────────────────────────────────────────────────────┐
│ origin-nft-mint contract canonical deployed via pallet-revive │
│ Index 11 Origin Chain runtime (Slice 3.1 SCAFFOLD COMPLETE) │
└──────────────────┬──────────────────────────────────────────────┘
│
┌──────────┼──────────┬──────────┬──────────┐
▼ ▼ ▼ ▼ ▼
┌──────────┐┌──────────┐┌──────────┐┌──────────┐┌──────────┐
│ Pillar 2 ││ Pillar 4 ││ Pillar 6 ││ Pillar 7 ││ Atelier │
│ OMC ││ Origin ││ Nexus ││ Creator ││ Marihan │
│ Marihan ││ Chain ││ Services ││ Economy ││ Skills │
│ ││ Charon ││ Mathi ││ Larihana ││ │
│ 91/9 ││ pallet- ││ Beacon ││ Hosting ││ Skills │
│ split ││ revive ││ stake + ││ NFT ││ becomen │
│ enforced ││ deploy ││ ONS name ││ anchor ││ NFTs │
└──────────┘└──────────┘└──────────┘└──────────┘└──────────┘
Pillar 2 OMC Marketplace (Marihan) wire
NFT mint contracts compose el marketplace canonical Marihan. Cada skill canonical creada en Atelier Skills (Marihan) puede ser minted como NFT via este template. El 91/9 split BM V2 ratified compile-detect garantizado.
Pillar 4 Origin Chain (Charon) deploy
Deployment vía pallet-revive::instantiate Index 11 (Slice 3.1 SCAFFOLD COMPLETE shipped v0.0.41). Storage deposits per BM V2 economics (mint_fee_base default 1 OGC + storage deposit pallet-revive 1 MILLI_OGC/byte + 1 OGC/item).
Pillar 6 Nexus Services (Mathi) integration opcional
Post-deploy NFT collection puede:
- Beacon stake canonical: lockup OGC para featured visibility (100-1000 OGC/mes per ONS_PILLAR_6_NEXUS_SERVICES_V1)
- ONS name registration: human-readable collection name (5-1000 OGC/year per BM V2)
- Oracle KYB: institutional creators verified Nivel 3+ canonical
Pillar 7 Creator Economy (Larihana) hosting
NFT anchored a world pagado canonical 0.6 OGC/world/mes hosting. NFT transfer canonical preserva world ownership context (NFT changes hands, world hosting continues canonical).
Deploy instructions (Phase 3.x post cargo-contract v6 install)
# 1. Install ink! v6 toolchain canonical (pending David authorization)
cargo install cargo-contract --version "^6.0" --force
# 2. Build contract canonical
cd contracts/origin-nft-mint
cargo contract build --release
# 3. Output canonical files:
# - target/ink/origin_nft_mint.polkavm (PolkaVM bytecode canonical)
# - target/ink/origin_nft_mint.json (ABI metadata canonical para frontends)
# - target/ink/origin_nft_mint.contract (combined bundle canonical)
# 4. Deploy via Polkadot.js Apps OR Charon Atelier (Phase 3.x maduración):
# - upload_code(origin_nft_mint.polkavm) → CodeHash
# - instantiate(code_hash, constructor=default_bm_v2, value=storage_deposit)
# - Returns contract AccountId32 + H160 mapped address
Tests canonical (unit tests included)
3 tests canonical en #[cfg(test)] mod tests:
default_bm_v2_constructor_canonical_invariants— verifica defaults BM V2 ratified (91/9 + 5% royalty + 20% burn + unlimited supply + no pause).invalid_share_split_rejected_canonical— invariant compile-detect: creator_share + treasury_share MUST sum 10_000 bps (100%). 90% + 5% rejected.excessive_royalty_rejected_canonical— invariant: transfer_royalty_bps ≤ 1_000 (10% industry standard). 15% rejected.
Run canonical post-install:
cargo test --features ink-as-dependency
Roadmap follow-up post Slice 3.2
| Ship | Slice | Scope |
|---|---|---|
| v0.0.43 | 3.3 | origin-escrow contract template (multi-party + time-locked) |
| v0.0.44 | 3.4 | origin-credential-mint contract (Ed25519 + BLAKE3 Sussi Ethos) |
| v0.0.45 | 3.5 | origin-staking contract (validator + beacon + reputation) |
| v0.0.46 | 3.6 | origin-mdk-reconciliation (ink! vs origin-mdk WASM boundary) |
| Phase 3.x | — | cargo-contract v6 install + real compilation + ReviveApi exposure (deferred Slice 3.1) + integration tests E2E reales |
— Charon ⚓ (Pilar 4 Origin Chain, Phase 3 Slice 3.2 SCAFFOLD shipped 2026-05-27)