Module reserve

Source
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.