For the complete documentation index, see llms.txt. This page is also available as Markdown.

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_ROLE

AUCTION_ROLE

bytes32 AUCTION_ROLE

CONTROLLER_ADMIN_ROLE

bytes32 CONTROLLER_ADMIN_ROLE

DEVOPS_ROLE

bytes32 DEVOPS_ROLE

INITIALIZER_ROLE

bytes32 INITIALIZER_ROLE

FACTORY_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

Name
Type
Description

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

Name
Type
Description

[0]

address

The protocol reserve address

getTermAuctionResults

Returns history of all completed auctions within a term

Parameters

Name
Type
Description

termRepoId

bytes32

term repo id to look up

isTermDeployed

External view function which returns whether contract address is deployed by Term Finance Protocol

Parameters

Name
Type
Description

contractAddress

address

The input contract address to query

Return Values

Name
Type
Description

[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

Name
Type
Description

contractAddress

address

The input contract address to query

Return Values

Name
Type
Description

[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

Name
Type
Description

contractAddress

address

The input contract address to query

Return Values

Name
Type
Description

[0]

bool

Whether the given address is approved for integration

verifyMintExposureAccess

Parameters

Name
Type
Description

authedUser

address

The address of user to check access for mint exposure

updateTreasuryAddress

Admin function to update the Term Finance treasury wallet address

Parameters

Name
Type
Description

newTreasuryWallet

address

The new treasury address

updateProtocolReserveAddress

Admin function to update the Term Finance protocol reserve wallet address

Parameters

Name
Type
Description

newProtocolReserveWallet

address

The new protocol reserve wallet address

updateControllerAdminWallet

Admin function to update the designated controller admin wallet that calls markTermDeployed

Parameters

Name
Type
Description

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

Name
Type
Description

termContract

address

The new term contract address

unmarkTermDeployed

Admin function to remove a contract from Controller

Parameters

Name
Type
Description

termContract

address

The new term contract address

markTermFactoryDeployed

Admin function to add a new factory-deployed contract to Controller

Parameters

Name
Type
Description

factoryDeployedContract

address

The factory-deployed contract address

unmarkTermFactoryDeployed

Admin function to remove a factory-deployed contract from Controller

Parameters

Name
Type
Description

factoryDeployedContract

address

The factory-deployed contract address

registerRepoId

Admin function to add a new term repo id to Controller

Parameters

Name
Type
Description

repoId

bytes32

The new term repo id

registerAuctionId

Admin function to add a new term auction id to Controller

Parameters

Name
Type
Description

auctionId

bytes32

The new term auction id

markTermApproved

Admin function to add a new external contract to Controller

Parameters

Name
Type
Description

externalContract

address

The new external contract address

unmarkTermApproved

Admin function to remove an external contract from Controller

Parameters

Name
Type
Description

externalContract

address

The new external contract address

grantMintExposureAccess

Parameters

Name
Type
Description

authedUser

address

The address of user granted access to create mint exposure

revokeMintExposureAccess

Parameters

Name
Type
Description

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