To mint a senior tranche bond, the user must be able to secure a positive interest rate...
uint256 gain = bondGain(principalAmount_, forDays_);
require(
gain >= minGain_,
"SY: buyBond minGain"
);
require(
gain > 0,
"SY: buyBond gain 0"
);
require(
gain < underlyingLoanable(),
"SY: buyBond underlyingLoanable"
);
Currently, senior tranche bonds must be minted with a maturity date between 1 and 365 days out from purchase.Future governance votes can seek to extend this range.
For example, a $10,000 senior tranche bond that earns a fixed rate of 10% would be worth $11,000 at maturity and cost $50 to redeem, leaving the user with $10,950.
... as well as select a maturity date within the approved range. (See: )
With these requirements met, the ERC-721 token can be minted with properties for principal amount, the fixed yield, and its maturity date. (See )
Senior tranche bonds can be redeemed by whomever holds the ERC-721 token upon maturity. (See: )
The ERC-721 token is burned upon redemption. (See: )
With the ERC-721 token burned, the associated principal and yield are withdrawn from the senior tranche and returned to the redeemer, sans the redemption fee. (See )
This fee is then directed to the address set as "feesOwner" in . In practice, this is the DAO's treasury address.