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>
This commit is contained in:
1 parent
a1be3609a1
commit
8634be5b87
3 files changed
+524
No files matched your search
@@ -0,0 +1,52 @@
|
||||
# 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)
|
||||
Reference in new issue
Block a user