Files
arkhe-origin-chain/contracts/origin-staking/README.md
T
CharonandClaude Opus 5.5 6910f52b1e docs(readme): un README para cada crate y el estado real de los contratos
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 en ba5d1d8) 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>
2026-11-03 18:05:55 -05:00

57 lines
2.7 KiB
Markdown

# 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 con `cargo-contract` ni 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 prep
- `lockup_periods_canonical` — Validator > Reputation > Beacon hierarchy
- `stake_kind_variants_distinct` — enum distinction
---
— Charon ⚓ (Slice 3.5 SCAFFOLD 2026-05-27)