Skip to main content

Approval mods

Approval mods are mods that allow protocol coins whose puzzles are using these mods, referred to as approval coins, to approve certain actions within the protocol.

There are five approval mods:

  • collateral_vault.clsp
  • surplus_auction.clsp
  • recharge_auction.clsp
  • savings_vault.clsp
  • announcer_registry.clsp

There are six actions that approval coins can approve between them. Approval coins are the only coins that are allowed to:

  • issue or melt BYC
  • issue or melt CRT
  • deposit to or withdraw from Treasury

The table below shows which approval mod has which rights.

indexapproval modBYC tailCRT tailTreasury
1Collateral Vaultissue and meltdeposit (repay or transfer Stability Fees)
2Surplus Auctionmeltwithdraw (to Payment coin)
3Recharge Auctionissuedeposit (from winning bid)
4Savings Vaultwithdraw (pay interest)
5Announcer Registryissue

The Treasury mod, treasury.clsp, does not impose any restrictions on the size of deposits or withdrawals approved by approval coins. Similarly for BYC and CRT tails. It is the approval mods themselves that limit how they can interact with BYC tail, CRT tail, and Treasury coins.

The treehash of the list of the five approval mod hashes in the order shown above is curried into the fixed arg APPROVAL_MOD_HASHES_HASH of the Statutes singleton.