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

bytes32 ADMIN_ROLE

DEVOPS_ROLE

bytes32 DEVOPS_ROLE

MINTER_ROLE

bytes32 MINTER_ROLE

BURNER_ROLE

bytes32 BURNER_ROLE

INITIALIZER_ROLE

bytes32 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