Router v2

Contract info

Contract name: pancake::router Contract address: c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::router

Admin Multi Sig: b11ccaed0056a75472539c2b0d9511c82fc6a36622bec7578216af5fe550dd0d

View on Aptos Explorer

Types

NameTypeDescription

X

type address

The coin type address of token X in the pair.

Y

type address

The coin type address of token Y in the pair.

Entry Functions

Create Pair

Create the pool pair for swap.

public entry fun create_pair<X, Y>(sender: &signer)

Params

NameTypeDescripton

sender

signer

The sender's signer when calling the function.

Add Liquidity

Add liquidity to the pool.

public entry fun add_liquidity<X, Y>(
    sender: &signer,
    amount_x_desired: u64,
    amount_y_desired: u64,
    amount_x_min: u64,
    amount_y_min: u64,
)

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

amount_x_desired

u64

The amount of tokenX you'd like to provide as liquidity.

amount_y_desired

u64

The amount of tokenY you'd like to provide as liquidity.

amount_x_min

u64

The minimum amount of tokenX to provide (slippage impact).

amount_y_min

u64

The minimum amount of tokenY to provide (slippage impact).

Remove Liquidity

Remove liquidity from the pool.

public entry fun remove_liquidity<X, Y>(
    sender: &signer,
    liquidity: u64,
    amount_x_min: u64,
    amount_y_min: u64
)

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

liquidity

u64

The amount of LP Tokens to remove.

amount_x_min

u64

The minimum amount of tokenX to remove (slippage impact).

amount_y_min

u64

The minimum amount of tokenY to remove (slippage impact).

Swap Exact Input

Swap exact amount of tokenX to tokenY.

public entry fun swap_exact_input<X, Y>(
    sender: &signer,
    x_in: u64,
    y_min_out: u64,
)

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

x_in

u64

Payable amount of input tokenX.

y_min_out

u64

The minimum amount tokenY to receive.

Swap Exact Output

Swap tokenX to exact amount of tokenY.

public entry fun swap_exact_output<X, Y>(
    sender: &signer,
    y_out: u64,
    x_max_in: u64,
)

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

y_out

u64

Payable amount of output tokenY.

x_max_in

u64

The maximum amount tokenX to input.

Swap Exact Input Double Hop

Swap exact amount of tokenX to tokenZ using 2 pools (Pool XY and Pool YZ).

public entry fun swap_exact_input_doublehop<X, Y, Z>(
    sender: &signer,
    x_in: u64,
    z_min_out: u64,
)

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

x_in

u64

Payable amount of input tokenX.

z_min_out

u64

The minimum amount tokenZ to receive.

Swap Exact Output Double Hop

Swap tokenX to exact amount of tokenZ using 2 pools (Pool XY and Pool YZ).

public entry fun swap_exact_output_doublehop<X, Y, Z>(
    sender: &signer,
    z_out: u64,
    x_max_in: u64,
)

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

z_out

u64

Payable amount of output tokenZ.

x_max_in

u64

The maximum amount tokenX to input.

Swap Exact Input Triple Hop

Swap exact amount of tokenX to tokenA using 3 pools (Pool XY, Pool YZ and Pool ZA).

public entry fun swap_exact_input_triplehop<X, Y, Z, A>(
    sender: &signer,
    x_in: u64,
    a_min_out: u64,
) 

Params

NameTypeDescription

sender

signer

The sender's signer when calling the function.

x_in

u64

Payable amount of input tokenX.

a_min_out

u64

The minimum amount tokenA to receive.

Swap Exact Output Triple Hop

Swap tokenX to exact amount of tokenA using 3 pools (Pool XY, Pool YZ and Pool ZA).

public entry fun swap_exact_output_triplehop<X, Y, Z, A>(
    sender: &signer,
    a_out: u64,
    x_max_in: u64,
) 
NameTypeDescription

sender

signer

The sender's signer when calling the function.

a_out

u64

Payable amount of output tokenA.

x_max_in

u64

The maximum amount tokenX to input.

Swap Exact Input Quadruple Hop

Swap exact amount of tokenX to tokenB using 3 pools (Pool XY, Pool YZ, Pool ZA and Pool AB).

public entry fun swap_exact_input_quadruplehop<X, Y, Z, A, B>(
    sender: &signer,
    x_in: u64,
    b_min_out: u64,
)
NameTypeDescription

sender

signer

The sender's signer when calling the function.

x_in

u64

Payable amount of input tokenX.

b_min_out

u64

The minimum amount tokenB to receive.

Swap Exact Output Quadruple Hop

Swap tokenX to exact amount of tokenB using 3 pools (Pool XY, Pool YZ, Pool ZA and Pool AB).

public entry fun swap_exact_output_quadruplehop<X, Y, Z, A, B>(
    sender: &signer,
    b_out: u64,
    x_max_in: u64,
)
NameTypeDescription

sender

signer

The sender's signer when calling the function.

b_out

u64

Payable amount of output tokenB.

x_max_in

u64

The maximum amount tokenX to input.

Public Functions

Swap Exact X to Y

Swap exact amount of tokenX to tokenY.

public fun swap_exact_x_to_y_direct_external<X, Y>(x_in: coin::Coin<X>): coin::Coin<Y> 

Input Values

NameTypeDescription

x_in

coin::Coin

The coin resource of tokenX that the user will swap.

Return Values

TypeDescription

coin::Coin

The coin resource of tokenY that the user will receive.

Swap X to Exact Y

Swap tokenX to the exact amount of tokenY.

public fun swap_x_to_exact_y_direct_external<X, Y>(x_in: coin::Coin<X>, y_out_amount:u64): (coin::Coin<X>, coin::Coin<Y>)

Input Values

NameTypeDescription

x_in

coin::Coin

The coin resource of tokenX that the user will swap.

y_out_amount

u64

The expected amount of tokenY that user will receive.

Return Values

PositionTypeDescription

0

coin::Coin

The coin resource of tokenX that the user will swap.

1

coin::Coin

The coin resource of tokenY that user will receive.

Get Amount In

The amount required in order to the the output amount.

public fun get_amount_in<X, Y>(y_out_amount: u64): u64

Input Values

NameTypeDescription

y_out_amount

u64

The amount of tokenY that user will receive.

Return Values

Type

u64

The amount of tokenX required to get the amount of tokenY.

Last updated