52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
---
|
|
id: TASK-12
|
|
title: 'Port Commitment Channels to Solidity (Labor, Subscription, Staking)'
|
|
status: To Do
|
|
assignee: []
|
|
created_date: '2026-04-03 21:42'
|
|
labels:
|
|
- solidity
|
|
- commitments
|
|
- issuance
|
|
dependencies:
|
|
- TASK-5
|
|
- TASK-7
|
|
references:
|
|
- /home/jeffe/Github/myco-bonding-curve/src/commitments/
|
|
- /home/jeffe/Github/payment-infra/contracts/commitment/
|
|
priority: medium
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Translate the three commitment issuance channels from Python to Solidity. These enable non-financial token minting paths for community economies.
|
|
|
|
1. Labor Issuance (src/commitments/labor.py):
|
|
- Attestation oracle verifies work → mint tokens at governed rate
|
|
- Rate-limited per attestor per time window
|
|
- Integrates with WeaveRegistry from payment-infra (commitment types: Dev Hours, Design, Facilitation)
|
|
- CommitmentToken.sol (ERC-1155) already exists in payment-infra
|
|
|
|
2. Subscription DCA (src/commitments/subscription.py):
|
|
- Recurring pledges with loyalty multipliers
|
|
- Time-weighted minting (longer subscription → better rate)
|
|
- Chainlink Automation for recurring execution
|
|
|
|
3. Staking Lockups (src/commitments/staking.py):
|
|
- Duration-weighted bonus minting: sqrt concave curve
|
|
- Lock collateral for N days → receive bonus tokens
|
|
- Integrates with LST staking yields from cross-chain module
|
|
|
|
All channels feed into the bonding curve reserve, increasing collateral backing for tranches.
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [ ] #1 Labor attestation mints tokens at governed rate
|
|
- [ ] #2 Subscription DCA executes recurring buys via Chainlink Automation
|
|
- [ ] #3 Staking lockup calculates duration bonus correctly
|
|
- [ ] #4 All channels increase bonding curve reserve
|
|
- [ ] #5 Rate limiting prevents spam minting
|
|
<!-- AC:END -->
|