II.I.VII Example Interactions and Flows
The following is an example of how Permissioned Actors are intended to interact with the protocol, and how $M is intended to flow through the protocol.
Last updated
The following is an example of how Permissioned Actors are intended to interact with the protocol, and how $M is intended to flow through the protocol.
Last updated
Step 1: , , and propose their addresses to the M^0 .
Step 2: The accepts or rejects the proposals.
Step 3: that were approved by the are now on the Minter List. These call for their first on-chain Collateral Value update.
Step 4: This has contracted with at least one off-chain. The (s) have full access to the records and statements of the . The (s) will check to ensure that the proposed on-chain Collateral Value is less than the dollar value of the in the . Once they have confirmed this to be true, they will provide the with their signature and a timestamp from when they performed the balance check.
Step 5: Once the has obtained a valid signature and timestamp from the Validator(s) they will call Update Collateral
to push the balance on-chain.
Step 6: Now that the has a positive on-chain Collateral Value, they are able to generate M. They will call the Propose Mint
method and specify the amount they wish to generate. As long as this amount is within the bounds of the current on-chain Collateral Value (excluding any open Retrieval IDs) multiplied by the , the method will output a Mint ID. This Mint ID will be inactionable for some , and then actionable for .
Step 7: The Mint ID must be outstanding for . This is to ensure the superset of have the opportunity to scrutinize the Propose Mint
and call the Cancel
and/or Freeze
methods if something is amiss. Once has passed, the can call Mint
and generate the M.
Step 8: Now that the $M is generated, the begins to pay on their Owed $M. They will be subject to charges on this balance if they do not keep their on-chain Collateral Value up to date or allow their on-chain Collateral Value to decrease below the permitted level. If the latter circumstance occurs, it is likely because the assets comprising the off-chain collateral have matured and are sitting in bank deposits.
Step 9: Assume that this now wishes to repay some of the $M they have generated and to retrieve a portion of the collateral from the . The will first call Burn
and specify the amount of $M they’d like to repay. This will reduce their Owed $M by this amount. Assuming that now there is a positive spread between the permitted amount of $M that the can generate and their Owed M, they can call the Retrieve
method. The Retrieve
method will first check if their on-chain Collateral Value, after the retrieval, is in compliance with the protocol’s rules. If it is, the method will output a Retrieval ID and reduce the Minter’s on-chain Collateral Value by the amount specified.
Step 10: The can now go to the operator of the and show them the Retrieval ID and request that they allow them to redeem the corresponding value.
Step 11: Once the transaction has completed and cleared the will call Update Collateral
and input the new Collateral Value and the Retrieval ID in order to remove the subtraction to on-chain Collateral Value associated with the Retrieval ID. The once again requires the signature data and timestamp for the transaction to succeed.