IInterestRatePolicy
Git Source - Generated with forge doc
Title: IInterestRatePolicy
Interface of interest rate policies that compute rates for renewal pricing.
Rate values are rates per second in WAD (1e18 = 100% per second). Policies receive the source and target market ids for collateral-sensitive pricing, the renewal period start timestamp to compute elapsed time internally, the user address (the position owner being renewed), the taker filling the offer for counterparty-aware pricing, the source and target maturities for context, and the user's side for direction-aware pricing.
Policies are user-supplied and untrusted by the protocol; integrators and keepers must treat getRate as potentially reverting or gas-expensive.
Functions
getRate
Returns the interest rate for the given renewal context.
function getRate(
bytes32 sourceTenorMarketId,
bytes32 targetTenorMarketId,
uint256 renewalPeriodStart,
address user,
address taker,
uint256 sourceMaturity,
uint256 targetMaturity,
bool userIsBuyer
) external view returns (uint256 rate);
Parameters
| Name | Type | Description |
|---|---|---|
sourceTenorMarketId | bytes32 | The id of the source side of the renewal (the position being closed). |
targetTenorMarketId | bytes32 | The id of the target side of the renewal (the position being entered). |
renewalPeriodStart | uint256 | The renewal period start timestamp (the policy computes the elapsed time internally). |
user | address | The position owner being renewed (the offer maker in the make-on-behalf flow). |
taker | address | The Midnight.take taker, forwarded from isRatified. |
sourceMaturity | uint256 | The source market maturity (0 for Blue to Midnight migrations). |
targetMaturity | uint256 | The target market maturity (0 for Midnight to Blue exits). |
userIsBuyer | bool | The renewed user's side in the trade, derived from the migration direction. |
Returns
| Name | Type | Description |
|---|---|---|
rate | uint256 | The interpolated rate per second in WAD at the given elapsed time. |