aftermath-ts-sdk 1.2.51 → 1.2.52-perps.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +62 -28
  2. package/dist/general/apiHelpers/eventsApiHelpers.d.ts +1 -1
  3. package/dist/general/apiHelpers/eventsApiHelpers.d.ts.map +1 -1
  4. package/dist/general/apiHelpers/eventsApiHelpers.js +4 -1
  5. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts +6 -0
  6. package/dist/general/apiHelpers/transactionsApiHelpers.d.ts.map +1 -1
  7. package/dist/general/apiHelpers/transactionsApiHelpers.js +46 -0
  8. package/dist/general/dynamicGas/dynamicGas.d.ts +34 -0
  9. package/dist/general/dynamicGas/dynamicGas.d.ts.map +1 -1
  10. package/dist/general/dynamicGas/dynamicGas.js +34 -0
  11. package/dist/general/dynamicGas/dynamicGasTypes.d.ts +25 -0
  12. package/dist/general/dynamicGas/dynamicGasTypes.d.ts.map +1 -1
  13. package/dist/general/prices/coinGeckoTypes.d.ts +2 -0
  14. package/dist/general/prices/coinGeckoTypes.d.ts.map +1 -1
  15. package/dist/general/prices/prices.d.ts +73 -0
  16. package/dist/general/prices/prices.d.ts.map +1 -1
  17. package/dist/general/prices/prices.js +73 -0
  18. package/dist/general/providers/aftermath.d.ts +107 -27
  19. package/dist/general/providers/aftermath.d.ts.map +1 -1
  20. package/dist/general/providers/aftermath.js +110 -30
  21. package/dist/general/providers/aftermathApi.d.ts +128 -10
  22. package/dist/general/providers/aftermathApi.d.ts.map +1 -1
  23. package/dist/general/providers/aftermathApi.js +133 -14
  24. package/dist/general/types/castingTypes.d.ts +15 -7
  25. package/dist/general/types/castingTypes.d.ts.map +1 -1
  26. package/dist/general/types/castingTypes.js +6 -0
  27. package/dist/general/types/configTypes.d.ts +14 -8
  28. package/dist/general/types/configTypes.d.ts.map +1 -1
  29. package/dist/general/types/generalTypes.d.ts +229 -7
  30. package/dist/general/types/generalTypes.d.ts.map +1 -1
  31. package/dist/general/types/moveErrorsInterface.d.ts +1 -1
  32. package/dist/general/types/moveErrorsInterface.d.ts.map +1 -1
  33. package/dist/general/types/suiTypes.d.ts +0 -16
  34. package/dist/general/types/suiTypes.d.ts.map +1 -1
  35. package/dist/general/types/suiTypes.js +3 -25
  36. package/dist/general/utils/caller.d.ts +6 -3
  37. package/dist/general/utils/caller.d.ts.map +1 -1
  38. package/dist/general/utils/caller.js +22 -4
  39. package/dist/general/utils/casting.d.ts +156 -5
  40. package/dist/general/utils/casting.d.ts.map +1 -1
  41. package/dist/general/utils/casting.js +159 -18
  42. package/dist/general/utils/fixedUtils.d.ts +89 -2
  43. package/dist/general/utils/fixedUtils.d.ts.map +1 -1
  44. package/dist/general/utils/fixedUtils.js +81 -4
  45. package/dist/general/utils/helpers.d.ts +327 -10
  46. package/dist/general/utils/helpers.d.ts.map +1 -1
  47. package/dist/general/utils/helpers.js +409 -91
  48. package/dist/general/utils/iFixedUtils.d.ts +64 -0
  49. package/dist/general/utils/iFixedUtils.d.ts.map +1 -1
  50. package/dist/general/utils/iFixedUtils.js +64 -0
  51. package/dist/general/wallet/wallet.d.ts +76 -1
  52. package/dist/general/wallet/wallet.d.ts.map +1 -1
  53. package/dist/general/wallet/wallet.js +75 -5
  54. package/dist/packages/auth/auth.d.ts +113 -4
  55. package/dist/packages/auth/auth.d.ts.map +1 -1
  56. package/dist/packages/auth/auth.js +190 -59
  57. package/dist/packages/auth/authTypes.d.ts +66 -0
  58. package/dist/packages/auth/authTypes.d.ts.map +1 -1
  59. package/dist/packages/coin/api/coinApi.d.ts.map +1 -1
  60. package/dist/packages/coin/api/coinApi.js +29 -20
  61. package/dist/packages/coin/coin.d.ts +256 -1
  62. package/dist/packages/coin/coin.d.ts.map +1 -1
  63. package/dist/packages/coin/coin.js +246 -15
  64. package/dist/packages/coin/coinTypes.d.ts +95 -0
  65. package/dist/packages/coin/coinTypes.d.ts.map +1 -1
  66. package/dist/packages/dca/api/dcaApi.d.ts +2 -0
  67. package/dist/packages/dca/api/dcaApi.d.ts.map +1 -1
  68. package/dist/packages/dca/api/dcaApi.js +6 -3
  69. package/dist/packages/dca/dca.d.ts +125 -35
  70. package/dist/packages/dca/dca.d.ts.map +1 -1
  71. package/dist/packages/dca/dca.js +135 -43
  72. package/dist/packages/dca/dcaTypes.d.ts +217 -42
  73. package/dist/packages/dca/dcaTypes.d.ts.map +1 -1
  74. package/dist/packages/farms/api/farmsApi.d.ts +725 -58
  75. package/dist/packages/farms/api/farmsApi.d.ts.map +1 -1
  76. package/dist/packages/farms/api/farmsApi.js +1149 -153
  77. package/dist/packages/farms/api/farmsApiCasting.d.ts +34 -18
  78. package/dist/packages/farms/api/farmsApiCasting.d.ts.map +1 -1
  79. package/dist/packages/farms/api/farmsApiCasting.js +218 -17
  80. package/dist/packages/farms/api/farmsApiCastingTypes.d.ts +117 -21
  81. package/dist/packages/farms/api/farmsApiCastingTypes.d.ts.map +1 -1
  82. package/dist/packages/farms/farms.d.ts +200 -12
  83. package/dist/packages/farms/farms.d.ts.map +1 -1
  84. package/dist/packages/farms/farms.js +204 -50
  85. package/dist/packages/farms/farmsStakedPosition.d.ts +143 -8
  86. package/dist/packages/farms/farmsStakedPosition.d.ts.map +1 -1
  87. package/dist/packages/farms/farmsStakedPosition.js +243 -137
  88. package/dist/packages/farms/farmsStakingPool.d.ts +171 -3
  89. package/dist/packages/farms/farmsStakingPool.d.ts.map +1 -1
  90. package/dist/packages/farms/farmsStakingPool.js +233 -73
  91. package/dist/packages/farms/farmsTypes.d.ts +310 -2
  92. package/dist/packages/farms/farmsTypes.d.ts.map +1 -1
  93. package/dist/packages/farms/farmsTypes.js +47 -0
  94. package/dist/packages/faucet/api/faucetApi.d.ts +9 -17
  95. package/dist/packages/faucet/api/faucetApi.d.ts.map +1 -1
  96. package/dist/packages/faucet/api/faucetApi.js +44 -49
  97. package/dist/packages/faucet/api/faucetApiCasting.d.ts.map +1 -1
  98. package/dist/packages/faucet/api/faucetApiCasting.js +8 -5
  99. package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts +1 -4
  100. package/dist/packages/faucet/api/faucetApiCastingTypes.d.ts.map +1 -1
  101. package/dist/packages/faucet/faucet.d.ts +1 -1
  102. package/dist/packages/faucet/faucet.d.ts.map +1 -1
  103. package/dist/packages/faucet/faucet.js +1 -1
  104. package/dist/packages/faucet/faucetTypes.d.ts +2 -3
  105. package/dist/packages/faucet/faucetTypes.d.ts.map +1 -1
  106. package/dist/packages/limitOrders/api/limitOrdersApi.d.ts +12 -0
  107. package/dist/packages/limitOrders/api/limitOrdersApi.d.ts.map +1 -0
  108. package/dist/packages/limitOrders/api/limitOrdersApi.js +25 -0
  109. package/dist/packages/limitOrders/index.d.ts +2 -0
  110. package/dist/packages/limitOrders/index.d.ts.map +1 -0
  111. package/dist/packages/limitOrders/index.js +17 -0
  112. package/dist/packages/limitOrders/limitOrders.d.ts +143 -0
  113. package/dist/packages/limitOrders/limitOrders.d.ts.map +1 -0
  114. package/dist/packages/limitOrders/limitOrders.js +190 -0
  115. package/dist/packages/limitOrders/limitOrdersTypes.d.ts +211 -0
  116. package/dist/packages/limitOrders/limitOrdersTypes.d.ts.map +1 -0
  117. package/dist/packages/multisig/multisig.d.ts +34 -5
  118. package/dist/packages/multisig/multisig.d.ts.map +1 -1
  119. package/dist/packages/multisig/multisig.js +33 -4
  120. package/dist/packages/multisig/multisigTypes.d.ts +17 -0
  121. package/dist/packages/multisig/multisigTypes.d.ts.map +1 -1
  122. package/dist/packages/nftAmm/nftAmm.d.ts +1 -1
  123. package/dist/packages/nftAmm/nftAmm.d.ts.map +1 -1
  124. package/dist/packages/perpetuals/api/perpetualsApi.d.ts +38 -23
  125. package/dist/packages/perpetuals/api/perpetualsApi.d.ts.map +1 -1
  126. package/dist/packages/perpetuals/api/perpetualsApi.js +740 -299
  127. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +10 -6
  128. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
  129. package/dist/packages/perpetuals/api/perpetualsApiCasting.js +112 -42
  130. package/dist/packages/perpetuals/perpetuals.d.ts +33 -4
  131. package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
  132. package/dist/packages/perpetuals/perpetuals.js +105 -18
  133. package/dist/packages/perpetuals/perpetualsAccount.d.ts +107 -33
  134. package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
  135. package/dist/packages/perpetuals/perpetualsAccount.js +569 -68
  136. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts +104 -25
  137. package/dist/packages/perpetuals/perpetualsCastingTypes.d.ts.map +1 -1
  138. package/dist/packages/perpetuals/perpetualsMarket.d.ts +31 -9
  139. package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
  140. package/dist/packages/perpetuals/perpetualsMarket.js +85 -77
  141. package/dist/packages/perpetuals/perpetualsTypes.d.ts +348 -380
  142. package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
  143. package/dist/packages/perpetuals/perpetualsTypes.js +43 -113
  144. package/dist/packages/pools/api/poolsApiCasting.d.ts.map +1 -1
  145. package/dist/packages/pools/api/poolsApiCasting.js +0 -1
  146. package/dist/packages/pools/pool.d.ts +333 -106
  147. package/dist/packages/pools/pool.d.ts.map +1 -1
  148. package/dist/packages/pools/pool.js +347 -119
  149. package/dist/packages/pools/pools.d.ts +307 -39
  150. package/dist/packages/pools/pools.d.ts.map +1 -1
  151. package/dist/packages/pools/pools.js +323 -54
  152. package/dist/packages/pools/poolsTypes.d.ts +267 -2
  153. package/dist/packages/pools/poolsTypes.d.ts.map +1 -1
  154. package/dist/packages/referralVault/referralVault.d.ts +38 -1
  155. package/dist/packages/referralVault/referralVault.d.ts.map +1 -1
  156. package/dist/packages/referralVault/referralVault.js +37 -0
  157. package/dist/packages/router/api/routerApi.d.ts +2 -2
  158. package/dist/packages/router/api/routerApi.d.ts.map +1 -1
  159. package/dist/packages/router/api/routerApi.js +19 -11
  160. package/dist/packages/router/router.d.ts +214 -18
  161. package/dist/packages/router/router.d.ts.map +1 -1
  162. package/dist/packages/router/router.js +216 -20
  163. package/dist/packages/router/routerTypes.d.ts +202 -17
  164. package/dist/packages/router/routerTypes.d.ts.map +1 -1
  165. package/dist/packages/staking/staking.d.ts +306 -45
  166. package/dist/packages/staking/staking.d.ts.map +1 -1
  167. package/dist/packages/staking/staking.js +313 -51
  168. package/dist/packages/staking/stakingTypes.d.ts +431 -6
  169. package/dist/packages/staking/stakingTypes.d.ts.map +1 -1
  170. package/dist/packages/staking/stakingTypes.js +19 -0
  171. package/dist/packages/sui/sui.d.ts +40 -1
  172. package/dist/packages/sui/sui.d.ts.map +1 -1
  173. package/dist/packages/sui/sui.js +39 -0
  174. package/dist/packages/suiFrens/stakedSuiFren.d.ts +1 -1
  175. package/dist/packages/suiFrens/stakedSuiFren.d.ts.map +1 -1
  176. package/dist/packages/suiFrens/suiFren.d.ts +1 -1
  177. package/dist/packages/suiFrens/suiFren.d.ts.map +1 -1
  178. package/dist/packages/suiFrens/suiFrens.d.ts +1 -1
  179. package/dist/packages/suiFrens/suiFrens.d.ts.map +1 -1
  180. package/dist/packages/userData/api/userDataApi.d.ts +6 -0
  181. package/dist/packages/userData/api/userDataApi.d.ts.map +1 -0
  182. package/dist/packages/userData/api/userDataApi.js +12 -0
  183. package/dist/packages/userData/index.d.ts +2 -0
  184. package/dist/packages/userData/index.d.ts.map +1 -0
  185. package/dist/packages/userData/index.js +17 -0
  186. package/dist/packages/userData/userData.d.ts +89 -0
  187. package/dist/packages/userData/userData.d.ts.map +1 -0
  188. package/dist/packages/userData/userData.js +119 -0
  189. package/dist/packages/userData/userDataTypes.d.ts +29 -0
  190. package/dist/packages/userData/userDataTypes.d.ts.map +1 -0
  191. package/dist/types.d.ts.map +1 -1
  192. package/dist/types.js +0 -1
  193. package/package.json +1 -1
  194. package/dist/general/historicalData/historicalData.d.ts +0 -15
  195. package/dist/general/historicalData/historicalData.d.ts.map +0 -1
  196. package/dist/general/historicalData/historicalData.js +0 -45
  197. package/dist/general/historicalData/historicalDataTypes.d.ts +0 -10
  198. package/dist/general/historicalData/historicalDataTypes.d.ts.map +0 -1
  199. package/dist/packages/dca/api/dcaApiCasting.d.ts +0 -11
  200. package/dist/packages/dca/api/dcaApiCasting.d.ts.map +0 -1
  201. package/dist/packages/dca/api/dcaApiCasting.js +0 -186
  202. package/dist/packages/dca/api/dcaApiCastingTypes.d.ts +0 -142
  203. package/dist/packages/dca/api/dcaApiCastingTypes.d.ts.map +0 -1
  204. package/dist/packages/oracle/api/oracleApi.d.ts +0 -13
  205. package/dist/packages/oracle/api/oracleApi.d.ts.map +0 -1
  206. package/dist/packages/oracle/api/oracleApi.js +0 -35
  207. package/dist/packages/oracle/oracle.d.ts +0 -15
  208. package/dist/packages/oracle/oracle.d.ts.map +0 -1
  209. package/dist/packages/oracle/oracle.js +0 -46
  210. package/dist/packages/oracle/oracleTypes.d.ts +0 -2
  211. package/dist/packages/oracle/oracleTypes.d.ts.map +0 -1
  212. package/dist/packages/oracle/oracleTypes.js +0 -2
  213. /package/dist/{general/historicalData/historicalDataTypes.js → packages/limitOrders/limitOrdersTypes.js} +0 -0
  214. /package/dist/packages/{dca/api/dcaApiCastingTypes.js → userData/userDataTypes.js} +0 -0
@@ -1,9 +1,8 @@
1
- import { PerpetualsAccountObject, PerpetualsPosition, DepositedCollateralEvent, WithdrewCollateralEvent, CreatedAccountEvent, CanceledOrderEvent, PostedOrderEvent, FilledTakerOrderEvent, FilledMakerOrderEvent, PerpetualsOrderInfo, SettledFundingEvent, UpdatedSpreadTwapEvent, UpdatedPremiumTwapEvent, LiquidatedEvent, PerpetualsMarketData, PostedOrderReceiptEvent, PerpetualsRawAccountCap, AllocatedCollateralEvent, DeallocatedCollateralEvent, PerpetualsMarketId } from "../perpetualsTypes";
1
+ import { PerpetualsAccountObject, PerpetualsPosition, DepositedCollateralEvent, WithdrewCollateralEvent, CreatedAccountEvent, CanceledOrderEvent, PostedOrderEvent, FilledTakerOrderEvent, FilledMakerOrdersEvent, PerpetualsOrderInfo, SettledFundingEvent, UpdatedSpreadTwapEvent, UpdatedPremiumTwapEvent, LiquidatedEvent, PerpetualsMarketData, PostedOrderReceiptEvent, AllocatedCollateralEvent, DeallocatedCollateralEvent, PerpetualsMarketId, UpdatedFundingEvent, UpdatedMarketVersionEvent, ReducedOrderEvent, CreatedStopOrderTicketEvent, DeletedStopOrderTicketEvent } from "../perpetualsTypes";
2
2
  import { CoinSymbol, CoinType } from "../../coin/coinTypes";
3
- import { CanceledOrderEventOnChain, CreatedAccountEventOnChain, DepositedCollateralEventOnChain, PostedOrderEventOnChain, WithdrewCollateralEventOnChain, FilledMakerOrderEventOnChain, FilledTakerOrderEventOnChain, LiquidatedEventOnChain, SettledFundingEventOnChain, UpdatedPremiumTwapEventOnChain, UpdatedSpreadTwapEventOnChain, PostedOrderReceiptEventOnChain, AllocatedCollateralEventOnChain, DeallocatedCollateralEventOnChain, PerpetualsAccountPositionsIndexerResponse, PerpetualsPositionIndexerResponse, PerpetualsMarketDataIndexerResponse } from "../perpetualsCastingTypes";
4
- import { ObjectDigest, ObjectVersion } from "../../../types";
3
+ import { CanceledOrderEventOnChain, CreatedAccountEventOnChain, DepositedCollateralEventOnChain, PostedOrderEventOnChain, WithdrewCollateralEventOnChain, FilledMakerOrdersEventOnChain, FilledTakerOrderEventOnChain, LiquidatedEventOnChain, SettledFundingEventOnChain, UpdatedPremiumTwapEventOnChain, UpdatedSpreadTwapEventOnChain, PostedOrderReceiptEventOnChain, AllocatedCollateralEventOnChain, DeallocatedCollateralEventOnChain, PerpetualsAccountPositionsIndexerResponse, PerpetualsPositionIndexerResponse, PerpetualsMarketDataIndexerResponse, UpdatedFundingEventOnChain, UpdatedMarketVersionEventOnChain, ReducedOrderEventOnChain, CreatedStopOrderTicketEventOnChain, DeletedStopOrderTicketEventOnChain } from "../perpetualsCastingTypes";
4
+ import { IFixedAsStringBytes } from "../../../types";
5
5
  export declare class PerpetualsApiCasting {
6
- static rawAccountCapFromRaw(data: any, collateralCoinType: CoinType, version: ObjectVersion, digest: ObjectDigest): PerpetualsRawAccountCap;
7
6
  static positionFromIndexerReponse: (inputs: {
8
7
  position: PerpetualsPositionIndexerResponse;
9
8
  collateralCoinType: CoinType;
@@ -11,11 +10,12 @@ export declare class PerpetualsApiCasting {
11
10
  leverage: number;
12
11
  }) => PerpetualsPosition;
13
12
  static accountObjectFromIndexerResponse: (response: PerpetualsAccountPositionsIndexerResponse, collateralCoinType: CoinType) => PerpetualsAccountObject;
14
- static marketDataFromIndexerResponse(data: PerpetualsMarketDataIndexerResponse, collateralCoinType: CoinType, baseAssetSymbol: CoinSymbol): PerpetualsMarketData;
13
+ static marketDataFromIndexerResponse(data: PerpetualsMarketDataIndexerResponse, collateralCoinType: CoinType, baseAssetSymbol: CoinSymbol, indexPrice: IFixedAsStringBytes, collateralPrice: IFixedAsStringBytes): PerpetualsMarketData;
15
14
  private static marketParamsFromIndexerResponse;
16
15
  private static marketStateFromIndexerResponse;
17
16
  static orderbookPriceFromBytes: (bytes: number[]) => number;
18
17
  static orderInfoFromRaw: (data: any) => PerpetualsOrderInfo;
18
+ static UpdatedMarketVersionEventFromOnChain: (eventOnChain: UpdatedMarketVersionEventOnChain) => UpdatedMarketVersionEvent;
19
19
  static withdrewCollateralEventFromOnChain: (eventOnChain: WithdrewCollateralEventOnChain) => WithdrewCollateralEvent;
20
20
  static depositedCollateralEventFromOnChain: (eventOnChain: DepositedCollateralEventOnChain) => DepositedCollateralEvent;
21
21
  static settledFundingEventFromOnChain: (eventOnChain: SettledFundingEventOnChain) => SettledFundingEvent;
@@ -25,10 +25,14 @@ export declare class PerpetualsApiCasting {
25
25
  static createdAccountEventFromOnChain: (eventOnChain: CreatedAccountEventOnChain) => CreatedAccountEvent;
26
26
  static canceledOrderEventFromOnChain: (eventOnChain: CanceledOrderEventOnChain) => CanceledOrderEvent;
27
27
  static postedOrderEventFromOnChain: (eventOnChain: PostedOrderEventOnChain) => PostedOrderEvent;
28
- static filledMakerOrderEventFromOnChain: (eventOnChain: FilledMakerOrderEventOnChain) => FilledMakerOrderEvent;
28
+ static filledMakerOrdersEventFromOnChain: (eventOnChain: FilledMakerOrdersEventOnChain) => FilledMakerOrdersEvent;
29
29
  static filledTakerOrderEventFromOnChain: (eventOnChain: FilledTakerOrderEventOnChain) => FilledTakerOrderEvent;
30
30
  static postedOrderReceiptEventFromOnChain: (eventOnChain: PostedOrderReceiptEventOnChain) => PostedOrderReceiptEvent;
31
+ static reducedOrderEventFromOnChain: (eventOnChain: ReducedOrderEventOnChain) => ReducedOrderEvent;
32
+ static createdStopOrderTicketEventFromOnChain: (eventOnChain: CreatedStopOrderTicketEventOnChain) => CreatedStopOrderTicketEvent;
33
+ static deletedStopOrderTicketEventFromOnChain: (eventOnChain: DeletedStopOrderTicketEventOnChain) => DeletedStopOrderTicketEvent;
31
34
  static updatedPremiumTwapEventFromOnChain: (eventOnChain: UpdatedPremiumTwapEventOnChain) => UpdatedPremiumTwapEvent;
32
35
  static updatedSpreadTwapEventFromOnChain: (eventOnChain: UpdatedSpreadTwapEventOnChain) => UpdatedSpreadTwapEvent;
36
+ static updatedFundingEventFromOnChain: (eventOnChain: UpdatedFundingEventOnChain) => UpdatedFundingEvent;
33
37
  }
34
38
  //# sourceMappingURL=perpetualsApiCasting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualsApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/perpetuals/api/perpetualsApiCasting.ts"],"names":[],"mappings":"AACA,OAAO,EAMN,uBAAuB,EACvB,kBAAkB,EAGlB,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEhB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EAGjC,yCAAyC,EACzC,iCAAiC,EACjC,mCAAmC,EACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAkB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG7E,qBAAa,oBAAoB;WASlB,oBAAoB,CACjC,IAAI,EAAE,GAAG,EACT,kBAAkB,EAAE,QAAQ,EAC5B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,GAClB,uBAAuB;IA6B1B,OAAc,0BAA0B,WAAY;QACnD,QAAQ,EAAE,iCAAiC,CAAC;QAC5C,kBAAkB,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,QAAQ,EAAE,MAAM,CAAC;KACjB,KAAG,kBAAkB,CAmDpB;IAEF,OAAc,gCAAgC,4EAEzB,QAAQ,KAC1B,uBAAuB,CAmBxB;WAMY,6BAA6B,CAC1C,IAAI,EAAE,mCAAmC,EACzC,kBAAkB,EAAE,QAAQ,EAC5B,eAAe,EAAE,UAAU,GACzB,oBAAoB;IAevB,OAAO,CAAC,MAAM,CAAC,+BAA+B,CA0C5C;IAEF,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAwB3C;IAMF,OAAc,uBAAuB,UAAW,MAAM,EAAE,KAAG,MAAM,CAK/D;IAEF,OAAc,gBAAgB,SAAU,GAAG,KAAG,mBAAmB,CAK/D;IAUF,OAAc,kCAAkC,oDAE7C,uBAAuB,CASxB;IAEF,OAAc,mCAAmC,qDAE9C,wBAAwB,CASzB;IAEF,OAAc,8BAA8B,gDAEzC,mBAAmB,CAYpB;IAEF,OAAc,mCAAmC,qDAE9C,wBAAwB,CAUzB;IAEF,OAAc,qCAAqC,uDAEhD,0BAA0B,CAU3B;IAMF,OAAc,0BAA0B,4CAErC,eAAe,CAgBhB;IAMF,OAAc,8BAA8B,gDAEzC,mBAAmB,CASpB;IAMF,OAAc,6BAA6B,+CAExC,kBAAkB,CAYnB;IAEF,OAAc,2BAA2B,6CAEtC,gBAAgB,CAgBjB;IAEF,OAAc,gCAAgC,kDAE3C,qBAAqB,CAkBtB;IAEF,OAAc,gCAAgC,kDAE3C,qBAAqB,CA+BtB;IAEF,OAAc,kCAAkC,oDAE7C,uBAAuB,CAYxB;IAMF,OAAc,kCAAkC,oDAE7C,uBAAuB,CAYxB;IAEF,OAAc,iCAAiC,mDAE5C,sBAAsB,CAYvB;CACF"}
1
+ {"version":3,"file":"perpetualsApiCasting.d.ts","sourceRoot":"","sources":["../../../../src/packages/perpetuals/api/perpetualsApiCasting.ts"],"names":[],"mappings":"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"}
@@ -9,38 +9,30 @@ const fixedUtils_1 = require("../../../general/utils/fixedUtils");
9
9
  const bcs_1 = require("@mysten/sui/bcs");
10
10
  // TODO: handle 0xs and leading 0s everywhere
11
11
  class PerpetualsApiCasting {
12
- // =========================================================================
13
- // Objects
14
- // =========================================================================
15
- // =========================================================================
16
- // Account
17
- // =========================================================================
18
- static rawAccountCapFromRaw(data, collateralCoinType, version, digest) {
19
- return {
20
- collateralCoinType,
21
- objectId: utils_1.Helpers.addLeadingZeroesToType(data.id),
22
- objectType: data.objectType,
23
- objectVersion: version,
24
- objectDigest: digest,
25
- accountId: BigInt(data.accountId),
26
- collateral: BigInt(data.collateral.value),
27
- };
28
- }
29
12
  // =========================================================================
30
13
  // Clearing House
31
14
  // =========================================================================
32
- static marketDataFromIndexerResponse(data, collateralCoinType, baseAssetSymbol) {
15
+ static marketDataFromIndexerResponse(data, collateralCoinType, baseAssetSymbol, indexPrice, collateralPrice) {
33
16
  return {
17
+ packageId: utils_1.Casting.addressFromStringBytes(data.pkg_id),
34
18
  objectId: utils_1.Casting.addressFromStringBytes(data.object.id.id),
35
19
  initialSharedVersion: Number(data.initial_shared_version),
36
20
  collateralCoinType,
37
21
  marketParams: this.marketParamsFromIndexerResponse(data.object.market_params, baseAssetSymbol),
38
22
  marketState: this.marketStateFromIndexerResponse(data.object.market_state),
23
+ indexPrice: utils_1.Casting.IFixed.numberFromIFixed(utils_1.Casting.IFixed.iFixedFromStringBytes(indexPrice)),
24
+ collateralPrice: utils_1.Casting.IFixed.numberFromIFixed(utils_1.Casting.IFixed.iFixedFromStringBytes(collateralPrice)),
39
25
  };
40
26
  }
41
27
  }
42
28
  exports.PerpetualsApiCasting = PerpetualsApiCasting;
43
29
  _a = PerpetualsApiCasting;
30
+ // =========================================================================
31
+ // Objects
32
+ // =========================================================================
33
+ // =========================================================================
34
+ // Account
35
+ // =========================================================================
44
36
  // public static partialPositionFromRaw = (
45
37
  // data: any
46
38
  // ): Omit<PerpetualsPosition, "collateralCoinType" | "marketId"> => {
@@ -120,18 +112,19 @@ PerpetualsApiCasting.marketParamsFromIndexerResponse = (data, baseAssetSymbol) =
120
112
  liquidationTolerance: BigInt(data.liquidation_tolerance),
121
113
  maxPendingOrders: BigInt(data.max_pending_orders),
122
114
  minOrderUsdValue: utils_1.Casting.IFixed.iFixedFromStringBytes(data.min_order_usd_value),
123
- oracleTolerance: BigInt(data.oracle_tolerance),
115
+ baseOracleTolerance: BigInt(data.base_oracle_tolerance),
116
+ collateralOracleTolerance: BigInt(data.collateral_oracle_tolerance),
124
117
  };
125
118
  };
126
119
  PerpetualsApiCasting.marketStateFromIndexerResponse = (data) => {
127
120
  return {
128
121
  cumFundingRateLong: utils_1.Casting.IFixed.iFixedFromStringBytes(data.cum_funding_rate_long),
129
122
  cumFundingRateShort: utils_1.Casting.IFixed.iFixedFromStringBytes(data.cum_funding_rate_short),
130
- fundingLastUpdMs: Number(data.funding_last_upd_ms),
123
+ fundingLastUpdateMs: Number(data.funding_last_upd_ms),
131
124
  premiumTwap: utils_1.Casting.IFixed.iFixedFromStringBytes(data.premium_twap),
132
- premiumTwapLastUpdMs: Number(data.premium_twap_last_upd_ms),
125
+ premiumTwapLastUpdateMs: Number(data.premium_twap_last_upd_ms),
133
126
  spreadTwap: utils_1.Casting.IFixed.iFixedFromStringBytes(data.spread_twap),
134
- spreadTwapLastUpdMs: Number(data.spread_twap_last_upd_ms),
127
+ spreadTwapLastUpdateMs: Number(data.spread_twap_last_upd_ms),
135
128
  openInterest: utils_1.Casting.IFixed.iFixedFromStringBytes(data.open_interest),
136
129
  feesAccrued: utils_1.Casting.IFixed.iFixedFromStringBytes(data.fees_accrued),
137
130
  };
@@ -153,6 +146,19 @@ PerpetualsApiCasting.orderInfoFromRaw = (data) => {
153
146
  // Events
154
147
  // =========================================================================
155
148
  // =========================================================================
149
+ // Updated Version
150
+ // =========================================================================
151
+ PerpetualsApiCasting.UpdatedMarketVersionEventFromOnChain = (eventOnChain) => {
152
+ const fields = eventOnChain.parsedJson;
153
+ return {
154
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
155
+ version: BigInt(fields.version),
156
+ timestamp: eventOnChain.timestampMs,
157
+ txnDigest: eventOnChain.id.txDigest,
158
+ type: eventOnChain.type,
159
+ };
160
+ };
161
+ // =========================================================================
156
162
  // Collateral
157
163
  // =========================================================================
158
164
  PerpetualsApiCasting.withdrewCollateralEventFromOnChain = (eventOnChain) => {
@@ -192,6 +198,7 @@ PerpetualsApiCasting.allocatedCollateralEventFromOnChain = (eventOnChain) => {
192
198
  const fields = eventOnChain.parsedJson;
193
199
  return {
194
200
  accountId: BigInt(fields.account_id),
201
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
195
202
  collateralDelta: BigInt(fields.collateral),
196
203
  positionCollateralAfter: BigInt(fields.position_collateral_after),
197
204
  timestamp: eventOnChain.timestampMs,
@@ -203,6 +210,7 @@ PerpetualsApiCasting.deallocatedCollateralEventFromOnChain = (eventOnChain) => {
203
210
  const fields = eventOnChain.parsedJson;
204
211
  return {
205
212
  accountId: BigInt(fields.account_id),
213
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
206
214
  collateralDelta: BigInt(fields.collateral),
207
215
  positionCollateralAfter: BigInt(fields.position_collateral_after),
208
216
  timestamp: eventOnChain.timestampMs,
@@ -217,11 +225,18 @@ PerpetualsApiCasting.liquidatedEventFromOnChain = (eventOnChain) => {
217
225
  const fields = eventOnChain.parsedJson;
218
226
  return {
219
227
  accountId: BigInt(fields.liqee_account_id),
220
- collateralDeltaUsd: BigInt(fields.liqee_collateral_change_usd),
228
+ collateralDeltaUsd: utils_1.Casting.IFixed.iFixedFromNumber(utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.liqee_pnl)) -
229
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.liquidation_fees)) -
230
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.force_cancel_fees)) -
231
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.insurance_fund_fees))),
221
232
  liqorAccountId: BigInt(fields.liqor_account_id),
222
233
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
223
- markPrice: BigInt(fields.mark_price),
224
- size: BigInt(fields.size_liquidated),
234
+ baseLiquidated: BigInt(fields.base_liquidated),
235
+ quoteLiquidated: BigInt(fields.quote_liquidated),
236
+ liqeePnlUsd: BigInt(fields.liqee_pnl),
237
+ liquidationFeesUsd: BigInt(fields.liquidation_fees),
238
+ forceCancelFeesUsd: BigInt(fields.force_cancel_fees),
239
+ insuranceFundFeesUsd: BigInt(fields.insurance_fund_fees),
225
240
  side: fields.is_liqee_long
226
241
  ? perpetualsTypes_1.PerpetualsOrderSide.Bid
227
242
  : perpetualsTypes_1.PerpetualsOrderSide.Ask,
@@ -275,20 +290,22 @@ PerpetualsApiCasting.postedOrderEventFromOnChain = (eventOnChain) => {
275
290
  type: eventOnChain.type,
276
291
  };
277
292
  };
278
- PerpetualsApiCasting.filledMakerOrderEventFromOnChain = (eventOnChain) => {
279
- const fields = eventOnChain.parsedJson;
293
+ PerpetualsApiCasting.filledMakerOrdersEventFromOnChain = (eventOnChain) => {
280
294
  return {
281
- baseAssetAmount: BigInt(fields.maker_base_amount),
282
- accountId: BigInt(fields.maker_account_id),
283
- collateralDeltaUsd: BigInt(fields.collateral_change_usd),
284
- marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
285
- orderId: BigInt(fields.order_id),
286
- side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
287
- size: BigInt(fields.maker_size),
288
- dropped: BigInt(fields.maker_final_size) === BigInt(0),
289
- quoteAssetNotionalAmount: BigInt(fields.maker_quote_amount),
290
- asksQuantity: BigInt(fields.maker_pending_asks_quantity),
291
- bidsQuantity: BigInt(fields.maker_pending_bids_quantity),
295
+ events: eventOnChain.parsedJson.events.map((fields) => ({
296
+ accountId: BigInt(fields.maker_account_id),
297
+ takerAccountId: BigInt(fields.taker_account_id),
298
+ collateralDeltaUsd: utils_1.Casting.IFixed.iFixedFromNumber(utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.pnl)) -
299
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.fees))),
300
+ pnlUsd: BigInt(fields.pnl),
301
+ feesUsd: BigInt(fields.fees),
302
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
303
+ orderId: BigInt(fields.order_id),
304
+ side: __1.Perpetuals.orderIdToSide(BigInt(fields.order_id)),
305
+ size: BigInt(fields.filled_size),
306
+ dropped: BigInt(fields.remaining_size) === BigInt(0),
307
+ sizeRemaining: BigInt(fields.remaining_size),
308
+ })),
292
309
  timestamp: eventOnChain.timestampMs,
293
310
  txnDigest: eventOnChain.id.txDigest,
294
311
  type: eventOnChain.type,
@@ -301,14 +318,14 @@ PerpetualsApiCasting.filledTakerOrderEventFromOnChain = (eventOnChain) => {
301
318
  return {
302
319
  baseAssetDelta,
303
320
  accountId: BigInt(fields.taker_account_id),
304
- collateralDeltaUsd: BigInt(fields.collateral_change_usd),
321
+ collateralDeltaUsd: utils_1.Casting.IFixed.iFixedFromNumber(utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.taker_pnl)) -
322
+ utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.taker_fees))),
323
+ takerPnlUsd: BigInt(fields.taker_pnl),
324
+ takerFeesUsd: BigInt(fields.taker_fees),
305
325
  marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
306
- baseAssetAmount: BigInt(fields.taker_base_amount),
307
- quoteAssetNotionalAmount: BigInt(fields.taker_quote_amount),
308
326
  side: __1.Perpetuals.positionSide({ baseAssetAmount: baseAssetDelta }),
309
327
  quoteAssetDelta: utils_1.Casting.IFixed.iFixedFromNumber(utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_asset_delta_bid)) -
310
328
  utils_1.Casting.IFixed.numberFromIFixed(BigInt(fields.quote_asset_delta_ask))),
311
- liquidatedVolume: BigInt(fields.liquidated_volume),
312
329
  timestamp: eventOnChain.timestampMs,
313
330
  txnDigest: eventOnChain.id.txDigest,
314
331
  type: eventOnChain.type,
@@ -327,6 +344,44 @@ PerpetualsApiCasting.postedOrderReceiptEventFromOnChain = (eventOnChain) => {
327
344
  type: eventOnChain.type,
328
345
  };
329
346
  };
347
+ PerpetualsApiCasting.reducedOrderEventFromOnChain = (eventOnChain) => {
348
+ const fields = eventOnChain.parsedJson;
349
+ return {
350
+ accountId: BigInt(fields.account_id),
351
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
352
+ sizeChange: BigInt(fields.size_change),
353
+ orderId: BigInt(fields.order_id),
354
+ timestamp: eventOnChain.timestampMs,
355
+ txnDigest: eventOnChain.id.txDigest,
356
+ type: eventOnChain.type,
357
+ };
358
+ };
359
+ // =========================================================================
360
+ // Stop Orders
361
+ // =========================================================================
362
+ PerpetualsApiCasting.createdStopOrderTicketEventFromOnChain = (eventOnChain) => {
363
+ const fields = eventOnChain.parsedJson;
364
+ return {
365
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(fields.ticket_id),
366
+ accountId: BigInt(fields.account_id),
367
+ recipient: utils_1.Helpers.addLeadingZeroesToType(fields.recipient),
368
+ encryptedDetails: fields.encrypted_details,
369
+ timestamp: eventOnChain.timestampMs,
370
+ txnDigest: eventOnChain.id.txDigest,
371
+ type: eventOnChain.type,
372
+ };
373
+ };
374
+ PerpetualsApiCasting.deletedStopOrderTicketEventFromOnChain = (eventOnChain) => {
375
+ const fields = eventOnChain.parsedJson;
376
+ return {
377
+ ticketId: utils_1.Helpers.addLeadingZeroesToType(fields.ticket_id),
378
+ accountId: BigInt(fields.account_id),
379
+ executed: fields.executed,
380
+ timestamp: eventOnChain.timestampMs,
381
+ txnDigest: eventOnChain.id.txDigest,
382
+ type: eventOnChain.type,
383
+ };
384
+ };
330
385
  // =========================================================================
331
386
  // Twap
332
387
  // =========================================================================
@@ -356,3 +411,18 @@ PerpetualsApiCasting.updatedSpreadTwapEventFromOnChain = (eventOnChain) => {
356
411
  type: eventOnChain.type,
357
412
  };
358
413
  };
414
+ // =========================================================================
415
+ // Funding
416
+ // =========================================================================
417
+ PerpetualsApiCasting.updatedFundingEventFromOnChain = (eventOnChain) => {
418
+ const fields = eventOnChain.parsedJson;
419
+ return {
420
+ marketId: utils_1.Helpers.addLeadingZeroesToType(fields.ch_id),
421
+ cumFundingRateLong: BigInt(fields.cum_funding_rate_long),
422
+ cumFundingRateShort: BigInt(fields.cum_funding_rate_short),
423
+ fundingLastUpdateMs: Number(fields.funding_last_upd_ms),
424
+ timestamp: eventOnChain.timestampMs,
425
+ txnDigest: eventOnChain.id.txDigest,
426
+ type: eventOnChain.type,
427
+ };
428
+ };
@@ -1,11 +1,16 @@
1
1
  import { Caller } from "../../general/utils/caller";
2
- import { ApiPerpetualsCreateAccountBody, PerpetualsMarketId, ApiPerpetualsAccountsBody, PerpetualsOrderSide, CoinType, PerpetualsOrderId, FilledTakerOrderEvent, PerpetualsOrderPrice, Timestamp, ApiPerpetualsHistoricalMarketDataResponse, PerpetualsAccountCap, IFixed, CallerConfig } from "../../types";
2
+ import { ApiPerpetualsCreateAccountBody, PerpetualsMarketId, ApiPerpetualsOwnedAccountCapsBody, PerpetualsOrderSide, CoinType, PerpetualsOrderId, FilledTakerOrderEvent, PerpetualsOrderPrice, Timestamp, ApiPerpetualsHistoricalMarketDataResponse, PerpetualsAccountCap, PerpetualsAccountId, PerpetualsAccountObject, IFixed, CallerConfig, ObjectId, ApiPerpetualsMarkets24hrStatsResponse, ApiPerpetualsAccountCapsBody } from "../../types";
3
3
  import { PerpetualsMarket } from "./perpetualsMarket";
4
4
  import { PerpetualsAccount } from "./perpetualsAccount";
5
5
  import { PerpetualsOrderUtils } from "./utils";
6
+ import { AftermathApi } from "../../general/providers";
6
7
  export declare class Perpetuals extends Caller {
8
+ readonly Provider?: AftermathApi | undefined;
7
9
  static readonly OrderUtils: typeof PerpetualsOrderUtils;
8
- constructor(config?: CallerConfig);
10
+ static readonly constants: {
11
+ stopOrderGasCostSUI: bigint;
12
+ };
13
+ constructor(config?: CallerConfig, Provider?: AftermathApi | undefined);
9
14
  getAllMarkets(inputs: {
10
15
  collateralCoinType: CoinType;
11
16
  }): Promise<PerpetualsMarket[]>;
@@ -19,17 +24,36 @@ export declare class Perpetuals extends Caller {
19
24
  }): Promise<PerpetualsMarket[]>;
20
25
  getAccount(inputs: {
21
26
  accountCap: PerpetualsAccountCap;
27
+ marketIds?: PerpetualsMarketId[];
22
28
  }): Promise<PerpetualsAccount>;
23
- getUserAccountCaps(inputs: ApiPerpetualsAccountsBody & {
29
+ getAccounts(inputs: {
30
+ accountCaps: PerpetualsAccountCap[];
31
+ marketIds?: PerpetualsMarketId[];
32
+ }): Promise<PerpetualsAccount[]>;
33
+ getAccountObjects(inputs: {
34
+ accountIds: PerpetualsAccountId[];
24
35
  collateralCoinType: CoinType;
36
+ marketIds?: PerpetualsMarketId[];
37
+ }): Promise<PerpetualsAccountObject[]>;
38
+ getUserAccountCaps(inputs: ApiPerpetualsOwnedAccountCapsBody & {
39
+ collateralCoinTypes?: CoinType[];
25
40
  }): Promise<PerpetualsAccountCap[]>;
41
+ getAccountCaps(inputs: ApiPerpetualsAccountCapsBody): Promise<PerpetualsAccountCap[]>;
26
42
  getMarketHistoricalData(inputs: {
27
- collateralCoinType: CoinType;
28
43
  marketId: PerpetualsMarketId;
29
44
  fromTimestamp: Timestamp;
30
45
  toTimestamp: Timestamp;
31
46
  intervalMs: number;
32
47
  }): Promise<ApiPerpetualsHistoricalMarketDataResponse>;
48
+ getMarkets24hrStats(inputs: {
49
+ marketIds: PerpetualsMarketId[];
50
+ }): Promise<ApiPerpetualsMarkets24hrStatsResponse>;
51
+ getPrices(inputs: {
52
+ marketIds: ObjectId[];
53
+ }): Promise<{
54
+ basePrice: number;
55
+ collateralPrice: number;
56
+ }[]>;
33
57
  getCreateAccountTx(inputs: ApiPerpetualsCreateAccountBody): Promise<import("@mysten/sui/transactions").Transaction>;
34
58
  static positionSide(inputs: {
35
59
  baseAssetAmount: IFixed;
@@ -50,9 +74,14 @@ export declare class Perpetuals extends Caller {
50
74
  static lotOrTickSizeToNumber(lotOrTickSize: bigint): number;
51
75
  static lotOrTickSizeToBigInt(lotOrTickSize: number): bigint;
52
76
  static orderIdToSide: (orderId: PerpetualsOrderId) => PerpetualsOrderSide;
77
+ static eventTypeForCollateral: (inputs: {
78
+ eventType: string;
79
+ collateralCoinType: CoinType;
80
+ }) => string;
53
81
  static calcEntryPrice(inputs: {
54
82
  baseAssetAmount: IFixed;
55
83
  quoteAssetNotionalAmount: IFixed;
56
84
  }): number;
85
+ private useProvider;
57
86
  }
58
87
  //# sourceMappingURL=perpetuals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"perpetuals.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetuals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EACN,8BAA8B,EAM9B,kBAAkB,EAClB,yBAAyB,EAEzB,mBAAmB,EAEnB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EAET,yCAAyC,EACzC,oBAAoB,EAGpB,MAAM,EAEN,YAAY,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAAa,UAAW,SAAQ,MAAM;IAKrC,gBAAuB,UAAU,8BAAwB;gBAM7C,MAAM,CAAC,EAAE,YAAY;IAQpB,aAAa,CAAC,MAAM,EAAE;QAClC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAUlB,SAAS,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOhB,UAAU,CAAC,MAAM,EAAE;QAC/B,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAYlB,UAAU,CAAC,MAAM,EAAE;QAC/B,UAAU,EAAE,oBAAoB,CAAC;KACjC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQjB,kBAAkB,CAC9B,MAAM,EAAE,yBAAyB,GAAG;QACnC,kBAAkB,EAAE,QAAQ,CAAC;KAC7B,GACC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAc3B,uBAAuB,CAAC,MAAM,EAAE;QACtC,kBAAkB,EAAE,QAAQ,CAAC;QAC7B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,aAAa,EAAE,SAAS,CAAC;QACzB,WAAW,EAAE,SAAS,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACnB;IAiBY,kBAAkB,CAAC,MAAM,EAAE,8BAA8B;WAexD,YAAY,CAAC,MAAM,EAAE;QAClC,eAAe,EAAE,MAAM,CAAC;KACxB,GAAG,mBAAmB;WAQT,UAAU,CAAC,MAAM,EAAE;QAChC,UAAU,EAAE,qBAAqB,CAAC;KAClC,GAAG,MAAM;IAQV,OAAc,iBAAiB,WAAY;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,KAAG,oBAAoB,CAqBtB;IAEF,OAAc,iBAAiB,WAAY;QAC1C,UAAU,EAAE,oBAAoB,CAAC;QACjC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,KAAG,MAAM,CAgBR;WAEY,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;WAIpD,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAIlE,OAAc,aAAa,YACjB,iBAAiB,KACxB,mBAAmB,CAIpB;WAMY,cAAc,CAAC,MAAM,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;KACjC,GAAG,MAAM;CAWV"}
1
+ {"version":3,"file":"perpetuals.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetuals.ts"],"names":[],"mappings":"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"}
@@ -23,62 +23,143 @@ class Perpetuals extends caller_1.Caller {
23
23
  // =========================================================================
24
24
  // Constructor
25
25
  // =========================================================================
26
- constructor(config) {
26
+ constructor(config, Provider) {
27
27
  super(config, "perpetuals");
28
+ this.Provider = Provider;
29
+ // =========================================================================
30
+ // Private Helpers
31
+ // =========================================================================
32
+ this.useProvider = () => {
33
+ var _b;
34
+ const provider = (_b = this.Provider) === null || _b === void 0 ? void 0 : _b.Perpetuals();
35
+ if (!provider)
36
+ throw new Error("missing AftermathApi Provider");
37
+ return provider;
38
+ };
28
39
  }
29
40
  // =========================================================================
30
41
  // Class Objects
31
42
  // =========================================================================
32
43
  getAllMarkets(inputs) {
33
44
  return __awaiter(this, void 0, void 0, function* () {
34
- const { collateralCoinType } = inputs;
35
- const marketDatas = yield this.fetchApi(`${collateralCoinType}/markets`);
45
+ const marketDatas = yield this.fetchApi("all-markets", inputs);
36
46
  return marketDatas.map((marketData) => new perpetualsMarket_1.PerpetualsMarket(marketData, this.config));
37
47
  });
38
48
  }
39
49
  getMarket(inputs) {
40
50
  return __awaiter(this, void 0, void 0, function* () {
41
- const marketData = yield this.fetchApi(`${inputs.collateralCoinType}/markets/${inputs.marketId}`);
42
- return new perpetualsMarket_1.PerpetualsMarket(marketData, this.config);
51
+ const markets = yield this.getMarkets({
52
+ marketIds: [inputs.marketId],
53
+ collateralCoinType: inputs.collateralCoinType,
54
+ });
55
+ return markets[0];
43
56
  });
44
57
  }
45
58
  getMarkets(inputs) {
46
59
  return __awaiter(this, void 0, void 0, function* () {
47
- const { collateralCoinType } = inputs;
48
- return Promise.all(inputs.marketIds.map((marketId) => this.getMarket({
49
- marketId,
50
- collateralCoinType,
51
- })));
60
+ const marketDatas = yield this.fetchApi("markets", Object.assign(Object.assign({}, inputs), { withOrderbook: false }));
61
+ return marketDatas.map((marketData) =>
62
+ // TODO: make orderbook as input
63
+ new perpetualsMarket_1.PerpetualsMarket(marketData.market, this.config));
52
64
  });
53
65
  }
66
+ // TODO: merge this with `getAccountObjects` as an option ?
54
67
  getAccount(inputs) {
55
68
  return __awaiter(this, void 0, void 0, function* () {
56
- const { accountCap } = inputs;
57
- const account = yield this.fetchApi(`${accountCap.collateralCoinType}/accounts/${accountCap.accountId}`);
58
- return new perpetualsAccount_1.PerpetualsAccount(account, accountCap, this.config);
69
+ const { accountCap, marketIds,
70
+ // withLeverage
71
+ } = inputs;
72
+ return (yield this.getAccounts({
73
+ accountCaps: [accountCap],
74
+ marketIds,
75
+ // withLeverage,
76
+ }))[0];
77
+ });
78
+ }
79
+ // TODO: make account fetching get positions and account cap data all at once ?
80
+ getAccounts(inputs) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const { accountCaps, marketIds,
83
+ // withLeverage
84
+ } = inputs;
85
+ if (accountCaps.length <= 0)
86
+ return [];
87
+ // TODO: handle different collateral coin types
88
+ const accountObjects = yield this.getAccountObjects({
89
+ accountIds: accountCaps.map((accountCap) => accountCap.accountId),
90
+ collateralCoinType: accountCaps[0].collateralCoinType,
91
+ marketIds,
92
+ // withLeverage,
93
+ });
94
+ return accountObjects.map((account, index) => new perpetualsAccount_1.PerpetualsAccount(account, accountCaps[index], this.config, this.Provider));
95
+ });
96
+ }
97
+ // TODO: handle different collateral coin types ?
98
+ getAccountObjects(inputs) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const { accountIds, collateralCoinType, marketIds,
101
+ // withLeverage
102
+ } = inputs;
103
+ if (accountIds.length <= 0)
104
+ return [];
105
+ return this.fetchApi("accounts/positions", {
106
+ accountIds,
107
+ collateralCoinType,
108
+ marketIds,
109
+ // withLeverage: withLeverage ?? true,
110
+ withLeverage: true,
111
+ });
59
112
  });
60
113
  }
61
114
  getUserAccountCaps(inputs) {
62
115
  return __awaiter(this, void 0, void 0, function* () {
63
- const { collateralCoinType, walletAddress } = inputs;
64
- return this.fetchApi(`${collateralCoinType}/accounts`, {
116
+ const { walletAddress, collateralCoinTypes } = inputs;
117
+ return this.fetchApi("accounts/owned", {
65
118
  walletAddress,
119
+ collateralCoinTypes,
66
120
  });
67
121
  });
68
122
  }
123
+ getAccountCaps(inputs) {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ return this.fetchApi("accounts", inputs);
126
+ });
127
+ }
69
128
  // =========================================================================
70
129
  // Data
71
130
  // =========================================================================
72
131
  getMarketHistoricalData(inputs) {
73
- const { collateralCoinType, marketId, fromTimestamp, toTimestamp, intervalMs, } = inputs;
74
- return this.fetchApi(`${collateralCoinType}/markets/${marketId}/historical-data/${fromTimestamp}/${toTimestamp}/${intervalMs}`);
132
+ const { marketId, fromTimestamp, toTimestamp, intervalMs } = inputs;
133
+ return this.fetchApi("market/candle-history", {
134
+ marketId,
135
+ fromTimestamp,
136
+ toTimestamp,
137
+ intervalMs,
138
+ });
139
+ }
140
+ getMarkets24hrStats(inputs) {
141
+ return this.fetchApi("markets/24hr-stats", inputs);
142
+ }
143
+ // =========================================================================
144
+ // Prices
145
+ // =========================================================================
146
+ getPrices(inputs) {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ if (inputs.marketIds.length <= 0)
149
+ return [];
150
+ return this.fetchApi("markets/prices", inputs);
151
+ });
75
152
  }
76
153
  // =========================================================================
77
154
  // Transactions
78
155
  // =========================================================================
79
156
  getCreateAccountTx(inputs) {
80
157
  return __awaiter(this, void 0, void 0, function* () {
81
- return this.fetchApiTransaction("transactions/create-account", inputs);
158
+ // return this.fetchApiTransaction<ApiPerpetualsCreateAccountBody>(
159
+ // "transactions/create-account",
160
+ // inputs
161
+ // );
162
+ return this.useProvider().buildCreateAccountTx(inputs);
82
163
  });
83
164
  }
84
165
  // =========================================================================
@@ -122,6 +203,9 @@ _a = Perpetuals;
122
203
  // Constants
123
204
  // =========================================================================
124
205
  Perpetuals.OrderUtils = utils_2.PerpetualsOrderUtils;
206
+ Perpetuals.constants = {
207
+ stopOrderGasCostSUI: BigInt(150000000), // 0.15 SUI
208
+ };
125
209
  Perpetuals.priceToOrderPrice = (inputs) => {
126
210
  const { price, lotSize, tickSize } = inputs;
127
211
  const priceFixed = fixedUtils_1.FixedUtils.directUncast(price);
@@ -157,3 +241,6 @@ Perpetuals.orderIdToSide = (orderId) => {
157
241
  ? types_1.PerpetualsOrderSide.Ask
158
242
  : types_1.PerpetualsOrderSide.Bid;
159
243
  };
244
+ Perpetuals.eventTypeForCollateral = (inputs) => {
245
+ return `${inputs.eventType}<${inputs.collateralCoinType}>`;
246
+ };