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

API

pool

Module0xce6a…2530
Move path
0xce6a…2530::pool
Functions
5025 public, 0 entry
Structs
10
Friend modules
marketorders
pool

Declarations

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

module pool;
struct DecreasePositionResult<phantom T0> {
to_trader: Balance<T0>,
referral_rebate: Balance<T0>,
fee_rebate: Balance<T0>,
scard_rebate: Option<Balance<T0>>,
}
struct DecreasePositionSuccessEvent has copy, drop {
collateral_price: decimal::Decimal,
index_price: decimal::Decimal,
decrease_amount: u64,
decrease_fee_value: decimal::Decimal,
reserving_fee_value: decimal::Decimal,
funding_fee_value: sdecimal::SDecimal,
delta_realised_pnl: sdecimal::SDecimal,
closed: bool,
has_profit: bool,
settled_amount: u64,
referral_rebate_amount: u64,
fee_rebate_amount: u64,
scard_rebate_amount: Option<u64>,
}
struct DecreaseReservedFromPositionEvent has copy, drop {
decrease_amount: u64,
}
struct LiquidatePositionEvent has copy, drop {
liquidator: address,
collateral_price: decimal::Decimal,
index_price: decimal::Decimal,
position_size: decimal::Decimal,
reserving_fee_value: decimal::Decimal,
funding_fee_value: sdecimal::SDecimal,
delta_realised_pnl: sdecimal::SDecimal,
loss_amount: u64,
liquidator_bonus_amount: u64,
liquidation_amount: u64,
}
struct OpenPositionResult<phantom T0> {
position: position::Position<T0>,
referral_rebate: Balance<T0>,
fee_rebate: Balance<T0>,
scard_rebate: Option<Balance<T0>>,
}
struct OpenPositionSuccessEvent has copy, drop {
position_config: position::PositionConfig,
collateral_price: decimal::Decimal,
index_price: decimal::Decimal,
open_amount: u64,
open_fee_amount: u64,
reserve_amount: u64,
collateral_amount: u64,
referral_rebate_amount: u64,
fee_rebate_amount: u64,
scard_rebate_amount: Option<u64>,
}
struct PledgeInPositionEvent has copy, drop {
pledge_amount: u64,
}
struct RedeemFromPositionEvent has copy, drop {
collateral_price: decimal::Decimal,
index_price: decimal::Decimal,
redeem_amount: u64,
}
struct Symbol has store {
open_enabled: bool,
decrease_enabled: bool,
liquidate_enabled: bool,
supported_collaterals: VecSet<TypeName>,
funding_fee_model: ID,
last_update: u64,
opening_amount: u64,
opening_size: decimal::Decimal,
realised_pnl: sdecimal::SDecimal,
unrealised_funding_fee_value: sdecimal::SDecimal,
acc_funding_rate: srate::SRate,
}
struct Vault<phantom T0> has store {
enabled: bool,
reserving_fee_model: ID,
last_update: u64,
liquidity: Balance<T0>,
reserved_amount: u64,
unrealised_reserving_fee_amount: decimal::Decimal,
acc_reserving_rate: rate::Rate,
}
public(package) fun add_collateral_to_symbol<T0>(&mut Symbol)
public(package) fun decrease_reserved_from_position<T0>(&mut Vault<T0>,&mut position::Position<T0>,&model::ReservingFeeModel,u64,u64): DecreaseReservedFromPositionEvent
public(package) fun liquidate_position<T0>(&mut Vault<T0>,&mut Symbol,&mut position::Position<T0>,&model::ReservingFeeModel,&model::FundingFeeModel,&agg_price::AggPrice,&agg_price::AggPrice,bool,decimal::Decimal,u64,address): (Balance<T0>, LiquidatePositionEvent)
public(package) fun mut_symbol_price_config(&mut Symbol): &mut agg_price::AggPriceConfig
public(package) fun mut_vault_price_config<T0>(&mut Vault<T0>): &mut agg_price::AggPriceConfig
public(package) fun new_symbol(ID,agg_price::AggPriceConfig): Symbol
public(package) fun new_vault<T0>(u256,ID,agg_price::AggPriceConfig): Vault<T0>
public(package) fun pledge_in_position<T0>(&mut position::Position<T0>,Balance<T0>): PledgeInPositionEvent
public(package) fun redeem_from_position<T0>(&mut Vault<T0>,&mut Symbol,&mut position::Position<T0>,&model::ReservingFeeModel,&model::FundingFeeModel,&agg_price::AggPrice,&agg_price::AggPrice,bool,u64,decimal::Decimal,u64): (Balance<T0>, RedeemFromPositionEvent)
fun refresh_vault<T0>(&mut Vault<T0>,&model::ReservingFeeModel,u64)
public(package) fun remove_collateral_from_symbol<T0>(&mut Symbol)
public(package) fun set_symbol_status(&mut Symbol,bool,bool,bool)
public(package) fun set_vault_status<T0>(&mut Vault<T0>,bool)
public(package) fun set_vault_weight<T0>(&mut Vault<T0>,u256)
public fun symbol_acc_funding_rate(&Symbol,srate::SRate): srate::SRate
public fun symbol_decrease_enabled(&Symbol): bool
public fun symbol_delta_size(&Symbol,&agg_price::AggPrice,bool): sdecimal::SDecimal
public fun symbol_funding_fee_model(&Symbol): &ID
public fun symbol_liquidate_enabled(&Symbol): bool
public fun symbol_open_enabled(&Symbol): bool
public fun symbol_opening_amount(&Symbol): u64
public fun symbol_opening_size(&Symbol): decimal::Decimal
public fun symbol_price_config(&Symbol): &agg_price::AggPriceConfig
public fun symbol_supported_collaterals(&Symbol): &VecSet<TypeName>
public fun symbol_unrealised_funding_fee_value(&Symbol,srate::SRate): sdecimal::SDecimal
public(package) fun unwrap_decrease_position_result<T0>(DecreasePositionResult<T0>): (Balance<T0>, Balance<T0>, Balance<T0>, Option<Balance<T0>>, DecreasePositionSuccessEvent)
public(package) fun unwrap_open_position_result<T0>(OpenPositionResult<T0>): (position::Position<T0>, Balance<T0>, Balance<T0>, Option<Balance<T0>>, OpenPositionSuccessEvent)
public(package) fun valuate_symbol(&mut Symbol,&model::FundingFeeModel,&agg_price::AggPrice,bool,decimal::Decimal,u64): sdecimal::SDecimal
public(package) fun valuate_vault<T0>(&mut Vault<T0>,&model::ReservingFeeModel,&agg_price::AggPrice,u64): decimal::Decimal
public fun vault_acc_reserving_rate<T0>(&Vault<T0>,rate::Rate): rate::Rate
public fun vault_delta_reserving_rate<T0>(&Vault<T0>,&model::ReservingFeeModel,u64): rate::Rate
public fun vault_enabled<T0>(&Vault<T0>): bool
public fun vault_liquidity_amount<T0>(&Vault<T0>): u64
public fun vault_price_config<T0>(&Vault<T0>): &agg_price::AggPriceConfig
public fun vault_reserved_amount<T0>(&Vault<T0>): u64
public fun vault_reserving_fee_model<T0>(&Vault<T0>): &ID
public fun vault_supply_amount<T0>(&Vault<T0>): decimal::Decimal
public fun vault_unrealised_reserving_fee_amount<T0>(&Vault<T0>,rate::Rate): decimal::Decimal
public fun vault_utilization<T0>(&Vault<T0>): rate::Rate
public fun vault_weight<T0>(&Vault<T0>): decimal::Decimal