Skip to content

Latest commit

 

History

History
299 lines (216 loc) · 9.61 KB

File metadata and controls

299 lines (216 loc) · 9.61 KB

Router v2

Contract info

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

Admin Multi Sig: b11ccaed0056a75472539c2b0d9511c82fc6a36622bec7578216af5fe550dd0d

View on Aptos Explorer

Types

Name Type Description
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

Name Type Descripton
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

Name Type Description
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

Name Type Description
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

Name Type Description
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

Name Type Description
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

Name Type Description
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

Name Type Description
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

Name Type Description
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,
) 
Name Type Description
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,
)
Name Type Description
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,
)
Name Type Description
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

Name Type Description
x_in coin::Coin The coin resource of tokenX that the user will swap.

Return Values

Type Description
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

Name Type Description
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

Position Type Description
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

Name Type Description
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.