smart-contracts/backlog/tasks/task-12 - Port-Commitment-C...

1.8 KiB

id title status assignee created_date labels dependencies references priority
TASK-12 Port Commitment Channels to Solidity (Labor, Subscription, Staking) To Do
2026-04-03 21:42
solidity
commitments
issuance
TASK-5
TASK-7
/home/jeffe/Github/myco-bonding-curve/src/commitments/
/home/jeffe/Github/payment-infra/contracts/commitment/
medium

Description

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
  1. Subscription DCA (src/commitments/subscription.py):
  • Recurring pledges with loyalty multipliers
  • Time-weighted minting (longer subscription → better rate)
  • Chainlink Automation for recurring execution
  1. 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.

Acceptance Criteria

  • #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