Protocol Interactions
Overview
In addition to the standard ERC-4626 methods implemented via Yearn V3 base operations, Term's custom strategy extends the BaseStrategy to include two key Term-specific functionalities:
Auction Participation: Enables the submission of offers into Term auctions, callable only by a designated manager.
Direct Repo Token Liquidity: Allows public users to sell repoTokens into the vault.
Validation and Risk Management (Shared Across Methods)
Validation Criteria
Description
RepoToken Eligibility
Not Blacklisted
repoTokenBlacklist[repoToken] == false
Recognized in TermController
_isTermDeployed(repoToken) == true
Not Matured
redemptionTimestamp > block.timestamp
Collateral Requirements
maintenanceCollateralRatios >= minCollateralRatio
Portfolio Constraints
(from StrategyState struct)
Maximum Maturity
Ensures the weighted average maturity of the portfolio is below timeToMaturityThreshold
.
Reserve Ratio
Maintains at least requiredReserveRatio
for liquidity.
Exposure Limits
Verifies that exposure to a single repoToken does not exceed repoTokenConcentrationLimit
.
Additiona Safeguards:
Reentrancy guards prevent recursive exploits in state-modifying functions.
Pausable operations allow emergency suspension.
Role-based access control ensures restricted access where required.
Configurable blacklist functionality excludes prohibited repoTokens.
Auction Participation
Callable by MANAGER
only. Allows MANAGER
to submit an offer into an eligible Term auctions, provided the offer satisfies all portfolio risk constraints.
Features:
Submits an offer into a Term auction after passing validation and portfolio risk checks.
Restricted to the
MANAGER
role for controlled access.
Direct Repo Token Liquidity
The sellRepoToken
method provides a public interface for users to sell repoTokens into the vault.
Features:
Facilitates liquidity by allowing users to sell repoTokens to the vault.
Applies the
discountRateMarkup
to determine the repoToken's value.
Last updated