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>
2.2 KiB
2.2 KiB
origin-staking — Multi-purpose Staking Template (Slice 3.5)
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)