Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ISyntheticSplitter

Git Source

Title: ISyntheticSplitter

Minimal interface for external contracts to interact with SyntheticSplitter.

Used by ZapRouter and other integrations.

Functions

mint

Deposits collateral to mint equal amounts of plDXY-BEAR and plDXY-BULL tokens.

Requires approval on USDC. Amount is in 18-decimal token units.

function mint(
    uint256 amount
) external;

Parameters

NameTypeDescription
amountuint256The amount of token pairs to mint.

burn

Burns equal amounts of plDXY-BEAR and plDXY-BULL tokens to retrieve collateral.

Works when not liquidated. May be restricted when paused and insolvent.

function burn(
    uint256 amount
) external;

Parameters

NameTypeDescription
amountuint256The amount of token pairs to burn.

emergencyRedeem

Emergency exit after liquidation. Burns plDXY-BEAR for its full CAP value.

Only works when protocol is liquidated (price >= CAP).

function emergencyRedeem(
    uint256 amount
) external;

Parameters

NameTypeDescription
amountuint256The amount of plDXY-BEAR tokens to burn.

currentStatus

Returns the current protocol lifecycle status.

function currentStatus() external view returns (Status);

Returns

NameTypeDescription
<none>StatusThe current Status enum value.

CAP

Returns the protocol CAP price (8 decimals, oracle format).

function CAP() external view returns (uint256);

Returns

NameTypeDescription
<none>uint256The CAP value in 8 decimal format (e.g., 2e8 = $2.00).

Enums

Status

Defines the current lifecycle state of the protocol.

enum Status {
    ACTIVE,
    PAUSED,
    SETTLED
}

Variants

NameDescription
ACTIVENormal operations. Minting and burning enabled.
PAUSEDSecurity pause. Minting disabled, burn may be restricted if insolvent.
SETTLEDEnd of life. Cap breached. Only emergencyRedeem enabled.