@velocity-exchange/sdk 0.3.0 → 0.6.0

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 (1127) hide show
  1. package/README.md +3 -3
  2. package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +18 -0
  3. package/lib/browser/accounts/basicUserAccountSubscriber.js +18 -0
  4. package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
  5. package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +18 -0
  6. package/lib/browser/accounts/bulkAccountLoader.d.ts +52 -0
  7. package/lib/browser/accounts/bulkAccountLoader.js +51 -0
  8. package/lib/browser/accounts/bulkUserStatsSubscription.d.ts +9 -2
  9. package/lib/browser/accounts/bulkUserStatsSubscription.js +9 -2
  10. package/lib/browser/accounts/bulkUserSubscription.d.ts +8 -2
  11. package/lib/browser/accounts/bulkUserSubscription.js +8 -2
  12. package/lib/browser/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
  13. package/lib/browser/accounts/customizedCadenceBulkAccountLoader.js +37 -0
  14. package/lib/browser/accounts/fetch.d.ts +59 -2
  15. package/lib/browser/accounts/fetch.js +57 -2
  16. package/lib/browser/accounts/grpcAccountSubscriber.d.ts +30 -0
  17. package/lib/browser/accounts/grpcAccountSubscriber.js +30 -0
  18. package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
  19. package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
  20. package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
  21. package/lib/browser/accounts/grpcMultiAccountSubscriber.js +118 -37
  22. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
  23. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +40 -12
  24. package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
  25. package/lib/browser/accounts/grpcProgramAccountSubscriber.js +33 -0
  26. package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +15 -0
  27. package/lib/browser/accounts/grpcUserAccountSubscriber.js +15 -0
  28. package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
  29. package/lib/browser/accounts/grpcUserStatsAccountSubscriber.js +15 -0
  30. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
  31. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
  32. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
  33. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
  34. package/lib/browser/accounts/laserProgramAccountSubscriber.d.ts +34 -0
  35. package/lib/browser/accounts/laserProgramAccountSubscriber.js +34 -0
  36. package/lib/browser/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
  37. package/lib/browser/accounts/oneShotUserAccountSubscriber.js +19 -0
  38. package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
  39. package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
  40. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
  41. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
  42. package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
  43. package/lib/browser/accounts/pollingOracleAccountSubscriber.js +21 -2
  44. package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
  45. package/lib/browser/accounts/pollingTokenAccountSubscriber.js +22 -0
  46. package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +32 -0
  47. package/lib/browser/accounts/pollingUserAccountSubscriber.js +32 -0
  48. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
  49. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +22 -0
  50. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
  51. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
  52. package/lib/browser/accounts/testBulkAccountLoader.d.ts +8 -0
  53. package/lib/browser/accounts/testBulkAccountLoader.js +8 -0
  54. package/lib/browser/accounts/types.d.ts +149 -0
  55. package/lib/browser/accounts/types.js +13 -0
  56. package/lib/browser/accounts/utils.d.ts +18 -0
  57. package/lib/browser/accounts/utils.js +32 -16
  58. package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +41 -0
  59. package/lib/browser/accounts/webSocketAccountSubscriber.js +41 -0
  60. package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
  61. package/lib/browser/accounts/webSocketAccountSubscriberV2.js +31 -23
  62. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
  63. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
  64. package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
  65. package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +36 -0
  66. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
  67. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
  68. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
  69. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
  70. package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
  71. package/lib/browser/accounts/webSocketUserAccountSubscriber.js +26 -0
  72. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
  73. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
  74. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
  75. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
  76. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
  77. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
  78. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
  79. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +33 -0
  80. package/lib/browser/addresses/marketAddresses.d.ts +10 -0
  81. package/lib/browser/addresses/marketAddresses.js +10 -0
  82. package/lib/browser/addresses/pda.d.ts +214 -2
  83. package/lib/browser/addresses/pda.js +217 -5
  84. package/lib/browser/adminClient.d.ts +2171 -4
  85. package/lib/browser/adminClient.js +2215 -4
  86. package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +15 -0
  87. package/lib/browser/auctionSubscriber/auctionSubscriber.js +15 -0
  88. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
  89. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
  90. package/lib/browser/auctionSubscriber/index.d.ts +6 -0
  91. package/lib/browser/auctionSubscriber/index.js +6 -0
  92. package/lib/browser/auctionSubscriber/types.d.ts +7 -0
  93. package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
  94. package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +33 -0
  95. package/lib/browser/blockhashSubscriber/index.d.ts +5 -0
  96. package/lib/browser/blockhashSubscriber/index.js +5 -0
  97. package/lib/browser/blockhashSubscriber/types.d.ts +5 -0
  98. package/lib/browser/clock/clockSubscriber.d.ts +24 -0
  99. package/lib/browser/clock/clockSubscriber.js +22 -0
  100. package/lib/browser/config.d.ts +58 -4
  101. package/lib/browser/config.js +94 -28
  102. package/lib/browser/constants/numericConstants.d.ts +67 -0
  103. package/lib/browser/constants/numericConstants.js +68 -1
  104. package/lib/browser/constants/perpMarkets.d.ts +10 -0
  105. package/lib/browser/constants/perpMarkets.js +40 -908
  106. package/lib/browser/constants/spotMarkets.d.ts +13 -0
  107. package/lib/browser/constants/spotMarkets.js +16 -742
  108. package/lib/browser/constants/txConstants.d.ts +1 -0
  109. package/lib/browser/constants/txConstants.js +1 -0
  110. package/lib/browser/core/VelocityCore.d.ts +285 -8
  111. package/lib/browser/core/VelocityCore.js +281 -8
  112. package/lib/browser/core/instructions/deposit.d.ts +22 -0
  113. package/lib/browser/core/instructions/deposit.js +22 -0
  114. package/lib/browser/core/instructions/fill.d.ts +17 -0
  115. package/lib/browser/core/instructions/fill.js +17 -0
  116. package/lib/browser/core/instructions/funding.d.ts +12 -0
  117. package/lib/browser/core/instructions/funding.js +12 -0
  118. package/lib/browser/core/instructions/liquidation.d.ts +18 -0
  119. package/lib/browser/core/instructions/liquidation.js +18 -0
  120. package/lib/browser/core/instructions/orders.d.ts +28 -0
  121. package/lib/browser/core/instructions/orders.js +28 -0
  122. package/lib/browser/core/instructions/perpOrders.d.ts +106 -0
  123. package/lib/browser/core/instructions/perpOrders.js +106 -0
  124. package/lib/browser/core/instructions/settlement.d.ts +14 -0
  125. package/lib/browser/core/instructions/settlement.js +14 -0
  126. package/lib/browser/core/instructions/trigger.d.ts +15 -0
  127. package/lib/browser/core/instructions/trigger.js +15 -0
  128. package/lib/browser/core/instructions/withdraw.d.ts +21 -0
  129. package/lib/browser/core/instructions/withdraw.js +21 -0
  130. package/lib/browser/core/remainingAccounts.d.ts +47 -3
  131. package/lib/browser/core/remainingAccounts.js +20 -0
  132. package/lib/browser/core/signedMsg.d.ts +38 -0
  133. package/lib/browser/core/signedMsg.js +33 -0
  134. package/lib/browser/decode/customCoder.d.ts +39 -3
  135. package/lib/browser/decode/customCoder.js +45 -3
  136. package/lib/browser/decode/user.d.ts +22 -0
  137. package/lib/browser/decode/user.js +27 -1
  138. package/lib/browser/dlob/DLOB.d.ts +502 -53
  139. package/lib/browser/dlob/DLOB.js +540 -98
  140. package/lib/browser/dlob/DLOBNode.d.ts +86 -4
  141. package/lib/browser/dlob/DLOBNode.js +37 -4
  142. package/lib/browser/dlob/DLOBSubscriber.d.ts +39 -12
  143. package/lib/browser/dlob/DLOBSubscriber.js +42 -12
  144. package/lib/browser/dlob/NodeList.d.ts +69 -0
  145. package/lib/browser/dlob/NodeList.js +66 -0
  146. package/lib/browser/dlob/orderBookLevels.d.ts +106 -13
  147. package/lib/browser/dlob/orderBookLevels.js +84 -14
  148. package/lib/browser/dlob/types.d.ts +15 -0
  149. package/lib/browser/events/eventList.d.ts +14 -0
  150. package/lib/browser/events/eventList.js +14 -0
  151. package/lib/browser/events/eventSubscriber.d.ts +87 -10
  152. package/lib/browser/events/eventSubscriber.js +93 -8
  153. package/lib/browser/events/eventsServerLogProvider.d.ts +22 -0
  154. package/lib/browser/events/eventsServerLogProvider.js +27 -0
  155. package/lib/browser/events/fetchLogs.d.ts +31 -0
  156. package/lib/browser/events/fetchLogs.js +46 -1
  157. package/lib/browser/events/parse.d.ts +23 -0
  158. package/lib/browser/events/parse.js +23 -0
  159. package/lib/browser/events/pollingLogProvider.d.ts +24 -0
  160. package/lib/browser/events/pollingLogProvider.js +24 -0
  161. package/lib/browser/events/sort.d.ts +11 -0
  162. package/lib/browser/events/sort.js +12 -0
  163. package/lib/browser/events/txEventCache.d.ts +13 -3
  164. package/lib/browser/events/txEventCache.js +19 -7
  165. package/lib/browser/events/types.d.ts +118 -2
  166. package/lib/browser/events/types.js +11 -0
  167. package/lib/browser/events/webSocketLogProvider.d.ts +23 -0
  168. package/lib/browser/events/webSocketLogProvider.js +28 -0
  169. package/lib/browser/factory/oracleClient.js +2 -2
  170. package/lib/browser/idl/velocity.d.ts +150 -7
  171. package/lib/browser/idl/velocity.json +151 -8
  172. package/lib/browser/keypair.d.ts +8 -0
  173. package/lib/browser/keypair.js +8 -0
  174. package/lib/browser/marginCalculation.d.ts +134 -2
  175. package/lib/browser/marginCalculation.js +121 -0
  176. package/lib/browser/math/amm.d.ts +348 -29
  177. package/lib/browser/math/amm.js +310 -32
  178. package/lib/browser/math/auction.d.ts +95 -19
  179. package/lib/browser/math/auction.js +118 -28
  180. package/lib/browser/math/bankruptcy.d.ts +46 -0
  181. package/lib/browser/math/bankruptcy.js +89 -1
  182. package/lib/browser/math/builder.d.ts +64 -8
  183. package/lib/browser/math/builder.js +71 -9
  184. package/lib/browser/math/conversion.d.ts +21 -0
  185. package/lib/browser/math/conversion.js +21 -0
  186. package/lib/browser/math/exchangeStatus.d.ts +91 -0
  187. package/lib/browser/math/exchangeStatus.js +106 -3
  188. package/lib/browser/math/funding.d.ts +57 -20
  189. package/lib/browser/math/funding.js +63 -23
  190. package/lib/browser/math/insurance.d.ts +62 -0
  191. package/lib/browser/math/insurance.js +62 -0
  192. package/lib/browser/math/liquidation.d.ts +127 -11
  193. package/lib/browser/math/liquidation.js +182 -19
  194. package/lib/browser/math/margin.d.ts +79 -13
  195. package/lib/browser/math/margin.js +80 -14
  196. package/lib/browser/math/market.d.ts +135 -15
  197. package/lib/browser/math/market.js +145 -17
  198. package/lib/browser/math/oracles.d.ts +113 -0
  199. package/lib/browser/math/oracles.js +118 -1
  200. package/lib/browser/math/orders.d.ts +115 -10
  201. package/lib/browser/math/orders.js +130 -19
  202. package/lib/browser/math/position.d.ts +80 -33
  203. package/lib/browser/math/position.js +80 -33
  204. package/lib/browser/math/repeg.d.ts +48 -10
  205. package/lib/browser/math/repeg.js +48 -10
  206. package/lib/browser/math/spotBalance.d.ts +200 -5
  207. package/lib/browser/math/spotBalance.js +239 -10
  208. package/lib/browser/math/spotMarket.d.ts +36 -3
  209. package/lib/browser/math/spotMarket.js +36 -3
  210. package/lib/browser/math/spotPosition.d.ts +72 -0
  211. package/lib/browser/math/spotPosition.js +62 -0
  212. package/lib/browser/math/state.d.ts +31 -0
  213. package/lib/browser/math/state.js +31 -0
  214. package/lib/browser/math/superStake.d.ts +126 -2
  215. package/lib/browser/math/superStake.js +123 -3
  216. package/lib/browser/math/tiers.d.ts +29 -0
  217. package/lib/browser/math/tiers.js +29 -0
  218. package/lib/browser/math/trade.d.ts +102 -51
  219. package/lib/browser/math/trade.js +101 -55
  220. package/lib/browser/math/utils.d.ts +71 -9
  221. package/lib/browser/math/utils.js +71 -9
  222. package/lib/browser/memcmp.d.ts +94 -0
  223. package/lib/browser/memcmp.js +103 -2
  224. package/lib/browser/oracles/oracleClientCache.d.ts +16 -0
  225. package/lib/browser/oracles/oracleClientCache.js +16 -0
  226. package/lib/browser/oracles/oracleId.d.ts +31 -0
  227. package/lib/browser/oracles/oracleId.js +39 -8
  228. package/lib/browser/oracles/prelaunchOracleClient.d.ts +20 -0
  229. package/lib/browser/oracles/prelaunchOracleClient.js +20 -0
  230. package/lib/browser/oracles/pythClient.d.ts +31 -0
  231. package/lib/browser/oracles/pythClient.js +32 -1
  232. package/lib/browser/oracles/pythLazerClient.d.ts +34 -0
  233. package/lib/browser/oracles/pythLazerClient.js +35 -1
  234. package/lib/browser/oracles/quoteAssetOracleClient.d.ts +18 -0
  235. package/lib/browser/oracles/quoteAssetOracleClient.js +18 -0
  236. package/lib/browser/oracles/strictOraclePrice.d.ts +21 -0
  237. package/lib/browser/oracles/strictOraclePrice.js +21 -0
  238. package/lib/browser/oracles/types.d.ts +45 -0
  239. package/lib/browser/oracles/utils.d.ts +20 -0
  240. package/lib/browser/oracles/utils.js +20 -0
  241. package/lib/browser/orderParams.d.ts +42 -4
  242. package/lib/browser/orderParams.js +42 -4
  243. package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +56 -0
  244. package/lib/browser/orderSubscriber/OrderSubscriber.js +59 -0
  245. package/lib/browser/orderSubscriber/PollingSubscription.d.ts +11 -0
  246. package/lib/browser/orderSubscriber/PollingSubscription.js +11 -0
  247. package/lib/browser/orderSubscriber/WebsocketSubscription.d.ts +18 -0
  248. package/lib/browser/orderSubscriber/WebsocketSubscription.js +18 -0
  249. package/lib/browser/orderSubscriber/grpcSubscription.d.ts +16 -0
  250. package/lib/browser/orderSubscriber/grpcSubscription.js +16 -0
  251. package/lib/browser/orderSubscriber/types.d.ts +9 -0
  252. package/lib/browser/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
  253. package/lib/browser/priorityFee/averageOverSlotsStrategy.js +1 -0
  254. package/lib/browser/priorityFee/averageStrategy.d.ts +1 -0
  255. package/lib/browser/priorityFee/averageStrategy.js +1 -0
  256. package/lib/browser/priorityFee/ewmaStrategy.d.ts +10 -0
  257. package/lib/browser/priorityFee/ewmaStrategy.js +10 -0
  258. package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
  259. package/lib/browser/priorityFee/heliusPriorityFeeMethod.js +9 -2
  260. package/lib/browser/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
  261. package/lib/browser/priorityFee/maxOverSlotsStrategy.js +1 -0
  262. package/lib/browser/priorityFee/maxStrategy.d.ts +1 -0
  263. package/lib/browser/priorityFee/maxStrategy.js +1 -0
  264. package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +39 -0
  265. package/lib/browser/priorityFee/priorityFeeSubscriber.js +39 -0
  266. package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
  267. package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +21 -2
  268. package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
  269. package/lib/browser/priorityFee/solanaPriorityFeeMethod.js +10 -0
  270. package/lib/browser/priorityFee/types.d.ts +32 -0
  271. package/lib/browser/priorityFee/types.js +5 -0
  272. package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
  273. package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +8 -0
  274. package/lib/browser/pyth/pythLazerSubscriber.js +37 -27
  275. package/lib/browser/slot/SlotSubscriber.d.ts +18 -0
  276. package/lib/browser/slot/SlotSubscriber.js +16 -0
  277. package/lib/browser/slot/SlothashSubscriber.d.ts +26 -0
  278. package/lib/browser/slot/SlothashSubscriber.js +25 -1
  279. package/lib/browser/tx/baseTxSender.d.ts +163 -0
  280. package/lib/browser/tx/baseTxSender.js +174 -6
  281. package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
  282. package/lib/browser/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
  283. package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
  284. package/lib/browser/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
  285. package/lib/browser/tx/blockhashFetcher/types.d.ts +4 -0
  286. package/lib/browser/tx/fastSingleTxSender.d.ts +47 -0
  287. package/lib/browser/tx/fastSingleTxSender.js +48 -1
  288. package/lib/browser/tx/forwardOnlyTxSender.d.ts +48 -0
  289. package/lib/browser/tx/forwardOnlyTxSender.js +48 -0
  290. package/lib/browser/tx/reportTransactionError.d.ts +18 -6
  291. package/lib/browser/tx/reportTransactionError.js +18 -6
  292. package/lib/browser/tx/retryTxSender.d.ts +40 -0
  293. package/lib/browser/tx/retryTxSender.js +39 -0
  294. package/lib/browser/tx/txHandler.d.ts +146 -35
  295. package/lib/browser/tx/txHandler.js +132 -32
  296. package/lib/browser/tx/txParamProcessor.d.ts +47 -0
  297. package/lib/browser/tx/txParamProcessor.js +47 -0
  298. package/lib/browser/tx/types.d.ts +46 -0
  299. package/lib/browser/tx/types.js +5 -0
  300. package/lib/browser/tx/utils.d.ts +26 -0
  301. package/lib/browser/tx/utils.js +26 -0
  302. package/lib/browser/tx/whileValidTxSender.d.ts +82 -0
  303. package/lib/browser/tx/whileValidTxSender.js +81 -0
  304. package/lib/browser/types.d.ts +785 -13
  305. package/lib/browser/types.js +126 -9
  306. package/lib/browser/user.d.ts +660 -84
  307. package/lib/browser/user.js +816 -97
  308. package/lib/browser/userMap/PollingSubscription.d.ts +10 -0
  309. package/lib/browser/userMap/PollingSubscription.js +14 -2
  310. package/lib/browser/userMap/WebsocketSubscription.d.ts +9 -0
  311. package/lib/browser/userMap/WebsocketSubscription.js +9 -0
  312. package/lib/browser/userMap/grpcSubscription.d.ts +8 -0
  313. package/lib/browser/userMap/grpcSubscription.js +8 -0
  314. package/lib/browser/userMap/referrerMap.d.ts +72 -2
  315. package/lib/browser/userMap/referrerMap.js +84 -2
  316. package/lib/browser/userMap/revenueShareEscrowMap.d.ts +37 -10
  317. package/lib/browser/userMap/revenueShareEscrowMap.js +38 -11
  318. package/lib/browser/userMap/userMap.d.ts +81 -3
  319. package/lib/browser/userMap/userMap.js +81 -4
  320. package/lib/browser/userMap/userMapConfig.d.ts +23 -0
  321. package/lib/browser/userMap/userStatsMap.d.ts +22 -0
  322. package/lib/browser/userMap/userStatsMap.js +22 -0
  323. package/lib/browser/userName.d.ts +16 -0
  324. package/lib/browser/userName.js +16 -0
  325. package/lib/browser/userStats.d.ts +28 -1
  326. package/lib/browser/userStats.js +28 -1
  327. package/lib/browser/util/TransactionConfirmationManager.d.ts +33 -0
  328. package/lib/browser/util/TransactionConfirmationManager.js +33 -0
  329. package/lib/browser/util/chainClock.d.ts +24 -0
  330. package/lib/browser/util/chainClock.js +20 -0
  331. package/lib/browser/util/computeUnits.d.ts +32 -0
  332. package/lib/browser/util/computeUnits.js +32 -0
  333. package/lib/browser/util/digest.d.ts +17 -0
  334. package/lib/browser/util/digest.js +17 -0
  335. package/lib/browser/util/ed25519Utils.d.ts +12 -2
  336. package/lib/browser/util/ed25519Utils.js +12 -2
  337. package/lib/browser/util/promiseTimeout.d.ts +9 -0
  338. package/lib/browser/util/promiseTimeout.js +9 -0
  339. package/lib/browser/velocityClient.d.ts +3363 -220
  340. package/lib/browser/velocityClient.js +3514 -275
  341. package/lib/browser/wallet.d.ts +37 -0
  342. package/lib/browser/wallet.js +37 -0
  343. package/lib/node/accounts/basicUserAccountSubscriber.d.ts +18 -0
  344. package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
  345. package/lib/node/accounts/basicUserAccountSubscriber.js +18 -0
  346. package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +18 -0
  347. package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
  348. package/lib/node/accounts/basicUserStatsAccountSubscriber.js +18 -0
  349. package/lib/node/accounts/bulkAccountLoader.d.ts +52 -0
  350. package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
  351. package/lib/node/accounts/bulkAccountLoader.js +51 -0
  352. package/lib/node/accounts/bulkUserStatsSubscription.d.ts +9 -2
  353. package/lib/node/accounts/bulkUserStatsSubscription.d.ts.map +1 -1
  354. package/lib/node/accounts/bulkUserStatsSubscription.js +9 -2
  355. package/lib/node/accounts/bulkUserSubscription.d.ts +8 -2
  356. package/lib/node/accounts/bulkUserSubscription.d.ts.map +1 -1
  357. package/lib/node/accounts/bulkUserSubscription.js +8 -2
  358. package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts +37 -0
  359. package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -1
  360. package/lib/node/accounts/customizedCadenceBulkAccountLoader.js +37 -0
  361. package/lib/node/accounts/fetch.d.ts +59 -2
  362. package/lib/node/accounts/fetch.d.ts.map +1 -1
  363. package/lib/node/accounts/fetch.js +57 -2
  364. package/lib/node/accounts/grpcAccountSubscriber.d.ts +30 -0
  365. package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
  366. package/lib/node/accounts/grpcAccountSubscriber.js +30 -0
  367. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +16 -0
  368. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  369. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.js +16 -0
  370. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +60 -1
  371. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
  372. package/lib/node/accounts/grpcMultiAccountSubscriber.js +118 -37
  373. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +32 -0
  374. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
  375. package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +40 -12
  376. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +33 -0
  377. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
  378. package/lib/node/accounts/grpcProgramAccountSubscriber.js +33 -0
  379. package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +15 -0
  380. package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -1
  381. package/lib/node/accounts/grpcUserAccountSubscriber.js +15 -0
  382. package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +15 -0
  383. package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -1
  384. package/lib/node/accounts/grpcUserStatsAccountSubscriber.js +15 -0
  385. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +41 -0
  386. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
  387. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +41 -0
  388. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +116 -0
  389. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  390. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +152 -1
  391. package/lib/node/accounts/laserProgramAccountSubscriber.d.ts +34 -0
  392. package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
  393. package/lib/node/accounts/laserProgramAccountSubscriber.js +34 -0
  394. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +19 -0
  395. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
  396. package/lib/node/accounts/oneShotUserAccountSubscriber.js +19 -0
  397. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts +19 -0
  398. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
  399. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +19 -0
  400. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +31 -0
  401. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  402. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +31 -0
  403. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +19 -0
  404. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
  405. package/lib/node/accounts/pollingOracleAccountSubscriber.js +21 -2
  406. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +22 -0
  407. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
  408. package/lib/node/accounts/pollingTokenAccountSubscriber.js +22 -0
  409. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +32 -0
  410. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
  411. package/lib/node/accounts/pollingUserAccountSubscriber.js +32 -0
  412. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +22 -0
  413. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
  414. package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +22 -0
  415. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +83 -0
  416. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
  417. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +84 -1
  418. package/lib/node/accounts/testBulkAccountLoader.d.ts +8 -0
  419. package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -1
  420. package/lib/node/accounts/testBulkAccountLoader.js +8 -0
  421. package/lib/node/accounts/types.d.ts +149 -0
  422. package/lib/node/accounts/types.d.ts.map +1 -1
  423. package/lib/node/accounts/types.js +13 -0
  424. package/lib/node/accounts/utils.d.ts +18 -0
  425. package/lib/node/accounts/utils.d.ts.map +1 -1
  426. package/lib/node/accounts/utils.js +32 -16
  427. package/lib/node/accounts/webSocketAccountSubscriber.d.ts +41 -0
  428. package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
  429. package/lib/node/accounts/webSocketAccountSubscriber.js +41 -0
  430. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +31 -0
  431. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
  432. package/lib/node/accounts/webSocketAccountSubscriberV2.js +31 -23
  433. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +27 -0
  434. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  435. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +27 -0
  436. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +36 -0
  437. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
  438. package/lib/node/accounts/webSocketProgramAccountSubscriber.js +36 -0
  439. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +21 -0
  440. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
  441. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +25 -0
  442. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +21 -0
  443. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
  444. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +21 -0
  445. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +26 -0
  446. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
  447. package/lib/node/accounts/webSocketUserAccountSubscriber.js +26 -0
  448. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
  449. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
  450. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +20 -0
  451. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +121 -0
  452. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
  453. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +123 -2
  454. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +96 -0
  455. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  456. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +108 -0
  457. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +28 -0
  458. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
  459. package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +33 -0
  460. package/lib/node/addresses/marketAddresses.d.ts +10 -0
  461. package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
  462. package/lib/node/addresses/marketAddresses.js +10 -0
  463. package/lib/node/addresses/pda.d.ts +214 -2
  464. package/lib/node/addresses/pda.d.ts.map +1 -1
  465. package/lib/node/addresses/pda.js +217 -5
  466. package/lib/node/adminClient.d.ts +2171 -4
  467. package/lib/node/adminClient.d.ts.map +1 -1
  468. package/lib/node/adminClient.js +2215 -4
  469. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +15 -0
  470. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
  471. package/lib/node/auctionSubscriber/auctionSubscriber.js +15 -0
  472. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +19 -0
  473. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
  474. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +19 -0
  475. package/lib/node/auctionSubscriber/index.d.ts +6 -0
  476. package/lib/node/auctionSubscriber/index.d.ts.map +1 -1
  477. package/lib/node/auctionSubscriber/index.js +6 -0
  478. package/lib/node/auctionSubscriber/types.d.ts +7 -0
  479. package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
  480. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +33 -0
  481. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
  482. package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +33 -0
  483. package/lib/node/blockhashSubscriber/index.d.ts +5 -0
  484. package/lib/node/blockhashSubscriber/index.d.ts.map +1 -1
  485. package/lib/node/blockhashSubscriber/index.js +5 -0
  486. package/lib/node/blockhashSubscriber/types.d.ts +5 -0
  487. package/lib/node/blockhashSubscriber/types.d.ts.map +1 -1
  488. package/lib/node/clock/clockSubscriber.d.ts +24 -0
  489. package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
  490. package/lib/node/clock/clockSubscriber.js +22 -0
  491. package/lib/node/config.d.ts +58 -4
  492. package/lib/node/config.d.ts.map +1 -1
  493. package/lib/node/config.js +94 -28
  494. package/lib/node/constants/numericConstants.d.ts +67 -0
  495. package/lib/node/constants/numericConstants.d.ts.map +1 -1
  496. package/lib/node/constants/numericConstants.js +68 -1
  497. package/lib/node/constants/perpMarkets.d.ts +10 -0
  498. package/lib/node/constants/perpMarkets.d.ts.map +1 -1
  499. package/lib/node/constants/perpMarkets.js +40 -908
  500. package/lib/node/constants/spotMarkets.d.ts +13 -0
  501. package/lib/node/constants/spotMarkets.d.ts.map +1 -1
  502. package/lib/node/constants/spotMarkets.js +16 -742
  503. package/lib/node/constants/txConstants.d.ts +1 -0
  504. package/lib/node/constants/txConstants.d.ts.map +1 -1
  505. package/lib/node/constants/txConstants.js +1 -0
  506. package/lib/node/core/VelocityCore.d.ts +285 -8
  507. package/lib/node/core/VelocityCore.d.ts.map +1 -1
  508. package/lib/node/core/VelocityCore.js +281 -8
  509. package/lib/node/core/instructions/deposit.d.ts +22 -0
  510. package/lib/node/core/instructions/deposit.d.ts.map +1 -1
  511. package/lib/node/core/instructions/deposit.js +22 -0
  512. package/lib/node/core/instructions/fill.d.ts +17 -0
  513. package/lib/node/core/instructions/fill.d.ts.map +1 -1
  514. package/lib/node/core/instructions/fill.js +17 -0
  515. package/lib/node/core/instructions/funding.d.ts +12 -0
  516. package/lib/node/core/instructions/funding.d.ts.map +1 -1
  517. package/lib/node/core/instructions/funding.js +12 -0
  518. package/lib/node/core/instructions/liquidation.d.ts +18 -0
  519. package/lib/node/core/instructions/liquidation.d.ts.map +1 -1
  520. package/lib/node/core/instructions/liquidation.js +18 -0
  521. package/lib/node/core/instructions/orders.d.ts +28 -0
  522. package/lib/node/core/instructions/orders.d.ts.map +1 -1
  523. package/lib/node/core/instructions/orders.js +28 -0
  524. package/lib/node/core/instructions/perpOrders.d.ts +106 -0
  525. package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
  526. package/lib/node/core/instructions/perpOrders.js +106 -0
  527. package/lib/node/core/instructions/settlement.d.ts +14 -0
  528. package/lib/node/core/instructions/settlement.d.ts.map +1 -1
  529. package/lib/node/core/instructions/settlement.js +14 -0
  530. package/lib/node/core/instructions/trigger.d.ts +15 -0
  531. package/lib/node/core/instructions/trigger.d.ts.map +1 -1
  532. package/lib/node/core/instructions/trigger.js +15 -0
  533. package/lib/node/core/instructions/withdraw.d.ts +21 -0
  534. package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
  535. package/lib/node/core/instructions/withdraw.js +21 -0
  536. package/lib/node/core/remainingAccounts.d.ts +47 -3
  537. package/lib/node/core/remainingAccounts.d.ts.map +1 -1
  538. package/lib/node/core/remainingAccounts.js +20 -0
  539. package/lib/node/core/signedMsg.d.ts +38 -0
  540. package/lib/node/core/signedMsg.d.ts.map +1 -1
  541. package/lib/node/core/signedMsg.js +33 -0
  542. package/lib/node/decode/customCoder.d.ts +39 -3
  543. package/lib/node/decode/customCoder.d.ts.map +1 -1
  544. package/lib/node/decode/customCoder.js +45 -3
  545. package/lib/node/decode/user.d.ts +22 -0
  546. package/lib/node/decode/user.d.ts.map +1 -1
  547. package/lib/node/decode/user.js +27 -1
  548. package/lib/node/dlob/DLOB.d.ts +502 -53
  549. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  550. package/lib/node/dlob/DLOB.js +540 -98
  551. package/lib/node/dlob/DLOBNode.d.ts +86 -4
  552. package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
  553. package/lib/node/dlob/DLOBNode.js +37 -4
  554. package/lib/node/dlob/DLOBSubscriber.d.ts +39 -12
  555. package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
  556. package/lib/node/dlob/DLOBSubscriber.js +42 -12
  557. package/lib/node/dlob/NodeList.d.ts +69 -0
  558. package/lib/node/dlob/NodeList.d.ts.map +1 -1
  559. package/lib/node/dlob/NodeList.js +66 -0
  560. package/lib/node/dlob/orderBookLevels.d.ts +106 -13
  561. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  562. package/lib/node/dlob/orderBookLevels.js +84 -14
  563. package/lib/node/dlob/types.d.ts +15 -0
  564. package/lib/node/dlob/types.d.ts.map +1 -1
  565. package/lib/node/events/eventList.d.ts +14 -0
  566. package/lib/node/events/eventList.d.ts.map +1 -1
  567. package/lib/node/events/eventList.js +14 -0
  568. package/lib/node/events/eventSubscriber.d.ts +87 -10
  569. package/lib/node/events/eventSubscriber.d.ts.map +1 -1
  570. package/lib/node/events/eventSubscriber.js +93 -8
  571. package/lib/node/events/eventsServerLogProvider.d.ts +22 -0
  572. package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
  573. package/lib/node/events/eventsServerLogProvider.js +27 -0
  574. package/lib/node/events/fetchLogs.d.ts +31 -0
  575. package/lib/node/events/fetchLogs.d.ts.map +1 -1
  576. package/lib/node/events/fetchLogs.js +46 -1
  577. package/lib/node/events/parse.d.ts +23 -0
  578. package/lib/node/events/parse.d.ts.map +1 -1
  579. package/lib/node/events/parse.js +23 -0
  580. package/lib/node/events/pollingLogProvider.d.ts +24 -0
  581. package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
  582. package/lib/node/events/pollingLogProvider.js +24 -0
  583. package/lib/node/events/sort.d.ts +11 -0
  584. package/lib/node/events/sort.d.ts.map +1 -1
  585. package/lib/node/events/sort.js +12 -0
  586. package/lib/node/events/txEventCache.d.ts +13 -3
  587. package/lib/node/events/txEventCache.d.ts.map +1 -1
  588. package/lib/node/events/txEventCache.js +19 -7
  589. package/lib/node/events/types.d.ts +118 -2
  590. package/lib/node/events/types.d.ts.map +1 -1
  591. package/lib/node/events/types.js +11 -0
  592. package/lib/node/events/webSocketLogProvider.d.ts +23 -0
  593. package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
  594. package/lib/node/events/webSocketLogProvider.js +28 -0
  595. package/lib/node/factory/oracleClient.js +2 -2
  596. package/lib/node/idl/velocity.d.ts +150 -7
  597. package/lib/node/idl/velocity.d.ts.map +1 -1
  598. package/lib/node/idl/velocity.json +151 -8
  599. package/lib/node/keypair.d.ts +8 -0
  600. package/lib/node/keypair.d.ts.map +1 -1
  601. package/lib/node/keypair.js +8 -0
  602. package/lib/node/marginCalculation.d.ts +134 -2
  603. package/lib/node/marginCalculation.d.ts.map +1 -1
  604. package/lib/node/marginCalculation.js +121 -0
  605. package/lib/node/math/amm.d.ts +348 -29
  606. package/lib/node/math/amm.d.ts.map +1 -1
  607. package/lib/node/math/amm.js +310 -32
  608. package/lib/node/math/auction.d.ts +95 -19
  609. package/lib/node/math/auction.d.ts.map +1 -1
  610. package/lib/node/math/auction.js +118 -28
  611. package/lib/node/math/bankruptcy.d.ts +46 -0
  612. package/lib/node/math/bankruptcy.d.ts.map +1 -1
  613. package/lib/node/math/bankruptcy.js +89 -1
  614. package/lib/node/math/builder.d.ts +64 -8
  615. package/lib/node/math/builder.d.ts.map +1 -1
  616. package/lib/node/math/builder.js +71 -9
  617. package/lib/node/math/conversion.d.ts +21 -0
  618. package/lib/node/math/conversion.d.ts.map +1 -1
  619. package/lib/node/math/conversion.js +21 -0
  620. package/lib/node/math/exchangeStatus.d.ts +91 -0
  621. package/lib/node/math/exchangeStatus.d.ts.map +1 -1
  622. package/lib/node/math/exchangeStatus.js +106 -3
  623. package/lib/node/math/funding.d.ts +57 -20
  624. package/lib/node/math/funding.d.ts.map +1 -1
  625. package/lib/node/math/funding.js +63 -23
  626. package/lib/node/math/insurance.d.ts +62 -0
  627. package/lib/node/math/insurance.d.ts.map +1 -1
  628. package/lib/node/math/insurance.js +62 -0
  629. package/lib/node/math/liquidation.d.ts +127 -11
  630. package/lib/node/math/liquidation.d.ts.map +1 -1
  631. package/lib/node/math/liquidation.js +182 -19
  632. package/lib/node/math/margin.d.ts +79 -13
  633. package/lib/node/math/margin.d.ts.map +1 -1
  634. package/lib/node/math/margin.js +80 -14
  635. package/lib/node/math/market.d.ts +135 -15
  636. package/lib/node/math/market.d.ts.map +1 -1
  637. package/lib/node/math/market.js +145 -17
  638. package/lib/node/math/oracles.d.ts +113 -0
  639. package/lib/node/math/oracles.d.ts.map +1 -1
  640. package/lib/node/math/oracles.js +118 -1
  641. package/lib/node/math/orders.d.ts +115 -10
  642. package/lib/node/math/orders.d.ts.map +1 -1
  643. package/lib/node/math/orders.js +130 -19
  644. package/lib/node/math/position.d.ts +80 -33
  645. package/lib/node/math/position.d.ts.map +1 -1
  646. package/lib/node/math/position.js +80 -33
  647. package/lib/node/math/repeg.d.ts +48 -10
  648. package/lib/node/math/repeg.d.ts.map +1 -1
  649. package/lib/node/math/repeg.js +48 -10
  650. package/lib/node/math/spotBalance.d.ts +200 -5
  651. package/lib/node/math/spotBalance.d.ts.map +1 -1
  652. package/lib/node/math/spotBalance.js +239 -10
  653. package/lib/node/math/spotMarket.d.ts +36 -3
  654. package/lib/node/math/spotMarket.d.ts.map +1 -1
  655. package/lib/node/math/spotMarket.js +36 -3
  656. package/lib/node/math/spotPosition.d.ts +72 -0
  657. package/lib/node/math/spotPosition.d.ts.map +1 -1
  658. package/lib/node/math/spotPosition.js +62 -0
  659. package/lib/node/math/state.d.ts +31 -0
  660. package/lib/node/math/state.d.ts.map +1 -1
  661. package/lib/node/math/state.js +31 -0
  662. package/lib/node/math/superStake.d.ts +126 -2
  663. package/lib/node/math/superStake.d.ts.map +1 -1
  664. package/lib/node/math/superStake.js +123 -3
  665. package/lib/node/math/tiers.d.ts +29 -0
  666. package/lib/node/math/tiers.d.ts.map +1 -1
  667. package/lib/node/math/tiers.js +29 -0
  668. package/lib/node/math/trade.d.ts +102 -51
  669. package/lib/node/math/trade.d.ts.map +1 -1
  670. package/lib/node/math/trade.js +101 -55
  671. package/lib/node/math/utils.d.ts +71 -9
  672. package/lib/node/math/utils.d.ts.map +1 -1
  673. package/lib/node/math/utils.js +71 -9
  674. package/lib/node/memcmp.d.ts +94 -0
  675. package/lib/node/memcmp.d.ts.map +1 -1
  676. package/lib/node/memcmp.js +103 -2
  677. package/lib/node/oracles/oracleClientCache.d.ts +16 -0
  678. package/lib/node/oracles/oracleClientCache.d.ts.map +1 -1
  679. package/lib/node/oracles/oracleClientCache.js +16 -0
  680. package/lib/node/oracles/oracleId.d.ts +31 -0
  681. package/lib/node/oracles/oracleId.d.ts.map +1 -1
  682. package/lib/node/oracles/oracleId.js +39 -8
  683. package/lib/node/oracles/prelaunchOracleClient.d.ts +20 -0
  684. package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
  685. package/lib/node/oracles/prelaunchOracleClient.js +20 -0
  686. package/lib/node/oracles/pythClient.d.ts +31 -0
  687. package/lib/node/oracles/pythClient.d.ts.map +1 -1
  688. package/lib/node/oracles/pythClient.js +32 -1
  689. package/lib/node/oracles/pythLazerClient.d.ts +34 -0
  690. package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
  691. package/lib/node/oracles/pythLazerClient.js +35 -1
  692. package/lib/node/oracles/quoteAssetOracleClient.d.ts +18 -0
  693. package/lib/node/oracles/quoteAssetOracleClient.d.ts.map +1 -1
  694. package/lib/node/oracles/quoteAssetOracleClient.js +18 -0
  695. package/lib/node/oracles/strictOraclePrice.d.ts +21 -0
  696. package/lib/node/oracles/strictOraclePrice.d.ts.map +1 -1
  697. package/lib/node/oracles/strictOraclePrice.js +21 -0
  698. package/lib/node/oracles/types.d.ts +45 -0
  699. package/lib/node/oracles/types.d.ts.map +1 -1
  700. package/lib/node/oracles/utils.d.ts +20 -0
  701. package/lib/node/oracles/utils.d.ts.map +1 -1
  702. package/lib/node/oracles/utils.js +20 -0
  703. package/lib/node/orderParams.d.ts +42 -4
  704. package/lib/node/orderParams.d.ts.map +1 -1
  705. package/lib/node/orderParams.js +42 -4
  706. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +56 -0
  707. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  708. package/lib/node/orderSubscriber/OrderSubscriber.js +59 -0
  709. package/lib/node/orderSubscriber/PollingSubscription.d.ts +11 -0
  710. package/lib/node/orderSubscriber/PollingSubscription.d.ts.map +1 -1
  711. package/lib/node/orderSubscriber/PollingSubscription.js +11 -0
  712. package/lib/node/orderSubscriber/WebsocketSubscription.d.ts +18 -0
  713. package/lib/node/orderSubscriber/WebsocketSubscription.d.ts.map +1 -1
  714. package/lib/node/orderSubscriber/WebsocketSubscription.js +18 -0
  715. package/lib/node/orderSubscriber/grpcSubscription.d.ts +16 -0
  716. package/lib/node/orderSubscriber/grpcSubscription.d.ts.map +1 -1
  717. package/lib/node/orderSubscriber/grpcSubscription.js +16 -0
  718. package/lib/node/orderSubscriber/types.d.ts +9 -0
  719. package/lib/node/orderSubscriber/types.d.ts.map +1 -1
  720. package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts +1 -0
  721. package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts.map +1 -1
  722. package/lib/node/priorityFee/averageOverSlotsStrategy.js +1 -0
  723. package/lib/node/priorityFee/averageStrategy.d.ts +1 -0
  724. package/lib/node/priorityFee/averageStrategy.d.ts.map +1 -1
  725. package/lib/node/priorityFee/averageStrategy.js +1 -0
  726. package/lib/node/priorityFee/ewmaStrategy.d.ts +10 -0
  727. package/lib/node/priorityFee/ewmaStrategy.d.ts.map +1 -1
  728. package/lib/node/priorityFee/ewmaStrategy.js +10 -0
  729. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +13 -0
  730. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
  731. package/lib/node/priorityFee/heliusPriorityFeeMethod.js +9 -2
  732. package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts +1 -0
  733. package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts.map +1 -1
  734. package/lib/node/priorityFee/maxOverSlotsStrategy.js +1 -0
  735. package/lib/node/priorityFee/maxStrategy.d.ts +1 -0
  736. package/lib/node/priorityFee/maxStrategy.d.ts.map +1 -1
  737. package/lib/node/priorityFee/maxStrategy.js +1 -0
  738. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +39 -0
  739. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
  740. package/lib/node/priorityFee/priorityFeeSubscriber.js +39 -0
  741. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +20 -1
  742. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
  743. package/lib/node/priorityFee/priorityFeeSubscriberMap.js +21 -2
  744. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +12 -0
  745. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
  746. package/lib/node/priorityFee/solanaPriorityFeeMethod.js +10 -0
  747. package/lib/node/priorityFee/types.d.ts +32 -0
  748. package/lib/node/priorityFee/types.d.ts.map +1 -1
  749. package/lib/node/priorityFee/types.js +5 -0
  750. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +11 -0
  751. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
  752. package/lib/node/priorityFee/velocityPriorityFeeMethod.js +8 -0
  753. package/lib/node/pyth/pythLazerSubscriber.d.ts.map +1 -1
  754. package/lib/node/pyth/pythLazerSubscriber.js +37 -27
  755. package/lib/node/slot/SlotSubscriber.d.ts +18 -0
  756. package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
  757. package/lib/node/slot/SlotSubscriber.js +16 -0
  758. package/lib/node/slot/SlothashSubscriber.d.ts +26 -0
  759. package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
  760. package/lib/node/slot/SlothashSubscriber.js +25 -1
  761. package/lib/node/tx/baseTxSender.d.ts +163 -0
  762. package/lib/node/tx/baseTxSender.d.ts.map +1 -1
  763. package/lib/node/tx/baseTxSender.js +174 -6
  764. package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +12 -0
  765. package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts.map +1 -1
  766. package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.js +12 -0
  767. package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +15 -0
  768. package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts.map +1 -1
  769. package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.js +15 -0
  770. package/lib/node/tx/blockhashFetcher/types.d.ts +4 -0
  771. package/lib/node/tx/blockhashFetcher/types.d.ts.map +1 -1
  772. package/lib/node/tx/fastSingleTxSender.d.ts +47 -0
  773. package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
  774. package/lib/node/tx/fastSingleTxSender.js +48 -1
  775. package/lib/node/tx/forwardOnlyTxSender.d.ts +48 -0
  776. package/lib/node/tx/forwardOnlyTxSender.d.ts.map +1 -1
  777. package/lib/node/tx/forwardOnlyTxSender.js +48 -0
  778. package/lib/node/tx/reportTransactionError.d.ts +18 -6
  779. package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
  780. package/lib/node/tx/reportTransactionError.js +18 -6
  781. package/lib/node/tx/retryTxSender.d.ts +40 -0
  782. package/lib/node/tx/retryTxSender.d.ts.map +1 -1
  783. package/lib/node/tx/retryTxSender.js +39 -0
  784. package/lib/node/tx/txHandler.d.ts +146 -35
  785. package/lib/node/tx/txHandler.d.ts.map +1 -1
  786. package/lib/node/tx/txHandler.js +132 -32
  787. package/lib/node/tx/txParamProcessor.d.ts +47 -0
  788. package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
  789. package/lib/node/tx/txParamProcessor.js +47 -0
  790. package/lib/node/tx/types.d.ts +46 -0
  791. package/lib/node/tx/types.d.ts.map +1 -1
  792. package/lib/node/tx/types.js +5 -0
  793. package/lib/node/tx/utils.d.ts +26 -0
  794. package/lib/node/tx/utils.d.ts.map +1 -1
  795. package/lib/node/tx/utils.js +26 -0
  796. package/lib/node/tx/whileValidTxSender.d.ts +82 -0
  797. package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
  798. package/lib/node/tx/whileValidTxSender.js +81 -0
  799. package/lib/node/types.d.ts +785 -13
  800. package/lib/node/types.d.ts.map +1 -1
  801. package/lib/node/types.js +126 -9
  802. package/lib/node/user.d.ts +660 -84
  803. package/lib/node/user.d.ts.map +1 -1
  804. package/lib/node/user.js +816 -97
  805. package/lib/node/userMap/PollingSubscription.d.ts +10 -0
  806. package/lib/node/userMap/PollingSubscription.d.ts.map +1 -1
  807. package/lib/node/userMap/PollingSubscription.js +14 -2
  808. package/lib/node/userMap/WebsocketSubscription.d.ts +9 -0
  809. package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
  810. package/lib/node/userMap/WebsocketSubscription.js +9 -0
  811. package/lib/node/userMap/grpcSubscription.d.ts +8 -0
  812. package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
  813. package/lib/node/userMap/grpcSubscription.js +8 -0
  814. package/lib/node/userMap/referrerMap.d.ts +72 -2
  815. package/lib/node/userMap/referrerMap.d.ts.map +1 -1
  816. package/lib/node/userMap/referrerMap.js +84 -2
  817. package/lib/node/userMap/revenueShareEscrowMap.d.ts +37 -10
  818. package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
  819. package/lib/node/userMap/revenueShareEscrowMap.js +38 -11
  820. package/lib/node/userMap/userMap.d.ts +81 -3
  821. package/lib/node/userMap/userMap.d.ts.map +1 -1
  822. package/lib/node/userMap/userMap.js +81 -4
  823. package/lib/node/userMap/userMapConfig.d.ts +23 -0
  824. package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
  825. package/lib/node/userMap/userStatsMap.d.ts +22 -0
  826. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  827. package/lib/node/userMap/userStatsMap.js +22 -0
  828. package/lib/node/userName.d.ts +16 -0
  829. package/lib/node/userName.d.ts.map +1 -1
  830. package/lib/node/userName.js +16 -0
  831. package/lib/node/userStats.d.ts +28 -1
  832. package/lib/node/userStats.d.ts.map +1 -1
  833. package/lib/node/userStats.js +28 -1
  834. package/lib/node/util/TransactionConfirmationManager.d.ts +33 -0
  835. package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
  836. package/lib/node/util/TransactionConfirmationManager.js +33 -0
  837. package/lib/node/util/chainClock.d.ts +24 -0
  838. package/lib/node/util/chainClock.d.ts.map +1 -1
  839. package/lib/node/util/chainClock.js +20 -0
  840. package/lib/node/util/computeUnits.d.ts +32 -0
  841. package/lib/node/util/computeUnits.d.ts.map +1 -1
  842. package/lib/node/util/computeUnits.js +32 -0
  843. package/lib/node/util/digest.d.ts +17 -0
  844. package/lib/node/util/digest.d.ts.map +1 -1
  845. package/lib/node/util/digest.js +17 -0
  846. package/lib/node/util/ed25519Utils.d.ts +12 -2
  847. package/lib/node/util/ed25519Utils.d.ts.map +1 -1
  848. package/lib/node/util/ed25519Utils.js +12 -2
  849. package/lib/node/util/promiseTimeout.d.ts +9 -0
  850. package/lib/node/util/promiseTimeout.d.ts.map +1 -1
  851. package/lib/node/util/promiseTimeout.js +9 -0
  852. package/lib/node/velocityClient.d.ts +3363 -220
  853. package/lib/node/velocityClient.d.ts.map +1 -1
  854. package/lib/node/velocityClient.js +3514 -275
  855. package/lib/node/wallet.d.ts +37 -0
  856. package/lib/node/wallet.d.ts.map +1 -1
  857. package/lib/node/wallet.js +37 -0
  858. package/package.json +8 -3
  859. package/.prettierignore +0 -1
  860. package/CHANGELOG.md +0 -81
  861. package/build-browser.js +0 -58
  862. package/bunfig.toml +0 -3
  863. package/esbuild-shims.js +0 -12
  864. package/scripts/deposit-isolated-positions.ts +0 -110
  865. package/scripts/find-flagged-users.ts +0 -213
  866. package/scripts/grpc-client-test-comparison.ts +0 -372
  867. package/scripts/grpc-multiuser-client-test-comparison.ts +0 -158
  868. package/scripts/postbuild.js +0 -95
  869. package/scripts/single-grpc-client-test.ts +0 -284
  870. package/scripts/withdraw-isolated-positions.ts +0 -174
  871. package/src/accounts/README_WebSocketAccountSubscriberV2.md +0 -95
  872. package/src/accounts/README_WebSocketProgramAccountSubscriberV2.md +0 -135
  873. package/src/accounts/basicUserAccountSubscriber.ts +0 -61
  874. package/src/accounts/basicUserStatsAccountSubscriber.ts +0 -69
  875. package/src/accounts/bulkAccountLoader.ts +0 -306
  876. package/src/accounts/bulkUserStatsSubscription.ts +0 -33
  877. package/src/accounts/bulkUserSubscription.ts +0 -33
  878. package/src/accounts/customizedCadenceBulkAccountLoader.ts +0 -213
  879. package/src/accounts/fetch.ts +0 -143
  880. package/src/accounts/grpcAccountSubscriber.ts +0 -195
  881. package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +0 -57
  882. package/src/accounts/grpcMultiAccountSubscriber.ts +0 -483
  883. package/src/accounts/grpcMultiUserAccountSubscriber.ts +0 -290
  884. package/src/accounts/grpcProgramAccountSubscriber.ts +0 -231
  885. package/src/accounts/grpcUserAccountSubscriber.ts +0 -48
  886. package/src/accounts/grpcUserStatsAccountSubscriber.ts +0 -50
  887. package/src/accounts/grpcVelocityClientAccountSubscriber.ts +0 -216
  888. package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +0 -782
  889. package/src/accounts/laserProgramAccountSubscriber.ts +0 -232
  890. package/src/accounts/oneShotUserAccountSubscriber.ts +0 -69
  891. package/src/accounts/oneShotUserStatsAccountSubscriber.ts +0 -75
  892. package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +0 -192
  893. package/src/accounts/pollingOracleAccountSubscriber.ts +0 -132
  894. package/src/accounts/pollingTokenAccountSubscriber.ts +0 -125
  895. package/src/accounts/pollingUserAccountSubscriber.ts +0 -166
  896. package/src/accounts/pollingUserStatsAccountSubscriber.ts +0 -158
  897. package/src/accounts/pollingVelocityClientAccountSubscriber.ts +0 -691
  898. package/src/accounts/testBulkAccountLoader.ts +0 -51
  899. package/src/accounts/types.ts +0 -279
  900. package/src/accounts/utils.ts +0 -72
  901. package/src/accounts/webSocketAccountSubscriber.ts +0 -263
  902. package/src/accounts/webSocketAccountSubscriberV2.ts +0 -528
  903. package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +0 -144
  904. package/src/accounts/webSocketProgramAccountSubscriber.ts +0 -208
  905. package/src/accounts/webSocketProgramAccountSubscriberV2.ts +0 -1022
  906. package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +0 -1021
  907. package/src/accounts/webSocketUserAccountSubscriber.ts +0 -113
  908. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +0 -111
  909. package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +0 -740
  910. package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +0 -787
  911. package/src/accounts/websocketProgramUserAccountSubscriber.ts +0 -94
  912. package/src/addresses/marketAddresses.ts +0 -18
  913. package/src/addresses/pda.ts +0 -404
  914. package/src/adminClient.ts +0 -5984
  915. package/src/assert/assert.ts +0 -5
  916. package/src/auctionSubscriber/auctionSubscriber.ts +0 -71
  917. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +0 -80
  918. package/src/auctionSubscriber/index.ts +0 -3
  919. package/src/auctionSubscriber/types.ts +0 -23
  920. package/src/bankrun/bankrunConnection.ts +0 -630
  921. package/src/blockhashSubscriber/BlockhashSubscriber.ts +0 -127
  922. package/src/blockhashSubscriber/index.ts +0 -1
  923. package/src/blockhashSubscriber/types.ts +0 -12
  924. package/src/clock/clockSubscriber.ts +0 -122
  925. package/src/config.ts +0 -225
  926. package/src/constants/index.ts +0 -9
  927. package/src/constants/numericConstants.ts +0 -124
  928. package/src/constants/perpMarkets.ts +0 -1042
  929. package/src/constants/spotMarkets.ts +0 -874
  930. package/src/constants/txConstants.ts +0 -1
  931. package/src/constituentMap/constituentMap.ts +0 -305
  932. package/src/constituentMap/pollingConstituentAccountSubscriber.ts +0 -99
  933. package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +0 -121
  934. package/src/core/VelocityCore.ts +0 -328
  935. package/src/core/index.ts +0 -12
  936. package/src/core/instructions/deposit.ts +0 -42
  937. package/src/core/instructions/fill.ts +0 -34
  938. package/src/core/instructions/funding.ts +0 -21
  939. package/src/core/instructions/liquidation.ts +0 -37
  940. package/src/core/instructions/orders.ts +0 -56
  941. package/src/core/instructions/perpOrders.ts +0 -206
  942. package/src/core/instructions/settlement.ts +0 -26
  943. package/src/core/instructions/trigger.ts +0 -26
  944. package/src/core/instructions/withdraw.ts +0 -44
  945. package/src/core/remainingAccounts.ts +0 -276
  946. package/src/core/signedMsg.ts +0 -71
  947. package/src/decode/customCoder.ts +0 -105
  948. package/src/decode/user.ts +0 -379
  949. package/src/dlob/DLOB.ts +0 -2222
  950. package/src/dlob/DLOBNode.ts +0 -213
  951. package/src/dlob/DLOBSubscriber.ts +0 -232
  952. package/src/dlob/NodeList.ts +0 -175
  953. package/src/dlob/orderBookLevels.ts +0 -601
  954. package/src/dlob/types.ts +0 -22
  955. package/src/events/eventList.ts +0 -100
  956. package/src/events/eventSubscriber.ts +0 -440
  957. package/src/events/eventsServerLogProvider.ts +0 -161
  958. package/src/events/fetchLogs.ts +0 -169
  959. package/src/events/parse.ts +0 -248
  960. package/src/events/pollingLogProvider.ts +0 -89
  961. package/src/events/sort.ts +0 -39
  962. package/src/events/txEventCache.ts +0 -80
  963. package/src/events/types.ts +0 -217
  964. package/src/events/webSocketLogProvider.ts +0 -123
  965. package/src/factory/bigNum.ts +0 -709
  966. package/src/factory/oracleClient.ts +0 -73
  967. package/src/idl/pyth.json +0 -142
  968. package/src/idl/pyth.ts +0 -97
  969. package/src/idl/pyth_solana_receiver.json +0 -628
  970. package/src/idl/token_faucet.json +0 -229
  971. package/src/idl/token_faucet.ts +0 -197
  972. package/src/idl/velocity.json +0 -23974
  973. package/src/idl/velocity.ts +0 -23980
  974. package/src/index.ts +0 -150
  975. package/src/indicative-quotes/indicativeQuotesSender.ts +0 -233
  976. package/src/isomorphic/README.md +0 -19
  977. package/src/isomorphic/anchor.browser.ts +0 -44
  978. package/src/isomorphic/anchor.node.ts +0 -1
  979. package/src/isomorphic/anchor.ts +0 -1
  980. package/src/isomorphic/anchor29.browser.ts +0 -24
  981. package/src/isomorphic/anchor29.node.ts +0 -1
  982. package/src/isomorphic/anchor29.ts +0 -1
  983. package/src/isomorphic/grpc.browser.ts +0 -4
  984. package/src/isomorphic/grpc.node.ts +0 -130
  985. package/src/isomorphic/grpc.ts +0 -1
  986. package/src/jupiter/jupiterClient.ts +0 -502
  987. package/src/keypair.ts +0 -24
  988. package/src/margin/README.md +0 -138
  989. package/src/marginCalculation.ts +0 -256
  990. package/src/marinade/idl/idl.json +0 -1962
  991. package/src/marinade/index.ts +0 -73
  992. package/src/marinade/types.ts +0 -3925
  993. package/src/math/amm.ts +0 -1423
  994. package/src/math/auction.ts +0 -371
  995. package/src/math/bankruptcy.ts +0 -35
  996. package/src/math/builder.ts +0 -64
  997. package/src/math/conversion.ts +0 -24
  998. package/src/math/exchangeStatus.ts +0 -146
  999. package/src/math/funding.ts +0 -458
  1000. package/src/math/insurance.ts +0 -109
  1001. package/src/math/liquidation.ts +0 -223
  1002. package/src/math/margin.ts +0 -261
  1003. package/src/math/market.ts +0 -356
  1004. package/src/math/oracles.ts +0 -353
  1005. package/src/math/orders.ts +0 -378
  1006. package/src/math/position.ts +0 -334
  1007. package/src/math/repeg.ts +0 -185
  1008. package/src/math/spotBalance.ts +0 -756
  1009. package/src/math/spotMarket.ts +0 -82
  1010. package/src/math/spotPosition.ts +0 -191
  1011. package/src/math/state.ts +0 -40
  1012. package/src/math/superStake.ts +0 -479
  1013. package/src/math/tiers.ts +0 -44
  1014. package/src/math/trade.ts +0 -809
  1015. package/src/math/utils.ts +0 -121
  1016. package/src/memcmp.ts +0 -177
  1017. package/src/oracles/oracleClientCache.ts +0 -25
  1018. package/src/oracles/oracleId.ts +0 -66
  1019. package/src/oracles/prelaunchOracleClient.ts +0 -43
  1020. package/src/oracles/pythClient.ts +0 -94
  1021. package/src/oracles/pythLazerClient.ts +0 -107
  1022. package/src/oracles/quoteAssetOracleClient.ts +0 -25
  1023. package/src/oracles/strictOraclePrice.ts +0 -19
  1024. package/src/oracles/types.ts +0 -37
  1025. package/src/oracles/utils.ts +0 -25
  1026. package/src/orderParams.ts +0 -79
  1027. package/src/orderSubscriber/OrderSubscriber.ts +0 -322
  1028. package/src/orderSubscriber/PollingSubscription.ts +0 -39
  1029. package/src/orderSubscriber/WebsocketSubscription.ts +0 -119
  1030. package/src/orderSubscriber/grpcSubscription.ts +0 -139
  1031. package/src/orderSubscriber/index.ts +0 -7
  1032. package/src/orderSubscriber/types.ts +0 -55
  1033. package/src/priorityFee/averageOverSlotsStrategy.ts +0 -16
  1034. package/src/priorityFee/averageStrategy.ts +0 -12
  1035. package/src/priorityFee/ewmaStrategy.ts +0 -41
  1036. package/src/priorityFee/heliusPriorityFeeMethod.ts +0 -57
  1037. package/src/priorityFee/index.ts +0 -16
  1038. package/src/priorityFee/maxOverSlotsStrategy.ts +0 -17
  1039. package/src/priorityFee/maxStrategy.ts +0 -7
  1040. package/src/priorityFee/priorityFeeSubscriber.ts +0 -289
  1041. package/src/priorityFee/priorityFeeSubscriberMap.ts +0 -115
  1042. package/src/priorityFee/solanaPriorityFeeMethod.ts +0 -34
  1043. package/src/priorityFee/types.ts +0 -64
  1044. package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -42
  1045. package/src/pyth/constants.ts +0 -9
  1046. package/src/pyth/index.ts +0 -15
  1047. package/src/pyth/pythLazerSubscriber.ts +0 -365
  1048. package/src/pyth/types.ts +0 -4451
  1049. package/src/pyth/utils.ts +0 -13
  1050. package/src/slot/SlotSubscriber.ts +0 -108
  1051. package/src/slot/SlothashSubscriber.ts +0 -137
  1052. package/src/swap/UnifiedSwapClient.ts +0 -315
  1053. package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +0 -81
  1054. package/src/swift/index.ts +0 -10
  1055. package/src/swift/signedMsgUserAccountSubscriber.ts +0 -251
  1056. package/src/swift/swiftOrderSubscriber.ts +0 -351
  1057. package/src/testClient.ts +0 -42
  1058. package/src/titan/titanClient.ts +0 -438
  1059. package/src/token/index.ts +0 -13
  1060. package/src/tokenFaucet.ts +0 -296
  1061. package/src/tx/baseTxSender.ts +0 -471
  1062. package/src/tx/blockhashFetcher/baseBlockhashFetcher.ts +0 -19
  1063. package/src/tx/blockhashFetcher/cachedBlockhashFetcher.ts +0 -90
  1064. package/src/tx/blockhashFetcher/types.ts +0 -5
  1065. package/src/tx/fastSingleTxSender.ts +0 -146
  1066. package/src/tx/forwardOnlyTxSender.ts +0 -145
  1067. package/src/tx/priorityFeeCalculator.ts +0 -117
  1068. package/src/tx/reportTransactionError.ts +0 -164
  1069. package/src/tx/retryTxSender.ts +0 -137
  1070. package/src/tx/txHandler.ts +0 -898
  1071. package/src/tx/txParamProcessor.ts +0 -178
  1072. package/src/tx/types.ts +0 -71
  1073. package/src/tx/utils.ts +0 -107
  1074. package/src/tx/whileValidTxSender.ts +0 -295
  1075. package/src/types.ts +0 -1822
  1076. package/src/user.ts +0 -4557
  1077. package/src/userConfig.ts +0 -38
  1078. package/src/userMap/PollingSubscription.ts +0 -47
  1079. package/src/userMap/WebsocketSubscription.ts +0 -84
  1080. package/src/userMap/grpcSubscription.ts +0 -85
  1081. package/src/userMap/referrerMap.ts +0 -271
  1082. package/src/userMap/revenueShareEscrowMap.ts +0 -315
  1083. package/src/userMap/userMap.ts +0 -706
  1084. package/src/userMap/userMapConfig.ts +0 -69
  1085. package/src/userMap/userStatsMap.ts +0 -371
  1086. package/src/userName.ts +0 -21
  1087. package/src/userStats.ts +0 -132
  1088. package/src/userStatsConfig.ts +0 -35
  1089. package/src/util/TransactionConfirmationManager.ts +0 -300
  1090. package/src/util/chainClock.ts +0 -41
  1091. package/src/util/computeUnits.ts +0 -69
  1092. package/src/util/digest.ts +0 -16
  1093. package/src/util/ed25519Utils.ts +0 -85
  1094. package/src/util/promiseTimeout.ts +0 -14
  1095. package/src/velocityClient.ts +0 -11612
  1096. package/src/velocityClientConfig.ts +0 -119
  1097. package/src/wallet.ts +0 -54
  1098. package/tests/VelocityCore/decode.test.ts +0 -16
  1099. package/tests/VelocityCore/fill_trigger.test.ts +0 -73
  1100. package/tests/VelocityCore/instructions.test.ts +0 -46
  1101. package/tests/VelocityCore/pdas.test.ts +0 -30
  1102. package/tests/VelocityCore/perp_orders.test.ts +0 -205
  1103. package/tests/VelocityCore/remainingAccounts.test.ts +0 -72
  1104. package/tests/VelocityCore/settlement_liquidation.test.ts +0 -69
  1105. package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +0 -211
  1106. package/tests/amm/test.ts +0 -2300
  1107. package/tests/auctions/test.ts +0 -81
  1108. package/tests/bn/test.ts +0 -355
  1109. package/tests/ci/verifyConstants.ts +0 -393
  1110. package/tests/decode/test.ts +0 -262
  1111. package/tests/decode/userAccountBufferStrings.ts +0 -102
  1112. package/tests/dlob/helpers.ts +0 -748
  1113. package/tests/dlob/test.ts +0 -6969
  1114. package/tests/events/parseLogsForCuUsage.ts +0 -139
  1115. package/tests/insurance/test.ts +0 -40
  1116. package/tests/spot/test.ts +0 -226
  1117. package/tests/tx/TransactionConfirmationManager.test.ts +0 -312
  1118. package/tests/tx/cachedBlockhashFetcher.test.ts +0 -96
  1119. package/tests/tx/priorityFeeCalculator.ts +0 -77
  1120. package/tests/tx/priorityFeeStrategy.ts +0 -95
  1121. package/tests/user/getMarginCalculation.ts +0 -361
  1122. package/tests/user/helpers.ts +0 -184
  1123. package/tests/user/liquidations.ts +0 -129
  1124. package/tests/user/marginCalculations.test.ts +0 -321
  1125. package/tests/user/test.ts +0 -829
  1126. package/tsconfig.browser.json +0 -18
  1127. package/tsconfig.json +0 -36
package/src/types.ts DELETED
@@ -1,1822 +0,0 @@
1
- /**
2
- * Shared TypeScript types for the Velocity SDK.
3
- *
4
- * Contains TypeScript mirrors of all on-chain account structs (UserAccount, PerpMarketAccount,
5
- * SpotMarketAccount, StateAccount, OracleData, etc.), instruction parameter types (OrderParams,
6
- * ModifyOrderParams), enums (MarketType, OrderType, PositionDirection, OracleSource), and
7
- * precision constants used throughout the SDK.
8
- *
9
- * The authoritative layout source is `sdk/src/idl/velocity.json` (generated from the program).
10
- * Do not edit struct shapes here without a corresponding on-chain change.
11
- */
12
- import {
13
- Keypair,
14
- PublicKey,
15
- Transaction,
16
- TransactionVersion,
17
- VersionedTransaction,
18
- } from '@solana/web3.js';
19
- import { BN } from './isomorphic/anchor';
20
- import { ZERO } from './constants/numericConstants';
21
-
22
- // Utility type which lets you denote record with values of type A mapped to a record with the same keys but values of type B
23
- export type MappedRecord<A extends Record<string, unknown>, B> = {
24
- [K in keyof A]: B;
25
- };
26
-
27
- // # Utility Types / Enums / Constants
28
-
29
- export enum ExchangeStatus {
30
- ACTIVE = 0,
31
- DEPOSIT_PAUSED = 1,
32
- WITHDRAW_PAUSED = 2,
33
- AMM_PAUSED = 4,
34
- FILL_PAUSED = 8,
35
- LIQ_PAUSED = 16,
36
- FUNDING_PAUSED = 32,
37
- SETTLE_PNL_PAUSED = 64,
38
- AMM_IMMEDIATE_FILL_PAUSED = 128,
39
- PAUSED = 255,
40
- }
41
-
42
- // Mirror of the Rust `SolvencyStatus` bitflag (State.solvencyStatus). Gates
43
- // internal solvency-repair flows independently of ExchangeStatus.WITHDRAW_PAUSED.
44
- export enum SolvencyStatus {
45
- ACTIVE = 0,
46
- SOLVENCY_REPAIR_PAUSED = 1,
47
- }
48
-
49
- export enum FeatureBitFlags {
50
- MM_ORACLE_UPDATE = 1,
51
- MEDIAN_TRIGGER_PRICE = 2,
52
- BUILDER_CODES = 4,
53
- BUILDER_REFERRAL = 8,
54
- }
55
-
56
- export class MarketStatus {
57
- static readonly INITIALIZED = { initialized: {} };
58
- static readonly ACTIVE = { active: {} };
59
- static readonly REDUCE_ONLY = { reduceOnly: {} };
60
- static readonly SETTLEMENT = { settlement: {} };
61
- static readonly DELISTED = { delisted: {} };
62
- }
63
-
64
- export enum PerpOperation {
65
- UPDATE_FUNDING = 1,
66
- AMM_FILL = 2,
67
- FILL = 4,
68
- SETTLE_PNL = 8,
69
- SETTLE_PNL_WITH_POSITION = 16,
70
- LIQUIDATION = 32,
71
- SETTLE_REV_POOL = 64,
72
- }
73
-
74
- export enum SpotOperation {
75
- UPDATE_CUMULATIVE_INTEREST = 1,
76
- FILL = 2,
77
- DEPOSIT = 4,
78
- WITHDRAW = 8,
79
- LIQUIDATION = 16,
80
- }
81
-
82
- export enum InsuranceFundOperation {
83
- INIT = 1,
84
- ADD = 2,
85
- REQUEST_REMOVE = 4,
86
- REMOVE = 8,
87
- }
88
-
89
- export enum UserStatus {
90
- BEING_LIQUIDATED = 1,
91
- BANKRUPT = 2,
92
- REDUCE_ONLY = 4,
93
- ADVANCED_LP = 8,
94
- // 16 reserved (was PROTECTED_MAKER)
95
- }
96
-
97
- export enum SpecialUserStatus {
98
- VAMM_HEDGER = 1,
99
- }
100
-
101
- export enum UserStatsPausedOperation {
102
- UPDATE_BID_ASK_TWAP = 1,
103
- AMM_ATOMIC_FILL = 2,
104
- AMM_ATOMIC_RISK_INCREASING_FILL = 4,
105
- }
106
-
107
- export enum MarketConfigFlag {
108
- DISABLE_FORMULAIC_K_UPDATE = 1,
109
- }
110
-
111
- export class MarginMode {
112
- static readonly DEFAULT = { default: {} };
113
- }
114
-
115
- export class ContractType {
116
- static readonly PERPETUAL = { perpetual: {} };
117
- static readonly FUTURE = { future: {} };
118
- }
119
-
120
- export class ContractTier {
121
- static readonly A = { a: {} };
122
- static readonly B = { b: {} };
123
- static readonly C = { c: {} };
124
- static readonly SPECULATIVE = { speculative: {} };
125
- static readonly HIGHLY_SPECULATIVE = { highlySpeculative: {} };
126
- static readonly ISOLATED = { isolated: {} };
127
- }
128
-
129
- export class AssetTier {
130
- static readonly COLLATERAL = { collateral: {} };
131
- static readonly PROTECTED = { protected: {} };
132
- static readonly CROSS = { cross: {} };
133
- static readonly ISOLATED = { isolated: {} };
134
- static readonly UNLISTED = { unlisted: {} };
135
- }
136
-
137
- export enum TokenProgramFlag {
138
- Token2022 = 1,
139
- TransferHook = 2,
140
- }
141
-
142
- export class SwapDirection {
143
- static readonly ADD = { add: {} };
144
- static readonly REMOVE = { remove: {} };
145
- }
146
-
147
- export class SpotBalanceType {
148
- static readonly DEPOSIT = { deposit: {} };
149
- static readonly BORROW = { borrow: {} };
150
- }
151
-
152
- export class PositionDirection {
153
- static readonly LONG = { long: {} };
154
- static readonly SHORT = { short: {} };
155
- }
156
-
157
- export class DepositDirection {
158
- static readonly DEPOSIT = { deposit: {} };
159
- static readonly WITHDRAW = { withdraw: {} };
160
- }
161
-
162
- export class OracleSource {
163
- static readonly PYTH = { pyth: {} };
164
- static readonly PYTH_1K = { pyth1K: {} };
165
- static readonly PYTH_1M = { pyth1M: {} };
166
- static readonly PYTH_PULL = { pythPull: {} };
167
- static readonly PYTH_1K_PULL = { pyth1KPull: {} };
168
- static readonly PYTH_1M_PULL = { pyth1MPull: {} };
169
- static readonly SWITCHBOARD = { switchboard: {} };
170
- static readonly QUOTE_ASSET = { quoteAsset: {} };
171
- static readonly PYTH_STABLE_COIN = { pythStableCoin: {} };
172
- static readonly PYTH_STABLE_COIN_PULL = { pythStableCoinPull: {} };
173
- static readonly Prelaunch = { prelaunch: {} };
174
- static readonly SWITCHBOARD_ON_DEMAND = { switchboardOnDemand: {} };
175
- static readonly PYTH_LAZER = { pythLazer: {} };
176
- static readonly PYTH_LAZER_1K = { pythLazer1K: {} };
177
- static readonly PYTH_LAZER_1M = { pythLazer1M: {} };
178
- static readonly PYTH_LAZER_STABLE_COIN = { pythLazerStableCoin: {} };
179
- }
180
-
181
- export class OracleSourceNum {
182
- static readonly PYTH = 0;
183
- static readonly PYTH_1K = 1;
184
- static readonly PYTH_1M = 2;
185
- static readonly PYTH_PULL = 3;
186
- static readonly PYTH_1K_PULL = 4;
187
- static readonly PYTH_1M_PULL = 5;
188
- static readonly SWITCHBOARD = 6;
189
- static readonly QUOTE_ASSET = 7;
190
- static readonly PYTH_STABLE_COIN = 8;
191
- static readonly PYTH_STABLE_COIN_PULL = 9;
192
- static readonly PRELAUNCH = 10;
193
- static readonly SWITCHBOARD_ON_DEMAND = 11;
194
- static readonly PYTH_LAZER = 12;
195
- static readonly PYTH_LAZER_1K = 13;
196
- static readonly PYTH_LAZER_1M = 14;
197
- static readonly PYTH_LAZER_STABLE_COIN = 15;
198
- }
199
-
200
- export class OrderType {
201
- static readonly LIMIT = { limit: {} };
202
- static readonly TRIGGER_MARKET = { triggerMarket: {} };
203
- static readonly TRIGGER_LIMIT = { triggerLimit: {} };
204
- static readonly MARKET = { market: {} };
205
- static readonly ORACLE = { oracle: {} };
206
- }
207
-
208
- export declare type MarketTypeStr = 'perp' | 'spot';
209
- export class MarketType {
210
- static readonly SPOT = { spot: {} };
211
- static readonly PERP = { perp: {} };
212
- }
213
-
214
- export class OrderStatus {
215
- static readonly INIT = { init: {} };
216
- static readonly OPEN = { open: {} };
217
- static readonly FILLED = { filled: {} };
218
- static readonly CANCELED = { canceled: {} };
219
- }
220
-
221
- export class OrderBitFlag {
222
- static readonly SignedMessage = 1;
223
- static readonly OracleTriggerMarket = 2;
224
- static readonly SafeTriggerOrder = 4;
225
- static readonly NewTriggerReduceOnly = 8;
226
- }
227
-
228
- export class OrderAction {
229
- static readonly PLACE = { place: {} };
230
- static readonly CANCEL = { cancel: {} };
231
- static readonly EXPIRE = { expire: {} };
232
- static readonly FILL = { fill: {} };
233
- static readonly TRIGGER = { trigger: {} };
234
- }
235
-
236
- export class OrderActionExplanation {
237
- static readonly NONE = { none: {} };
238
- static readonly INSUFFICIENT_FREE_COLLATERAL = {
239
- insufficientFreeCollateral: {},
240
- };
241
- static readonly ORACLE_PRICE_BREACHED_LIMIT_PRICE = {
242
- oraclePriceBreachedLimitPrice: {},
243
- };
244
- static readonly MARKET_ORDER_FILLED_TO_LIMIT_PRICE = {
245
- marketOrderFilledToLimitPrice: {},
246
- };
247
- static readonly ORDER_EXPIRED = {
248
- orderExpired: {},
249
- };
250
- static readonly LIQUIDATION = {
251
- liquidation: {},
252
- };
253
- static readonly ORDER_FILLED_WITH_AMM = {
254
- orderFilledWithAmm: {},
255
- };
256
- static readonly ORDER_FILLED_WITH_AMM_JIT = {
257
- orderFilledWithAmmJit: {},
258
- };
259
- static readonly ORDER_FILLED_WITH_AMM_JIT_LP_SPLIT = {
260
- orderFilledWithAmmJitLpSplit: {},
261
- };
262
- static readonly ORDER_FILLED_WITH_LP_JIT = {
263
- orderFilledWithLpJit: {},
264
- };
265
- static readonly ORDER_FILLED_WITH_MATCH = {
266
- orderFilledWithMatch: {},
267
- };
268
- static readonly ORDER_FILLED_WITH_MATCH_JIT = {
269
- orderFilledWithMatchJit: {},
270
- };
271
- static readonly MARKET_EXPIRED = {
272
- marketExpired: {},
273
- };
274
- static readonly RISK_INCREASING_ORDER = {
275
- riskingIncreasingOrder: {},
276
- };
277
- static readonly REDUCE_ONLY_ORDER_INCREASED_POSITION = {
278
- reduceOnlyOrderIncreasedPosition: {},
279
- };
280
- static readonly DERISK_LP = {
281
- deriskLp: {},
282
- };
283
- static readonly TRANSFER_PERP_POSITION = {
284
- transferPerpPosition: {},
285
- };
286
- }
287
-
288
- export class OrderTriggerCondition {
289
- static readonly ABOVE = { above: {} };
290
- static readonly BELOW = { below: {} };
291
- static readonly TRIGGERED_ABOVE = { triggeredAbove: {} }; // above condition has been triggered
292
- static readonly TRIGGERED_BELOW = { triggeredBelow: {} }; // below condition has been triggered
293
- }
294
-
295
- export class DepositExplanation {
296
- static readonly NONE = { none: {} };
297
- static readonly TRANSFER = { transfer: {} };
298
- static readonly BORROW = { borrow: {} };
299
- static readonly REPAY_BORROW = { repayBorrow: {} };
300
- static readonly REWARD = { reward: {} };
301
- }
302
-
303
- export class SettlePnlExplanation {
304
- static readonly NONE = { none: {} };
305
- static readonly EXPIRED_POSITION = { expiredPosition: {} };
306
- }
307
-
308
- export class StakeAction {
309
- static readonly STAKE = { stake: {} };
310
- static readonly UNSTAKE_REQUEST = { unstakeRequest: {} };
311
- static readonly UNSTAKE_CANCEL_REQUEST = { unstakeCancelRequest: {} };
312
- static readonly UNSTAKE = { unstake: {} };
313
- static readonly UNSTAKE_TRANSFER = { unstakeTransfer: {} };
314
- static readonly STAKE_TRANSFER = { stakeTransfer: {} };
315
- }
316
-
317
- export class SettlePnlMode {
318
- static readonly TRY_SETTLE = { trySettle: {} };
319
- static readonly MUST_SETTLE = { mustSettle: {} };
320
- }
321
-
322
- export function isVariant(object: unknown, type: string) {
323
- return Object.prototype.hasOwnProperty.call(object, type);
324
- }
325
-
326
- export function isOneOfVariant(object: unknown, types: string[]) {
327
- return types.reduce((result, type) => {
328
- return result || Object.prototype.hasOwnProperty.call(object, type);
329
- }, false);
330
- }
331
-
332
- export function getVariant(object: unknown): string {
333
- return Object.keys(object as object)[0];
334
- }
335
-
336
- export enum TradeSide {
337
- None = 0,
338
- Buy = 1,
339
- Sell = 2,
340
- }
341
-
342
- export type CandleResolution =
343
- | '1'
344
- | '5'
345
- | '15'
346
- | '60'
347
- | '240'
348
- | 'D'
349
- | 'W'
350
- | 'M';
351
-
352
- export type NewUserRecord = {
353
- ts: BN;
354
- userAuthority: PublicKey;
355
- user: PublicKey;
356
- subAccountId: number;
357
- name: number[];
358
- referrer: PublicKey;
359
- };
360
-
361
- export type DepositRecord = {
362
- ts: BN;
363
- userAuthority: PublicKey;
364
- user: PublicKey;
365
- direction: {
366
- deposit?: any;
367
- withdraw?: any;
368
- };
369
- marketIndex: number;
370
- amount: BN;
371
- oraclePrice: BN;
372
- marketDepositBalance: BN;
373
- marketWithdrawBalance: BN;
374
- marketCumulativeDepositInterest: BN;
375
- marketCumulativeBorrowInterest: BN;
376
- totalDepositsAfter: BN;
377
- totalWithdrawsAfter: BN;
378
- depositRecordId: BN;
379
- explanation: DepositExplanation;
380
- transferUser?: PublicKey;
381
- signer?: PublicKey;
382
- userTokenAmountAfter: BN;
383
- };
384
-
385
- export type SpotInterestRecord = {
386
- ts: BN;
387
- marketIndex: number;
388
- depositBalance: BN;
389
- cumulativeDepositInterest: BN;
390
- borrowBalance: BN;
391
- cumulativeBorrowInterest: BN;
392
- optimalUtilization: number;
393
- optimalBorrowRate: number;
394
- maxBorrowRate: number;
395
- };
396
-
397
- export type AmmCurveChanged = {
398
- ts: BN;
399
- marketIndex: number;
400
- pegMultiplierBefore: BN;
401
- baseAssetReserveBefore: BN;
402
- quoteAssetReserveBefore: BN;
403
- sqrtKBefore: BN;
404
- pegMultiplierAfter: BN;
405
- baseAssetReserveAfter: BN;
406
- quoteAssetReserveAfter: BN;
407
- sqrtKAfter: BN;
408
- adjustmentCost: BN;
409
- totalFeeMinusDistributionsAfter: BN;
410
- oraclePrice: BN;
411
- };
412
-
413
- export declare type InsuranceFundRecord = {
414
- ts: BN;
415
- spotMarketIndex: number;
416
- perpMarketIndex: number;
417
- userIfFactor: number;
418
- totalIfFactor: number;
419
- vaultAmountBefore: BN;
420
- insuranceVaultAmountBefore: BN;
421
- totalIfSharesBefore: BN;
422
- totalIfSharesAfter: BN;
423
- amount: BN;
424
- };
425
-
426
- export declare type InsuranceFundStakeRecord = {
427
- ts: BN;
428
- userAuthority: PublicKey;
429
- action: StakeAction;
430
- amount: BN;
431
- marketIndex: number;
432
- insuranceVaultAmountBefore: BN;
433
- ifSharesBefore: BN;
434
- userIfSharesBefore: BN;
435
- totalIfSharesBefore: BN;
436
- ifSharesAfter: BN;
437
- userIfSharesAfter: BN;
438
- totalIfSharesAfter: BN;
439
- };
440
-
441
- export type FundingRateRecord = {
442
- ts: BN;
443
- recordId: BN;
444
- marketIndex: number;
445
- fundingRate: BN;
446
- fundingRateLong: BN;
447
- fundingRateShort: BN;
448
- cumulativeFundingRateLong: BN;
449
- cumulativeFundingRateShort: BN;
450
- oraclePriceTwap: BN;
451
- markPriceTwap: BN;
452
- baseAssetAmountWithAmm: BN;
453
- };
454
-
455
- export type FundingPaymentRecord = {
456
- ts: BN;
457
- userAuthority: PublicKey;
458
- user: PublicKey;
459
- marketIndex: number;
460
- fundingPayment: BN;
461
- baseAssetAmount: BN;
462
- userLastCumulativeFunding: BN;
463
- ammCumulativeFundingLong: BN;
464
- ammCumulativeFundingShort: BN;
465
- };
466
-
467
- export type LiquidationRecord = {
468
- ts: BN;
469
- user: PublicKey;
470
- liquidator: PublicKey;
471
- liquidationType: LiquidationType;
472
- marginRequirement: BN;
473
- totalCollateral: BN;
474
- marginFreed: BN;
475
- liquidationId: number;
476
- bankrupt: boolean;
477
- canceledOrderIds: number[];
478
- liquidatePerp: LiquidatePerpRecord;
479
- liquidateSpot: LiquidateSpotRecord;
480
- liquidateBorrowForPerpPnl: LiquidateBorrowForPerpPnlRecord;
481
- liquidatePerpPnlForDeposit: LiquidatePerpPnlForDepositRecord;
482
- perpBankruptcy: PerpBankruptcyRecord;
483
- spotBankruptcy: SpotBankruptcyRecord;
484
- bitFlags: number;
485
- };
486
-
487
- export class LiquidationType {
488
- static readonly LIQUIDATE_PERP = { liquidatePerp: {} };
489
- static readonly LIQUIDATE_BORROW_FOR_PERP_PNL = {
490
- liquidateBorrowForPerpPnl: {},
491
- };
492
- static readonly LIQUIDATE_PERP_PNL_FOR_DEPOSIT = {
493
- liquidatePerpPnlForDeposit: {},
494
- };
495
- static readonly PERP_BANKRUPTCY = {
496
- perpBankruptcy: {},
497
- };
498
- static readonly SPOT_BANKRUPTCY = {
499
- spotBankruptcy: {},
500
- };
501
- static readonly LIQUIDATE_SPOT = {
502
- liquidateSpot: {},
503
- };
504
- }
505
-
506
- export type LiquidatePerpRecord = {
507
- marketIndex: number;
508
- oraclePrice: BN;
509
- baseAssetAmount: BN;
510
- quoteAssetAmount: BN;
511
- userOrderId: number;
512
- liquidatorOrderId: number;
513
- fillRecordId: BN;
514
- liquidatorFee: BN;
515
- ifFee: BN;
516
- protocolFee: BN;
517
- };
518
-
519
- export type LiquidateSpotRecord = {
520
- assetMarketIndex: number;
521
- assetPrice: BN;
522
- assetTransfer: BN;
523
- liabilityMarketIndex: number;
524
- liabilityPrice: BN;
525
- liabilityTransfer: BN;
526
- ifFee: BN;
527
- protocolFee: BN;
528
- };
529
-
530
- export type LiquidateBorrowForPerpPnlRecord = {
531
- perpMarketIndex: number;
532
- marketOraclePrice: BN;
533
- pnlTransfer: BN;
534
- liabilityMarketIndex: number;
535
- liabilityPrice: BN;
536
- liabilityTransfer: BN;
537
- };
538
-
539
- export type LiquidatePerpPnlForDepositRecord = {
540
- perpMarketIndex: number;
541
- marketOraclePrice: BN;
542
- pnlTransfer: BN;
543
- assetMarketIndex: number;
544
- assetPrice: BN;
545
- assetTransfer: BN;
546
- };
547
-
548
- export type PerpBankruptcyRecord = {
549
- marketIndex: number;
550
- pnl: BN;
551
- ifPayment: BN;
552
- clawbackUser: PublicKey | null;
553
- clawbackUserPayment: BN | null;
554
- cumulativeFundingRateDelta: BN;
555
- };
556
-
557
- export type SpotBankruptcyRecord = {
558
- marketIndex: number;
559
- borrowAmount: BN;
560
- cumulativeDepositInterestDelta: BN;
561
- ifPayment: BN;
562
- };
563
-
564
- export class LiquidationBitFlag {
565
- static readonly IsolatedPosition = 1;
566
- }
567
-
568
- export type SettlePnlRecord = {
569
- ts: BN;
570
- user: PublicKey;
571
- marketIndex: number;
572
- pnl: BN;
573
- baseAssetAmount: BN;
574
- quoteAssetAmountAfter: BN;
575
- quoteEntryAmount: BN;
576
- settlePrice: BN;
577
- explanation: SettlePnlExplanation;
578
- };
579
-
580
- export type SignedMsgOrderRecord = {
581
- ts: BN;
582
- user: PublicKey;
583
- hash: string;
584
- matchingOrderParams: OrderParams;
585
- signedMsgOrderMaxSlot: BN;
586
- signedMsgOrderUuid: Uint8Array;
587
- userOrderId: number;
588
- };
589
-
590
- export type OrderRecord = {
591
- ts: BN;
592
- user: PublicKey;
593
- order: Order;
594
- };
595
-
596
- export type OrderActionRecord = {
597
- ts: BN;
598
- action: OrderAction;
599
- actionExplanation: OrderActionExplanation;
600
- marketIndex: number;
601
- marketType: MarketType;
602
- filler: PublicKey | null;
603
- fillerReward: BN | null;
604
- fillRecordId: BN | null;
605
- baseAssetAmountFilled: BN | null;
606
- quoteAssetAmountFilled: BN | null;
607
- takerFee: BN | null;
608
- makerFee: BN | null;
609
- referrerReward: number | null;
610
- quoteAssetAmountSurplus: BN | null;
611
- spotFulfillmentMethodFee: BN | null;
612
- taker: PublicKey | null;
613
- takerOrderId: number | null;
614
- takerOrderDirection: PositionDirection | null;
615
- takerOrderBaseAssetAmount: BN | null;
616
- takerOrderCumulativeBaseAssetAmountFilled: BN | null;
617
- takerOrderCumulativeQuoteAssetAmountFilled: BN | null;
618
- maker: PublicKey | null;
619
- makerOrderId: number | null;
620
- makerOrderDirection: PositionDirection | null;
621
- makerOrderBaseAssetAmount: BN | null;
622
- makerOrderCumulativeBaseAssetAmountFilled: BN | null;
623
- makerOrderCumulativeQuoteAssetAmountFilled: BN | null;
624
- oraclePrice: BN;
625
- bitFlags: number;
626
- takerExistingQuoteEntryAmount: BN | null;
627
- takerExistingBaseAssetAmount: BN | null;
628
- makerExistingQuoteEntryAmount: BN | null;
629
- makerExistingBaseAssetAmount: BN | null;
630
- triggerPrice: BN | null;
631
- builderIdx: number | null;
632
- builderFee: BN | null;
633
- };
634
-
635
- export type SwapRecord = {
636
- ts: BN;
637
- user: PublicKey;
638
- amountOut: BN;
639
- amountIn: BN;
640
- outMarketIndex: number;
641
- inMarketIndex: number;
642
- outOraclePrice: BN;
643
- inOraclePrice: BN;
644
- fee: BN;
645
- };
646
-
647
- export type SpotMarketVaultDepositRecord = {
648
- ts: BN;
649
- marketIndex: number;
650
- depositBalance: BN;
651
- cumulativeDepositInterestBefore: BN;
652
- cumulativeDepositInterestAfter: BN;
653
- depositTokenAmountBefore: BN;
654
- amount: BN;
655
- };
656
-
657
- export type DeleteUserRecord = {
658
- ts: BN;
659
- userAuthority: PublicKey;
660
- user: PublicKey;
661
- subAccountId: number;
662
- keeper: PublicKey | null;
663
- };
664
-
665
- export type LPSwapRecord = {
666
- ts: BN;
667
- slot: BN;
668
- authority: PublicKey;
669
- outAmount: BN;
670
- inAmount: BN;
671
- outFee: BN;
672
- inFee: BN;
673
- outSpotMarketIndex: number;
674
- inSpotMarketIndex: number;
675
- outConstituentIndex: number;
676
- inConstituentIndex: number;
677
- outOraclePrice: BN;
678
- inOraclePrice: BN;
679
- lastAum: BN;
680
- lastAumSlot: BN;
681
- inMarketCurrentWeight: BN;
682
- outMarketCurrentWeight: BN;
683
- inMarketTargetWeight: BN;
684
- outMarketTargetWeight: BN;
685
- inSwapId: BN;
686
- outSwapId: BN;
687
- lpPool: PublicKey;
688
- };
689
-
690
- export type LPMintRedeemRecord = {
691
- ts: BN;
692
- slot: BN;
693
- authority: PublicKey;
694
- description: number;
695
- amount: BN;
696
- fee: BN;
697
- spotMarketIndex: number;
698
- constituentIndex: number;
699
- oraclePrice: BN;
700
- mint: PublicKey;
701
- lpAmount: BN;
702
- lpFee: BN;
703
- lpPrice: BN;
704
- mintRedeemId: BN;
705
- lastAum: BN;
706
- lastAumSlot: BN;
707
- inMarketCurrentWeight: BN;
708
- inMarketTargetWeight: BN;
709
- lpPool: PublicKey;
710
- };
711
-
712
- export type LPSettleRecord = {
713
- recordId: BN;
714
- lastTs: BN;
715
- lastSlot: BN;
716
- ts: BN;
717
- slot: BN;
718
- perpMarketIndex: number;
719
- settleToLpAmount: BN;
720
- perpAmmPnlDelta: BN;
721
- perpAmmExFeeDelta: BN;
722
- lpAum: BN;
723
- lpPrice: BN;
724
- lpPool: PublicKey;
725
- };
726
-
727
- export type LPBorrowLendDepositRecord = {
728
- ts: BN;
729
- slot: BN;
730
- spotMarketIndex: number;
731
- constituentIndex: number;
732
- direction: DepositDirection;
733
- tokenBalance: BN;
734
- lastTokenBalance: BN;
735
- interestAccruedTokenAmount: BN;
736
- amountDepositWithdraw: BN;
737
- lpPool: PublicKey;
738
- };
739
-
740
- export type StateAccount = {
741
- coldAdmin: PublicKey;
742
- warmAdmin: PublicKey;
743
- pauseAdmin: PublicKey;
744
- hotAmmCrank: PublicKey;
745
- hotLpCache: PublicKey;
746
- hotLpSwap: PublicKey;
747
- hotLpSettle: PublicKey;
748
- hotFeatureFlag: PublicKey;
749
- hotFuel: PublicKey;
750
- hotUserFlag: PublicKey;
751
- hotVaultDeposit: PublicKey;
752
- hotMmOracleCrank: PublicKey;
753
- hotAmmSpreadAdjust: PublicKey;
754
- hotFeeWithdraw: PublicKey;
755
- protocolFeeRecipientPerp: PublicKey;
756
- protocolFeeRecipientSpot: PublicKey;
757
- exchangeStatus: number;
758
- whitelistMint: PublicKey;
759
- discountMint: PublicKey;
760
- oracleGuardRails: OracleGuardRails;
761
- numberOfAuthorities: BN;
762
- numberOfSubAccounts: BN;
763
- numberOfMarkets: number;
764
- numberOfSpotMarkets: number;
765
- minPerpAuctionDuration: number;
766
- defaultMarketOrderTimeInForce: number;
767
- defaultSpotAuctionDuration: number;
768
- liquidationMarginBufferRatio: number;
769
- settlementDuration: number;
770
- maxNumberOfSubAccounts: number;
771
- signer: PublicKey;
772
- signerNonce: number;
773
- srmVault: PublicKey;
774
- perpFeeStructure: FeeStructure;
775
- spotFeeStructure: FeeStructure;
776
- initialPctToLiquidate: number;
777
- liquidationDuration: number;
778
- maxInitializeUserFee: number;
779
- featureBitFlags: number;
780
- lpPoolFeatureBitFlags: number;
781
- solvencyStatus: number;
782
- };
783
-
784
- export type PerpMarketAccount = {
785
- status: MarketStatus;
786
- contractType: ContractType;
787
- contractTier: ContractTier;
788
- expiryTs: BN;
789
- expiryPrice: BN;
790
- marketIndex: number;
791
- pubkey: PublicKey;
792
- name: number[];
793
- amm: AMM;
794
- marketStats: MarketStats;
795
- numberOfUsersWithBase: number;
796
- numberOfUsers: number;
797
- marginRatioInitial: number;
798
- marginRatioMaintenance: number;
799
- nextFillRecordId: BN;
800
- nextFundingRateRecordId: BN;
801
- pnlPool: PoolBalance;
802
- protocolFeePool: PoolBalance;
803
- feeLedger: FeeLedger;
804
- liquidatorFee: number;
805
- ifLiquidationFee: number;
806
- protocolLiquidationFee: number;
807
- feePoolBufferTarget: BN;
808
- imfFactor: number;
809
- unrealizedPnlImfFactor: number;
810
- unrealizedPnlMaxImbalance: BN;
811
- unrealizedPnlInitialAssetWeight: number;
812
- unrealizedPnlMaintenanceAssetWeight: number;
813
- insuranceClaim: {
814
- revenueWithdrawSinceLastSettle: BN;
815
- maxRevenueWithdrawPerPeriod: BN;
816
- lastRevenueWithdrawTs: BN;
817
- quoteSettledInsurance: BN;
818
- quoteMaxInsurance: BN;
819
- };
820
- quoteSpotMarketIndex: number;
821
- feeAdjustment: number;
822
- pausedOperations: number;
823
-
824
- lastFillPrice: BN;
825
- poolId: number;
826
-
827
- hedgeConfig: {
828
- poolId: number;
829
- status: number;
830
- pausedOperations: number;
831
- exchangeFeeExclusionScalar: number;
832
- feeTransferScalar: number;
833
- };
834
- marketConfig: number;
835
-
836
- // Fields migrated off AMM to top-level PerpMarket
837
- oracle: PublicKey;
838
- oracleSource: OracleSource;
839
- oracleSlotDelayOverride: number;
840
- oracleLowRiskSlotDelayOverride: number;
841
- baseAssetAmountLong: BN;
842
- baseAssetAmountShort: BN;
843
- quoteAssetAmount: BN;
844
- quoteEntryAmountLong: BN;
845
- quoteEntryAmountShort: BN;
846
- quoteBreakEvenAmountLong: BN;
847
- quoteBreakEvenAmountShort: BN;
848
- totalSocialLoss: BN;
849
- maxOpenInterest: BN;
850
- cumulativeFundingRateLong: BN;
851
- cumulativeFundingRateShort: BN;
852
- lastFundingRate: BN;
853
- lastFundingRateLong: BN;
854
- lastFundingRateShort: BN;
855
- lastFundingRateTs: BN;
856
- netUnsettledFundingPnl: BN;
857
- fundingClampThreshold: number;
858
- fundingRampSlope: number;
859
- orderStepSize: BN;
860
- orderTickSize: BN;
861
- };
862
-
863
- export type HistoricalOracleData = {
864
- lastOraclePrice: BN;
865
- lastOracleDelay: BN;
866
- lastOracleConf: BN;
867
- lastOraclePriceTwap: BN;
868
- lastOraclePriceTwap5Min: BN;
869
- lastOraclePriceTwapTs: BN;
870
- };
871
-
872
- export type HistoricalIndexData = {
873
- lastIndexBidPrice: BN;
874
- lastIndexAskPrice: BN;
875
- lastIndexPriceTwap: BN;
876
- lastIndexPriceTwap5Min: BN;
877
- lastIndexPriceTwapTs: BN;
878
- };
879
-
880
- export type SpotMarketAccount = {
881
- status: MarketStatus;
882
- assetTier: AssetTier;
883
- name: number[];
884
-
885
- marketIndex: number;
886
- pubkey: PublicKey;
887
- mint: PublicKey;
888
- vault: PublicKey;
889
-
890
- oracle: PublicKey;
891
- oracleSource: OracleSource;
892
- historicalOracleData: HistoricalOracleData;
893
- historicalIndexData: HistoricalIndexData;
894
-
895
- insuranceFund: {
896
- vault: PublicKey;
897
- totalShares: BN;
898
- userShares: BN;
899
- sharesBase: BN;
900
- unstakingPeriod: BN;
901
- lastRevenueSettleTs: BN;
902
- revenueSettlePeriod: BN;
903
- ifFeeFactor: number;
904
- };
905
-
906
- revenuePool: PoolBalance;
907
- protocolFeePool: PoolBalance;
908
-
909
- ifLiquidationFee: number;
910
- protocolLiquidationFee: number;
911
- protocolFeeFactor: number;
912
-
913
- decimals: number;
914
- optimalUtilization: number;
915
- optimalBorrowRate: number;
916
- maxBorrowRate: number;
917
- cumulativeDepositInterest: BN;
918
- cumulativeBorrowInterest: BN;
919
- totalSocialLoss: BN;
920
- totalQuoteSocialLoss: BN;
921
- depositBalance: BN;
922
- borrowBalance: BN;
923
- maxTokenDeposits: BN;
924
-
925
- lastInterestTs: BN;
926
- lastTwapTs: BN;
927
- expiryTs: BN;
928
- initialAssetWeight: number;
929
- maintenanceAssetWeight: number;
930
- initialLiabilityWeight: number;
931
- maintenanceLiabilityWeight: number;
932
- liquidatorFee: number;
933
- imfFactor: number;
934
- scaleInitialAssetWeightStart: BN;
935
-
936
- withdrawGuardThreshold: BN;
937
- depositTokenTwap: BN;
938
- borrowTokenTwap: BN;
939
- utilizationTwap: BN;
940
- nextDepositRecordId: BN;
941
-
942
- orderStepSize: BN;
943
- orderTickSize: BN;
944
- minOrderSize: BN;
945
- maxPositionSize: BN;
946
- nextFillRecordId: BN;
947
- spotFeePool: PoolBalance;
948
- totalSpotFee: BN;
949
- totalSwapFee: BN;
950
-
951
- flashLoanAmount: BN;
952
- flashLoanInitialTokenAmount: BN;
953
-
954
- ordersEnabled: boolean;
955
-
956
- pausedOperations: number;
957
-
958
- ifPausedOperations: number;
959
-
960
- maxTokenBorrowsFraction: number;
961
- minBorrowRate: number;
962
-
963
- tokenProgramFlag: number;
964
-
965
- poolId: number;
966
-
967
- feeAdjustment: number;
968
- };
969
-
970
- export type PoolBalance = {
971
- scaledBalance: BN;
972
- marketIndex: number;
973
- };
974
-
975
- /// Consolidated per-market fee ledger: lifetime analytics counters plus the
976
- /// pending (not-yet-materialized) protocol/IF/AMM carveouts and the AMM's
977
- /// backstop-of-last-resort clawback cap.
978
- export type FeeLedger = {
979
- totalExchangeFee: BN;
980
- totalLiquidationFee: BN;
981
- pendingProtocolFee: BN;
982
- pendingIfFee: BN;
983
- ammProtocolFeesReceived: BN;
984
- pendingAmmProvision: BN;
985
- };
986
-
987
- export type AMM = {
988
- feePool: PoolBalance;
989
- baseAssetReserve: BN;
990
- quoteAssetReserve: BN;
991
- concentrationCoef: BN;
992
- minBaseAssetReserve: BN;
993
- maxBaseAssetReserve: BN;
994
- sqrtK: BN;
995
- pegMultiplier: BN;
996
- terminalQuoteAssetReserve: BN;
997
- baseAssetAmountWithAmm: BN;
998
- /// the AMM's own fee-derived income (provision + spread surplus) — the
999
- /// market's gross fees are feeLedger.totalExchangeFee
1000
- totalFee: BN;
1001
- /// spread-capture component of totalFee (trading profit, not a paid fee)
1002
- totalMmFee: BN;
1003
- /// the AMM's equity ledger (retained earnings): fee income + funding/PnL
1004
- /// + credits − curve costs − bankruptcy clawbacks; AMM money only
1005
- totalFeeMinusDistributions: BN;
1006
- /// @deprecated frozen pre-isolation analytics counter
1007
- totalFeeWithdrawn: BN;
1008
- askBaseAssetReserve: BN;
1009
- askQuoteAssetReserve: BN;
1010
- bidBaseAssetReserve: BN;
1011
- bidQuoteAssetReserve: BN;
1012
- lastUpdateSlot: BN;
1013
- netRevenueSinceLastFunding: BN;
1014
- lastCumulativeFundingRateLong: BN;
1015
- lastCumulativeFundingRateShort: BN;
1016
- lastOracleReservePriceSpreadPct: BN;
1017
- lastSpreadUpdateSlot: BN;
1018
- baseSpread: number;
1019
- maxSpread: number;
1020
- longSpread: number;
1021
- shortSpread: number;
1022
- referencePriceOffset: number;
1023
- maxFillReserveFraction: number;
1024
- maxSlippageRatio: number;
1025
- curveUpdateIntensity: number;
1026
- ammJitIntensity: number;
1027
- ammSpreadAdjustment: number;
1028
- ammInventorySpreadAdjustment: number;
1029
- referencePriceOffsetDeadbandPct: number;
1030
- fundingBiasSensitivity: number;
1031
- };
1032
-
1033
- export type MarketStats = {
1034
- lastMarkPriceTwap: BN;
1035
- lastMarkPriceTwap5Min: BN;
1036
- lastMarkPriceTwapTs: BN;
1037
- lastBidPriceTwap: BN;
1038
- lastAskPriceTwap: BN;
1039
- markStd: BN;
1040
- oracleStd: BN;
1041
- lastOracleConfPct: BN;
1042
- volume24H: BN;
1043
- longIntensityVolume: BN;
1044
- shortIntensityVolume: BN;
1045
- lastTradeTs: BN;
1046
- last24HAvgFundingRate: BN;
1047
- fundingPeriod: BN;
1048
- minOrderSize: BN;
1049
- mmOraclePrice: BN;
1050
- mmOracleSlot: BN;
1051
- mmOracleSequenceId: BN;
1052
- lastOracleNormalisedPrice: BN;
1053
- lastReferencePriceOffset: number;
1054
- lastOracleValid: boolean;
1055
- lastFundingOracleTwap: BN;
1056
- historicalOracleData: HistoricalOracleData;
1057
- };
1058
-
1059
- // # User Account Types
1060
- export type PerpPosition = {
1061
- baseAssetAmount: BN;
1062
- lastCumulativeFundingRate: BN;
1063
- marketIndex: number;
1064
- quoteAssetAmount: BN;
1065
- quoteEntryAmount: BN;
1066
- quoteBreakEvenAmount: BN;
1067
- openOrders: number;
1068
- openBids: BN;
1069
- openAsks: BN;
1070
- settledPnl: BN;
1071
- /** TODO: remove this field - it doesn't exist on chain */
1072
- remainderBaseAssetAmount: number;
1073
- maxMarginRatio: number;
1074
- positionFlag: number;
1075
- isolatedPositionScaledBalance: BN;
1076
- };
1077
-
1078
- export type UserStatsAccount = {
1079
- numberOfSubAccounts: number;
1080
- numberOfSubAccountsCreated: number;
1081
- makerVolume30D: BN;
1082
- takerVolume30D: BN;
1083
- fillerVolume30D: BN;
1084
- lastMakerVolume30DTs: BN;
1085
- lastTakerVolume30DTs: BN;
1086
- lastFillerVolume30DTs: BN;
1087
- fees: {
1088
- totalFeePaid: BN;
1089
- totalFeeRebate: BN;
1090
- totalTokenDiscount: BN;
1091
- totalRefereeDiscount: BN;
1092
- };
1093
- referrer: PublicKey;
1094
- referrerStatus: number;
1095
- disableUpdatePerpBidAskTwap: number;
1096
- pausedOperations: number;
1097
- authority: PublicKey;
1098
- ifStakedQuoteAssetAmount: BN;
1099
- delegatePermissions: number;
1100
- };
1101
-
1102
- export type UserAccount = {
1103
- authority: PublicKey;
1104
- delegate: PublicKey;
1105
- name: number[];
1106
- subAccountId: number;
1107
- spotPositions: SpotPosition[];
1108
- perpPositions: PerpPosition[];
1109
- orders: Order[];
1110
- status: number;
1111
- nextLiquidationId: number;
1112
- nextOrderId: number;
1113
- maxMarginRatio: number;
1114
- settledPerpPnl: BN;
1115
- totalDeposits: BN;
1116
- totalWithdraws: BN;
1117
- totalSocialLoss: BN;
1118
- cumulativePerpFunding: BN;
1119
- cumulativeSpotFees: BN;
1120
- liquidationMarginFreed: BN;
1121
- lastActiveSlot: BN;
1122
- isMarginTradingEnabled: boolean;
1123
- idle: boolean;
1124
- openOrders: number;
1125
- hasOpenOrder: boolean;
1126
- openAuctions: number;
1127
- hasOpenAuction: boolean;
1128
- poolId: number;
1129
- specialUserStatus: number;
1130
- };
1131
-
1132
- export type SpotPosition = {
1133
- marketIndex: number;
1134
- balanceType: SpotBalanceType;
1135
- scaledBalance: BN;
1136
- openOrders: number;
1137
- openBids: BN;
1138
- openAsks: BN;
1139
- cumulativeDeposits: BN;
1140
- };
1141
-
1142
- export type Order = {
1143
- status: OrderStatus;
1144
- orderType: OrderType;
1145
- marketType: MarketType;
1146
- slot: BN;
1147
- orderId: number;
1148
- userOrderId: number;
1149
- marketIndex: number;
1150
- price: BN;
1151
- baseAssetAmount: BN;
1152
- baseAssetAmountFilled: BN;
1153
- quoteAssetAmountFilled: BN;
1154
- direction: PositionDirection;
1155
- reduceOnly: boolean;
1156
- triggerPrice: BN;
1157
- triggerCondition: OrderTriggerCondition;
1158
- existingPositionDirection: PositionDirection;
1159
- postOnly: boolean;
1160
- immediateOrCancel: boolean;
1161
- oraclePriceOffset: BN;
1162
- auctionDuration: number;
1163
- auctionStartPrice: BN;
1164
- auctionEndPrice: BN;
1165
- maxTs: BN;
1166
- bitFlags: number;
1167
- postedSlotTail: number;
1168
- };
1169
-
1170
- export type OrderParams = {
1171
- orderType: OrderType;
1172
- marketType: MarketType;
1173
- userOrderId: number;
1174
- direction: PositionDirection;
1175
- baseAssetAmount: BN;
1176
- price: BN;
1177
- marketIndex: number;
1178
- reduceOnly: boolean;
1179
- postOnly: PostOnlyParams;
1180
- bitFlags: number;
1181
- triggerPrice: BN | null;
1182
- triggerCondition: OrderTriggerCondition;
1183
- oraclePriceOffset: BN | null;
1184
- auctionDuration: number | null;
1185
- maxTs: BN | null;
1186
- auctionStartPrice: BN | null;
1187
- auctionEndPrice: BN | null;
1188
- /** index into the placing user's RevenueShareEscrow.approved_builders list (non-swift builder codes) */
1189
- builderIdx?: number | null;
1190
- /** builder fee on this order, in tenths of a bps, e.g. 100 = 0.01% */
1191
- builderFeeTenthBps?: number | null;
1192
- };
1193
-
1194
- export class PostOnlyParams {
1195
- static readonly NONE = { none: {} };
1196
- static readonly MUST_POST_ONLY = { mustPostOnly: {} }; // Tx fails if order can't be post only
1197
- static readonly TRY_POST_ONLY = { tryPostOnly: {} }; // Tx succeeds and order not placed if can't be post only
1198
- static readonly SLIDE = { slide: {} }; // Modify price to be post only if can't be post only
1199
- }
1200
-
1201
- /**
1202
- * How to distribute order sizes across scale orders
1203
- */
1204
- export class SizeDistribution {
1205
- static readonly FLAT = { flat: {} }; // Equal size for all orders
1206
- static readonly ASCENDING = { ascending: {} }; // Smallest at start price, largest at end price
1207
- static readonly DESCENDING = { descending: {} }; // Largest at start price, smallest at end price
1208
- }
1209
-
1210
- /**
1211
- * Parameters for placing scale orders - multiple limit orders distributed across a price range
1212
- */
1213
- export type ScaleOrderParams = {
1214
- marketType: MarketType;
1215
- direction: PositionDirection;
1216
- marketIndex: number;
1217
- /** Total base asset amount to distribute across all orders */
1218
- totalBaseAssetAmount: BN;
1219
- /** Starting price for the scale (in PRICE_PRECISION) */
1220
- startPrice: BN;
1221
- /** Ending price for the scale (in PRICE_PRECISION) */
1222
- endPrice: BN;
1223
- /** Number of orders to place (min 2, max 32). User cannot exceed 32 total open orders. */
1224
- orderCount: number;
1225
- /** How to distribute sizes across orders */
1226
- sizeDistribution: SizeDistribution;
1227
- /** Whether orders should be reduce-only */
1228
- reduceOnly: boolean;
1229
- /** Post-only setting for all orders */
1230
- postOnly: PostOnlyParams;
1231
- /** Bit flags (e.g., for high leverage mode) */
1232
- bitFlags: number;
1233
- /** Maximum timestamp for orders to be valid */
1234
- maxTs: BN | null;
1235
- };
1236
-
1237
- export class OrderParamsBitFlag {
1238
- static readonly ImmediateOrCancel = 1;
1239
- }
1240
-
1241
- export class PositionFlag {
1242
- static readonly IsolatedPosition = 1;
1243
- static readonly BeingLiquidated = 2;
1244
- static readonly Bankruptcy = 4;
1245
- }
1246
-
1247
- export type NecessaryOrderParams = {
1248
- orderType: OrderType;
1249
- marketIndex: number;
1250
- baseAssetAmount: BN;
1251
- direction: PositionDirection;
1252
- };
1253
-
1254
- export type OptionalOrderParams = {
1255
- [Property in keyof OrderParams]?: OrderParams[Property];
1256
- } & NecessaryOrderParams;
1257
-
1258
- export type ModifyOrderParams = {
1259
- [Property in keyof OrderParams]?: OrderParams[Property] | null;
1260
- } & { policy?: ModifyOrderPolicy | null };
1261
-
1262
- export enum ModifyOrderPolicy {
1263
- MustModify = 1,
1264
- ExcludePreviousFill = 2,
1265
- }
1266
-
1267
- export const DefaultOrderParams: OrderParams = {
1268
- orderType: OrderType.MARKET,
1269
- marketType: MarketType.PERP,
1270
- userOrderId: 0,
1271
- direction: PositionDirection.LONG,
1272
- baseAssetAmount: ZERO,
1273
- price: ZERO,
1274
- marketIndex: 0,
1275
- reduceOnly: false,
1276
- postOnly: PostOnlyParams.NONE,
1277
- bitFlags: 0,
1278
- triggerPrice: null,
1279
- triggerCondition: OrderTriggerCondition.ABOVE,
1280
- oraclePriceOffset: null,
1281
- auctionDuration: null,
1282
- maxTs: null,
1283
- auctionStartPrice: null,
1284
- auctionEndPrice: null,
1285
- builderIdx: null,
1286
- builderFeeTenthBps: null,
1287
- };
1288
-
1289
- export type SignedMsgOrderParamsMessage = {
1290
- signedMsgOrderParams: OrderParams;
1291
- subAccountId: number;
1292
- slot: BN;
1293
- uuid: Uint8Array;
1294
- takeProfitOrderParams: SignedMsgTriggerOrderParams | null;
1295
- stopLossOrderParams: SignedMsgTriggerOrderParams | null;
1296
- maxMarginRatio?: number | null;
1297
- builderIdx?: number | null;
1298
- builderFeeTenthBps?: number | null;
1299
- isolatedPositionDeposit?: BN | null;
1300
- };
1301
-
1302
- export type SignedMsgOrderParamsDelegateMessage = {
1303
- signedMsgOrderParams: OrderParams;
1304
- slot: BN;
1305
- uuid: Uint8Array;
1306
- takerPubkey: PublicKey;
1307
- takeProfitOrderParams: SignedMsgTriggerOrderParams | null;
1308
- stopLossOrderParams: SignedMsgTriggerOrderParams | null;
1309
- maxMarginRatio?: number | null;
1310
- builderIdx?: number | null;
1311
- builderFeeTenthBps?: number | null;
1312
- isolatedPositionDeposit?: BN | null;
1313
- };
1314
-
1315
- export type SignedMsgTriggerOrderParams = {
1316
- triggerPrice: BN;
1317
- baseAssetAmount: BN;
1318
- };
1319
-
1320
- export type MakerInfo = {
1321
- maker: PublicKey;
1322
- makerStats: PublicKey;
1323
- makerUserAccount: UserAccount;
1324
- order?: Order;
1325
- };
1326
-
1327
- export type TakerInfo = {
1328
- taker: PublicKey;
1329
- takerStats: PublicKey;
1330
- takerUserAccount: UserAccount;
1331
- order: Order;
1332
- };
1333
-
1334
- export type ReferrerInfo = {
1335
- referrer: PublicKey;
1336
- referrerStats: PublicKey;
1337
- };
1338
-
1339
- export enum ReferrerStatus {
1340
- IsReferrer = 1,
1341
- IsReferred = 2,
1342
- /** set when the user's RevenueShareEscrow was initialized with a referrer */
1343
- BuilderReferral = 4,
1344
- }
1345
-
1346
- export enum PlaceAndTakeOrderSuccessCondition {
1347
- PartialFill = 1,
1348
- FullFill = 2,
1349
- }
1350
-
1351
- type ExactType<T> = Pick<T, keyof T>;
1352
-
1353
- export type BaseTxParams = ExactType<{
1354
- computeUnits?: number;
1355
- computeUnitsPrice?: number;
1356
- }>;
1357
-
1358
- export type ProcessingTxParams = {
1359
- useSimulatedComputeUnits?: boolean;
1360
- computeUnitsBufferMultiplier?: number;
1361
- useSimulatedComputeUnitsForCUPriceCalculation?: boolean;
1362
- getCUPriceFromComputeUnits?: (computeUnits: number) => number;
1363
- lowerBoundCu?: number;
1364
- };
1365
-
1366
- export type TxParams = BaseTxParams & ProcessingTxParams;
1367
-
1368
- export class SwapReduceOnly {
1369
- static readonly In = { in: {} };
1370
- static readonly Out = { out: {} };
1371
- }
1372
-
1373
- // # Misc Types
1374
- export interface IWallet {
1375
- signTransaction(tx: Transaction): Promise<Transaction>;
1376
- signAllTransactions(txs: Transaction[]): Promise<Transaction[]>;
1377
- publicKey: PublicKey;
1378
- payer?: Keypair;
1379
- supportedTransactionVersions?:
1380
- | ReadonlySet<TransactionVersion>
1381
- | null
1382
- | undefined;
1383
- }
1384
- export interface IVersionedWallet {
1385
- signVersionedTransaction(
1386
- tx: VersionedTransaction
1387
- ): Promise<VersionedTransaction>;
1388
- signAllVersionedTransactions(
1389
- txs: VersionedTransaction[]
1390
- ): Promise<VersionedTransaction[]>;
1391
- publicKey: PublicKey;
1392
- payer?: Keypair;
1393
- }
1394
-
1395
- export interface IWalletV2 extends IWallet {
1396
- signMessage(message: Uint8Array): Promise<Uint8Array>;
1397
- }
1398
-
1399
- export type FeeStructure = {
1400
- feeTiers: FeeTier[];
1401
- fillerRewardStructure: OrderFillerRewardStructure;
1402
- flatFillerFee: BN;
1403
- ammFeeNumerator: number;
1404
- ifFeeNumerator: number;
1405
- };
1406
-
1407
- export type FeeTier = {
1408
- feeNumerator: number;
1409
- feeDenominator: number;
1410
- makerRebateNumerator: number;
1411
- makerRebateDenominator: number;
1412
- referrerRewardNumerator: number;
1413
- referrerRewardDenominator: number;
1414
- refereeFeeNumerator: number;
1415
- refereeFeeDenominator: number;
1416
- };
1417
-
1418
- export type OrderFillerRewardStructure = {
1419
- rewardNumerator: number;
1420
- rewardDenominator: number;
1421
- timeBasedRewardLowerBound: BN;
1422
- };
1423
-
1424
- export type OracleGuardRails = {
1425
- priceDivergence: {
1426
- markOraclePercentDivergence: BN;
1427
- oracleTwap5MinPercentDivergence: BN;
1428
- };
1429
- validity: {
1430
- slotsBeforeStaleForAmm: BN;
1431
- slotsBeforeStaleForMargin: BN;
1432
- confidenceIntervalMaxSize: BN;
1433
- tooVolatileRatio: BN;
1434
- };
1435
- };
1436
-
1437
- export enum OracleValidity {
1438
- NonPositive = 0,
1439
- TooVolatile = 1,
1440
- TooUncertain = 2,
1441
- StaleForMargin = 3,
1442
- InsufficientDataPoints = 4,
1443
- StaleForAMMLowRisk = 5,
1444
- isStaleForAmmImmediate = 6,
1445
- Valid = 7,
1446
- }
1447
-
1448
- export type PrelaunchOracle = {
1449
- price: BN;
1450
- maxPrice: BN;
1451
- confidence: BN;
1452
- ammLastUpdateSlot: BN;
1453
- lastUpdateSlot: BN;
1454
- perpMarketIndex: number;
1455
- };
1456
-
1457
- export type PrelaunchOracleParams = {
1458
- perpMarketIndex: number;
1459
- price: BN | null;
1460
- maxPrice: BN | null;
1461
- };
1462
-
1463
- export type PythLazerOracle = {
1464
- price: BN;
1465
- publishTime: BN;
1466
- postedSlot: BN;
1467
- exponent: number;
1468
- conf: BN;
1469
- };
1470
-
1471
- export type UpdatePerpMarketSummaryStatsParams = {
1472
- netUnsettledFundingPnl: BN | null;
1473
- updateAmmSummaryStats: boolean | null;
1474
- };
1475
-
1476
- export type MarginCategory = 'Initial' | 'Maintenance';
1477
-
1478
- export type InsuranceFundStake = {
1479
- costBasis: BN;
1480
-
1481
- marketIndex: number;
1482
- authority: PublicKey;
1483
-
1484
- ifShares: BN;
1485
- ifBase: BN;
1486
- lastValidTs: BN;
1487
-
1488
- lastWithdrawRequestShares: BN;
1489
- lastWithdrawRequestValue: BN;
1490
- lastWithdrawRequestTs: BN;
1491
- };
1492
-
1493
- export type ReferrerNameAccount = {
1494
- name: number[];
1495
- user: PublicKey;
1496
- authority: PublicKey;
1497
- userStats: PublicKey;
1498
- };
1499
-
1500
- export type PerpMarketExtendedInfo = {
1501
- marketIndex: number;
1502
- /**
1503
- * Min order size measured in base asset, using base precision
1504
- */
1505
- minOrderSize: BN;
1506
- /**
1507
- * Margin maintenance percentage, using margin precision (1e4)
1508
- */
1509
- marginMaintenance: number;
1510
- /**
1511
- * Max insurance available, measured in quote asset, using quote preicision
1512
- */
1513
- availableInsurance: BN;
1514
- /**
1515
- * Pnl pool available, this is measured in quote asset, using quote precision.
1516
- * Should be generated by using getTokenAmount and passing in the scaled balance of the base asset + quote spot account
1517
- */
1518
- pnlPoolValue: BN;
1519
- contractTier: ContractTier;
1520
- };
1521
-
1522
- export type HealthComponents = {
1523
- deposits: HealthComponent[];
1524
- borrows: HealthComponent[];
1525
- perpPositions: HealthComponent[];
1526
- perpPnl: HealthComponent[];
1527
- };
1528
-
1529
- export type HealthComponent = {
1530
- marketIndex: number;
1531
- size: BN;
1532
- value: BN;
1533
- weight: BN;
1534
- weightedValue: BN;
1535
- };
1536
-
1537
- export interface VelocityClientMetricsEvents {
1538
- txSigned: SignedTxData[];
1539
- preTxSigned: void;
1540
- }
1541
-
1542
- export type SignedTxData = {
1543
- txSig: string;
1544
- signedTx: Transaction | VersionedTransaction;
1545
- lastValidBlockHeight?: number;
1546
- blockHash: string;
1547
- };
1548
-
1549
- /* Represents proof of a signed msg taker order
1550
- * It can be provided to velocity program to fill a signed msg order
1551
- */
1552
- export interface SignedMsgOrderParams {
1553
- /**
1554
- * The encoded order params that were signed (borsh encoded then hexified).
1555
- */
1556
- orderParams: Buffer;
1557
- /**
1558
- * The signature generated for the orderParams
1559
- */
1560
- signature: Buffer;
1561
- }
1562
-
1563
- export type SignedMsgOrderId = {
1564
- maxSlot: BN;
1565
- uuid: Uint8Array;
1566
- orderId: number;
1567
- };
1568
-
1569
- export type SignedMsgUserOrdersAccount = {
1570
- authorityPubkey: PublicKey;
1571
- signedMsgOrderData: SignedMsgOrderId[];
1572
- };
1573
-
1574
- export type SignedMsgWsDelegatesAccount = {
1575
- delegates: PublicKey[];
1576
- };
1577
-
1578
- export type RevenueShareAccount = {
1579
- authority: PublicKey;
1580
- totalReferrerRewards: BN;
1581
- totalBuilderRewards: BN;
1582
- padding: number[];
1583
- };
1584
-
1585
- export type RevenueShareEscrowAccount = {
1586
- authority: PublicKey;
1587
- referrer: PublicKey;
1588
- reservedFixed: number[];
1589
- orders: RevenueShareOrder[];
1590
- approvedBuilders: BuilderInfo[];
1591
- };
1592
-
1593
- export type RevenueShareOrder = {
1594
- feesAccrued: BN;
1595
- orderId: number;
1596
- feeTenthBps: number;
1597
- marketIndex: number;
1598
- subAccountId: number;
1599
- builderIdx: number;
1600
- bitFlags: number;
1601
- userOrderIndex: number;
1602
- marketType: MarketType;
1603
- padding: number[];
1604
- };
1605
-
1606
- export type BuilderInfo = {
1607
- authority: PublicKey;
1608
- maxFeeTenthBps: number;
1609
- padding: number[];
1610
- };
1611
-
1612
- export type PerpMarketFeeSweepRecord = {
1613
- ts: BN;
1614
- marketIndex: number;
1615
- ifSwept: BN;
1616
- protocolSwept: BN;
1617
- ammProvisionTokenized: BN;
1618
- };
1619
-
1620
- export type ProtocolFeeWithdrawRecord = {
1621
- ts: BN;
1622
- marketIndex: number;
1623
- isPerp: boolean;
1624
- spotMarketIndex: number;
1625
- amount: BN;
1626
- recipientTokenAccount: PublicKey;
1627
- };
1628
-
1629
- export type RevenueShareSettleRecord = {
1630
- ts: BN;
1631
- builder: PublicKey | null;
1632
- referrer: PublicKey | null;
1633
- feeSettled: BN;
1634
- marketIndex: number;
1635
- marketType: MarketType;
1636
- builderTotalReferrerRewards: BN;
1637
- builderTotalBuilderRewards: BN;
1638
- builderSubAccountId: number;
1639
- };
1640
-
1641
- export type AddAmmConstituentMappingDatum = {
1642
- constituentIndex: number;
1643
- perpMarketIndex: number;
1644
- weight: BN;
1645
- };
1646
-
1647
- export type AmmConstituentDatum = AddAmmConstituentMappingDatum & {
1648
- lastSlot: BN;
1649
- };
1650
-
1651
- export type AmmConstituentMapping = {
1652
- lpPool: PublicKey;
1653
- bump: number;
1654
- weights: AmmConstituentDatum[];
1655
- };
1656
-
1657
- export type TargetDatum = {
1658
- costToTradeBps: number;
1659
- lastOracleSlot: BN;
1660
- lastPositionSlot: BN;
1661
- targetBase: BN;
1662
- };
1663
-
1664
- export type ConstituentTargetBaseAccount = {
1665
- lpPool: PublicKey;
1666
- bump: number;
1667
- targets: TargetDatum[];
1668
- };
1669
-
1670
- export type ConstituentCorrelations = {
1671
- lpPool: PublicKey;
1672
- bump: number;
1673
- correlations: BN[];
1674
- };
1675
-
1676
- export type LPPoolAccount = {
1677
- lpPoolId: number;
1678
- pubkey: PublicKey;
1679
- mint: PublicKey;
1680
- whitelistMint: PublicKey;
1681
- constituentTargetBase: PublicKey;
1682
- constituentCorrelations: PublicKey;
1683
- maxAum: BN;
1684
- lastAum: BN;
1685
- cumulativeQuoteSentToPerpMarkets: BN;
1686
- cumulativeQuoteReceivedFromPerpMarkets: BN;
1687
- totalMintRedeemFeesPaid: BN;
1688
- lastAumSlot: BN;
1689
- maxSettleQuoteAmount: BN;
1690
- mintRedeemId: BN;
1691
- settleId: BN;
1692
- minMintFee: BN;
1693
- tokenSupply: BN;
1694
- volatility: BN;
1695
- constituents: number;
1696
- quoteConstituentIndex: number;
1697
- bump: number;
1698
- gammaExecution: number;
1699
- xi: number;
1700
- targetOracleDelayFeeBpsPer10Slots: number;
1701
- targetPositionDelayFeeBpsPer10Slots: number;
1702
- };
1703
-
1704
- export type ConstituentSpotBalance = {
1705
- scaledBalance: BN;
1706
- cumulativeDeposits: BN;
1707
- marketIndex: number;
1708
- balanceType: SpotBalanceType;
1709
- };
1710
-
1711
- export type InitializeConstituentParams = {
1712
- spotMarketIndex: number;
1713
- decimals: number;
1714
- maxWeightDeviation: BN;
1715
- swapFeeMin: BN;
1716
- swapFeeMax: BN;
1717
- maxBorrowTokenAmount: BN;
1718
- oracleStalenessThreshold: BN;
1719
- costToTrade: number;
1720
- derivativeWeight: BN;
1721
- constituentDerivativeIndex?: number;
1722
- constituentDerivativeDepegThreshold?: BN;
1723
- constituentCorrelations: BN[];
1724
- volatility: BN;
1725
- gammaExecution?: number;
1726
- gammaInventory?: number;
1727
- xi?: number;
1728
- };
1729
-
1730
- export enum ConstituentStatus {
1731
- ACTIVE = 0,
1732
- REDUCE_ONLY = 1,
1733
- DECOMMISSIONED = 2,
1734
- }
1735
- export enum ConstituentLpOperation {
1736
- Swap = 0b00000001,
1737
- Deposit = 0b00000010,
1738
- Withdraw = 0b00000100,
1739
- }
1740
-
1741
- export type ConstituentAccount = {
1742
- pubkey: PublicKey;
1743
- mint: PublicKey;
1744
- lpPool: PublicKey;
1745
- vault: PublicKey;
1746
- totalSwapFees: BN;
1747
- spotBalance: ConstituentSpotBalance;
1748
- lastSpotBalanceTokenAmount: BN;
1749
- cumulativeSpotInterestAccruedTokenAmount: BN;
1750
- maxWeightDeviation: BN;
1751
- swapFeeMin: BN;
1752
- swapFeeMax: BN;
1753
- maxBorrowTokenAmount: BN;
1754
- vaultTokenBalance: BN;
1755
- lastOraclePrice: BN;
1756
- lastOracleSlot: BN;
1757
- oracleStalenessThreshold: BN;
1758
- flashLoanInitialTokenAmount: BN;
1759
- nextSwapId: BN;
1760
- derivativeWeight: BN;
1761
- volatility: BN;
1762
- constituentDerivativeDepegThreshold: BN;
1763
- constituentDerivativeIndex: number;
1764
- spotMarketIndex: number;
1765
- constituentIndex: number;
1766
- decimals: number;
1767
- bump: number;
1768
- vaultBump: number;
1769
- gammaInventory: number;
1770
- gammaExecution: number;
1771
- xi: number;
1772
- status: number;
1773
- pausedOperations: number;
1774
- };
1775
-
1776
- export type CacheInfo = {
1777
- oracle: PublicKey;
1778
- lastFeePoolTokenAmount: BN;
1779
- lastNetPnlPoolTokenAmount: BN;
1780
- lastExchangeFees: BN;
1781
- lastSettleAmmExFees: BN;
1782
- lastSettleAmmPnl: BN;
1783
- position: BN;
1784
- slot: BN;
1785
- lastSettleAmount: BN;
1786
- lastSettleSlot: BN;
1787
- lastSettleTs: BN;
1788
- quoteOwedFromLpPool: BN;
1789
- ammInventoryLimit: BN;
1790
- oraclePrice: BN;
1791
- oracleSlot: BN;
1792
- oracleSource: number;
1793
- oracleValidity: number;
1794
- lpStatusForPerpMarket: number;
1795
- ammPositionScalar: number;
1796
- marketIndex: number;
1797
- };
1798
-
1799
- export type AmmCache = {
1800
- bump: number;
1801
- cache: CacheInfo[];
1802
- };
1803
-
1804
- export type AccountLiquidatableStatus = {
1805
- canBeLiquidated: boolean;
1806
- marginRequirement: BN;
1807
- totalCollateral: BN;
1808
- };
1809
-
1810
- export class TransferFeeAndPnlPoolDirection {
1811
- static readonly FEE_TO_PNL_POOL = { feeToPnlPool: {} };
1812
- static readonly PNL_TO_FEE_POOL = { pnlToFeePool: {} };
1813
- }
1814
-
1815
- export type TransferFeeAndPnlPoolRecord = {
1816
- ts: BN;
1817
- slot: BN;
1818
- perpMarketIndexWithFeePool: number;
1819
- perpMarketIndexWithPnlPool: number;
1820
- direction: TransferFeeAndPnlPoolDirection;
1821
- amount: BN;
1822
- };