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
CONTROLLER_ADMIN_ROLE
bytes32 CONTROLLER_ADMIN_ROLEDEVOPS_ROLE
bytes32 DEVOPS_ROLEtreasuryWallet
address treasuryWalletprotocolReserveWallet
address protocolReserveWallettermAddresses
mapping(address => bool) termAddressesconstructor
constructor() publicinitialize
function initialize(address treasuryWallet_, address protocolReserveWallet_, address controllerAdminWallet_, address devopsWallet_) externalgetTreasuryAddress
function getTreasuryAddress() external view returns (address)External view function which returns contract address of treasury wallet
getProtocolReserveAddress
function getProtocolReserveAddress() external view returns (address)External view function which returns contract address of protocol reserve
Return Values
[0]
address
The protocol reserve address
isTermDeployed
function isTermDeployed(address contractAddress) external view returns (bool)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
updateTreasuryAddress
function updateTreasuryAddress(address newTreasuryWallet) externalAdmin function to update the Term Finance treasury wallet address
Parameters
newTreasuryWallet
address
The new treasury address
updateProtocolReserveAddress
function updateProtocolReserveAddress(address newProtocolReserveWallet) externalAdmin function to update the Term Finance protocol reserve wallet address
Parameters
newProtocolReserveWallet
address
The new protocol reserve wallet address
updateControllerAdminWallet
function updateControllerAdminWallet(address oldControllerAdminWallet, address newControllerAdminWallet) externalAdmin 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
function markTermDeployed(address termContract) externalAdmin function to add a new Term Finance contract to Controller
Parameters
termContract
address
The new term contract address
unmarkTermDeployed
function unmarkTermDeployed(address termContract) externalAdmin function to remove a contract from Controller
Parameters
termContract
address
The new term contract address
_authorizeUpgrade
function _authorizeUpgrade(address) internal viewrequired override by the OpenZeppelin UUPS module
Last updated