Files
arkhe-origin-chain/contracts/origin-staking/README.md
T
davidherran 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>
2026-05-27 09:08:52 -05:00

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 prep
  • lockup_periods_canonical — Validator > Reputation > Beacon hierarchy
  • stake_kind_variants_distinct — enum distinction

— Charon ⚓ (Slice 3.5 SCAFFOLD 2026-05-27)