TermRepoToken.sol
This contract belongs to the Term Servicer group of contracts and is specific to a Term Repo deployment. This is an ERC-20 contract to track claims to the aggregate repurchase obligations due on the r
TermRepoToken
This is an ERC-20 contract to track claims to the aggregate repurchase obligations due on the repurchase date across all borrowers to a Term Repo
This contract belongs to the Term Servicer group of contracts and is specific to a Term Repo deployment
ADMIN_ROLE
DEVOPS_ROLE
MINTER_ROLE
BURNER_ROLE
INITIALIZER_ROLE
decimalPlaces
termContractPaired
mintingPaused
burningPaused
redemptionValue
The number of purchase tokens redeemable
termRepoId
mintExposureCap
config
emitter
whileMintingNotPaused
whileBurningNotPaused
notTermContractPaired
constructor
initialize
pairTermContracts
resetMintExposureCap
totalRedemptionValue
Calculates the total USD redemption value of all outstanding TermRepoTokens
Return Values
Name | Type | Description |
---|---|---|
[0] | uint256 | totalRedemptionValue The total redemption value of TermRepoTokens in USD |
burn
Burns TermRepoTokens held by an account Reverts if caller does not have BURNER_ROLE
Parameters
Name | Type | Description |
---|---|---|
account | address | The address of account holding TermRepoTokens to burn |
amount | uint256 | The amount of TermRepoTokens to burn without decimal factor |
burnAndReturnValue
Burns TermRepoTokens held by an account and returns purchase redemption value of tokens burned Reverts if caller does not have BURNER_ROLE
Parameters
Name | Type | Description |
---|---|---|
account | address | The address of account holding TermRepoTokens to burn |
amount | uint256 | The amount of TermRepoTokens to burn without decimal factor |
Return Values
Name | Type | Description |
---|---|---|
[0] | uint256 | totalRedemptionValue Total redemption value of TermRepoTokens burned |
mintRedemptionValue
Mints TermRepoTokens in an amount equal to caller specified target redemption amount The redemptionValue is the amount of purchase tokens redeemable per unit of TermRepoToken Reverts if caller does not have MINTER_ROLE
Parameters
Name | Type | Description |
---|---|---|
account | address | The address of account to mint TermRepoTokens to |
redemptionAmount | uint256 | The target redemption amount to mint in TermRepoTokens |
Return Values
Name | Type | Description |
---|---|---|
[0] | uint256 | numTokens The amount of Term Repo Tokens minted |
mintTokens
Mints an exact amount of TermRepoTokens Reverts if caller does not have MINTER_ROLE
Parameters
Name | Type | Description |
---|---|---|
account | address | The address of account to mint TermRepoTokens to |
numTokens | uint256 | The exact number of term repo tokens to mint |
decrementMintExposureCap
Decrements the mintExposureCap Reverts if caller does not have MINTER_ROLE
Parameters
Name | Type | Description |
---|---|---|
supplyMinted | uint256 | The number of Tokens Minted |
decimals
Return Values
Name | Type | Description |
---|---|---|
[0] | uint8 | uint8 A uint8 that specifies how many decimal places a token has |
getCollateralRequirements
Return Values
Name | Type | Description |
---|---|---|
collateralTokens | address[] | An array of collateral token addresses eligible to serve as collateral backing this repoToken |
maintenanceRatios | uint256[] | An array of maintenance ratios applicable to each collateral token backing this repoToken |
pauseMinting
unpauseMinting
pauseBurning
unpauseBurning
_authorizeUpgrade
required override by the OpenZeppelin UUPS module
Parameters
Name | Type | Description |
---|---|---|
impl | address | new impl address for proxy upgrade |
Last updated