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

Move path
0x7fd8…1fec::position
Functions
3922 public, 0 entry
Structs
6
Friend modules
marketpool
position

Declarations

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

module position;
struct DecreasePositionResult<phantom T0> {
closed: bool,
has_profit: bool,
settled_amount: u64,
decreased_reserved_amount: u64,
decrease_size: decimal::Decimal,
reserving_fee_amount: decimal::Decimal,
decrease_fee_value: decimal::Decimal,
reserving_fee_value: decimal::Decimal,
funding_fee_value: sdecimal::SDecimal,
to_vault: Balance<T0>,
to_trader: Balance<T0>,
}
struct DecreasePositionResultV1<phantom T0> {
closed: bool,
has_profit: bool,
settled_amount: u64,
decreased_reserved_amount: u64,
decrease_size: decimal::Decimal,
reserving_fee_amount: decimal::Decimal,
decrease_fee_value: decimal::Decimal,
reserving_fee_value: decimal::Decimal,
funding_fee_value: sdecimal::SDecimal,
instant_exit_fee_value: decimal::Decimal,
instant_exit_fee_tier: u8,
to_vault: Balance<T0>,
to_trader: Balance<T0>,
}
struct OpenPositionResult<phantom T0> {
position: Position<T0>,
open_fee: Balance<T0>,
open_fee_amount: decimal::Decimal,
}
struct Position<phantom T0> has store {
closed: bool,
open_timestamp: u64,
position_amount: u64,
position_size: decimal::Decimal,
reserving_fee_amount: decimal::Decimal,
funding_fee_value: sdecimal::SDecimal,
last_reserving_rate: rate::Rate,
last_funding_rate: srate::SRate,
reserved: Balance<T0>,
collateral: Balance<T0>,
}
struct PositionConfig has copy, drop, store {
max_leverage: u64,
min_holding_duration: u64,
max_reserved_multiplier: u64,
min_collateral_value: decimal::Decimal,
min_order_fee_value: decimal::Decimal,
open_fee_bps: rate::Rate,
decrease_fee_bps: rate::Rate,
liquidation_threshold: rate::Rate,
liquidation_bonus: rate::Rate,
}
struct PositionInstantExitFeeConfig has copy, drop, store {
instant_exit_tier_1_duration_threshold: u64,
instant_exit_tier_1_fee_bps: rate::Rate,
instant_exit_tier_1_fee_enabled: bool,
instant_exit_tier_2_duration_threshold: u64,
instant_exit_tier_2_fee_bps: rate::Rate,
instant_exit_tier_2_fee_enabled: bool,
instant_exit_tier_3_duration_threshold: u64,
instant_exit_tier_3_fee_bps: rate::Rate,
instant_exit_tier_3_fee_enabled: bool,
}
fun calculate_instant_exit_fee(decimal::Decimal,u64,&PositionInstantExitFeeConfig): (decimal::Decimal, u8)
public fun check_holding_duration<T0>(&Position<T0>,&sdecimal::SDecimal,u64): bool
public fun check_leverage(&PositionConfig,decimal::Decimal,u64,&agg_price::AggPrice): bool
public fun check_liquidation(&PositionConfig,decimal::Decimal,&sdecimal::SDecimal): bool
public fun closed<T0>(&Position<T0>): bool
public fun collateral_amount<T0>(&Position<T0>): u64
public fun compute_delta_size<T0>(&Position<T0>,&agg_price::AggPrice,bool): sdecimal::SDecimal
public fun compute_funding_fee_value<T0>(&Position<T0>,srate::SRate): sdecimal::SDecimal
public fun compute_reserving_fee_amount<T0>(&Position<T0>,rate::Rate): decimal::Decimal
public fun config_decrease_fee_bps(&PositionConfig): rate::Rate
public fun config_liquidation_bonus(&PositionConfig): rate::Rate
public fun config_liquidation_threshold(&PositionConfig): rate::Rate
public fun config_max_leverage(&PositionConfig): u64
public fun config_max_reserved_multiplier(&PositionConfig): u64
public fun config_min_collateral_value(&PositionConfig): decimal::Decimal
public fun config_min_holding_duration(&PositionConfig): u64
public fun config_min_order_fee_value(&PositionConfig): decimal::Decimal
public fun config_open_fee_bps(&PositionConfig): rate::Rate
public(package) fun decrease_position<T0>(&mut Position<T0>,&agg_price::AggPrice,&agg_price::AggPrice,decimal::Decimal,bool,u64,rate::Rate,srate::SRate,u64): DecreasePositionResult<T0>
public(package) fun decrease_reserved_from_position<T0>(&mut Position<T0>,u64,rate::Rate): Balance<T0>
public(package) fun default_position_instant_exit_fee_config(): PositionInstantExitFeeConfig
public(package) fun destroy_position<T0>(Position<T0>)
public(package) fun force_settle<T0>(&admin::AdminCap,&mut Position<T0>,rate::Rate,srate::SRate): (Balance<T0>, u64, decimal::Decimal, sdecimal::SDecimal, Balance<T0>, u64, decimal::Decimal)
public(package) fun liquidate_position<T0>(&mut Position<T0>,&agg_price::AggPrice,&agg_price::AggPrice,bool,rate::Rate,srate::SRate): (u64, u64, u64, u64, decimal::Decimal, decimal::Decimal, decimal::Decimal, sdecimal::SDecimal, Balance<T0>, Balance<T0>)
public(package) fun new_position_config(u64,u64,u64,u256,u256,u128,u128,u128,u128): PositionConfig
public(package) fun new_position_instant_exit_fee_config(u64,rate::Rate,bool,u64,rate::Rate,bool,u64,rate::Rate,bool): PositionInstantExitFeeConfig
public(package) fun open_position<T0>(&PositionConfig,&agg_price::AggPrice,&agg_price::AggPrice,&mut Balance<T0>,&mut Balance<T0>,decimal::Decimal,u64,u64,rate::Rate,srate::SRate,u64): OpenPositionResult<T0>
public fun open_timestamp<T0>(&Position<T0>): u64
public(package) fun pledge_in_position<T0>(&mut Position<T0>,Balance<T0>)
public fun position_amount<T0>(&Position<T0>): u64
public fun position_config<T0>(&Position<T0>): &PositionConfig
public fun position_size<T0>(&Position<T0>): decimal::Decimal
public(package) fun redeem_from_position<T0>(&mut Position<T0>,&agg_price::AggPrice,&agg_price::AggPrice,bool,u64,rate::Rate,srate::SRate,u64): Balance<T0>
public fun reserved_amount<T0>(&Position<T0>): u64
public(package) fun set_position_instant_exit_fee_config(&mut PositionInstantExitFeeConfig,u64,bool,rate::Rate,u64,bool,rate::Rate,u64,bool,rate::Rate): PositionInstantExitFeeConfig
public(package) fun unwrap_decrease_position_result<T0>(DecreasePositionResult<T0>): (bool, bool, u64, u64, decimal::Decimal, decimal::Decimal, decimal::Decimal, decimal::Decimal, sdecimal::SDecimal, Balance<T0>, Balance<T0>)
public(package) fun unwrap_decrease_position_result_v1<T0>(DecreasePositionResultV1<T0>): (bool, bool, u64, u64, decimal::Decimal, decimal::Decimal, decimal::Decimal, decimal::Decimal, sdecimal::SDecimal, decimal::Decimal, u8, Balance<T0>, Balance<T0>)
public(package) fun unwrap_open_position_result<T0>(OpenPositionResult<T0>): (Position<T0>, Balance<T0>, decimal::Decimal)