Bond
Controller for a ButtonTranche bond
Invariants:
totalDebt
should always equal the sum of all tranche tokens'totalSupply()
Constructor for Tranche ERC20 token
Deposit
amount
tokens from msg.sender
, get tranche tokens in return Requirements:msg.sender
must haveapproved
amount
collateral tokens to this contract
Matures the bond. Disables deposits, fixes the redemption ratio, and distributes collateral to redemption pools Requirements:
- The bond is not already mature
- One of:
msg.sender
isowner
maturityDate
has passed
Redeems some tranche tokens Requirements:
- The bond is mature
msg.sender
owns at leastamount
tranche tokens from addresstranche
tranche
must be a valid tranche token on this bond
Redeems a slice of tranche tokens from all tranches. Returns collateral to the user proportionally to the amount of debt they are removing Requirements
- The bond is not mature
- The number of
amounts
is the same as the number of tranches - The
amounts
are in equivalent ratio to the tranche order
Get the string name for a tranche
Get the string symbol for a tranche
Get the string letter for a tranche index
Last modified 1yr ago