Router v2
Contract name: pancake::router
Contract address: c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::router
Admin Multi Sig: b11ccaed0056a75472539c2b0d9511c82fc6a36622bec7578216af5fe550dd0d
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. |
Create the pool pair for swap.
public entry fun create_pair<X, Y>(sender: &signer)
Name | Type | Descripton |
---|---|---|
sender | signer | The sender's signer when calling the function. |
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,
)
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 from the pool.
public entry fun remove_liquidity<X, Y>(
sender: &signer,
liquidity: u64,
amount_x_min: u64,
amount_y_min: u64
)
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 amount of tokenX to tokenY.
public entry fun swap_exact_input<X, Y>(
sender: &signer,
x_in: u64,
y_min_out: u64,
)
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 tokenX to exact amount of tokenY.
public entry fun swap_exact_output<X, Y>(
sender: &signer,
y_out: u64,
x_max_in: u64,
)
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 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,
)
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 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,
)
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 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,
)
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 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 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 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. |
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>
Name | Type | Description |
---|---|---|
x_in | coin::Coin | The coin resource of tokenX that the user will swap. |
Type | Description |
---|---|
coin::Coin | The coin resource of tokenY that the user will receive. |
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>)
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. |
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. |
The amount required in order to the the output amount.
public fun get_amount_in<X, Y>(y_out_amount: u64): u64
Name | Type | Description |
---|---|---|
y_out_amount | u64 | The amount of tokenY that user will receive. |
Type | Text |
---|---|
u64 | The amount of tokenX required to get the amount of tokenY. |
Last modified 8mo ago