GrantCovenant releases funds tranche-by-tranche as milestones are approved by the authority.
Contract path: contracts/core/distribution/GrantCovenant.cash
Parameters
| Parameter | Type | Description |
|---|---|---|
vaultId | bytes32 | Links to source vault |
authorityHash | bytes20 | Controls milestone releases and administration |
milestonesTotal | int | Total number of milestones (1..255) |
amountPerMilestone | int | Amount released per milestone |
totalAmount | int | milestonesTotal × amountPerMilestone |
NFT State (40 bytes)
Functions
releaseMilestone(sig authSig, pubkey authPubkey)
Authority releases the next tranche to recipient_hash. Increments milestones_completed. Auto-completes at final milestone.
pause() / resume() / cancel()
Authority-only. Cancel returns totalAmount - totalReleased to authorityHash.
transfer(sig recipientSig, pubkey recipientPubkey, bytes20 newRecipientHash)
Recipient-only. Requires FLAG_TRANSFERABLE. Updates recipient_hash in NFT state.
