@storm-trade/dex-math v2.0.0-alpha.5
Storm Trade math SDK
Those methods are used to calculate different position and amm properties offchain based on current state.
Where to get values to plug in
AmmState, AmmSettings, FundingSettings you can get in https://api5.storm.tg/api/markets or https://api5.storm.tg/api/markets/{address}Position you can get in https://api5.storm.tg/api/positions/{wallet_address}/active
For full API reference see https://api5.storm.tg/api/api-docs
List of available methods
calculateFundingRate(settings: AmmSettings, amm: AmmState, fundingSettings: FundingSettings | null): BNcalculateQuoteAssetWeight(amm: AmmState, terminalPrice: BN): { quoteAssetWeight: BN }getAdjustedAmmState(amm: AmmState, terminalPrice: BN): AmmState
getCloseFee(positionNotional: Numeric, feeRate: Numeric, realizedRatio = 1): BNgetEntryPrice(position: Position): BNgetFee(params: GetFeeParams): BNgetFundingPremium(position: Position, amm: AmmState): BNgetIndexPrice(amm: AmmState): BNgetLeverage(position: Position, settlementOraclePrice: Numeric = 1): BNgetLiquidationPrice(position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetPriceByMarginRatioParams = {}): BNgetMarginRatio(position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetMarginRatioParams = {}): BNgetMarketPrice(amm: AmmState): BNgetMaximumLeverage(settings: AmmSettings): numbergetMinimumLeverage(settings: AmmSettings): numbergetPriceByProfitRate(profitRate: number, position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetPriceByMarginRatioParams = {}): BNgetPriceImpact(before: Numeric, after: Numeric): BNgetPriceSpread(amm: AmmState): NumericgetQuoteAssetWeight(amm: AmmState, terminalPrice: BN): BNgetQuoteAssetWeight(amm: AmmState, terminalPrice: BN): BNgetRemainMarginWithFundingPayment(position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetRemainMarginWithFundingPaymentParams = {}): RemainMarginOutputgetRolloverFee(position: Position, settings: AmmSettings, params: GetRolloverFeeParams = {}): BNswapInput(amm: AmmState, quoteAssetIn: Numeric, isShort: boolean): SwapInputResultswapOutput(amm: AmmState, baseAssetIn: Numeric): SwapOutputResult
All BN's are intergers with 9 decimal places
10 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
1 year ago
1 year ago
11 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago