Module init

Module init 

Source
Expand description

Initialization of the reserve management is execution of two similar transaction to initialize two scripts: Reserve Management Validator and Reserve Management Policy

Transaction for each of these scripts should have:

  • an output to Version Oracle Validator address that should:
    • have script reference with the script being initialized attached, script should be applied with Version Oracle Policy Id
    • contain 1 token of Version Oracle Policy with “Version oracle” asset name, minted in this transaction
      • mint redeemer should be Constr(1, [Int: SCRIPT_ID, Bytes: Applied Script Hash])
    • have Plutus Data that is [Int: SCRIPT_ID, Bytes: Version Oracle Policy Id]
  • an output to the current governance (holder of governance token) that should:
    • contain a new Governance Policy token, minted in this transaction,
      • mint redeemer should be empty constructor Plutus Data
  • a script reference input of the current Governance UTXO
  • signature of the current governance

Functions§

init_reserve_management
Stores smart contracts used for reserve management in the versioning system. Scripts stored are: