Expand description
All smart-contracts related to Rewards Token Reserve Management
Modules§
- create
- Transaction that creates a new reserve.
- deposit
- Specification for deposit transaction:
- handover
- Specification for deposit transaction:
- init
- Initialization of the reserve management is execution of three similar transaction to initialize three scripts: Rerserve Management Validator, Reserve Management Policy and Illiquid Circulation Supply Validator.
- release
- Inputs:
- previous utxo at the reserve validator, containing the reserve tokens and the
[ReserveData] plutus data with reserve configuration and release stats
Reference inputs:
- utxo with V-Function reference script matching the hash saved in the input [ReserveData].
IMPORTANT: The V-Function script will evaluate against the total number of tokens that
should have been released up to now.
The number of tokens released in a single transaction equals
<current v-function value> - <number of previously released tokens>
. - utxo with authentication policy reference script - utxo with validator version policy reference script - utxo with illiquid supply validator reference script Outputs: - utxo at the reserve validator containing the rest of unreleased tokens and the updated [ReserveData] plutus data - utxo at the illiquid supply validator containing the newly released tokens Mints: - V-Function tokens in the number equal to the total number of reserve tokens released including the ones released in this transaction. Ie. if N tokens were already released and M tokens are being released, the transaction should mint N+M V-Function tokens. These tokens are worthless and don’t serve any purpose after the transaction is done. - update_
settings - Transaction that updates reserve settings.