3cd10688937f1cdd1361be72e54805b7c5976b34
11
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0d56e0bcbf |
feat(ink): escrow auto-release (C.2) + NFT modelo delegación documentado (C.1)
Decisiones C de David (2026-07-04):
ESCROW — Opción 2 (auto-release por tiempo, el tiempo como juez determinista):
El audit encontró [HIGH] que si alguien depositaba pero nunca marcaba un
milestone, los fondos quedaban ATRAPADOS (solo salían por disputa+árbitro), y los
campos auto_release_blocks/last_release_block eran código MUERTO. Fix: nueva
`claim_auto_release` (permisionless) que, tras `auto_release_blocks` sin actividad
ni disputa, libera el remanente al beneficiario (menos fee) y cierra el escrow.
`deposit()` arranca el reloj. CRÍTICO para la economía M2M: una AGI que contrata a
otra no queda en limbo porque alguien olvidó un hito. El depositor disconforme
levanta disputa ANTES del vencimiento. +test E2E (ink v6). Campos ya no muertos.
NFT — Opción 1 (delegación ERC-721 estándar, modularidad ADR-0057): el audit
marcó que un spender aprobado puede mover el token con pago cero. NO es bug — es
el estándar Web3 ("si no confías, no apruebes"). La venta con precio pactado +
split 91/9 vive en un contrato de MARKETPLACE SEPARADO (acoplar rompería los NFTs
al actualizar reglas de venta). Documentado el modelo en `transfer`. Sin cambio de
código. Contratos: escrow 6 tests, nft 4 tests verde.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
||
|
|
114721c24a |
fix(ink/credential): cota anti-griefing del Vec del holder (audit C, HIGH DoS)
Audit ultra 2026-07-04 (dimensión ink-contracts, decisión C de David): un issuer malicioso podía emitir credenciales ilimitadas a una VÍCTIMA, bloateando su holder_credentials: Vec hasta que cualquier op que lo cargara (issue/read) excedía el gas → griefing DoS. Fix: MAX_CREDENTIALS_PER_HOLDER=512 + error HolderCredentialLimitReached antes del push. (Nota: el índice issuer_credentials de un emisor de alto volumen debe migrar a Mapping<(issuer,i),id> paginado — trabajo futuro; no es griefing de terceros.) Contrato 4 tests verde. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
db4c8a37d3 |
fix(ink/staking): slash() sin guard de estado → insolvencia (CRITICAL audit ultra)
Audit ultra 2026-07-04 (dimensión ink-contracts): slash() checaba solo caller==slashing_authority, existencia y amount<=stake.amount — NUNCA el stake.state. Y withdraw() ponía state=Withdrawable pero NO ceroaba stake.amount. ⇒ tras un withdraw, el slashing_authority podía slashear el stake retirado (amount<=stake.amount pasaba con el principal ya devuelto), pagando el treasury_share desde el pool de OTROS stakers (insolvencia + doble decremento de total_staked). Alcanzable por el Tribunal (autoridad confiable), no cubierto por FIX-1 (CEI) ni FIX-6 (fake APR). Fix: (a) guard de estado en slash() — solo Active|Unbonding; Withdrawable/Slashed → InvalidState. (b) withdraw() cero stake.amount + rewards_accumulated tras computar to_return. +test E2E (ink v6, set_contract_balance). Contrato 5 tests verde. (No desplegado — fase futura; endurecido antes de que sea dinero real.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
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>
|
||
|
|
34a2041f2b |
fix(contracts): cierra migración ink! v6 (credential) + FIX-1 V1-H7 (escrow milestone sum)
Completa la capa de contratos: los 4 templates buildables migrados a ink! 6.0.0-beta.1 (17 tests verde). El 5º (mdk-reconciliation) es design-only (DESIGN.md, sin código Rust — nada que migrar). origin-credential-mint: migración ink! v6 (Address/U256/StorageLayout). Su issue() ya era CEI-correcto (muta estado antes del transfer) — es el template que el roadmap cita como referencia. 4 tests verde (+ guard test). NOTA: FIX-4 (verify de issuer_signature on-chain) sigue pendiente — necesita el payload canónico de credencial + precompile Ed25519 (Phase 3.x), no es parte de la migración. FIX-1 V1-H7 (escrow): enforce Σ milestone.amount <= total_amount en add_milestone (previene sobre-liberación) + completion vía milestone_total + sweep terminal del residual no-asignado al depositor (deposited − milestone_total). 5 tests verde (+ test del invariante con set_caller). El sweep (transfer) se valida E2E en nodo — node-gated. 17 tests verde totales (escrow 5 + staking 4 + nft 4 + credential 4). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
6663dbdc0f |
fix(contracts): FIX-1 contract-safety + migración ink! v6 (escrow/staking/nft)
REMEDIATION_ROADMAP_V1 FIX-1 (V1-C1 reentrancy + V1-C4 zero-burn). Los 3 templates ahora COMPILAN contra ink! 6.0.0-beta.1 + tests verde (12/12). Hallazgo (honesto): los templates se shippearon "scaffold compile-only" pero nunca compilaron contra su versión pinneada de ink!. ink! v6 / pallet-revive es H160-Address + U256 nativo (no AccountId + Balance, modelo viejo). Esta migración los vuelve reales (compilando + testeados). Migración ink! v6: - AccountId -> Address (H160) en parties / storage / events / reads / params. - transfer() + transferred_value() -> U256 (+ helper u256_to_balance saturante). - derive StorageLayout en tipos de storage (EscrowState/Milestone/Stake/...). - doctest fences sin lenguaje -> text (diagramas ASCII del lifecycle). - workspace: contracts/* excluidos (toolchain PolkaVM/pallet-revive distinta). FIX-1 hardening: - CEI (Checks-Effects-Interactions): muta TODO el storage ANTES de cualquier transfer() -> una reentrada ve el estado final y falla sus checks. Sitios: escrow confirm_milestone/resolve_dispute, staking withdraw/slash, nft mint/transfer. Cierra V1-C1. (nft mint encontrado más allá de la lista del roadmap; mismo patrón explotable -> incluido). - Burn real (V1-C4): elimina transfer([0;32]) (que no reduce emisión y ensucia la cuenta cero); el burn se RETIENE en el contrato (fuera de circulación), a barrer por el primitivo de burn del runtime -> una sola semántica, no dos. (staking slash, nft mint). - Tests de guarda de estado (la C de CEI) añadidos en los 3 contratos. Pendiente E2E (node-gated, requiere VPS + nodo pallet-revive): - Correctitud económica native<->eth (NATIVE_TO_ETH_RATIO): asumido 1:1; debe validarse en nodo real antes de testnet/mainnet. - Tests reales de reentrancy/double-spend: el env off-chain de #[ink::test] no modela el revert-on-Err ni la semántica de balances -> serían engañosos. - V1-H7 (suma milestones == total_amount): no incluido en este commit. - credential-mint + mdk-reconciliation necesitan la misma migración ink! v6. Cross-pillar: DC ORIGIN_ATTESTATION_SIGNING_PAYLOAD_V1 abierto con Ergon (payload postcard canónico + domain-separation FIX-3) — gate del verificador de attestation on-chain. OAGIP-D10 (Charon identity attestation) definido a Palace para el protocolo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
c2aa04fe02 |
feat(contracts): v0.0.46 — Slice 3.6 origin-mdk-reconciliation DESIGN STUDY 🎉🎉🎉
Ship Slice 3.6 v0.0.46 — design study cerrando Phase 3 templates library
canonical. NO contract deployable: explora boundary arquitectural entre dos
sistemas WASM distintos que coexisten en Origin Metaverse:
1. **ink! v6 contracts** (this library 3.2-3.5): run inside pallet-revive
on-chain canonical, ABI pallet-revive, state Origin Chain storage.
2. **origin-mdk skills** (Marihan MDK skill-wasm-stdlib): run inside wasmtime
off-chain canonical, ABI OMC v1.0 SEALED, state ephemeral interpreter session.
Cambios:
- contracts/origin-mdk-reconciliation/DESIGN.md: 7-section comprehensive
design study filed:
* §0 Por qué es DESIGN STUDY no contract template
* §1 Problema arquitectural canonical (7 use cases requiring bridge)
* §2 Tres patterns canonical propuestos:
- Pattern A: Off-chain → On-chain via RPC client (host_invoke_chain_contract)
- Pattern B: On-chain → Off-chain via event subscription
- Pattern C: Shared state via Hash Anchoring (loose coupling, Inmutable #26)
* §3 Recomendación canonical per use case mapped (7 use cases → 3 patterns)
* §4 Implementation roadmap canonical 4-fases Q4 2026 → Q4 2027
* §5 Open questions pending cross-pillar coord (5 stakeholder questions)
* §6 KG triples canonical (7 triples Palace projection)
* §7 Cierre canonical + Charon Atelier visual bridge designer integration
Use cases cubiertos por design study:
- Atelier skill becomes NFT (Pattern B event subscription)
- Skill execution receipt on-chain (Pattern A RPC client)
- Chain credential verify in skill (Pattern A)
- Cross-pillar fee schedule from skill (Pattern A)
- Skill marketplace purchase (Pattern B event)
- AGI commercial reputation slash (Pattern A direct call)
- Soul TOML on-chain anchor (Pattern C hash anchoring inmutable)
Cross-pillar coord pending canonical:
- Marihan endorsement OMC ABI v2.0 host imports extension canonical
- Sussi Ethos attestation patterns canonical
- Ergon architectural review canonical
- Design Contract opens: ORIGIN_MDK_PALLET_REVIVE_BOUNDARY_V1
Implementation roadmap canonical 4-fases:
- Fase 1 Q4 2026: Design Contract + OMC ABI v2.0 spec draft (backwards compat)
- Fase 2 Q1 2027: Origin Navigator RPC bridge MVP + reference example
- Fase 3 Q2-Q3 2027: Origin Contract Atelier visual bridge designer
- Fase 4 Q4 2027+: Standard library bridge primitives + Daimonion auto-suggest
⚓ Phase 3 Slices 3.1-3.6 ALL SHIPPED end-to-end canonical:
- 3.1 SCAFFOLD COMPLETE pallet-revive integration (v0.0.37-41)
- 3.2 origin-nft-mint template (v0.0.42)
- 3.3 origin-escrow template (v0.0.43)
- 3.4 origin-credential-mint template (v0.0.44)
- 3.5 origin-staking template (v0.0.45)
- 3.6 origin-mdk-reconciliation DESIGN STUDY (v0.0.46)
10 ships shipped sesión 4+ Charon (v0.0.37-46) — la nave Origin Chain smart
contracts foundation armada end-to-end + design coherence cross-system
documented canonical pre-implementation Phase 3.x maduración.
🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
8634be5b87 |
feat(contracts): v0.0.45 — Slice 3.5 origin-staking template SCAFFOLD (3 stake kinds + slashing) 🎉
Ship Slice 3.5 v0.0.45 — fourth foundational template del Origin Contract Atelier.
Multi-purpose staking patterns: validator (CHN-3 NPoS Phase 2 prep) + beacon
(Pillar 6 featured visibility) + reputation (AGI commercial reputation per BM V2 §6.4).
Cambios:
- contracts/origin-staking/{Cargo.toml,lib.rs,README.md}: full template
- 3 StakeKind variants canonical: Validator + Beacon + Reputation
- 4 StakeState lifecycle: Active → Unbonding → Withdrawable + Slashed branch
- Storage canonical: config per kind (min_stake + lockup + reward_rate) + state +
per-kind totals + staker indices
- 4 events: Staked, UnbondRequested, Withdrawn, Slashed
- 8 error variants + Result type
- 2 constructors: new (full params) + default_chn3 (NPoS Phase 2 prep defaults
100 OGC validator min + 28 días lockup + 8% APR)
- 5 reads canonical (Inmutable #37 gratis): stake, stakes_of, total_staked,
min_stake, lockup_blocks
- 4 writes: stake_tokens (payable per kind), unbond_request (transitions Unbonding),
withdraw (post-lockup), slash (slashing_authority Tribunal-only, 50/50 treasury/burn)
- 3 unit tests canonical
Inmutables compliance:
- #16 HTS: min_stake graduated HardwareTier inclusion canonical Pi 5
- #37 Free perpetua: 5 reads sin payment
- #26 Content-Addressed: reason_hash BLAKE3 inmutable slash events
- #41 AGI Cross-Species: AGI stake canonical (especially Reputation kind)
Slashing canonical: 50% Treasury + 50% Burn (BM V2 burn matrix Pillar 3).
Tribunal Pillar 6 = slashing_authority typical (governance Phase 5 assigned).
Cross-pillar wire:
- Pillar 4 Charon: validator stake compose pallet-session NPoS Phase 2
- Pillar 6 Mathi/Tribunal: beacon stake + slashing authority
- BM V2 Pillar 4 §6.4: AGI reputation stake/slash mechanics
Próximo Ship Slice 3.6 v0.0.46: origin-mdk-reconciliation design study
(ink! ↔ origin-mdk WASM boundary architectural design + cross-pillar Marihan coord).
⚓ Path A Slice 3.5 SCAFFOLD shipped. Templates 4/5 complete + CHN-3 NPoS prep.
🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
a1be3609a1 |
feat(contracts): v0.0.44 — Slice 3.4 origin-credential-mint template SCAFFOLD (Ed25519+BLAKE3) 🎉
Ship Slice 3.4 v0.0.44 — third foundational template del Origin Contract Atelier.
Cryptographically verifiable credentials (academic + professional + KYB + skill
mastery) usando Ed25519 signatures + BLAKE3 content addressing. Sussi Ethos
schema integration canonical.
Cambios:
- contracts/origin-credential-mint/{Cargo.toml,lib.rs,README.md}: full template
- 5 CredentialType variants: Academic + Professional + Kyb + Skill + Custom
- Storage canonical: authorized_issuers whitelist + credentials + holder/issuer
indices
- 3 events: CredentialIssued, CredentialRevoked, IssuerAuthorized
- 10 error variants + Result type
- 7 read methods (free per Inmutable #37): owner, treasury, issue_fee,
total_credentials, is_issuer_authorized, credential, credentials_of_holder/issuer
- 1 verify() method canonical (read-only, gratis): valid si !revoked && !expired
- 3 write methods: authorize_issuer (owner-only), issue (authorized + payable),
revoke (issuer-only)
- 3 unit tests canonical
Inmutables compliance:
- #16 HTS: issue_fee modulated HardwareTier escuelas Pi 5
- #26 Content-Addressed: BLAKE3 + Ed25519 inmutables post-mint
- #37 Free perpetua: 7 reads + verify() sin payment
- #41 AGI Cross-Species: AGI puede ser issuer (Daimonion) OR holder
Sussi Ethos schema integration canonical pending Phase 3.x cross-pillar coord:
schema_type enum + signature pattern + KYB Oracle whitelist via governance Phase 5.
Cross-pillar wire:
- Sussi Pillar 6 (Ethos Oracle): KYB issuers
- Marihan Atelier: skill mastery credentials
- Charon Pillar 4: deploy + storage on-chain
Use cases:
- University diplomas (UCLA → student)
- Professional certs (PMP, AWS → professional)
- KYB Nivel 3+ (Sussi Oracle → institution)
- Skill mastery (Marihan Atelier → originner)
- Origin Wallet identity (Foundation → citizen)
Próximo Ship Slice 3.5 v0.0.45: origin-staking contract template
(validator + beacon + reputation patterns, CHN-3 NPoS Phase 2 prep).
⚓ Path A Slice 3.4 SCAFFOLD shipped. Templates 3/5 complete.
🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
9f7897c47c |
feat(contracts): v0.0.43 — Slice 3.3 origin-escrow template SCAFFOLD (multi-party + dispute) 🎉
Ship Slice 3.3 v0.0.43 — second foundational template del Origin Contract Atelier.
Multi-party escrow + time-locked milestones + dispute-enabled via Pillar 6 Tribunal.
Cambios:
- contracts/origin-escrow/Cargo.toml: ink! 6.0.0-beta.1 + scale codec aligned
- contracts/origin-escrow/lib.rs: full ink! v6 contract source ~500 LOC:
* 5-state machine canonical (Created → Active → Disputed → Releasing → Completed)
* Storage canonical: parties (depositor + beneficiary + arbiter + treasury) +
config (terms_hash + total + fee + windows) + state tracking + milestones mapping
* 5 events canonical (Deposited, MilestoneCompleted, DisputeRaised,
DisputeResolved, EscrowCompleted)
* 12 error variants canonical (InvalidState, UnauthorizedCaller, etc.)
* Constructor canonical con invariants compile-detect (fee ≤ 5% BM V2 §5.3,
depositor != beneficiary, terms_hash != zero)
* 9 read methods canonical (state, parties, amounts, milestones)
* 5 write methods canonical (deposit, add_milestone, confirm_milestone,
raise_dispute, resolve_dispute)
* 4 Resolution variants Tribunal: ReleaseToBeneficiary, RefundToDepositor,
SplitFifty, Custom (with depositor_bps + beneficiary_bps == 10_000 invariant)
* 3 unit tests canonical
- contracts/origin-escrow/README.md: use cases + state machine diagram +
resolution patterns + cross-pillar integration
Inmutables compliance:
- #16 HTS anti-clasista: escrow_fee_bps cap 5% BM V2 §5.3
- #26 Content-Addressed: terms_hash + description_hash BLAKE3 inmutable
- #37 Free perpetua: 9 read methods sin payment
- #41 AGI Cross-Species: AGI puede ser depositor/beneficiary/arbiter
Cross-pillar wire canonical:
- Pillar 6 Tribunal (Mathi): arbiter = Tribunal contract address
- Pillar 2 OMC Marketplace (Marihan): escrow integrado purchases
- Pillar 1 Hosting (Larihana): refundable hosting fees future
- Pillar 4 Origin Chain (Charon): deploy vía pallet-revive Index 11
Use cases canonical:
- Freelance contracts (client + worker + Tribunal)
- OMC marketplace purchases (buyer + seller + Tribunal)
- Institutional partnerships (university + researcher + Tribunal)
- Refundable event tickets (organizer + holder + Tribunal)
Próximo Ship Slice 3.4 v0.0.44: origin-credential-mint contract template
(Ed25519 + BLAKE3 attestation, Sussi Ethos schema integration).
⚓ Path A Slice 3.3 SCAFFOLD shipped. Templates library canonical 2/5 complete.
🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
f4f46767fe |
feat(contracts): v0.0.42 — Slice 3.2 origin-nft-mint template SCAFFOLD (BM V2 91/9) 🎉
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> |