Search by name, SuiNS, address, digest, object ID, coin type or checkpoint.

API

pool

Module0x319e…ac2a
Move path
0x361d…7ffc::pool
Functions
144107 public, 18 entry
Structs
20
Friend modules
None
pool

Declarations

Rebuilt from the module interface. No verified source is published, and function bodies are only available as bytecode.

module pool;
struct LSP<phantom T0, phantom T1> has drop {
dummy_field: bool,
}
struct LiquidityEvent<phantom T0, phantom T1> has copy, drop {
pool_index: u64,
is_added: bool,
x_amount: u64,
y_amount: u64,
lsp_amount: u64,
lsp_id: ID,
}
struct POOL has drop {
dummy_field: bool,
}
struct Pool<phantom T0, phantom T1> has key {
id: UID,
version: u64,
owner: address,
index: u64,
pool_type: u8,
lsp_supply: u64,
freeze: u8,
trade_epoch: u64,
boost_multiplier_data: vector<PoolBoostMultiplierData>,
balance: PoolBalanceInfo<T0, T1>,
total_trade: PoolTotalTradeInfo,
th_reward: PoolTokenHolderRewardInfo<T0, T1>,
}
struct PoolBalanceInfo<phantom T0, phantom T1> has store {
x: Balance<T0>,
y: Balance<T1>,
x_admin: Balance<T0>,
y_admin: Balance<T1>,
x_th: Balance<T0>,
y_th: Balance<T1>,
bx: u64,
by: u64,
}
struct PoolBoostMultiplierData has copy, drop, store {
epoch: u64,
boost_multiplier: u64,
}
struct PoolCreateEvent has copy, drop, store {
pool_id: ID,
}
struct PoolCreateInfo has copy, drop, store {
pool_id: ID,
reverse: bool,
}
struct PoolCreateInfoKey<phantom T0, phantom T1> has copy, drop, store {
dummy_field: bool,
}
struct PoolFeeInfo has store {
direction: u8,
admin: u64,
lp: u64,
th: u64,
withdraw: u64,
}
struct PoolLiquidityMiningInfo has store {
speed: u256,
last_epoch: u64,
}
struct PoolLsp<phantom T0, phantom T1> has key {
id: UID,
pool_id: ID,
value: u64,
pool_x: u64,
pool_y: u64,
pool_lsp: u64,
pool_mining_ampt: vpt::ValuePerToken,
start_epoch: u64,
end_epoch: u64,
boost_multiplier: u64,
}
struct PoolNoAdminSetupInfo has store {
allowance: bool,
fee_direction: u8,
admin_fee: u64,
lp_fee: u64,
th_fee: u64,
withdraw_fee: u64,
}
struct PoolRegistry has key {
id: UID,
version: u64,
pool_counter: u64,
pool_no_admin: PoolNoAdminSetupInfo,
pool_th_reward_nepoch: u64,
pool_boost_multiplier_data: vector<PoolBoostMultiplierData>,
}
struct PoolStableInfo has store {
amp: u64,
x_scale: u64,
y_scale: u64,
}
struct PoolTokenHolderRewardInfo<phantom T0, phantom T1> has store {
type: u8,
x: Balance<T0>,
y: Balance<T1>,
x_supply: u64,
y_supply: u64,
nepoch: u64,
start_epcoh: u64,
end_epoch: u64,
total_stake_amount: u64,
total_stake_boost: u128,
}
struct PoolTotalTradeInfo has store {
x: u128,
y: u128,
x_last_epoch: u128,
y_last_epoch: u128,
x_current_epoch: u128,
y_current_epoch: u128,
}
struct SnapshotEvent<phantom T0, phantom T1> has copy, drop, store {
pool_index: u64,
x: u64,
y: u64,
lsp: u64,
}
struct SwapCap has key {
id: UID,
registry_id: Option<ID>,
}
struct SwapTokenEvent<phantom T0, phantom T1> has copy, drop {
pool_index: u64,
x_to_y: bool,
in_amount: u64,
out_amount: u64,
}
fun abs_sub(u256, u256): u256
public entry fun add_liquidity<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,u64,u64,&Clock)
public entry fun add_liquidity_all<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,&Clock)
fun add_liquidity_direct_impl<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,u64,u64,bool,&Clock): PoolLsp<T0, T1>
public entry fun change_fee<T0, T1>(&SwapCap,&mut Pool<T0, T1>,u64,u64,u64)
public entry fun change_pool_mining_speed<T0, T1>(&SwapCap,&TOKEN::TokenCap,&mut Pool<T0, T1>,u64)
public entry fun claim_th_reward<T0, T1>(&TOKEN::TokenFarm,&mut TOKEN::StakedToken,&mut Pool<T0, T1>,&Clock)
fun claim_th_reward_impl<T0, T1>(&TOKEN::TokenFarm,&mut TOKEN::StakedToken,&mut Pool<T0, T1>,&Clock): u64
fun collect_admin_and_th_fee_x<T0, T1>(&mut Pool<T0, T1>,&mut Balance<T0>)
fun collect_admin_and_th_fee_y<T0, T1>(&mut Pool<T0, T1>,&mut Balance<T1>)
fun collect_fee<T0>(&mut Balance<T0>,u64): Balance<T0>
fun collect_withdraw_fee<T0, T1>(&mut Pool<T0, T1>,&mut Balance<T0>,&mut Balance<T1>)
fun compute_amount(u64,u64,u64): u64
fun compute_amount_stable(u64,u64,u64,u64,u64,u64): u64
fun compute_deposit(u64,u64,u64,u64,u64): u64
fun compute_deposit_allow_price_move(u64,u64,u64,u64,u64): u64
fun compute_deposit_stable(u64,u64,u64,u64,u64,u64,u64,u64): u64
fun compute_withdraw(u64,u64,u64,u64,u8): (u64, u64)
fun compute_withdraw_stable(u64,u64,u64,u64,u64,u64,u64): (u64, u64)
public entry fun create_pool<T0, T1>(&SwapCap,&mut PoolRegistry,&TOKEN::TokenFarm,u8,u8,u8,u64,u64,u64,u64,u64,u8,u8,u64,u64,u8,&Clock)
fun create_pool_impl<T0, T1>(&mut PoolRegistry,&TOKEN::TokenFarm,u8,u8,u8,u64,u64,u64,u64,u64,u8,u8,u64,u64,u8,&Clock)
public entry fun create_pool_no_admin<T0, T1>(&mut PoolRegistry,&TOKEN::TokenFarm,&Clock)
public entry fun create_registry(&mut SwapCap,u64,vector<u64>)
fun destroy_zero_lsp<T0, T1>(PoolLsp<T0, T1>)
public fun do_add_liquidity<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,u64,u64,&Clock)
public fun do_add_liquidity_admin<T0, T1>(&SwapCap,&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,u64,u64,&Clock)
public fun do_add_liquidity_direct<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,u64,u64,&Clock): PoolLsp<T0, T1>
public fun do_add_liquidity_direct_admin<T0, T1>(&SwapCap,&mut Pool<T0, T1>,vector<Coin<T0>>,vector<Coin<T1>>,u64,u64,u64,&Clock): PoolLsp<T0, T1>
public fun do_change_basis<T0, T1>(&SwapCap,&mut Pool<T0, T1>,u64,u64)
public fun do_change_fee<T0, T1>(&SwapCap,&mut Pool<T0, T1>,u64,u64,u64)
public fun do_change_owner<T0, T1>(&SwapCap,&mut Pool<T0, T1>,address)
public fun do_change_pool_mining_speed<T0, T1>(&SwapCap,&TOKEN::TokenCap,&mut Pool<T0, T1>,u64)
public fun do_claim_th_reward<T0, T1>(&TOKEN::TokenFarm,&mut TOKEN::StakedToken,&mut Pool<T0, T1>,&Clock)
public fun do_create_pool<T0, T1>(&SwapCap,&mut PoolRegistry,&TOKEN::TokenFarm,u8,u8,u8,u64,u64,u64,u64,u64,u8,u8,u64,u64,u8,&Clock)
public fun do_create_pool_no_admin<T0, T1>(&mut PoolRegistry,&TOKEN::TokenFarm,&Clock)
public fun do_create_registry(&mut SwapCap,u64,vector<u64>)
public fun do_redeem_admin_balance<T0, T1>(&SwapCap,&mut Pool<T0, T1>,u64,u64)
public fun do_remove_liquidity<T0, T1>(&mut Pool<T0, T1>,&mut TOKEN::TokenBank,PoolLsp<T0, T1>,u64,&Clock)
public fun do_remove_liquidity_force<T0, T1>(&mut Pool<T0, T1>,&mut TOKEN::TokenBank,PoolLsp<T0, T1>,vector<u8>,&Clock)
public fun do_remove_liquidity_s<T0, T1>(&SwapCap,&mut Pool<T0, T1>,&mut TOKEN::TokenBank,PoolLsp<T0, T1>,u64,u8,&Clock)
public fun do_set_pool_freeze<T0, T1>(&SwapCap,&mut Pool<T0, T1>,u8)
public fun do_swap_x_to_y<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,u64,u64,&Clock)
public fun do_swap_x_to_y_direct<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,u64,&Clock): (Coin<T0>, Coin<T1>)
public fun do_swap_y_to_x<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T1>>,u64,u64,&Clock)
public fun do_swap_y_to_x_direct<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T1>>,u64,&Clock): (Coin<T1>, Coin<T0>)
public fun do_update_th_reward<T0, T1>(&TOKEN::TokenFarm,&mut Pool<T0, T1>,&Clock)
public entry fun freeze_pool<T0, T1>(&SwapCap,&mut Pool<T0, T1>)
public fun get_admin_amounts<T0, T1>(&Pool<T0, T1>): (u64, u64)
public fun get_amounts<T0, T1>(&Pool<T0, T1>): (u64, u64, u64)
public fun get_k<T0, T1>(&Pool<T0, T1>): u256
public fun get_k2_per_lsp<T0, T1>(&Pool<T0, T1>): u256
fun get_th_reward_start_and_end_epoch(u64, u64): (u64, u64)
fun increase_lsp_supply<T0, T1>(&mut Pool<T0, T1>,u64,u64,u64,u64): PoolLsp<T0, T1>
fun init(POOL)
fun init_impl()
public fun pool_create_info_get_pool_id(&PoolCreateInfo): ID
public fun pool_get_balance_x_admin_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_balance_x_th_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_balance_x_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_balance_y_admin_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_balance_y_th_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_balance_y_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_boost_multiplier_data<T0, T1>(&Pool<T0, T1>, u64): PoolBoostMultiplierData
public fun pool_get_boost_multiplier_length<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_fee_admin<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_fee_direction<T0, T1>(&Pool<T0, T1>): u8
public fun pool_get_fee_lp<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_fee_th<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_fee_withdraw<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_freeze<T0, T1>(&Pool<T0, T1>): u8
public fun pool_get_id<T0, T1>(&Pool<T0, T1>): ID
public fun pool_get_index<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_lsp_supply<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_mining_ampt<T0, T1>(&Pool<T0, T1>): vpt::ValuePerToken
public fun pool_get_mining_has_permission<T0, T1>(&Pool<T0, T1>): bool
public fun pool_get_mining_last_epoch<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_mining_speed<T0, T1>(&Pool<T0, T1>): u256
public fun pool_get_owner<T0, T1>(&Pool<T0, T1>): address
public fun pool_get_pool_type<T0, T1>(&Pool<T0, T1>): u8
public fun pool_get_stable_amp<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_stable_x_scale<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_stable_y_scale<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_end_epoch<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_nepoch<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_start_epcoh<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_total_stake_amount<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_total_stake_boost<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_th_reward_type<T0, T1>(&Pool<T0, T1>): u8
public fun pool_get_th_reward_x_supply<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_x_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_y_supply<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_th_reward_y_value<T0, T1>(&Pool<T0, T1>): u64
public fun pool_get_total_trade_x<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_total_trade_x_current_epoch<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_total_trade_x_last_epoch<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_total_trade_y<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_total_trade_y_current_epoch<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_total_trade_y_last_epoch<T0, T1>(&Pool<T0, T1>): u128
public fun pool_get_trade_epoch<T0, T1>(&Pool<T0, T1>): u64
public fun pool_lsp_get_id<T0, T1>(&PoolLsp<T0, T1>): ID
public fun pool_lsp_get_pool_id<T0, T1>(&PoolLsp<T0, T1>): ID
public fun pool_lsp_get_pool_x<T0, T1>(&PoolLsp<T0, T1>): u64
public fun pool_lsp_get_pool_y<T0, T1>(&PoolLsp<T0, T1>): u64
public fun pool_lsp_get_value<T0, T1>(&PoolLsp<T0, T1>): u64
public fun pool_registry_get_id(&PoolRegistry): ID
public fun pool_registry_get_no_admin_pool_admin_fee(&PoolRegistry): u64
public fun pool_registry_get_no_admin_pool_allowance(&PoolRegistry): bool
public fun pool_registry_get_no_admin_pool_fee_direction(&PoolRegistry): u8
public fun pool_registry_get_no_admin_pool_lp_fee(&PoolRegistry): u64
public fun pool_registry_get_no_admin_pool_th_fee(&PoolRegistry): u64
public fun pool_registry_get_no_admin_pool_withdraw_fee(&PoolRegistry): u64
public fun pool_registry_get_pool_counter(&PoolRegistry): u64
public fun pool_registry_set_no_admin_pool_admin_fee(&SwapCap,&mut PoolRegistry,u64)
public fun pool_registry_set_no_admin_pool_allowance(&SwapCap,&mut PoolRegistry,bool)
public fun pool_registry_set_no_admin_pool_fee_direction(&SwapCap,&mut PoolRegistry,u8)
public fun pool_registry_set_no_admin_pool_lp_fee(&SwapCap,&mut PoolRegistry,u64)
public fun pool_registry_set_no_admin_pool_th_fee(&SwapCap,&mut PoolRegistry,u64)
public fun pool_registry_set_no_admin_pool_withdraw_fee(&SwapCap,&mut PoolRegistry,u64)
fun process_auto_buyback<T0, T1>(&mut Pool<T0, T1>)
public entry fun redeem_admin_balance<T0, T1>(&SwapCap,&mut Pool<T0, T1>,u64,u64)
public entry fun remove_liquidity<T0, T1>(&mut Pool<T0, T1>,&mut TOKEN::TokenBank,PoolLsp<T0, T1>,u64,&Clock)
public entry fun remove_liquidity_all<T0, T1>(&mut Pool<T0, T1>,&mut TOKEN::TokenBank,PoolLsp<T0, T1>,&Clock)
fun remove_liquidity_impl<T0, T1>(&mut Pool<T0, T1>,&mut TOKEN::TokenBank,PoolLsp<T0, T1>,u64,u8,bool,&Clock)
fun remove_lsp_supply<T0, T1>(&mut Pool<T0, T1>,PoolLsp<T0, T1>,u64): PoolLsp<T0, T1>
fun ss_check_lsp_value_increase(u256,u256,u256,u256): bool
fun ss_compute_d(u256,u256,u256): u256
fun ss_compute_mint_amount_for_deposit(u256,u256,u256,u256,u256,u256): u256
fun ss_compute_next_d(u256,u256,u256,u256): u256
fun ss_compute_withdraw(u256,u256,u256,u256,u256): (u256, u256)
fun ss_compute_withdraw_one(u256,u256,u256,u256,u256): u256
fun ss_compute_y(u256,u256,u256): u256
fun ss_swap_to(u256,u256,u256,u256): u256
fun ss_swap_to_internal(u256,u256,u256,u256): (u256, u256)
fun ss_validate_lsp_value_increase(u256,u256,u256,u256)
public entry fun swap_x_to_y<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,u64,u64,&Clock)
public entry fun swap_x_to_y_all<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T0>>,u64,&Clock)
fun swap_x_to_y_direct_no_fee_impl<T0, T1>(&mut Pool<T0, T1>,Balance<T0>): Balance<T1>
public entry fun swap_y_to_x<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T1>>,u64,u64,&Clock)
public entry fun swap_y_to_x_all<T0, T1>(&mut Pool<T0, T1>,vector<Coin<T1>>,u64,&Clock)
fun swap_y_to_x_direct_no_fee_impl<T0, T1>(&mut Pool<T0, T1>,Balance<T1>): Balance<T0>
public entry fun unfreeze_pool<T0, T1>(&SwapCap,&mut Pool<T0, T1>)
fun update_pool_mining<T0, T1>(&mut Pool<T0, T1>,&Clock)
public entry fun update_th_reward<T0, T1>(&TOKEN::TokenFarm,&mut Pool<T0, T1>,&Clock)
fun update_th_reward_impl<T0, T1>(&TOKEN::TokenFarm,&mut Pool<T0, T1>,u64)