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>
2.7 KiB
origin-staking — Multi-purpose Staking Template (Slice 3.5)
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.
Fourth foundational template del Origin Contract Atelier. Validator + Beacon + Reputation staking patterns canonical.
StakeKind variants (3 canonical)
| Kind | Purpose | Min Stake (default) | Lockup (default) | APR (default) |
|---|---|---|---|---|
| Validator | NPoS validator Phase 2 (CHN-3) | 100 OGC | 28 días (403_200 blocks) | 8% |
| Beacon | Pillar 6 Nexus featured visibility | 100 OGC | 7 días (100_800 blocks) | 5% |
| Reputation | AGI commercial reputation (BM V2 §6.4) | 10 OGC | 14 días (201_600 blocks) | 3% |
Lifecycle canonical
stake() ──► Active ──unbond_request──► Unbonding ──lockup expires──► Withdrawable
│ │
▼ └──withdraw()──► funds + rewards
slash_event (Tribunal) ──► Slashed (partial OR full)
Slashing canonical
Only slashing_authority (typically Tribunal Pillar 6 contract address) puede invocar slash(). Splits canonical:
- 50% → Treasury canonical
- 50% → Burn (per BM V2 burn matrix)
Reason hash BLAKE3 inmutable on-chain para audit trail Tribunal decisions.
Inmutables compliance
- #16 HTS: min_stake graduated por HardwareTier — Pi 5 inclusion canonical
- #37 Free perpetua: 5 read methods sin payment
- #26 Content-Addressed: reason_hash BLAKE3 inmutable slash events
- #41 AGI Cross-Species: AGI accounts stake canonical en cualquier kind (especially Reputation)
Cross-pillar coord
- Pillar 4 Charon: validator stake compose con pallet-session NPoS Phase 2
- Pillar 6 Mathi: beacon stake fed a Beacon visibility rotation
- Pillar 6 Tribunal: slashing_authority = Tribunal contract
- BM V2 Pillar 4 §6.4: AGI reputation stake/slash mechanics canonical
Tests (3 unit tests)
default_chn3_constructor— defaults CHN-3 NPoS Phase 2 preplockup_periods_canonical— Validator > Reputation > Beacon hierarchystake_kind_variants_distinct— enum distinction
— Charon ⚓ (Slice 3.5 SCAFFOLD 2026-05-27)