2.0.0-alpha.5 • Published 3 months ago

@storm-trade/dex-math v2.0.0-alpha.5

Weekly downloads
-
License
-
Repository
-
Last release
3 months ago

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): BN
calculateQuoteAssetWeight(amm: AmmState, terminalPrice: BN): { quoteAssetWeight: BN }
getAdjustedAmmState(amm: AmmState, terminalPrice: BN): AmmState getCloseFee(positionNotional: Numeric, feeRate: Numeric, realizedRatio = 1): BN
getEntryPrice(position: Position): BN
getFee(params: GetFeeParams): BN
getFundingPremium(position: Position, amm: AmmState): BN
getIndexPrice(amm: AmmState): BN
getLeverage(position: Position, settlementOraclePrice: Numeric = 1): BN
getLiquidationPrice(position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetPriceByMarginRatioParams = {}): BN
getMarginRatio(position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetMarginRatioParams = {}): BN
getMarketPrice(amm: AmmState): BN
getMaximumLeverage(settings: AmmSettings): number
getMinimumLeverage(settings: AmmSettings): number
getPriceByProfitRate(profitRate: number, position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetPriceByMarginRatioParams = {}): BN
getPriceImpact(before: Numeric, after: Numeric): BN
getPriceSpread(amm: AmmState): Numeric
getQuoteAssetWeight(amm: AmmState, terminalPrice: BN): BN
getQuoteAssetWeight(amm: AmmState, terminalPrice: BN): BN
getRemainMarginWithFundingPayment(position: Position, amm: AmmState, settings: AmmSettings, settlementOraclePrice: Numeric = 1, params: GetRemainMarginWithFundingPaymentParams = {}): RemainMarginOutput
getRolloverFee(position: Position, settings: AmmSettings, params: GetRolloverFeeParams = {}): BN
swapInput(amm: AmmState, quoteAssetIn: Numeric, isShort: boolean): SwapInputResult
swapOutput(amm: AmmState, baseAssetIn: Numeric): SwapOutputResult

All BN's are intergers with 9 decimal places

1.3.1

4 months ago

1.3.0

4 months ago

2.0.0-alpha.5

3 months ago

2.0.0-alpha.3

4 months ago

2.0.0-alpha.4

4 months ago

2.0.0-alpha.0

4 months ago

2.0.0-alpha.1

4 months ago

2.0.0-alpha.2

4 months ago

1.2.0

5 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.1.9

5 months ago

1.1.8

6 months ago

1.1.7

6 months ago

1.1.6

6 months ago

1.0.7

8 months ago

1.1.5

6 months ago

1.1.4

6 months ago

1.1.3

6 months ago

1.1.2

6 months ago

1.1.10

5 months ago

1.1.0-alpha.2

7 months ago

1.1.0-alpha.0

7 months ago

1.1.0-alpha.5

6 months ago

1.1.0-alpha.3

6 months ago

1.1.0-alpha.4

6 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago