IArrakisPrivateVaultRouter

Git Source

Functions

pause

function used to pause the router.

only callable by owner

function pause() external;

unpause

function used to unpause the router.

only callable by owner

function unpause() external;

addLiquidity

addLiquidity adds liquidity to meta vault of interest (mints L tokens)

function addLiquidity(
    AddLiquidityData memory params_
) external payable;

Parameters

NameTypeDescription
params_AddLiquidityDataAddLiquidityData struct containing data for adding liquidity

swapAndAddLiquidity

swapAndAddLiquidity transfer tokens to and calls RouterSwapExecutor

function swapAndAddLiquidity(
    SwapAndAddData memory params_
)
    external
    payable
    returns (uint256 amount0Diff, uint256 amount1Diff);

Parameters

NameTypeDescription
params_SwapAndAddDataSwapAndAddData struct containing data for swap

Returns

NameTypeDescription
amount0Diffuint256token0 balance difference post swap
amount1Diffuint256token1 balance difference post swap

addLiquidityPermit2

addLiquidityPermit2 adds liquidity to public vault of interest (mints LP tokens)

function addLiquidityPermit2(
    AddLiquidityPermit2Data memory params_
) external payable;

Parameters

NameTypeDescription
params_AddLiquidityPermit2DataAddLiquidityPermit2Data struct containing data for adding liquidity

swapAndAddLiquidityPermit2

swapAndAddLiquidityPermit2 transfer tokens to and calls RouterSwapExecutor

function swapAndAddLiquidityPermit2(
    SwapAndAddPermit2Data memory params_
)
    external
    payable
    returns (uint256 amount0Diff, uint256 amount1Diff);

Parameters

NameTypeDescription
params_SwapAndAddPermit2DataSwapAndAddPermit2Data struct containing data for swap

Returns

NameTypeDescription
amount0Diffuint256token0 balance difference post swap
amount1Diffuint256token1 balance difference post swap

wrapAndAddLiquidity

wrapAndAddLiquidity wrap eth and adds liquidity to meta vault of iPnterest (mints L tokens)

function wrapAndAddLiquidity(
    AddLiquidityData memory params_
) external payable;

Parameters

NameTypeDescription
params_AddLiquidityDataAddLiquidityData struct containing data for adding liquidity

wrapAndSwapAndAddLiquidity

wrapAndSwapAndAddLiquidity wrap eth and transfer tokens to and calls RouterSwapExecutor

function wrapAndSwapAndAddLiquidity(
    SwapAndAddData memory params_
)
    external
    payable
    returns (uint256 amount0Diff, uint256 amount1Diff);

Parameters

NameTypeDescription
params_SwapAndAddDataSwapAndAddData struct containing data for swap

Returns

NameTypeDescription
amount0Diffuint256token0 balance difference post swap
amount1Diffuint256token1 balance difference post swap

wrapAndAddLiquidityPermit2

wrapAndAddLiquidityPermit2 wrap eth and adds liquidity to public vault of interest (mints LP tokens)

function wrapAndAddLiquidityPermit2(
    AddLiquidityPermit2Data memory params_
) external payable;

Parameters

NameTypeDescription
params_AddLiquidityPermit2DataAddLiquidityPermit2Data struct containing data for adding liquidity

wrapAndSwapAndAddLiquidityPermit2

wrapAndSwapAndAddLiquidityPermit2 wrap eth and transfer tokens to and calls RouterSwapExecutor

function wrapAndSwapAndAddLiquidityPermit2(
    SwapAndAddPermit2Data memory params_
)
    external
    payable
    returns (uint256 amount0Diff, uint256 amount1Diff);

Parameters

NameTypeDescription
params_SwapAndAddPermit2DataSwapAndAddPermit2Data struct containing data for swap

Returns

NameTypeDescription
amount0Diffuint256token0 balance difference post swap
amount1Diffuint256token1 balance difference post swap

Events

Swapped

event emitted when a swap happen before depositing.

event Swapped(
    bool zeroForOne,
    uint256 amount0Diff,
    uint256 amount1Diff,
    uint256 amountOutSwap
);

Parameters

NameTypeDescription
zeroForOneboolboolean indicating if we are swap token0 to token1 or the inverse.
amount0Diffuint256amount of token0 get or consumed by the swap.
amount1Diffuint256amount of token1 get or consumed by the swap.
amountOutSwapuint256minimum amount of tokens out wanted after swap.

Errors

AddressZero

error AddressZero();

NotEnoughNativeTokenSent

error NotEnoughNativeTokenSent();

OnlyPrivateVault

error OnlyPrivateVault();

OnlyDepositor

error OnlyDepositor();

RouterIsNotDepositor

error RouterIsNotDepositor();

EmptyAmounts

error EmptyAmounts();

LengthMismatch

error LengthMismatch();

Deposit0

error Deposit0();

Deposit1

error Deposit1();

MsgValueZero

error MsgValueZero();

NativeTokenNotSupported

error NativeTokenNotSupported();

MsgValueDTAmount

error MsgValueDTAmount();

NoWethToken

error NoWethToken();

Permit2WethNotAuthorized

error Permit2WethNotAuthorized();