🖥️
Term Finance v1 Developer Documentation
  • Overview
  • Term Finance Protocol
    • Term Repo
      • Term Auction Group
        • Initialization Parameters
        • Administrative Functions
      • Term Servicer Group
        • Initialization Parameters
        • Administrative Functions
      • Term Repo Token
        • Initialization Parameters
        • Administrative Functions
    • Protocol Contracts
      • Price Feeds
    • Conventions
    • Terminology
  • Access Controls
    • Upgradeability
  • Deployed Contracts
    • Smart Contract Audits
    • Formal Verification
    • [Ethereum]
    • [Avalanche]
  • Protocol Security
    • Smart Contract Monitoring
    • Front-End Security
  • Solidity API - latest
    • Term Repo Class
      • Term Auction Group
        • TermAuction.sol
        • TermAuctionBidLocker.sol
        • TermAuctionOfferLocker.sol
      • Term Servicer Group
        • TermRepoServicer.sol
        • TermRepoLocker.sol
        • TermRepoCollateralManager.sol
        • TermRepoRolloverManager.sol
      • TermRepoToken.sol
    • Protocol Class
      • TermController.sol
      • TermEventEmitter.sol
      • TermInitializer.sol
      • TermPriceConsumerV3.sol
  • Solidity API - 0.5.31
    • Term Repo Class
      • Term Auction Group
        • TermAuction.sol
        • TermAuctionBidLocker.sol
        • TermAuctionOfferLocker.sol
      • Term Servicer Group
        • TermRepoServicer.sol
        • TermRepoLocker.sol
        • TermRepoCollateralManager.sol
        • TermRepoRolloverManager.sol
      • TermRepoToken.sol
    • Protocol Class
      • TermController.sol
      • TermEventEmitter.sol
      • TermInitializer.sol
      • TermPriceConsumerV3.sol
  • Solidity API - 0.5.32
    • Term Repo Class
      • Term Auction Group
        • TermAuction.sol
        • TermAuctionBidLocker.sol
        • TermAuctionOfferLocker.sol
      • Term Servicer Group
        • TermRepoServicer.sol
        • TermRepoLocker.sol
        • TermRepoCollateralManager.sol
        • TermRepoRolloverManager.sol
      • TermRepoToken.sol
    • Protocol Class
      • TermController.sol
      • TermEventEmitter.sol
      • TermInitializer.sol
      • TermPriceConsumerV3.sol
  • Solidity API - 0.6.0
    • Term Repo Class
      • Term Auction Group
        • TermAuction.sol
        • TermAuctionBidLocker.sol
        • TermAuctionOfferLocker.sol
      • Term Servicer Group
        • TermRepoServicer.sol
        • TermRepoLocker.sol
        • TermRepoCollateralManager.sol
        • TermRepoRolloverManager.sol
      • TermRepoToken.sol
    • Protocol Class
      • TermController.sol
      • TermEventEmitter.sol
      • TermInitializer.sol
      • TermPriceConsumerV3.sol
  • Solidity API - 0.9.0
    • Term Repo Class
      • Term Auction Group
        • TermAuction.sol
        • TermAuctionBidLocker.sol
        • TermAuctionOfferLocker.sol
      • Term Servicer Group
        • TermRepoServicer.sol
        • TermRepoLocker.sol
        • TermRepoCollateralManager.sol
        • TermRepoRolloverManager.sol
      • TermRepoToken.sol
    • Protocol Class
      • TermController.sol
      • TermEventEmitter.sol
      • TermInitializer.sol
      • TermPriceConsumerV3.sol
  • DeFiSafety - detailed report
  • Github Repo
  • Periphery Contracts
    • Blue Sheets
      • Core Architecture
      • Core Functionality
      • Administration
      • Deployed Contracts
        • Smart Contract Audits
        • [Ethereum]
      • Solidity API - latest
        • RepoTokenLinkedList.sol#RepoTokenLinkedList
        • RepoTokenLinkedList.sol#RepoTokenLinkedListStorageV1
        • RepoTokenLinkedListEventEmitter.sol
        • TermDiscountRateAdapter.sol
    • Github Repo
    • Term Strategy Vaults
      • Core Architecture
        • Yearn V3 Framework
        • Term Integration
      • Core Functionality
        • YearnV3 Base Operations
        • Term Protocol Operations
          • Core Integration
          • Portfolio Valuation
          • Protocol Interactions
          • Portfolio Constraints
      • Administration
        • Yearn Roles & Governance
        • Term Vault Governance
      • Configuration Guide
      • Deployed Contracts
        • Smart Contract Audits
        • [Ethereum]
      • Solidity API - latest
        • RepoTokenList.sol#RepoTokenList
        • RepoTokenList.sol#RepoTokenListData
        • RepoTokenList.sol#RepoTokenListNode
        • RepoTokenUtils.sol#RepoTokenUtils
        • Strategy.sol#Strategy
        • TermAuctionList.sol#TermAuctionList
        • TermAuctionList.sol#PendingOffer
        • TermAuctionList.sol#TermAuctionListData
        • TermAuctionList.sol#TermAuctionListNode
        • TermDiscountRateAdapter.sol#TermDiscountRateAdapter
        • TermVaultEventEmitter.sol#TermVaultEventEmitter
        • TermFinanceVaultWrappedVotesToken.sol#TermFinanceVaultWrappedVotesToken
    • Github Repo
Powered by GitBook
On this page
  • TermController
  • CONTROLLER_ADMIN_ROLE
  • DEVOPS_ROLE
  • EVERGREEN_MANAGEMENT_ROLE
  • treasuryWallet
  • protocolReserveWallet
  • termAddresses
  • constructor
  • initialize
  • getTreasuryAddress
  • getProtocolReserveAddress
  • isTermDeployed
  • updateTreasuryAddress
  • updateProtocolReserveAddress
  • updateControllerAdminWallet
  • markTermDeployed
  • unmarkTermDeployed
  • _authorizeUpgrade
  1. Solidity API - 0.5.31
  2. Protocol Class

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

EVERGREEN_MANAGEMENT_ROLE

bytes32 EVERGREEN_MANAGEMENT_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_, address evergreenManagementWallet_) 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

Name
Type
Description

[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

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

updateTreasuryAddress

function updateTreasuryAddress(address newTreasuryWallet) external

Admin function to update the Term Finance treasury wallet address

Parameters

Name
Type
Description

newTreasuryWallet

address

The new treasury address

updateProtocolReserveAddress

function updateProtocolReserveAddress(address newProtocolReserveWallet) external

Admin function to update the Term Finance protocol reserve wallet address

Parameters

Name
Type
Description

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

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

function markTermDeployed(address termContract) external

Admin function to add a new Term Finance contract to Controller

Parameters

Name
Type
Description

termContract

address

The new term contract address

unmarkTermDeployed

function unmarkTermDeployed(address termContract) external

Admin function to remove a contract from Controller

Parameters

Name
Type
Description

termContract

address

The new term contract address

_authorizeUpgrade

function _authorizeUpgrade(address) internal view

required override by the OpenZeppelin UUPS module

Last updated 1 year ago