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_ROLE
DEVOPS_ROLE
bytes32 DEVOPS_ROLE
treasuryWallet
address treasuryWallet
protocolReserveWallet
address protocolReserveWallet
termAddresses
mapping(address => bool) termAddresses
constructor
constructor() public
initialize
function initialize(address treasuryWallet_, address protocolReserveWallet_, address controllerAdminWallet_, address devopsWallet_) external
getTreasuryAddress
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) external
Admin function to update the Term Finance treasury wallet address
Parameters
newTreasuryWallet
address
The new treasury address
updateProtocolReserveAddress
function updateProtocolReserveAddress(address newProtocolReserveWallet) external
Admin 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) external
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
function markTermDeployed(address termContract) external
Admin function to add a new Term Finance contract to Controller
Parameters
termContract
address
The new term contract address
unmarkTermDeployed
function unmarkTermDeployed(address termContract) external
Admin function to remove a contract from Controller
Parameters
termContract
address
The new term contract address
_authorizeUpgrade
function _authorizeUpgrade(address) internal view
required override by the OpenZeppelin UUPS module
Last updated