TermController.sol
This contract operates at the protocol level and governs all instances of a Term Repo. This contract manages Term Finance protocol permissions and controls
TermController
This contract manages Term Finance protocol permissions and controls
This contract operates at the protocol level and governs all instances of a Term Repo
ADMIN_ROLE
bytes32 ADMIN_ROLEAUCTION_ROLE
bytes32 AUCTION_ROLECONTROLLER_ADMIN_ROLE
bytes32 CONTROLLER_ADMIN_ROLEDEVOPS_ROLE
bytes32 DEVOPS_ROLEINITIALIZER_ROLE
bytes32 INITIALIZER_ROLEFACTORY_DEPLOYER_ROLE
SPECIALIST_ROLE
termContractsPaused
Returns whether all Term Finance contracts are currently paused
Return Values
Name
Type
Description
treasuryWallet
protocolReserveWallet
termAddresses
factoryDeployedAddresses
approvedExternalAddresses
registeredRepoIds
External view function which returns if term repo id is registered in Controller
Parameters
Name
Type
Description
Return Values
Name
Type
Description
registeredAuctionIds
External view function which returns if term auction id is registered in Controller
Parameters
Name
Type
Description
Return Values
Name
Type
Description
termAuctionResults
onlyInitializerOrFactoryDeployer
constructor
initialize
pairInitializer
pairFactoryDeployer
pairAuction
Initializer function to pair a new Term Auction with the controller
Parameters
auction
address
new auction address
getTreasuryAddress
External view function which returns contract address of treasury wallet
getProtocolReserveAddress
External view function which returns contract address of protocol reserve
Return Values
[0]
address
The protocol reserve address
getTermAuctionResults
Returns history of all completed auctions within a term
Parameters
termRepoId
bytes32
term repo id to look up
isTermDeployed
External view function which returns whether contract address is deployed by Term Finance Protocol
Parameters
contractAddress
address
The input contract address to query
Return Values
[0]
bool
Whether the given address is deployed by Term Finance Protocol
isFactoryDeployed
External view function which returns whether contract address is deployed by a Term Finance factory
Parameters
contractAddress
address
The input contract address to query
Return Values
[0]
bool
Whether the given address is deployed by a Term Finance factory
isTermApproved
External view function which returns whether contract address is approved for integration
Parameters
contractAddress
address
The input contract address to query
Return Values
[0]
bool
Whether the given address is approved for integration
verifyMintExposureAccess
Parameters
authedUser
address
The address of user to check access for mint exposure
updateTreasuryAddress
Admin function to update the Term Finance treasury wallet address
Parameters
newTreasuryWallet
address
The new treasury address
updateProtocolReserveAddress
Admin function to update the Term Finance protocol reserve wallet address
Parameters
newProtocolReserveWallet
address
The new protocol reserve wallet address
updateControllerAdminWallet
Admin function to update the designated controller admin wallet that calls markTermDeployed
Parameters
oldControllerAdminWallet
address
The current controller admin wallet to revoke permissions for
newControllerAdminWallet
address
The new controller admin wallet to grant permissions for
markTermDeployed
Admin function to add a new Term Finance contract to Controller
Parameters
termContract
address
The new term contract address
unmarkTermDeployed
Admin function to remove a contract from Controller
Parameters
termContract
address
The new term contract address
markTermFactoryDeployed
Admin function to add a new factory-deployed contract to Controller
Parameters
factoryDeployedContract
address
The factory-deployed contract address
unmarkTermFactoryDeployed
Admin function to remove a factory-deployed contract from Controller
Parameters
factoryDeployedContract
address
The factory-deployed contract address
registerRepoId
Admin function to add a new term repo id to Controller
Parameters
repoId
bytes32
The new term repo id
registerAuctionId
Admin function to add a new term auction id to Controller
Parameters
auctionId
bytes32
The new term auction id
markTermApproved
Admin function to add a new external contract to Controller
Parameters
externalContract
address
The new external contract address
unmarkTermApproved
Admin function to remove an external contract from Controller
Parameters
externalContract
address
The new external contract address
grantMintExposureAccess
Parameters
authedUser
address
The address of user granted access to create mint exposure
revokeMintExposureAccess
Parameters
revokedUser
address
The address of user to revoke access to create mint exposure
pauseTermContracts
Pauses all Term Finance contracts
Sets the global pause state to true, halting contract operations
unpauseTermContracts
Unpauses all Term Finance contracts
Sets the global pause state to false, resuming contract operations
recordAuctionResult
_authorizeUpgrade
required override by the OpenZeppelin UUPS module
Last updated