Contract name: pancake::swap
Contract address: c7efb4076dbe143cbcd98cfaaa929ecfc8f299203dfff63b95ccb6bfe19850fa::swap
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. |
The liquidity token corresponds to each pool XY.
struct LPToken<phantom X, phantom Y> has key {}
The metadata of pool XY.
struct TokenPairMetadata<phantom X, phantom Y> has key {
creator: address,
fee_amount: coin::Coin<LPToken<X, Y>>,
k_last: u128,
balance_x: coin::Coin<X>,
balance_y: coin::Coin<Y>,
mint_cap: coin::MintCapability<LPToken<X, Y>>,
burn_cap: coin::BurnCapability<LPToken<X, Y>>,
freeze_cap: coin::FreezeCapability<LPToken<X, Y>>,
}
Name | Type | Description |
---|---|---|
creator | address | The creator address of pool. |
fee_amount | coin::Coin | The total LP token collected from all the swaps in the pool. |
k_last | u128 | The multiply of reserve_x and reserve_y in the pool from the last swap. |
balance_x | coin::Coin | The total amount of token X in the pool. |
balance_y | coin::Coin | The total amount of token Y in the pool. |
mint_cap | coin::MintCapability | The mint capability created when the LP is created. |
burn_cap | coin::BurnCapability | The burn capability created when the LP is created. |
freeze_cap | coin::FreezeCapability | The freeze capability created when the LP is created. |
The tokens reserves of pool XY.
struct TokenPairReserve<phantom X, phantom Y> has key {
reserve_x: u64,
reserve_y: u64,
block_timestamp_last: u64
}
Name | Type | Description |
---|---|---|
reserve_x | u64 |
The total amount of token X in the pool. |
reserve_y | u64 |
The total amount of token Y in the pool. |
block_timstamp_last | u64 |
The timestamp when reserves get updated. |
The metadata of the module
struct SwapInfo has key {
signer_cap: account::SignerCapability,
fee_to: address,
admin: address,
pair_created: event::EventHandle<PairCreatedEvent>
}
Name | Type | Description |
---|---|---|
signer_cap | account::SignerCapabilty | The signer capability created when the module is deployed. |
fee_to | address | The address that the fee will be sent to. |
admin | address | The admin address of the module |
pair_created | event::EventHandle | The event emit when the pool is created. |
Register the LP token to the account.
public fun register_lp<X, Y>(sender: &signer)
Name | Type | Description |
---|---|---|
sender | signer |
The sender's signer when calling the function. |
Check if the pool XY is created or not.
public fun is_pair_created<X, Y>(): bool
Type | Description |
---|---|
bool | Whether the pool is created or not. |
Check LP balance of user.
public fun lp_balance<X, Y>(addr: address): u64
Name | Type | Description |
---|---|---|
addr | address |
The user address. |
Type | Description |
---|---|
u128 |
The amount of LP user own. |
The total amount of LP exist created from pool XY.
public fun total_lp_supply<X, Y>(): u128
Type | Description |
---|---|
u128 |
The total supply of LP tokens. |
The token reserves of the pool XY.
public fun token_reserves<X, Y>(): (u64, u64, u64)
Position | Type | Description |
---|---|---|
0 | u64 |
The total amount of token X in the pool. |
1 | u64 |
The total amount of token Y in the pool. |
2 | u64 |
The timestamp when reserves get updated. |
The token balance of the pool XY.
public fun token_balances<X, Y>(): (u64, u64)
Position | Type | |
---|---|---|
0 | u64 |
The total amount of token X in the pool. |
1 | u64 |
The total amount of token Y in the pool. |