Skip to main content

IMarketMakingPolicy

Git Source - Generated with forge doc

Inherits: IInterestRatePolicy

Title: IMarketMakingPolicy

Interface of the market making policy where users quote per-market yield curves.

Functions

MORPHO_MIDNIGHT

The Morpho Midnight protocol used for authorization checks.

function MORPHO_MIDNIGHT() external view returns (IMidnight);

curves

Returns the i-th point of the curve of user on tenorMarketId.

function curves(address user, bytes32 tenorMarketId, uint256 i)
external
view
returns (uint32 ttm, uint112 sellRate, uint112 buyRate);

setCurve

Overwrites the curve of onBehalf for tenorMarketId.

Enforces 1 to MAX_POINTS points, strictly increasing ttm, and sellRate <= buyRate at every point.

function setCurve(address onBehalf, bytes32 tenorMarketId, CurvePoint[] calldata points) external;

clearCurve

Deletes the curve of onBehalf for tenorMarketId.

function clearCurve(address onBehalf, bytes32 tenorMarketId) external;

Events

CurveSet

event CurveSet(address indexed user, bytes32 indexed tenorMarketId, CurvePoint[] points);

CurveCleared

event CurveCleared(address indexed user, bytes32 indexed tenorMarketId);

Errors

EmptyCurve

error EmptyCurve();

TooManyPoints

error TooManyPoints();

NonStrictlyIncreasingTtm

error NonStrictlyIncreasingTtm();

CrossedCurve

error CrossedCurve();

NoCurveForUserMarket

error NoCurveForUserMarket();

Unauthorized

error Unauthorized();

UnsupportedMigrationRoute

error UnsupportedMigrationRoute();

Structs

CurvePoint

One point on a yield curve.

struct CurvePoint {
uint32 ttm;
uint112 sellRate;
uint112 buyRate;
}

Properties

NameTypeDescription
ttmuint32The time to maturity in seconds, the curve's x-axis.
sellRateuint112Per-second rate in WAD quoted by the lender to sell credit on Midnight (exit a position).
buyRateuint112Per-second rate in WAD quoted by the lender to buy credit on Midnight (enter a position).