Package 0x93f6…7dfd
position
- Move path
- 0x7fd8…1fec::position
- Functions
- 3922 public, 0 entry
- Structs
- 6
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,
config: PositionConfig,
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(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_position_v1<T0>(&mut Position<T0>,&agg_price::AggPrice,&agg_price::AggPrice,decimal::Decimal,bool,u64,rate::Rate,srate::SRate,&PositionInstantExitFeeConfig,u64): DecreasePositionResultV1<T0>
public(package) fun decrease_reserved_from_position<T0>(&mut Position<T0>,u64,rate::Rate): Balance<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_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(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(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)