Ship Slice 3.2 v0.0.42 — first contract template foundational del Origin Contract Atelier propuesto (Capacidad #10 OCC David 2026-05-27). origin-nft-mint contract template ink! v6 implementing BM V2 ratificado 2026-05-18 split 91% creator / 9% Treasury + transfer royalty 5% + Treasury burn 20% canonical. Cambios: - contracts/ nueva sub-workspace separate del runtime (toolchain divergence: ink! v6 needs wasm32-unknown-unknown + cargo-contract v6 + size-optimized release profile, vs runtime workspace wasm32v1-none + production speed). - contracts/README.md doc overall sub-workspace + templates roadmap + Contract Atelier integration explained. - contracts/origin-nft-mint/Cargo.toml: ink! 6.0.0-beta.1 + scale codec aligned con runtime workspace pin canonical + size-optimized release profile. - contracts/origin-nft-mint/lib.rs: full ink! v6 contract source 600+ LOC: * Storage canonical: owner + treasury + 8 config parameters + 6 mappings * 5 events canonical (Minted, Transferred, Approved, PauseToggled, +) * 12 error variants canonical (InsufficientPayment, MaxSupplyReached, etc.) * 2 constructors (new + default_bm_v2 con BM V2 ratified defaults) * 13 messages canonical: 9 reads (free per Inmutable #37) + 4 writes (mint payable + transfer payable + approve + emergency_pause/unpause) * 3 unit tests canonical: default_bm_v2 invariants + invalid_share_split rejected + excessive_royalty rejected - contracts/origin-nft-mint/README.md: deploy instructions + Inmutables compliance table + parameters config UI exposure docs + cross-pillar integration diagram (Pillar 2 OMC + 4 Chain + 6 Nexus + 7 Creator + Atelier). Inmutables compliance compile-detect (5 enforced canonical): - #16 HTS anti-clasista: mint_fee_base modulated por HardwareTier Phase 3.x - #25 Seeds Hosting Non-Gatekept: NFT ownership NO gates base world access - #26 Content-Addressed Immutability: BLAKE3 asset_hash required (zero rejected) - #37 Free perpetua: reads gratis sin payment (9 read methods sin payable) - #41 AGI Cross-Species: AccountId32 sin distinction Human/AGI canonical Cross-pillar wire canonical Phase 3.x maduración: - Pillar 2 OMC Marihan: marketplace 91/9 split enforcement compile-detect - Pillar 4 Origin Chain Charon: deploy vía pallet-revive Index 11 - Pillar 6 Nexus Mathi: Beacon stake + ONS naming opcional - Pillar 7 Creator Larihana: hosting payments wire post NFT mint Verificación: - cargo check --workspace runtime clean (213 tests verde no regression contracts/ sub-workspace separate) - contracts/origin-nft-mint compilation pending cargo-contract v6 install authorization (precedent Slice 2e brew LLVM pattern). Source 100% ready. Charon Atelier propuesta filed conversational con David 2026-05-27 — Capacidad #10 OCC visual policy designer + Charon copilot + templates library. Roadmap Q2-Q3 2027 MVP + Q4 2027 governance queue + Q1 2028 full Atelier + Q2-Q3 2028 public version originmetaverse.com/contracts community creators. Próximo Ship Slice 3.3 v0.0.43: origin-escrow contract template canonical (multi-party + time-locked + dispute-enabled via Pillar 6 Tribunal integration). ⚓ Path A continúa zarpando — Slice 3.2 SCAFFOLD shipped + Contract Atelier propuesta David visión arquitectónica canonical. La nave smart contracts armada. 🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
7.3 KiB
origin-nft-mint — NFT Mint Contract Template (Slice 3.2)
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)