@drift-labs/sdk 2.97.0-beta.22 → 2.97.0-beta.23

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 (735) hide show
  1. package/VERSION +1 -1
  2. package/bun.lockb +0 -0
  3. package/lib/{accounts → browser/accounts}/bulkAccountLoader.d.ts +1 -0
  4. package/lib/browser/accounts/grpcAccountSubscriber.d.ts +16 -0
  5. package/lib/browser/accounts/grpcAccountSubscriber.js +154 -0
  6. package/lib/browser/accounts/grpcDriftClientAccountSubscriber.d.ts +12 -0
  7. package/lib/browser/accounts/grpcDriftClientAccountSubscriber.js +97 -0
  8. package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +10 -0
  9. package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.js +30 -0
  10. package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +18 -0
  11. package/lib/browser/accounts/grpcProgramAccountSubscriber.js +171 -0
  12. package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +10 -0
  13. package/lib/browser/accounts/grpcUserAccountSubscriber.js +28 -0
  14. package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +10 -0
  15. package/lib/browser/accounts/grpcUserStatsAccountSubscriber.js +28 -0
  16. package/lib/{accounts → browser/accounts}/types.d.ts +8 -0
  17. package/lib/{accounts → browser/accounts}/webSocketAccountSubscriber.d.ts +2 -1
  18. package/lib/{accounts → browser/accounts}/webSocketDriftClientAccountSubscriber.d.ts +3 -3
  19. package/lib/{accounts → browser/accounts}/webSocketProgramAccountSubscriber.d.ts +2 -1
  20. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +15 -0
  21. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +32 -0
  22. package/lib/{auctionSubscriber → browser/auctionSubscriber}/index.d.ts +1 -0
  23. package/lib/browser/auctionSubscriber/index.js +19 -0
  24. package/lib/{auctionSubscriber → browser/auctionSubscriber}/types.d.ts +2 -0
  25. package/lib/{bankrun → browser/bankrun}/bankrunConnection.d.ts +1 -0
  26. package/lib/{decode → browser/decode}/phoenix.d.ts +1 -0
  27. package/lib/{decode → browser/decode}/user.d.ts +1 -0
  28. package/lib/{dlob → browser/dlob}/DLOBOrders.d.ts +1 -0
  29. package/lib/{driftClient.d.ts → browser/driftClient.d.ts} +1 -0
  30. package/lib/{driftClient.js → browser/driftClient.js} +36 -15
  31. package/lib/{driftClientConfig.d.ts → browser/driftClientConfig.d.ts} +6 -1
  32. package/lib/browser/isomorphic/grpc.browser.d.ts +1 -0
  33. package/lib/browser/isomorphic/grpc.browser.js +8 -0
  34. package/lib/browser/isomorphic/grpc.d.ts +1 -0
  35. package/lib/browser/isomorphic/grpc.js +8 -0
  36. package/lib/browser/isomorphic/grpc.node.d.ts +5 -0
  37. package/lib/{math → browser/math}/oracles.d.ts +1 -0
  38. package/lib/{oracles → browser/oracles}/prelaunchOracleClient.d.ts +1 -0
  39. package/lib/{oracles → browser/oracles}/pythClient.d.ts +1 -0
  40. package/lib/{oracles → browser/oracles}/pythPullClient.d.ts +1 -0
  41. package/lib/{oracles → browser/oracles}/quoteAssetOracleClient.d.ts +1 -0
  42. package/lib/{oracles → browser/oracles}/switchboardClient.d.ts +1 -0
  43. package/lib/{oracles → browser/oracles}/switchboardOnDemandClient.d.ts +1 -0
  44. package/lib/{oracles → browser/oracles}/types.d.ts +1 -0
  45. package/lib/{orderSubscriber → browser/orderSubscriber}/OrderSubscriber.d.ts +3 -1
  46. package/lib/{orderSubscriber → browser/orderSubscriber}/OrderSubscriber.js +18 -4
  47. package/lib/browser/orderSubscriber/grpcSubscription.d.ts +22 -0
  48. package/lib/browser/orderSubscriber/grpcSubscription.js +66 -0
  49. package/lib/{orderSubscriber → browser/orderSubscriber}/types.d.ts +9 -0
  50. package/lib/{token → browser/token}/index.d.ts +1 -0
  51. package/lib/{tx → browser/tx}/baseTxSender.d.ts +1 -0
  52. package/lib/{tx → browser/tx}/fastSingleTxSender.d.ts +1 -0
  53. package/lib/{tx → browser/tx}/forwardOnlyTxSender.d.ts +1 -0
  54. package/lib/{tx → browser/tx}/retryTxSender.d.ts +1 -0
  55. package/lib/{tx → browser/tx}/types.d.ts +1 -0
  56. package/lib/{tx → browser/tx}/whileValidTxSender.d.ts +1 -0
  57. package/lib/{user.js → browser/user.js} +11 -4
  58. package/lib/{userConfig.d.ts → browser/userConfig.d.ts} +6 -1
  59. package/lib/{userMap → browser/userMap}/WebsocketSubscription.d.ts +1 -0
  60. package/lib/browser/userMap/grpcSubscription.d.ts +24 -0
  61. package/lib/browser/userMap/grpcSubscription.js +40 -0
  62. package/lib/{userMap → browser/userMap}/userMap.js +17 -1
  63. package/lib/{userMap → browser/userMap}/userMapConfig.d.ts +6 -0
  64. package/lib/{userStats.js → browser/userStats.js} +11 -4
  65. package/lib/{userStatsConfig.d.ts → browser/userStatsConfig.d.ts} +6 -0
  66. package/lib/node/accounts/basicUserAccountSubscriber.d.ts +27 -0
  67. package/lib/node/accounts/basicUserAccountSubscriber.js +38 -0
  68. package/lib/node/accounts/bulkAccountLoader.d.ts +37 -0
  69. package/lib/node/accounts/bulkAccountLoader.js +222 -0
  70. package/lib/node/accounts/bulkUserStatsSubscription.d.ts +7 -0
  71. package/lib/node/accounts/bulkUserStatsSubscription.js +21 -0
  72. package/lib/node/accounts/bulkUserSubscription.d.ts +7 -0
  73. package/lib/node/accounts/bulkUserSubscription.js +21 -0
  74. package/lib/node/accounts/fetch.d.ts +6 -0
  75. package/lib/node/accounts/fetch.js +30 -0
  76. package/lib/node/accounts/grpcAccountSubscriber.d.ts +16 -0
  77. package/lib/node/accounts/grpcAccountSubscriber.js +154 -0
  78. package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts +12 -0
  79. package/lib/node/accounts/grpcDriftClientAccountSubscriber.js +97 -0
  80. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +10 -0
  81. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.js +30 -0
  82. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +18 -0
  83. package/lib/node/accounts/grpcProgramAccountSubscriber.js +171 -0
  84. package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +10 -0
  85. package/lib/node/accounts/grpcUserAccountSubscriber.js +28 -0
  86. package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +10 -0
  87. package/lib/node/accounts/grpcUserStatsAccountSubscriber.js +28 -0
  88. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +18 -0
  89. package/lib/node/accounts/oneShotUserAccountSubscriber.js +48 -0
  90. package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts +69 -0
  91. package/lib/node/accounts/pollingDriftClientAccountSubscriber.js +415 -0
  92. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +29 -0
  93. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +110 -0
  94. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +27 -0
  95. package/lib/node/accounts/pollingOracleAccountSubscriber.js +78 -0
  96. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +26 -0
  97. package/lib/node/accounts/pollingTokenAccountSubscriber.js +78 -0
  98. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +29 -0
  99. package/lib/node/accounts/pollingUserAccountSubscriber.js +102 -0
  100. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +27 -0
  101. package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +94 -0
  102. package/lib/node/accounts/testBulkAccountLoader.d.ts +4 -0
  103. package/lib/node/accounts/testBulkAccountLoader.js +45 -0
  104. package/lib/node/accounts/types.d.ts +155 -0
  105. package/lib/node/accounts/types.js +16 -0
  106. package/lib/node/accounts/utils.d.ts +8 -0
  107. package/lib/node/accounts/utils.js +39 -0
  108. package/lib/node/accounts/webSocketAccountSubscriber.d.ts +29 -0
  109. package/lib/node/accounts/webSocketAccountSubscriber.js +149 -0
  110. package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts +66 -0
  111. package/lib/node/accounts/webSocketDriftClientAccountSubscriber.js +352 -0
  112. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +23 -0
  113. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +67 -0
  114. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +34 -0
  115. package/lib/node/accounts/webSocketProgramAccountSubscriber.js +127 -0
  116. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +23 -0
  117. package/lib/node/accounts/webSocketUserAccountSubscriber.js +61 -0
  118. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +22 -0
  119. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +52 -0
  120. package/lib/node/addresses/marketAddresses.d.ts +2 -0
  121. package/lib/node/addresses/marketAddresses.js +15 -0
  122. package/lib/node/addresses/pda.d.ts +30 -0
  123. package/lib/node/addresses/pda.js +193 -0
  124. package/lib/node/adminClient.d.ts +202 -0
  125. package/lib/node/adminClient.js +1826 -0
  126. package/lib/node/assert/assert.d.ts +1 -0
  127. package/lib/node/assert/assert.js +9 -0
  128. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +14 -0
  129. package/lib/node/auctionSubscriber/auctionSubscriber.js +32 -0
  130. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +15 -0
  131. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +32 -0
  132. package/lib/node/auctionSubscriber/index.d.ts +3 -0
  133. package/lib/node/auctionSubscriber/index.js +19 -0
  134. package/lib/node/auctionSubscriber/types.d.ts +14 -0
  135. package/lib/node/auctionSubscriber/types.js +2 -0
  136. package/lib/node/bankrun/bankrunConnection.d.ts +74 -0
  137. package/lib/node/bankrun/bankrunConnection.js +318 -0
  138. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +27 -0
  139. package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +89 -0
  140. package/lib/node/blockhashSubscriber/index.d.ts +1 -0
  141. package/lib/node/blockhashSubscriber/index.js +17 -0
  142. package/lib/node/blockhashSubscriber/types.d.ts +7 -0
  143. package/lib/node/blockhashSubscriber/types.js +2 -0
  144. package/lib/node/clock/clockSubscriber.d.ts +31 -0
  145. package/lib/node/clock/clockSubscriber.js +80 -0
  146. package/lib/node/config.d.ts +58 -0
  147. package/lib/node/config.js +126 -0
  148. package/lib/node/constants/numericConstants.d.ts +71 -0
  149. package/lib/node/constants/numericConstants.js +75 -0
  150. package/lib/node/constants/perpMarkets.d.ts +19 -0
  151. package/lib/node/constants/perpMarkets.js +868 -0
  152. package/lib/node/constants/spotMarkets.d.ts +23 -0
  153. package/lib/node/constants/spotMarkets.js +361 -0
  154. package/lib/node/constants/txConstants.d.ts +1 -0
  155. package/lib/node/constants/txConstants.js +4 -0
  156. package/lib/node/decode/phoenix.d.ts +7 -0
  157. package/lib/node/decode/phoenix.js +159 -0
  158. package/lib/node/decode/user.d.ts +4 -0
  159. package/lib/node/decode/user.js +339 -0
  160. package/lib/node/dlob/DLOB.d.ts +166 -0
  161. package/lib/node/dlob/DLOB.js +1142 -0
  162. package/lib/node/dlob/DLOBApiClient.d.ts +14 -0
  163. package/lib/node/dlob/DLOBApiClient.js +34 -0
  164. package/lib/node/dlob/DLOBNode.d.ts +57 -0
  165. package/lib/node/dlob/DLOBNode.js +86 -0
  166. package/lib/node/dlob/DLOBOrders.d.ts +17 -0
  167. package/lib/node/dlob/DLOBOrders.js +40 -0
  168. package/lib/node/dlob/DLOBSubscriber.d.ts +54 -0
  169. package/lib/node/dlob/DLOBSubscriber.js +139 -0
  170. package/lib/node/dlob/NodeList.d.ts +27 -0
  171. package/lib/node/dlob/NodeList.js +141 -0
  172. package/lib/node/dlob/dlobIdl.json +248 -0
  173. package/lib/node/dlob/orderBookLevels.d.ts +72 -0
  174. package/lib/node/dlob/orderBookLevels.js +438 -0
  175. package/lib/node/dlob/types.d.ts +18 -0
  176. package/lib/node/dlob/types.js +2 -0
  177. package/lib/node/driftClient.d.ts +820 -0
  178. package/lib/node/driftClient.js +4487 -0
  179. package/lib/node/driftClientConfig.d.ts +49 -0
  180. package/lib/node/driftClientConfig.js +2 -0
  181. package/lib/node/events/eventList.d.ts +22 -0
  182. package/lib/node/events/eventList.js +80 -0
  183. package/lib/node/events/eventSubscriber.d.ts +46 -0
  184. package/lib/node/events/eventSubscriber.js +223 -0
  185. package/lib/node/events/eventsServerLogProvider.d.ts +21 -0
  186. package/lib/node/events/eventsServerLogProvider.js +121 -0
  187. package/lib/node/events/fetchLogs.d.ts +25 -0
  188. package/lib/node/events/fetchLogs.js +99 -0
  189. package/lib/node/events/parse.d.ts +6 -0
  190. package/lib/node/events/parse.js +106 -0
  191. package/lib/node/events/pollingLogProvider.d.ts +17 -0
  192. package/lib/node/events/pollingLogProvider.js +58 -0
  193. package/lib/node/events/sort.d.ts +2 -0
  194. package/lib/node/events/sort.js +24 -0
  195. package/lib/node/events/txEventCache.d.ts +24 -0
  196. package/lib/node/events/txEventCache.js +71 -0
  197. package/lib/node/events/types.d.ts +77 -0
  198. package/lib/node/events/types.js +30 -0
  199. package/lib/node/events/webSocketLogProvider.d.ts +24 -0
  200. package/lib/node/events/webSocketLogProvider.js +96 -0
  201. package/lib/node/factory/bigNum.d.ts +122 -0
  202. package/lib/node/factory/bigNum.js +457 -0
  203. package/lib/node/factory/oracleClient.d.ts +5 -0
  204. package/lib/node/factory/oracleClient.js +52 -0
  205. package/lib/node/idl/drift.json +13651 -0
  206. package/lib/node/idl/openbook.json +3854 -0
  207. package/lib/node/idl/pyth_solana_receiver.json +628 -0
  208. package/lib/node/idl/switchboard.json +8354 -0
  209. package/lib/node/idl/switchboard_on_demand_30.json +4541 -0
  210. package/lib/node/idl/token_faucet.json +142 -0
  211. package/lib/node/index.d.ts +112 -0
  212. package/lib/node/index.js +134 -0
  213. package/lib/node/isomorphic/grpc.browser.d.ts +1 -0
  214. package/lib/node/isomorphic/grpc.d.ts +1 -0
  215. package/lib/node/isomorphic/grpc.js +17 -0
  216. package/lib/node/isomorphic/grpc.node.d.ts +5 -0
  217. package/lib/node/isomorphic/grpc.node.js +17 -0
  218. package/lib/node/jupiter/jupiterClient.d.ts +296 -0
  219. package/lib/node/jupiter/jupiterClient.js +178 -0
  220. package/lib/node/keypair.d.ts +2 -0
  221. package/lib/node/keypair.js +28 -0
  222. package/lib/node/marinade/index.d.ts +12 -0
  223. package/lib/node/marinade/index.js +36 -0
  224. package/lib/node/marinade/types.d.ts +1963 -0
  225. package/lib/node/marinade/types.js +1965 -0
  226. package/lib/node/math/amm.d.ts +98 -0
  227. package/lib/node/math/amm.js +626 -0
  228. package/lib/node/math/auction.d.ts +23 -0
  229. package/lib/node/math/auction.js +127 -0
  230. package/lib/node/math/bankruptcy.d.ts +2 -0
  231. package/lib/node/math/bankruptcy.js +31 -0
  232. package/lib/node/math/conversion.d.ts +2 -0
  233. package/lib/node/math/conversion.js +11 -0
  234. package/lib/node/math/exchangeStatus.d.ts +6 -0
  235. package/lib/node/math/exchangeStatus.js +77 -0
  236. package/lib/node/math/fuel.d.ts +6 -0
  237. package/lib/node/math/fuel.js +55 -0
  238. package/lib/node/math/funding.d.ts +34 -0
  239. package/lib/node/math/funding.js +209 -0
  240. package/lib/node/math/insurance.d.ts +7 -0
  241. package/lib/node/math/insurance.js +73 -0
  242. package/lib/node/math/margin.d.ts +39 -0
  243. package/lib/node/math/margin.js +184 -0
  244. package/lib/node/math/market.d.ts +39 -0
  245. package/lib/node/math/market.js +163 -0
  246. package/lib/node/math/oracles.d.ts +14 -0
  247. package/lib/node/math/oracles.js +134 -0
  248. package/lib/node/math/orders.d.ts +23 -0
  249. package/lib/node/math/orders.js +216 -0
  250. package/lib/node/math/position.d.ts +54 -0
  251. package/lib/node/math/position.js +198 -0
  252. package/lib/node/math/repeg.d.ts +22 -0
  253. package/lib/node/math/repeg.js +164 -0
  254. package/lib/node/math/spotBalance.d.ts +83 -0
  255. package/lib/node/math/spotBalance.js +373 -0
  256. package/lib/node/math/spotMarket.d.ts +11 -0
  257. package/lib/node/math/spotMarket.js +49 -0
  258. package/lib/node/math/spotPosition.d.ts +19 -0
  259. package/lib/node/math/spotPosition.js +78 -0
  260. package/lib/node/math/state.d.ts +5 -0
  261. package/lib/node/math/state.js +30 -0
  262. package/lib/node/math/superStake.d.ts +167 -0
  263. package/lib/node/math/superStake.js +306 -0
  264. package/lib/node/math/tiers.d.ts +4 -0
  265. package/lib/node/math/tiers.js +52 -0
  266. package/lib/node/math/trade.d.ts +117 -0
  267. package/lib/node/math/trade.js +637 -0
  268. package/lib/node/math/utils.d.ts +23 -0
  269. package/lib/node/math/utils.js +112 -0
  270. package/lib/node/memcmp.d.ts +7 -0
  271. package/lib/node/memcmp.js +63 -0
  272. package/lib/node/openbook/openbookV2FulfillmentConfigMap.d.ts +10 -0
  273. package/lib/node/openbook/openbookV2FulfillmentConfigMap.js +17 -0
  274. package/lib/node/openbook/openbookV2Subscriber.d.ts +36 -0
  275. package/lib/node/openbook/openbookV2Subscriber.js +104 -0
  276. package/lib/node/oracles/oracleClientCache.d.ts +9 -0
  277. package/lib/node/oracles/oracleClientCache.js +19 -0
  278. package/lib/node/oracles/prelaunchOracleClient.d.ts +12 -0
  279. package/lib/node/oracles/prelaunchOracleClient.js +24 -0
  280. package/lib/node/oracles/pythClient.d.ts +15 -0
  281. package/lib/node/oracles/pythClient.js +52 -0
  282. package/lib/node/oracles/pythPullClient.d.ts +19 -0
  283. package/lib/node/oracles/pythPullClient.js +60 -0
  284. package/lib/node/oracles/quoteAssetOracleClient.d.ts +10 -0
  285. package/lib/node/oracles/quoteAssetOracleClient.js +21 -0
  286. package/lib/node/oracles/strictOraclePrice.d.ts +9 -0
  287. package/lib/node/oracles/strictOraclePrice.js +17 -0
  288. package/lib/node/oracles/switchboardClient.d.ts +12 -0
  289. package/lib/node/oracles/switchboardClient.js +40 -0
  290. package/lib/node/oracles/switchboardOnDemandClient.d.ts +12 -0
  291. package/lib/node/oracles/switchboardOnDemandClient.js +32 -0
  292. package/lib/node/oracles/types.d.ts +23 -0
  293. package/lib/node/oracles/types.js +2 -0
  294. package/lib/node/orderParams.d.ts +29 -0
  295. package/lib/node/orderParams.js +44 -0
  296. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +42 -0
  297. package/lib/node/orderSubscriber/OrderSubscriber.js +179 -0
  298. package/lib/node/orderSubscriber/PollingSubscription.d.ts +12 -0
  299. package/lib/node/orderSubscriber/PollingSubscription.js +23 -0
  300. package/lib/node/orderSubscriber/WebsocketSubscription.d.ts +23 -0
  301. package/lib/node/orderSubscriber/WebsocketSubscription.js +67 -0
  302. package/lib/node/orderSubscriber/grpcSubscription.d.ts +22 -0
  303. package/lib/node/orderSubscriber/grpcSubscription.js +66 -0
  304. package/lib/node/orderSubscriber/index.d.ts +2 -0
  305. package/lib/{auctionSubscriber → node/orderSubscriber}/index.js +1 -1
  306. package/lib/node/orderSubscriber/types.d.ts +34 -0
  307. package/lib/node/orderSubscriber/types.js +2 -0
  308. package/lib/node/phoenix/phoenixFulfillmentConfigMap.d.ts +10 -0
  309. package/lib/node/phoenix/phoenixFulfillmentConfigMap.js +17 -0
  310. package/lib/node/phoenix/phoenixSubscriber.d.ts +41 -0
  311. package/lib/node/phoenix/phoenixSubscriber.js +152 -0
  312. package/lib/node/priorityFee/averageOverSlotsStrategy.d.ts +5 -0
  313. package/lib/node/priorityFee/averageOverSlotsStrategy.js +16 -0
  314. package/lib/node/priorityFee/averageStrategy.d.ts +5 -0
  315. package/lib/node/priorityFee/averageStrategy.js +11 -0
  316. package/lib/node/priorityFee/driftPriorityFeeMethod.d.ts +13 -0
  317. package/lib/node/priorityFee/driftPriorityFeeMethod.js +26 -0
  318. package/lib/node/priorityFee/ewmaStrategy.d.ts +11 -0
  319. package/lib/node/priorityFee/ewmaStrategy.js +33 -0
  320. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +20 -0
  321. package/lib/node/priorityFee/heliusPriorityFeeMethod.js +46 -0
  322. package/lib/node/priorityFee/index.d.ts +11 -0
  323. package/lib/node/priorityFee/index.js +27 -0
  324. package/lib/node/priorityFee/maxOverSlotsStrategy.d.ts +5 -0
  325. package/lib/node/priorityFee/maxOverSlotsStrategy.js +17 -0
  326. package/lib/node/priorityFee/maxStrategy.d.ts +7 -0
  327. package/lib/node/priorityFee/maxStrategy.js +9 -0
  328. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +46 -0
  329. package/lib/node/priorityFee/priorityFeeSubscriber.js +188 -0
  330. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +48 -0
  331. package/lib/node/priorityFee/priorityFeeSubscriberMap.js +88 -0
  332. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +6 -0
  333. package/lib/node/priorityFee/solanaPriorityFeeMethod.js +21 -0
  334. package/lib/node/priorityFee/types.d.ts +31 -0
  335. package/lib/node/priorityFee/types.js +10 -0
  336. package/lib/node/serum/serumFulfillmentConfigMap.d.ts +10 -0
  337. package/lib/node/serum/serumFulfillmentConfigMap.js +17 -0
  338. package/lib/node/serum/serumSubscriber.d.ts +32 -0
  339. package/lib/node/serum/serumSubscriber.js +107 -0
  340. package/lib/node/serum/types.d.ts +13 -0
  341. package/lib/node/serum/types.js +2 -0
  342. package/lib/node/slot/SlotSubscriber.d.ts +27 -0
  343. package/lib/node/slot/SlotSubscriber.js +71 -0
  344. package/lib/node/testClient.d.ts +8 -0
  345. package/lib/node/testClient.js +23 -0
  346. package/lib/node/token/index.d.ts +5 -0
  347. package/lib/node/token/index.js +15 -0
  348. package/lib/node/tokenFaucet.d.ts +41 -0
  349. package/lib/node/tokenFaucet.js +188 -0
  350. package/lib/node/tx/baseTxSender.d.ts +55 -0
  351. package/lib/node/tx/baseTxSender.js +288 -0
  352. package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.d.ts +8 -0
  353. package/lib/node/tx/blockhashFetcher/baseBlockhashFetcher.js +13 -0
  354. package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.d.ts +28 -0
  355. package/lib/node/tx/blockhashFetcher/cachedBlockhashFetcher.js +73 -0
  356. package/lib/node/tx/blockhashFetcher/types.d.ts +4 -0
  357. package/lib/node/tx/blockhashFetcher/types.js +2 -0
  358. package/lib/node/tx/fastSingleTxSender.d.ts +40 -0
  359. package/lib/node/tx/fastSingleTxSender.js +85 -0
  360. package/lib/node/tx/forwardOnlyTxSender.d.ts +36 -0
  361. package/lib/node/tx/forwardOnlyTxSender.js +91 -0
  362. package/lib/node/tx/priorityFeeCalculator.d.ts +44 -0
  363. package/lib/node/tx/priorityFeeCalculator.js +85 -0
  364. package/lib/node/tx/reportTransactionError.d.ts +20 -0
  365. package/lib/node/tx/reportTransactionError.js +103 -0
  366. package/lib/node/tx/retryTxSender.d.ts +36 -0
  367. package/lib/node/tx/retryTxSender.js +85 -0
  368. package/lib/node/tx/txHandler.d.ts +154 -0
  369. package/lib/node/tx/txHandler.js +453 -0
  370. package/lib/node/tx/txParamProcessor.d.ts +25 -0
  371. package/lib/node/tx/txParamProcessor.js +88 -0
  372. package/lib/node/tx/types.d.ts +29 -0
  373. package/lib/node/tx/types.js +20 -0
  374. package/lib/node/tx/utils.d.ts +2 -0
  375. package/lib/node/tx/utils.js +10 -0
  376. package/lib/node/tx/whileValidTxSender.d.ts +43 -0
  377. package/lib/node/tx/whileValidTxSender.js +165 -0
  378. package/lib/node/types.d.ts +1351 -0
  379. package/lib/node/types.js +347 -0
  380. package/lib/node/user.d.ts +411 -0
  381. package/lib/node/user.js +2161 -0
  382. package/lib/node/userConfig.d.ts +26 -0
  383. package/lib/node/userConfig.js +2 -0
  384. package/lib/node/userMap/PollingSubscription.d.ts +16 -0
  385. package/lib/node/userMap/PollingSubscription.js +30 -0
  386. package/lib/node/userMap/WebsocketSubscription.d.ts +25 -0
  387. package/lib/node/userMap/WebsocketSubscription.js +41 -0
  388. package/lib/node/userMap/grpcSubscription.d.ts +24 -0
  389. package/lib/node/userMap/grpcSubscription.js +40 -0
  390. package/lib/node/userMap/userMap.d.ts +88 -0
  391. package/lib/node/userMap/userMap.js +455 -0
  392. package/lib/node/userMap/userMapConfig.d.ts +37 -0
  393. package/lib/node/userMap/userMapConfig.js +2 -0
  394. package/lib/node/userMap/userStatsMap.d.ts +46 -0
  395. package/lib/node/userMap/userStatsMap.js +165 -0
  396. package/lib/node/userName.d.ts +5 -0
  397. package/lib/node/userName.js +21 -0
  398. package/lib/node/userStats.d.ts +19 -0
  399. package/lib/node/userStats.js +65 -0
  400. package/lib/node/userStatsConfig.d.ts +25 -0
  401. package/lib/node/userStatsConfig.js +2 -0
  402. package/lib/node/util/TransactionConfirmationManager.d.ts +16 -0
  403. package/lib/node/util/TransactionConfirmationManager.js +174 -0
  404. package/lib/node/util/chainClock.d.ts +17 -0
  405. package/lib/node/util/chainClock.js +29 -0
  406. package/lib/node/util/computeUnits.d.ts +8 -0
  407. package/lib/node/util/computeUnits.js +46 -0
  408. package/lib/node/util/promiseTimeout.d.ts +1 -0
  409. package/lib/node/util/promiseTimeout.js +14 -0
  410. package/lib/node/util/pythPullOracleUtils.d.ts +2 -0
  411. package/lib/node/util/pythPullOracleUtils.js +15 -0
  412. package/lib/node/util/tps.d.ts +2 -0
  413. package/lib/node/util/tps.js +16 -0
  414. package/lib/node/wallet.d.ts +11 -0
  415. package/lib/node/wallet.js +32 -0
  416. package/package.json +7 -4
  417. package/scripts/postbuild.js +61 -0
  418. package/src/accounts/grpcAccountSubscriber.ts +160 -0
  419. package/src/accounts/grpcDriftClientAccountSubscriber.ts +197 -0
  420. package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +56 -0
  421. package/src/accounts/grpcProgramAccountSubscriber.ts +190 -0
  422. package/src/accounts/grpcUserAccountSubscriber.ts +48 -0
  423. package/src/accounts/grpcUserStatsAccountSubscriber.ts +50 -0
  424. package/src/accounts/types.ts +8 -0
  425. package/src/accounts/webSocketAccountSubscriber.ts +1 -1
  426. package/src/accounts/webSocketDriftClientAccountSubscriber.ts +3 -3
  427. package/src/accounts/webSocketProgramAccountSubscriber.ts +1 -1
  428. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +70 -0
  429. package/src/auctionSubscriber/index.ts +1 -0
  430. package/src/auctionSubscriber/types.ts +2 -0
  431. package/src/driftClient.ts +28 -0
  432. package/src/driftClientConfig.ts +7 -1
  433. package/src/isomorphic/README.md +19 -0
  434. package/src/isomorphic/grpc.browser.ts +4 -0
  435. package/src/isomorphic/grpc.node.ts +23 -0
  436. package/src/isomorphic/grpc.ts +1 -0
  437. package/src/orderSubscriber/OrderSubscriber.ts +14 -1
  438. package/src/orderSubscriber/grpcSubscription.ts +121 -0
  439. package/src/orderSubscriber/types.ts +10 -0
  440. package/src/user.ts +11 -0
  441. package/src/userConfig.ts +7 -1
  442. package/src/userMap/grpcSubscription.ts +78 -0
  443. package/src/userMap/userMap.ts +21 -2
  444. package/src/userMap/userMapConfig.ts +7 -0
  445. package/src/userStats.ts +11 -0
  446. package/src/userStatsConfig.ts +7 -0
  447. package/tsconfig.browser.json +13 -0
  448. package/tsconfig.json +1 -1
  449. /package/lib/{accounts → browser/accounts}/basicUserAccountSubscriber.d.ts +0 -0
  450. /package/lib/{accounts → browser/accounts}/basicUserAccountSubscriber.js +0 -0
  451. /package/lib/{accounts → browser/accounts}/bulkAccountLoader.js +0 -0
  452. /package/lib/{accounts → browser/accounts}/bulkUserStatsSubscription.d.ts +0 -0
  453. /package/lib/{accounts → browser/accounts}/bulkUserStatsSubscription.js +0 -0
  454. /package/lib/{accounts → browser/accounts}/bulkUserSubscription.d.ts +0 -0
  455. /package/lib/{accounts → browser/accounts}/bulkUserSubscription.js +0 -0
  456. /package/lib/{accounts → browser/accounts}/fetch.d.ts +0 -0
  457. /package/lib/{accounts → browser/accounts}/fetch.js +0 -0
  458. /package/lib/{accounts → browser/accounts}/oneShotUserAccountSubscriber.d.ts +0 -0
  459. /package/lib/{accounts → browser/accounts}/oneShotUserAccountSubscriber.js +0 -0
  460. /package/lib/{accounts → browser/accounts}/pollingDriftClientAccountSubscriber.d.ts +0 -0
  461. /package/lib/{accounts → browser/accounts}/pollingDriftClientAccountSubscriber.js +0 -0
  462. /package/lib/{accounts → browser/accounts}/pollingInsuranceFundStakeAccountSubscriber.d.ts +0 -0
  463. /package/lib/{accounts → browser/accounts}/pollingInsuranceFundStakeAccountSubscriber.js +0 -0
  464. /package/lib/{accounts → browser/accounts}/pollingOracleAccountSubscriber.d.ts +0 -0
  465. /package/lib/{accounts → browser/accounts}/pollingOracleAccountSubscriber.js +0 -0
  466. /package/lib/{accounts → browser/accounts}/pollingTokenAccountSubscriber.d.ts +0 -0
  467. /package/lib/{accounts → browser/accounts}/pollingTokenAccountSubscriber.js +0 -0
  468. /package/lib/{accounts → browser/accounts}/pollingUserAccountSubscriber.d.ts +0 -0
  469. /package/lib/{accounts → browser/accounts}/pollingUserAccountSubscriber.js +0 -0
  470. /package/lib/{accounts → browser/accounts}/pollingUserStatsAccountSubscriber.d.ts +0 -0
  471. /package/lib/{accounts → browser/accounts}/pollingUserStatsAccountSubscriber.js +0 -0
  472. /package/lib/{accounts → browser/accounts}/testBulkAccountLoader.d.ts +0 -0
  473. /package/lib/{accounts → browser/accounts}/testBulkAccountLoader.js +0 -0
  474. /package/lib/{accounts → browser/accounts}/types.js +0 -0
  475. /package/lib/{accounts → browser/accounts}/utils.d.ts +0 -0
  476. /package/lib/{accounts → browser/accounts}/utils.js +0 -0
  477. /package/lib/{accounts → browser/accounts}/webSocketAccountSubscriber.js +0 -0
  478. /package/lib/{accounts → browser/accounts}/webSocketDriftClientAccountSubscriber.js +0 -0
  479. /package/lib/{accounts → browser/accounts}/webSocketInsuranceFundStakeAccountSubscriber.d.ts +0 -0
  480. /package/lib/{accounts → browser/accounts}/webSocketInsuranceFundStakeAccountSubscriber.js +0 -0
  481. /package/lib/{accounts → browser/accounts}/webSocketProgramAccountSubscriber.js +0 -0
  482. /package/lib/{accounts → browser/accounts}/webSocketUserAccountSubscriber.d.ts +0 -0
  483. /package/lib/{accounts → browser/accounts}/webSocketUserAccountSubscriber.js +0 -0
  484. /package/lib/{accounts → browser/accounts}/webSocketUserStatsAccountSubsriber.d.ts +0 -0
  485. /package/lib/{accounts → browser/accounts}/webSocketUserStatsAccountSubsriber.js +0 -0
  486. /package/lib/{addresses → browser/addresses}/marketAddresses.d.ts +0 -0
  487. /package/lib/{addresses → browser/addresses}/marketAddresses.js +0 -0
  488. /package/lib/{addresses → browser/addresses}/pda.d.ts +0 -0
  489. /package/lib/{addresses → browser/addresses}/pda.js +0 -0
  490. /package/lib/{adminClient.d.ts → browser/adminClient.d.ts} +0 -0
  491. /package/lib/{adminClient.js → browser/adminClient.js} +0 -0
  492. /package/lib/{assert → browser/assert}/assert.d.ts +0 -0
  493. /package/lib/{assert → browser/assert}/assert.js +0 -0
  494. /package/lib/{auctionSubscriber → browser/auctionSubscriber}/auctionSubscriber.d.ts +0 -0
  495. /package/lib/{auctionSubscriber → browser/auctionSubscriber}/auctionSubscriber.js +0 -0
  496. /package/lib/{auctionSubscriber → browser/auctionSubscriber}/types.js +0 -0
  497. /package/lib/{bankrun → browser/bankrun}/bankrunConnection.js +0 -0
  498. /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/BlockhashSubscriber.d.ts +0 -0
  499. /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/BlockhashSubscriber.js +0 -0
  500. /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/index.d.ts +0 -0
  501. /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/index.js +0 -0
  502. /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/types.d.ts +0 -0
  503. /package/lib/{blockhashSubscriber → browser/blockhashSubscriber}/types.js +0 -0
  504. /package/lib/{clock → browser/clock}/clockSubscriber.d.ts +0 -0
  505. /package/lib/{clock → browser/clock}/clockSubscriber.js +0 -0
  506. /package/lib/{config.d.ts → browser/config.d.ts} +0 -0
  507. /package/lib/{config.js → browser/config.js} +0 -0
  508. /package/lib/{constants → browser/constants}/numericConstants.d.ts +0 -0
  509. /package/lib/{constants → browser/constants}/numericConstants.js +0 -0
  510. /package/lib/{constants → browser/constants}/perpMarkets.d.ts +0 -0
  511. /package/lib/{constants → browser/constants}/perpMarkets.js +0 -0
  512. /package/lib/{constants → browser/constants}/spotMarkets.d.ts +0 -0
  513. /package/lib/{constants → browser/constants}/spotMarkets.js +0 -0
  514. /package/lib/{constants → browser/constants}/txConstants.d.ts +0 -0
  515. /package/lib/{constants → browser/constants}/txConstants.js +0 -0
  516. /package/lib/{decode → browser/decode}/phoenix.js +0 -0
  517. /package/lib/{decode → browser/decode}/user.js +0 -0
  518. /package/lib/{dlob → browser/dlob}/DLOB.d.ts +0 -0
  519. /package/lib/{dlob → browser/dlob}/DLOB.js +0 -0
  520. /package/lib/{dlob → browser/dlob}/DLOBApiClient.d.ts +0 -0
  521. /package/lib/{dlob → browser/dlob}/DLOBApiClient.js +0 -0
  522. /package/lib/{dlob → browser/dlob}/DLOBNode.d.ts +0 -0
  523. /package/lib/{dlob → browser/dlob}/DLOBNode.js +0 -0
  524. /package/lib/{dlob → browser/dlob}/DLOBOrders.js +0 -0
  525. /package/lib/{dlob → browser/dlob}/DLOBSubscriber.d.ts +0 -0
  526. /package/lib/{dlob → browser/dlob}/DLOBSubscriber.js +0 -0
  527. /package/lib/{dlob → browser/dlob}/NodeList.d.ts +0 -0
  528. /package/lib/{dlob → browser/dlob}/NodeList.js +0 -0
  529. /package/lib/{dlob → browser/dlob}/dlobIdl.json +0 -0
  530. /package/lib/{dlob → browser/dlob}/orderBookLevels.d.ts +0 -0
  531. /package/lib/{dlob → browser/dlob}/orderBookLevels.js +0 -0
  532. /package/lib/{dlob → browser/dlob}/types.d.ts +0 -0
  533. /package/lib/{dlob → browser/dlob}/types.js +0 -0
  534. /package/lib/{driftClientConfig.js → browser/driftClientConfig.js} +0 -0
  535. /package/lib/{events → browser/events}/eventList.d.ts +0 -0
  536. /package/lib/{events → browser/events}/eventList.js +0 -0
  537. /package/lib/{events → browser/events}/eventSubscriber.d.ts +0 -0
  538. /package/lib/{events → browser/events}/eventSubscriber.js +0 -0
  539. /package/lib/{events → browser/events}/eventsServerLogProvider.d.ts +0 -0
  540. /package/lib/{events → browser/events}/eventsServerLogProvider.js +0 -0
  541. /package/lib/{events → browser/events}/fetchLogs.d.ts +0 -0
  542. /package/lib/{events → browser/events}/fetchLogs.js +0 -0
  543. /package/lib/{events → browser/events}/parse.d.ts +0 -0
  544. /package/lib/{events → browser/events}/parse.js +0 -0
  545. /package/lib/{events → browser/events}/pollingLogProvider.d.ts +0 -0
  546. /package/lib/{events → browser/events}/pollingLogProvider.js +0 -0
  547. /package/lib/{events → browser/events}/sort.d.ts +0 -0
  548. /package/lib/{events → browser/events}/sort.js +0 -0
  549. /package/lib/{events → browser/events}/txEventCache.d.ts +0 -0
  550. /package/lib/{events → browser/events}/txEventCache.js +0 -0
  551. /package/lib/{events → browser/events}/types.d.ts +0 -0
  552. /package/lib/{events → browser/events}/types.js +0 -0
  553. /package/lib/{events → browser/events}/webSocketLogProvider.d.ts +0 -0
  554. /package/lib/{events → browser/events}/webSocketLogProvider.js +0 -0
  555. /package/lib/{factory → browser/factory}/bigNum.d.ts +0 -0
  556. /package/lib/{factory → browser/factory}/bigNum.js +0 -0
  557. /package/lib/{factory → browser/factory}/oracleClient.d.ts +0 -0
  558. /package/lib/{factory → browser/factory}/oracleClient.js +0 -0
  559. /package/lib/{idl → browser/idl}/drift.json +0 -0
  560. /package/lib/{idl → browser/idl}/openbook.json +0 -0
  561. /package/lib/{idl → browser/idl}/pyth_solana_receiver.json +0 -0
  562. /package/lib/{idl → browser/idl}/switchboard.json +0 -0
  563. /package/lib/{idl → browser/idl}/switchboard_on_demand_30.json +0 -0
  564. /package/lib/{idl → browser/idl}/token_faucet.json +0 -0
  565. /package/lib/{index.d.ts → browser/index.d.ts} +0 -0
  566. /package/lib/{index.js → browser/index.js} +0 -0
  567. /package/lib/{jupiter → browser/jupiter}/jupiterClient.d.ts +0 -0
  568. /package/lib/{jupiter → browser/jupiter}/jupiterClient.js +0 -0
  569. /package/lib/{keypair.d.ts → browser/keypair.d.ts} +0 -0
  570. /package/lib/{keypair.js → browser/keypair.js} +0 -0
  571. /package/lib/{marinade → browser/marinade}/index.d.ts +0 -0
  572. /package/lib/{marinade → browser/marinade}/index.js +0 -0
  573. /package/lib/{marinade → browser/marinade}/types.d.ts +0 -0
  574. /package/lib/{marinade → browser/marinade}/types.js +0 -0
  575. /package/lib/{math → browser/math}/amm.d.ts +0 -0
  576. /package/lib/{math → browser/math}/amm.js +0 -0
  577. /package/lib/{math → browser/math}/auction.d.ts +0 -0
  578. /package/lib/{math → browser/math}/auction.js +0 -0
  579. /package/lib/{math → browser/math}/bankruptcy.d.ts +0 -0
  580. /package/lib/{math → browser/math}/bankruptcy.js +0 -0
  581. /package/lib/{math → browser/math}/conversion.d.ts +0 -0
  582. /package/lib/{math → browser/math}/conversion.js +0 -0
  583. /package/lib/{math → browser/math}/exchangeStatus.d.ts +0 -0
  584. /package/lib/{math → browser/math}/exchangeStatus.js +0 -0
  585. /package/lib/{math → browser/math}/fuel.d.ts +0 -0
  586. /package/lib/{math → browser/math}/fuel.js +0 -0
  587. /package/lib/{math → browser/math}/funding.d.ts +0 -0
  588. /package/lib/{math → browser/math}/funding.js +0 -0
  589. /package/lib/{math → browser/math}/insurance.d.ts +0 -0
  590. /package/lib/{math → browser/math}/insurance.js +0 -0
  591. /package/lib/{math → browser/math}/margin.d.ts +0 -0
  592. /package/lib/{math → browser/math}/margin.js +0 -0
  593. /package/lib/{math → browser/math}/market.d.ts +0 -0
  594. /package/lib/{math → browser/math}/market.js +0 -0
  595. /package/lib/{math → browser/math}/oracles.js +0 -0
  596. /package/lib/{math → browser/math}/orders.d.ts +0 -0
  597. /package/lib/{math → browser/math}/orders.js +0 -0
  598. /package/lib/{math → browser/math}/position.d.ts +0 -0
  599. /package/lib/{math → browser/math}/position.js +0 -0
  600. /package/lib/{math → browser/math}/repeg.d.ts +0 -0
  601. /package/lib/{math → browser/math}/repeg.js +0 -0
  602. /package/lib/{math → browser/math}/spotBalance.d.ts +0 -0
  603. /package/lib/{math → browser/math}/spotBalance.js +0 -0
  604. /package/lib/{math → browser/math}/spotMarket.d.ts +0 -0
  605. /package/lib/{math → browser/math}/spotMarket.js +0 -0
  606. /package/lib/{math → browser/math}/spotPosition.d.ts +0 -0
  607. /package/lib/{math → browser/math}/spotPosition.js +0 -0
  608. /package/lib/{math → browser/math}/state.d.ts +0 -0
  609. /package/lib/{math → browser/math}/state.js +0 -0
  610. /package/lib/{math → browser/math}/superStake.d.ts +0 -0
  611. /package/lib/{math → browser/math}/superStake.js +0 -0
  612. /package/lib/{math → browser/math}/tiers.d.ts +0 -0
  613. /package/lib/{math → browser/math}/tiers.js +0 -0
  614. /package/lib/{math → browser/math}/trade.d.ts +0 -0
  615. /package/lib/{math → browser/math}/trade.js +0 -0
  616. /package/lib/{math → browser/math}/utils.d.ts +0 -0
  617. /package/lib/{math → browser/math}/utils.js +0 -0
  618. /package/lib/{memcmp.d.ts → browser/memcmp.d.ts} +0 -0
  619. /package/lib/{memcmp.js → browser/memcmp.js} +0 -0
  620. /package/lib/{openbook → browser/openbook}/openbookV2FulfillmentConfigMap.d.ts +0 -0
  621. /package/lib/{openbook → browser/openbook}/openbookV2FulfillmentConfigMap.js +0 -0
  622. /package/lib/{openbook → browser/openbook}/openbookV2Subscriber.d.ts +0 -0
  623. /package/lib/{openbook → browser/openbook}/openbookV2Subscriber.js +0 -0
  624. /package/lib/{oracles → browser/oracles}/oracleClientCache.d.ts +0 -0
  625. /package/lib/{oracles → browser/oracles}/oracleClientCache.js +0 -0
  626. /package/lib/{oracles → browser/oracles}/prelaunchOracleClient.js +0 -0
  627. /package/lib/{oracles → browser/oracles}/pythClient.js +0 -0
  628. /package/lib/{oracles → browser/oracles}/pythPullClient.js +0 -0
  629. /package/lib/{oracles → browser/oracles}/quoteAssetOracleClient.js +0 -0
  630. /package/lib/{oracles → browser/oracles}/strictOraclePrice.d.ts +0 -0
  631. /package/lib/{oracles → browser/oracles}/strictOraclePrice.js +0 -0
  632. /package/lib/{oracles → browser/oracles}/switchboardClient.js +0 -0
  633. /package/lib/{oracles → browser/oracles}/switchboardOnDemandClient.js +0 -0
  634. /package/lib/{oracles → browser/oracles}/types.js +0 -0
  635. /package/lib/{orderParams.d.ts → browser/orderParams.d.ts} +0 -0
  636. /package/lib/{orderParams.js → browser/orderParams.js} +0 -0
  637. /package/lib/{orderSubscriber → browser/orderSubscriber}/PollingSubscription.d.ts +0 -0
  638. /package/lib/{orderSubscriber → browser/orderSubscriber}/PollingSubscription.js +0 -0
  639. /package/lib/{orderSubscriber → browser/orderSubscriber}/WebsocketSubscription.d.ts +0 -0
  640. /package/lib/{orderSubscriber → browser/orderSubscriber}/WebsocketSubscription.js +0 -0
  641. /package/lib/{orderSubscriber → browser/orderSubscriber}/index.d.ts +0 -0
  642. /package/lib/{orderSubscriber → browser/orderSubscriber}/index.js +0 -0
  643. /package/lib/{orderSubscriber → browser/orderSubscriber}/types.js +0 -0
  644. /package/lib/{phoenix → browser/phoenix}/phoenixFulfillmentConfigMap.d.ts +0 -0
  645. /package/lib/{phoenix → browser/phoenix}/phoenixFulfillmentConfigMap.js +0 -0
  646. /package/lib/{phoenix → browser/phoenix}/phoenixSubscriber.d.ts +0 -0
  647. /package/lib/{phoenix → browser/phoenix}/phoenixSubscriber.js +0 -0
  648. /package/lib/{priorityFee → browser/priorityFee}/averageOverSlotsStrategy.d.ts +0 -0
  649. /package/lib/{priorityFee → browser/priorityFee}/averageOverSlotsStrategy.js +0 -0
  650. /package/lib/{priorityFee → browser/priorityFee}/averageStrategy.d.ts +0 -0
  651. /package/lib/{priorityFee → browser/priorityFee}/averageStrategy.js +0 -0
  652. /package/lib/{priorityFee → browser/priorityFee}/driftPriorityFeeMethod.d.ts +0 -0
  653. /package/lib/{priorityFee → browser/priorityFee}/driftPriorityFeeMethod.js +0 -0
  654. /package/lib/{priorityFee → browser/priorityFee}/ewmaStrategy.d.ts +0 -0
  655. /package/lib/{priorityFee → browser/priorityFee}/ewmaStrategy.js +0 -0
  656. /package/lib/{priorityFee → browser/priorityFee}/heliusPriorityFeeMethod.d.ts +0 -0
  657. /package/lib/{priorityFee → browser/priorityFee}/heliusPriorityFeeMethod.js +0 -0
  658. /package/lib/{priorityFee → browser/priorityFee}/index.d.ts +0 -0
  659. /package/lib/{priorityFee → browser/priorityFee}/index.js +0 -0
  660. /package/lib/{priorityFee → browser/priorityFee}/maxOverSlotsStrategy.d.ts +0 -0
  661. /package/lib/{priorityFee → browser/priorityFee}/maxOverSlotsStrategy.js +0 -0
  662. /package/lib/{priorityFee → browser/priorityFee}/maxStrategy.d.ts +0 -0
  663. /package/lib/{priorityFee → browser/priorityFee}/maxStrategy.js +0 -0
  664. /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriber.d.ts +0 -0
  665. /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriber.js +0 -0
  666. /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriberMap.d.ts +0 -0
  667. /package/lib/{priorityFee → browser/priorityFee}/priorityFeeSubscriberMap.js +0 -0
  668. /package/lib/{priorityFee → browser/priorityFee}/solanaPriorityFeeMethod.d.ts +0 -0
  669. /package/lib/{priorityFee → browser/priorityFee}/solanaPriorityFeeMethod.js +0 -0
  670. /package/lib/{priorityFee → browser/priorityFee}/types.d.ts +0 -0
  671. /package/lib/{priorityFee → browser/priorityFee}/types.js +0 -0
  672. /package/lib/{serum → browser/serum}/serumFulfillmentConfigMap.d.ts +0 -0
  673. /package/lib/{serum → browser/serum}/serumFulfillmentConfigMap.js +0 -0
  674. /package/lib/{serum → browser/serum}/serumSubscriber.d.ts +0 -0
  675. /package/lib/{serum → browser/serum}/serumSubscriber.js +0 -0
  676. /package/lib/{serum → browser/serum}/types.d.ts +0 -0
  677. /package/lib/{serum → browser/serum}/types.js +0 -0
  678. /package/lib/{slot → browser/slot}/SlotSubscriber.d.ts +0 -0
  679. /package/lib/{slot → browser/slot}/SlotSubscriber.js +0 -0
  680. /package/lib/{testClient.d.ts → browser/testClient.d.ts} +0 -0
  681. /package/lib/{testClient.js → browser/testClient.js} +0 -0
  682. /package/lib/{token → browser/token}/index.js +0 -0
  683. /package/lib/{tokenFaucet.d.ts → browser/tokenFaucet.d.ts} +0 -0
  684. /package/lib/{tokenFaucet.js → browser/tokenFaucet.js} +0 -0
  685. /package/lib/{tx → browser/tx}/baseTxSender.js +0 -0
  686. /package/lib/{tx → browser/tx}/blockhashFetcher/baseBlockhashFetcher.d.ts +0 -0
  687. /package/lib/{tx → browser/tx}/blockhashFetcher/baseBlockhashFetcher.js +0 -0
  688. /package/lib/{tx → browser/tx}/blockhashFetcher/cachedBlockhashFetcher.d.ts +0 -0
  689. /package/lib/{tx → browser/tx}/blockhashFetcher/cachedBlockhashFetcher.js +0 -0
  690. /package/lib/{tx → browser/tx}/blockhashFetcher/types.d.ts +0 -0
  691. /package/lib/{tx → browser/tx}/blockhashFetcher/types.js +0 -0
  692. /package/lib/{tx → browser/tx}/fastSingleTxSender.js +0 -0
  693. /package/lib/{tx → browser/tx}/forwardOnlyTxSender.js +0 -0
  694. /package/lib/{tx → browser/tx}/priorityFeeCalculator.d.ts +0 -0
  695. /package/lib/{tx → browser/tx}/priorityFeeCalculator.js +0 -0
  696. /package/lib/{tx → browser/tx}/reportTransactionError.d.ts +0 -0
  697. /package/lib/{tx → browser/tx}/reportTransactionError.js +0 -0
  698. /package/lib/{tx → browser/tx}/retryTxSender.js +0 -0
  699. /package/lib/{tx → browser/tx}/txHandler.d.ts +0 -0
  700. /package/lib/{tx → browser/tx}/txHandler.js +0 -0
  701. /package/lib/{tx → browser/tx}/txParamProcessor.d.ts +0 -0
  702. /package/lib/{tx → browser/tx}/txParamProcessor.js +0 -0
  703. /package/lib/{tx → browser/tx}/types.js +0 -0
  704. /package/lib/{tx → browser/tx}/utils.d.ts +0 -0
  705. /package/lib/{tx → browser/tx}/utils.js +0 -0
  706. /package/lib/{tx → browser/tx}/whileValidTxSender.js +0 -0
  707. /package/lib/{types.d.ts → browser/types.d.ts} +0 -0
  708. /package/lib/{types.js → browser/types.js} +0 -0
  709. /package/lib/{user.d.ts → browser/user.d.ts} +0 -0
  710. /package/lib/{userConfig.js → browser/userConfig.js} +0 -0
  711. /package/lib/{userMap → browser/userMap}/PollingSubscription.d.ts +0 -0
  712. /package/lib/{userMap → browser/userMap}/PollingSubscription.js +0 -0
  713. /package/lib/{userMap → browser/userMap}/WebsocketSubscription.js +0 -0
  714. /package/lib/{userMap → browser/userMap}/userMap.d.ts +0 -0
  715. /package/lib/{userMap → browser/userMap}/userMapConfig.js +0 -0
  716. /package/lib/{userMap → browser/userMap}/userStatsMap.d.ts +0 -0
  717. /package/lib/{userMap → browser/userMap}/userStatsMap.js +0 -0
  718. /package/lib/{userName.d.ts → browser/userName.d.ts} +0 -0
  719. /package/lib/{userName.js → browser/userName.js} +0 -0
  720. /package/lib/{userStats.d.ts → browser/userStats.d.ts} +0 -0
  721. /package/lib/{userStatsConfig.js → browser/userStatsConfig.js} +0 -0
  722. /package/lib/{util → browser/util}/TransactionConfirmationManager.d.ts +0 -0
  723. /package/lib/{util → browser/util}/TransactionConfirmationManager.js +0 -0
  724. /package/lib/{util → browser/util}/chainClock.d.ts +0 -0
  725. /package/lib/{util → browser/util}/chainClock.js +0 -0
  726. /package/lib/{util → browser/util}/computeUnits.d.ts +0 -0
  727. /package/lib/{util → browser/util}/computeUnits.js +0 -0
  728. /package/lib/{util → browser/util}/promiseTimeout.d.ts +0 -0
  729. /package/lib/{util → browser/util}/promiseTimeout.js +0 -0
  730. /package/lib/{util → browser/util}/pythPullOracleUtils.d.ts +0 -0
  731. /package/lib/{util → browser/util}/pythPullOracleUtils.js +0 -0
  732. /package/lib/{util → browser/util}/tps.d.ts +0 -0
  733. /package/lib/{util → browser/util}/tps.js +0 -0
  734. /package/lib/{wallet.d.ts → browser/wallet.d.ts} +0 -0
  735. /package/lib/{wallet.js → browser/wallet.js} +0 -0
@@ -0,0 +1,1351 @@
1
+ /// <reference types="bn.js" />
2
+ import { Keypair, PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';
3
+ import { BN } from '.';
4
+ export type MappedRecord<A extends Record<string, unknown>, B> = {
5
+ [K in keyof A]: B;
6
+ };
7
+ export declare enum ExchangeStatus {
8
+ ACTIVE = 0,
9
+ DEPOSIT_PAUSED = 1,
10
+ WITHDRAW_PAUSED = 2,
11
+ AMM_PAUSED = 4,
12
+ FILL_PAUSED = 8,
13
+ LIQ_PAUSED = 16,
14
+ FUNDING_PAUSED = 32,
15
+ SETTLE_PNL_PAUSED = 64,
16
+ PAUSED = 127
17
+ }
18
+ export declare class MarketStatus {
19
+ static readonly INITIALIZED: {
20
+ initialized: {};
21
+ };
22
+ static readonly ACTIVE: {
23
+ active: {};
24
+ };
25
+ static readonly FUNDING_PAUSED: {
26
+ fundingPaused: {};
27
+ };
28
+ static readonly AMM_PAUSED: {
29
+ ammPaused: {};
30
+ };
31
+ static readonly FILL_PAUSED: {
32
+ fillPaused: {};
33
+ };
34
+ static readonly WITHDRAW_PAUSED: {
35
+ withdrawPaused: {};
36
+ };
37
+ static readonly REDUCE_ONLY: {
38
+ reduceOnly: {};
39
+ };
40
+ static readonly SETTLEMENT: {
41
+ settlement: {};
42
+ };
43
+ static readonly DELISTED: {
44
+ delisted: {};
45
+ };
46
+ }
47
+ export declare enum PerpOperation {
48
+ UPDATE_FUNDING = 1,
49
+ AMM_FILL = 2,
50
+ FILL = 4,
51
+ SETTLE_PNL = 8,
52
+ SETTLE_PNL_WITH_POSITION = 16,
53
+ LIQUIDATION = 32
54
+ }
55
+ export declare enum SpotOperation {
56
+ UPDATE_CUMULATIVE_INTEREST = 1,
57
+ FILL = 2,
58
+ DEPOSIT = 4,
59
+ WITHDRAW = 8,
60
+ LIQUIDATION = 16
61
+ }
62
+ export declare enum InsuranceFundOperation {
63
+ INIT = 1,
64
+ ADD = 2,
65
+ REQUEST_REMOVE = 4,
66
+ REMOVE = 8
67
+ }
68
+ export declare enum UserStatus {
69
+ BEING_LIQUIDATED = 1,
70
+ BANKRUPT = 2,
71
+ REDUCE_ONLY = 4,
72
+ ADVANCED_LP = 8
73
+ }
74
+ export declare class MarginMode {
75
+ static readonly DEFAULT: {
76
+ default: {};
77
+ };
78
+ static readonly HIGH_LEVERAGE: {
79
+ highLeverage: {};
80
+ };
81
+ }
82
+ export declare class ContractType {
83
+ static readonly PERPETUAL: {
84
+ perpetual: {};
85
+ };
86
+ static readonly FUTURE: {
87
+ future: {};
88
+ };
89
+ static readonly PREDICTION: {
90
+ prediction: {};
91
+ };
92
+ }
93
+ export declare class ContractTier {
94
+ static readonly A: {
95
+ a: {};
96
+ };
97
+ static readonly B: {
98
+ b: {};
99
+ };
100
+ static readonly C: {
101
+ c: {};
102
+ };
103
+ static readonly SPECULATIVE: {
104
+ speculative: {};
105
+ };
106
+ static readonly HIGHLY_SPECULATIVE: {
107
+ highlySpeculative: {};
108
+ };
109
+ static readonly ISOLATED: {
110
+ isolated: {};
111
+ };
112
+ }
113
+ export declare class AssetTier {
114
+ static readonly COLLATERAL: {
115
+ collateral: {};
116
+ };
117
+ static readonly PROTECTED: {
118
+ protected: {};
119
+ };
120
+ static readonly CROSS: {
121
+ cross: {};
122
+ };
123
+ static readonly ISOLATED: {
124
+ isolated: {};
125
+ };
126
+ static readonly UNLISTED: {
127
+ unlisted: {};
128
+ };
129
+ }
130
+ export declare class SwapDirection {
131
+ static readonly ADD: {
132
+ add: {};
133
+ };
134
+ static readonly REMOVE: {
135
+ remove: {};
136
+ };
137
+ }
138
+ export declare class SpotBalanceType {
139
+ static readonly DEPOSIT: {
140
+ deposit: {};
141
+ };
142
+ static readonly BORROW: {
143
+ borrow: {};
144
+ };
145
+ }
146
+ export declare class PositionDirection {
147
+ static readonly LONG: {
148
+ long: {};
149
+ };
150
+ static readonly SHORT: {
151
+ short: {};
152
+ };
153
+ }
154
+ export declare class DepositDirection {
155
+ static readonly DEPOSIT: {
156
+ deposit: {};
157
+ };
158
+ static readonly WITHDRAW: {
159
+ withdraw: {};
160
+ };
161
+ }
162
+ export declare class OracleSource {
163
+ static readonly PYTH: {
164
+ pyth: {};
165
+ };
166
+ static readonly PYTH_1K: {
167
+ pyth1K: {};
168
+ };
169
+ static readonly PYTH_1M: {
170
+ pyth1M: {};
171
+ };
172
+ static readonly PYTH_PULL: {
173
+ pythPull: {};
174
+ };
175
+ static readonly PYTH_1K_PULL: {
176
+ pyth1KPull: {};
177
+ };
178
+ static readonly PYTH_1M_PULL: {
179
+ pyth1MPull: {};
180
+ };
181
+ static readonly SWITCHBOARD: {
182
+ switchboard: {};
183
+ };
184
+ static readonly QUOTE_ASSET: {
185
+ quoteAsset: {};
186
+ };
187
+ static readonly PYTH_STABLE_COIN: {
188
+ pythStableCoin: {};
189
+ };
190
+ static readonly PYTH_STABLE_COIN_PULL: {
191
+ pythStableCoinPull: {};
192
+ };
193
+ static readonly Prelaunch: {
194
+ prelaunch: {};
195
+ };
196
+ static readonly SWITCHBOARD_ON_DEMAND: {
197
+ switchboardOnDemand: {};
198
+ };
199
+ }
200
+ export declare class OrderType {
201
+ static readonly LIMIT: {
202
+ limit: {};
203
+ };
204
+ static readonly TRIGGER_MARKET: {
205
+ triggerMarket: {};
206
+ };
207
+ static readonly TRIGGER_LIMIT: {
208
+ triggerLimit: {};
209
+ };
210
+ static readonly MARKET: {
211
+ market: {};
212
+ };
213
+ static readonly ORACLE: {
214
+ oracle: {};
215
+ };
216
+ }
217
+ export declare type MarketTypeStr = 'perp' | 'spot';
218
+ export declare class MarketType {
219
+ static readonly SPOT: {
220
+ spot: {};
221
+ };
222
+ static readonly PERP: {
223
+ perp: {};
224
+ };
225
+ }
226
+ export declare class OrderStatus {
227
+ static readonly INIT: {
228
+ init: {};
229
+ };
230
+ static readonly OPEN: {
231
+ open: {};
232
+ };
233
+ }
234
+ export declare class OrderAction {
235
+ static readonly PLACE: {
236
+ place: {};
237
+ };
238
+ static readonly CANCEL: {
239
+ cancel: {};
240
+ };
241
+ static readonly EXPIRE: {
242
+ expire: {};
243
+ };
244
+ static readonly FILL: {
245
+ fill: {};
246
+ };
247
+ static readonly TRIGGER: {
248
+ trigger: {};
249
+ };
250
+ }
251
+ export declare class OrderActionExplanation {
252
+ static readonly NONE: {
253
+ none: {};
254
+ };
255
+ static readonly INSUFFICIENT_FREE_COLLATERAL: {
256
+ insufficientFreeCollateral: {};
257
+ };
258
+ static readonly ORACLE_PRICE_BREACHED_LIMIT_PRICE: {
259
+ oraclePriceBreachedLimitPrice: {};
260
+ };
261
+ static readonly MARKET_ORDER_FILLED_TO_LIMIT_PRICE: {
262
+ marketOrderFilledToLimitPrice: {};
263
+ };
264
+ static readonly ORDER_EXPIRED: {
265
+ orderExpired: {};
266
+ };
267
+ static readonly LIQUIDATION: {
268
+ liquidation: {};
269
+ };
270
+ static readonly ORDER_FILLED_WITH_AMM: {
271
+ orderFilledWithAmm: {};
272
+ };
273
+ static readonly ORDER_FILLED_WITH_AMM_JIT: {
274
+ orderFilledWithAmmJit: {};
275
+ };
276
+ static readonly ORDER_FILLED_WITH_AMM_JIT_LP_SPLIT: {
277
+ orderFilledWithAmmJitLpSplit: {};
278
+ };
279
+ static readonly ORDER_FILLED_WITH_LP_JIT: {
280
+ orderFilledWithLpJit: {};
281
+ };
282
+ static readonly ORDER_FILLED_WITH_MATCH: {
283
+ orderFilledWithMatch: {};
284
+ };
285
+ static readonly ORDER_FILLED_WITH_MATCH_JIT: {
286
+ orderFilledWithMatchJit: {};
287
+ };
288
+ static readonly MARKET_EXPIRED: {
289
+ marketExpired: {};
290
+ };
291
+ static readonly RISK_INCREASING_ORDER: {
292
+ riskingIncreasingOrder: {};
293
+ };
294
+ static readonly ORDER_FILLED_WITH_SERUM: {
295
+ orderFillWithSerum: {};
296
+ };
297
+ static readonly ORDER_FILLED_WITH_OPENBOOK_V2: {
298
+ orderFilledWithOpenbookV2: {};
299
+ };
300
+ static readonly ORDER_FILLED_WITH_PHOENIX: {
301
+ orderFillWithPhoenix: {};
302
+ };
303
+ static readonly REDUCE_ONLY_ORDER_INCREASED_POSITION: {
304
+ reduceOnlyOrderIncreasedPosition: {};
305
+ };
306
+ static readonly DERISK_LP: {
307
+ deriskLp: {};
308
+ };
309
+ }
310
+ export declare class OrderTriggerCondition {
311
+ static readonly ABOVE: {
312
+ above: {};
313
+ };
314
+ static readonly BELOW: {
315
+ below: {};
316
+ };
317
+ static readonly TRIGGERED_ABOVE: {
318
+ triggeredAbove: {};
319
+ };
320
+ static readonly TRIGGERED_BELOW: {
321
+ triggeredBelow: {};
322
+ };
323
+ }
324
+ export declare class SpotFulfillmentType {
325
+ static readonly EXTERNAL: {
326
+ external: {};
327
+ };
328
+ static readonly MATCH: {
329
+ match: {};
330
+ };
331
+ }
332
+ export declare class SpotFulfillmentStatus {
333
+ static readonly ENABLED: {
334
+ enabled: {};
335
+ };
336
+ static readonly DISABLED: {
337
+ disabled: {};
338
+ };
339
+ }
340
+ export declare class DepositExplanation {
341
+ static readonly NONE: {
342
+ none: {};
343
+ };
344
+ static readonly TRANSFER: {
345
+ transfer: {};
346
+ };
347
+ static readonly BORROW: {
348
+ borrow: {};
349
+ };
350
+ static readonly REPAY_BORROW: {
351
+ repayBorrow: {};
352
+ };
353
+ }
354
+ export declare class SettlePnlExplanation {
355
+ static readonly NONE: {
356
+ none: {};
357
+ };
358
+ static readonly EXPIRED_POSITION: {
359
+ expiredPosition: {};
360
+ };
361
+ }
362
+ export declare class SpotFulfillmentConfigStatus {
363
+ static readonly ENABLED: {
364
+ enabled: {};
365
+ };
366
+ static readonly DISABLED: {
367
+ disabled: {};
368
+ };
369
+ }
370
+ export declare class StakeAction {
371
+ static readonly STAKE: {
372
+ stake: {};
373
+ };
374
+ static readonly UNSTAKE_REQUEST: {
375
+ unstakeRequest: {};
376
+ };
377
+ static readonly UNSTAKE_CANCEL_REQUEST: {
378
+ unstakeCancelRequest: {};
379
+ };
380
+ static readonly UNSTAKE: {
381
+ unstake: {};
382
+ };
383
+ static readonly UNSTAKE_TRANSFER: {
384
+ unstakeTransfer: {};
385
+ };
386
+ static readonly STAKE_TRANSFER: {
387
+ stakeTransfer: {};
388
+ };
389
+ }
390
+ export declare class SettlePnlMode {
391
+ static readonly TRY_SETTLE: {
392
+ trySettle: {};
393
+ };
394
+ static readonly MUST_SETTLE: {
395
+ mustSettle: {};
396
+ };
397
+ }
398
+ export declare function isVariant(object: unknown, type: string): boolean;
399
+ export declare function isOneOfVariant(object: unknown, types: string[]): boolean;
400
+ export declare function getVariant(object: unknown): string;
401
+ export declare enum TradeSide {
402
+ None = 0,
403
+ Buy = 1,
404
+ Sell = 2
405
+ }
406
+ export type CandleResolution = '1' | '5' | '15' | '60' | '240' | 'D' | 'W' | 'M';
407
+ export type NewUserRecord = {
408
+ ts: BN;
409
+ userAuthority: PublicKey;
410
+ user: PublicKey;
411
+ subAccountId: number;
412
+ name: number[];
413
+ referrer: PublicKey;
414
+ };
415
+ export type DepositRecord = {
416
+ ts: BN;
417
+ userAuthority: PublicKey;
418
+ user: PublicKey;
419
+ direction: {
420
+ deposit?: any;
421
+ withdraw?: any;
422
+ };
423
+ marketIndex: number;
424
+ amount: BN;
425
+ oraclePrice: BN;
426
+ marketDepositBalance: BN;
427
+ marketWithdrawBalance: BN;
428
+ marketCumulativeDepositInterest: BN;
429
+ marketCumulativeBorrowInterest: BN;
430
+ totalDepositsAfter: BN;
431
+ totalWithdrawsAfter: BN;
432
+ depositRecordId: BN;
433
+ explanation: DepositExplanation;
434
+ transferUser?: PublicKey;
435
+ };
436
+ export type SpotInterestRecord = {
437
+ ts: BN;
438
+ marketIndex: number;
439
+ depositBalance: BN;
440
+ cumulativeDepositInterest: BN;
441
+ borrowBalance: BN;
442
+ cumulativeBorrowInterest: BN;
443
+ optimalUtilization: number;
444
+ optimalBorrowRate: number;
445
+ maxBorrowRate: number;
446
+ };
447
+ export type CurveRecord = {
448
+ ts: BN;
449
+ recordId: BN;
450
+ marketIndex: number;
451
+ pegMultiplierBefore: BN;
452
+ baseAssetReserveBefore: BN;
453
+ quoteAssetReserveBefore: BN;
454
+ sqrtKBefore: BN;
455
+ pegMultiplierAfter: BN;
456
+ baseAssetReserveAfter: BN;
457
+ quoteAssetReserveAfter: BN;
458
+ sqrtKAfter: BN;
459
+ baseAssetAmountLong: BN;
460
+ baseAssetAmountShort: BN;
461
+ baseAssetAmountWithAmm: BN;
462
+ totalFee: BN;
463
+ totalFeeMinusDistributions: BN;
464
+ adjustmentCost: BN;
465
+ numberOfUsers: BN;
466
+ oraclePrice: BN;
467
+ fillRecord: BN;
468
+ };
469
+ export declare type InsuranceFundRecord = {
470
+ ts: BN;
471
+ spotMarketIndex: number;
472
+ perpMarketIndex: number;
473
+ userIfFactor: number;
474
+ totalIfFactor: number;
475
+ vaultAmountBefore: BN;
476
+ insuranceVaultAmountBefore: BN;
477
+ totalIfSharesBefore: BN;
478
+ totalIfSharesAfter: BN;
479
+ amount: BN;
480
+ };
481
+ export declare type InsuranceFundStakeRecord = {
482
+ ts: BN;
483
+ userAuthority: PublicKey;
484
+ action: StakeAction;
485
+ amount: BN;
486
+ marketIndex: number;
487
+ insuranceVaultAmountBefore: BN;
488
+ ifSharesBefore: BN;
489
+ userIfSharesBefore: BN;
490
+ totalIfSharesBefore: BN;
491
+ ifSharesAfter: BN;
492
+ userIfSharesAfter: BN;
493
+ totalIfSharesAfter: BN;
494
+ };
495
+ export type LPRecord = {
496
+ ts: BN;
497
+ user: PublicKey;
498
+ action: LPAction;
499
+ nShares: BN;
500
+ marketIndex: number;
501
+ deltaBaseAssetAmount: BN;
502
+ deltaQuoteAssetAmount: BN;
503
+ pnl: BN;
504
+ };
505
+ export declare class LPAction {
506
+ static readonly ADD_LIQUIDITY: {
507
+ addLiquidity: {};
508
+ };
509
+ static readonly REMOVE_LIQUIDITY: {
510
+ removeLiquidity: {};
511
+ };
512
+ static readonly SETTLE_LIQUIDITY: {
513
+ settleLiquidity: {};
514
+ };
515
+ static readonly REMOVE_LIQUIDITY_DERISK: {
516
+ removeLiquidityDerisk: {};
517
+ };
518
+ }
519
+ export type FundingRateRecord = {
520
+ ts: BN;
521
+ recordId: BN;
522
+ marketIndex: number;
523
+ fundingRate: BN;
524
+ fundingRateLong: BN;
525
+ fundingRateShort: BN;
526
+ cumulativeFundingRateLong: BN;
527
+ cumulativeFundingRateShort: BN;
528
+ oraclePriceTwap: BN;
529
+ markPriceTwap: BN;
530
+ periodRevenue: BN;
531
+ baseAssetAmountWithAmm: BN;
532
+ baseAssetAmountWithUnsettledLp: BN;
533
+ };
534
+ export type FundingPaymentRecord = {
535
+ ts: BN;
536
+ userAuthority: PublicKey;
537
+ user: PublicKey;
538
+ marketIndex: number;
539
+ fundingPayment: BN;
540
+ baseAssetAmount: BN;
541
+ userLastCumulativeFunding: BN;
542
+ ammCumulativeFundingLong: BN;
543
+ ammCumulativeFundingShort: BN;
544
+ };
545
+ export type LiquidationRecord = {
546
+ ts: BN;
547
+ user: PublicKey;
548
+ liquidator: PublicKey;
549
+ liquidationType: LiquidationType;
550
+ marginRequirement: BN;
551
+ totalCollateral: BN;
552
+ marginFreed: BN;
553
+ liquidationId: number;
554
+ bankrupt: boolean;
555
+ canceledOrderIds: BN[];
556
+ liquidatePerp: LiquidatePerpRecord;
557
+ liquidateSpot: LiquidateSpotRecord;
558
+ liquidateBorrowForPerpPnl: LiquidateBorrowForPerpPnlRecord;
559
+ liquidatePerpPnlForDeposit: LiquidatePerpPnlForDepositRecord;
560
+ perpBankruptcy: PerpBankruptcyRecord;
561
+ spotBankruptcy: SpotBankruptcyRecord;
562
+ };
563
+ export declare class LiquidationType {
564
+ static readonly LIQUIDATE_PERP: {
565
+ liquidatePerp: {};
566
+ };
567
+ static readonly LIQUIDATE_BORROW_FOR_PERP_PNL: {
568
+ liquidateBorrowForPerpPnl: {};
569
+ };
570
+ static readonly LIQUIDATE_PERP_PNL_FOR_DEPOSIT: {
571
+ liquidatePerpPnlForDeposit: {};
572
+ };
573
+ static readonly PERP_BANKRUPTCY: {
574
+ perpBankruptcy: {};
575
+ };
576
+ static readonly SPOT_BANKRUPTCY: {
577
+ spotBankruptcy: {};
578
+ };
579
+ static readonly LIQUIDATE_SPOT: {
580
+ liquidateSpot: {};
581
+ };
582
+ }
583
+ export type LiquidatePerpRecord = {
584
+ marketIndex: number;
585
+ oraclePrice: BN;
586
+ baseAssetAmount: BN;
587
+ quoteAssetAmount: BN;
588
+ lpShares: BN;
589
+ userOrderId: BN;
590
+ liquidatorOrderId: BN;
591
+ fillRecordId: BN;
592
+ liquidatorFee: BN;
593
+ ifFee: BN;
594
+ };
595
+ export type LiquidateSpotRecord = {
596
+ assetMarketIndex: number;
597
+ assetPrice: BN;
598
+ assetTransfer: BN;
599
+ liabilityMarketIndex: number;
600
+ liabilityPrice: BN;
601
+ liabilityTransfer: BN;
602
+ ifFee: BN;
603
+ };
604
+ export type LiquidateBorrowForPerpPnlRecord = {
605
+ perpMarketIndex: number;
606
+ marketOraclePrice: BN;
607
+ pnlTransfer: BN;
608
+ liabilityMarketIndex: number;
609
+ liabilityPrice: BN;
610
+ liabilityTransfer: BN;
611
+ };
612
+ export type LiquidatePerpPnlForDepositRecord = {
613
+ perpMarketIndex: number;
614
+ marketOraclePrice: BN;
615
+ pnlTransfer: BN;
616
+ assetMarketIndex: number;
617
+ assetPrice: BN;
618
+ assetTransfer: BN;
619
+ };
620
+ export type PerpBankruptcyRecord = {
621
+ marketIndex: number;
622
+ pnl: BN;
623
+ ifPayment: BN;
624
+ clawbackUser: PublicKey | null;
625
+ clawbackUserPayment: BN | null;
626
+ cumulativeFundingRateDelta: BN;
627
+ };
628
+ export type SpotBankruptcyRecord = {
629
+ marketIndex: number;
630
+ borrowAmount: BN;
631
+ cumulativeDepositInterestDelta: BN;
632
+ ifPayment: BN;
633
+ };
634
+ export type SettlePnlRecord = {
635
+ ts: BN;
636
+ user: PublicKey;
637
+ marketIndex: number;
638
+ pnl: BN;
639
+ baseAssetAmount: BN;
640
+ quoteAssetAmountAfter: BN;
641
+ quoteEntryAmount: BN;
642
+ settlePrice: BN;
643
+ explanation: SettlePnlExplanation;
644
+ };
645
+ export type OrderRecord = {
646
+ ts: BN;
647
+ user: PublicKey;
648
+ order: Order;
649
+ };
650
+ export type OrderActionRecord = {
651
+ ts: BN;
652
+ action: OrderAction;
653
+ actionExplanation: OrderActionExplanation;
654
+ marketIndex: number;
655
+ marketType: MarketType;
656
+ filler: PublicKey | null;
657
+ fillerReward: BN | null;
658
+ fillRecordId: BN | null;
659
+ baseAssetAmountFilled: BN | null;
660
+ quoteAssetAmountFilled: BN | null;
661
+ takerFee: BN | null;
662
+ makerFee: BN | null;
663
+ referrerReward: number | null;
664
+ quoteAssetAmountSurplus: BN | null;
665
+ spotFulfillmentMethodFee: BN | null;
666
+ taker: PublicKey | null;
667
+ takerOrderId: number | null;
668
+ takerOrderDirection: PositionDirection | null;
669
+ takerOrderBaseAssetAmount: BN | null;
670
+ takerOrderCumulativeBaseAssetAmountFilled: BN | null;
671
+ takerOrderCumulativeQuoteAssetAmountFilled: BN | null;
672
+ maker: PublicKey | null;
673
+ makerOrderId: number | null;
674
+ makerOrderDirection: PositionDirection | null;
675
+ makerOrderBaseAssetAmount: BN | null;
676
+ makerOrderCumulativeBaseAssetAmountFilled: BN | null;
677
+ makerOrderCumulativeQuoteAssetAmountFilled: BN | null;
678
+ oraclePrice: BN;
679
+ };
680
+ export type SwapRecord = {
681
+ ts: BN;
682
+ user: PublicKey;
683
+ amountOut: BN;
684
+ amountIn: BN;
685
+ outMarketIndex: number;
686
+ inMarketIndex: number;
687
+ outOraclePrice: BN;
688
+ inOraclePrice: BN;
689
+ fee: BN;
690
+ };
691
+ export type SpotMarketVaultDepositRecord = {
692
+ ts: BN;
693
+ marketIndex: number;
694
+ depositBalance: BN;
695
+ cumulativeDepositInterestBefore: BN;
696
+ cumulativeDepositInterestAfter: BN;
697
+ depositTokenAmountBefore: BN;
698
+ amount: BN;
699
+ };
700
+ export type StateAccount = {
701
+ admin: PublicKey;
702
+ exchangeStatus: number;
703
+ whitelistMint: PublicKey;
704
+ discountMint: PublicKey;
705
+ oracleGuardRails: OracleGuardRails;
706
+ numberOfAuthorities: BN;
707
+ numberOfSubAccounts: BN;
708
+ numberOfMarkets: number;
709
+ numberOfSpotMarkets: number;
710
+ minPerpAuctionDuration: number;
711
+ defaultMarketOrderTimeInForce: number;
712
+ defaultSpotAuctionDuration: number;
713
+ liquidationMarginBufferRatio: number;
714
+ settlementDuration: number;
715
+ maxNumberOfSubAccounts: number;
716
+ signer: PublicKey;
717
+ signerNonce: number;
718
+ srmVault: PublicKey;
719
+ perpFeeStructure: FeeStructure;
720
+ spotFeeStructure: FeeStructure;
721
+ lpCooldownTime: BN;
722
+ initialPctToLiquidate: number;
723
+ liquidationDuration: number;
724
+ maxInitializeUserFee: number;
725
+ };
726
+ export type PerpMarketAccount = {
727
+ status: MarketStatus;
728
+ contractType: ContractType;
729
+ contractTier: ContractTier;
730
+ expiryTs: BN;
731
+ expiryPrice: BN;
732
+ marketIndex: number;
733
+ pubkey: PublicKey;
734
+ name: number[];
735
+ amm: AMM;
736
+ numberOfUsersWithBase: number;
737
+ numberOfUsers: number;
738
+ marginRatioInitial: number;
739
+ marginRatioMaintenance: number;
740
+ nextFillRecordId: BN;
741
+ nextFundingRateRecordId: BN;
742
+ nextCurveRecordId: BN;
743
+ pnlPool: PoolBalance;
744
+ liquidatorFee: number;
745
+ ifLiquidationFee: number;
746
+ imfFactor: number;
747
+ unrealizedPnlImfFactor: number;
748
+ unrealizedPnlMaxImbalance: BN;
749
+ unrealizedPnlInitialAssetWeight: number;
750
+ unrealizedPnlMaintenanceAssetWeight: number;
751
+ insuranceClaim: {
752
+ revenueWithdrawSinceLastSettle: BN;
753
+ maxRevenueWithdrawPerPeriod: BN;
754
+ lastRevenueWithdrawTs: BN;
755
+ quoteSettledInsurance: BN;
756
+ quoteMaxInsurance: BN;
757
+ };
758
+ quoteSpotMarketIndex: number;
759
+ feeAdjustment: number;
760
+ pausedOperations: number;
761
+ fuelBoostTaker: number;
762
+ fuelBoostMaker: number;
763
+ fuelBoostPosition: number;
764
+ highLeverageMarginRatioInitial: number;
765
+ highLeverageMarginRatioMaintenance: number;
766
+ };
767
+ export type HistoricalOracleData = {
768
+ lastOraclePrice: BN;
769
+ lastOracleDelay: BN;
770
+ lastOracleConf: BN;
771
+ lastOraclePriceTwap: BN;
772
+ lastOraclePriceTwap5Min: BN;
773
+ lastOraclePriceTwapTs: BN;
774
+ };
775
+ export type HistoricalIndexData = {
776
+ lastIndexBidPrice: BN;
777
+ lastIndexAskPrice: BN;
778
+ lastIndexPriceTwap: BN;
779
+ lastIndexPriceTwap5Min: BN;
780
+ lastIndexPriceTwapTs: BN;
781
+ };
782
+ export type SpotMarketAccount = {
783
+ status: MarketStatus;
784
+ assetTier: AssetTier;
785
+ name: number[];
786
+ marketIndex: number;
787
+ pubkey: PublicKey;
788
+ mint: PublicKey;
789
+ vault: PublicKey;
790
+ oracle: PublicKey;
791
+ oracleSource: OracleSource;
792
+ historicalOracleData: HistoricalOracleData;
793
+ historicalIndexData: HistoricalIndexData;
794
+ insuranceFund: {
795
+ vault: PublicKey;
796
+ totalShares: BN;
797
+ userShares: BN;
798
+ sharesBase: BN;
799
+ unstakingPeriod: BN;
800
+ lastRevenueSettleTs: BN;
801
+ revenueSettlePeriod: BN;
802
+ totalFactor: number;
803
+ userFactor: number;
804
+ };
805
+ revenuePool: PoolBalance;
806
+ ifLiquidationFee: number;
807
+ decimals: number;
808
+ optimalUtilization: number;
809
+ optimalBorrowRate: number;
810
+ maxBorrowRate: number;
811
+ cumulativeDepositInterest: BN;
812
+ cumulativeBorrowInterest: BN;
813
+ totalSocialLoss: BN;
814
+ totalQuoteSocialLoss: BN;
815
+ depositBalance: BN;
816
+ borrowBalance: BN;
817
+ maxTokenDeposits: BN;
818
+ lastInterestTs: BN;
819
+ lastTwapTs: BN;
820
+ initialAssetWeight: number;
821
+ maintenanceAssetWeight: number;
822
+ initialLiabilityWeight: number;
823
+ maintenanceLiabilityWeight: number;
824
+ liquidatorFee: number;
825
+ imfFactor: number;
826
+ scaleInitialAssetWeightStart: BN;
827
+ withdrawGuardThreshold: BN;
828
+ depositTokenTwap: BN;
829
+ borrowTokenTwap: BN;
830
+ utilizationTwap: BN;
831
+ nextDepositRecordId: BN;
832
+ orderStepSize: BN;
833
+ orderTickSize: BN;
834
+ minOrderSize: BN;
835
+ maxPositionSize: BN;
836
+ nextFillRecordId: BN;
837
+ spotFeePool: PoolBalance;
838
+ totalSpotFee: BN;
839
+ totalSwapFee: BN;
840
+ flashLoanAmount: BN;
841
+ flashLoanInitialTokenAmount: BN;
842
+ ordersEnabled: boolean;
843
+ pausedOperations: number;
844
+ ifPausedOperations: number;
845
+ maxTokenBorrowsFraction: number;
846
+ minBorrowRate: number;
847
+ fuelBoostDeposits: number;
848
+ fuelBoostBorrows: number;
849
+ fuelBoostTaker: number;
850
+ fuelBoostMaker: number;
851
+ fuelBoostInsurance: number;
852
+ tokenProgram: number;
853
+ };
854
+ export type PoolBalance = {
855
+ scaledBalance: BN;
856
+ marketIndex: number;
857
+ };
858
+ export type AMM = {
859
+ baseAssetReserve: BN;
860
+ sqrtK: BN;
861
+ cumulativeFundingRate: BN;
862
+ lastFundingRate: BN;
863
+ lastFundingRateTs: BN;
864
+ lastMarkPriceTwap: BN;
865
+ lastMarkPriceTwap5Min: BN;
866
+ lastMarkPriceTwapTs: BN;
867
+ lastTradeTs: BN;
868
+ oracle: PublicKey;
869
+ oracleSource: OracleSource;
870
+ historicalOracleData: HistoricalOracleData;
871
+ lastOracleReservePriceSpreadPct: BN;
872
+ lastOracleConfPct: BN;
873
+ fundingPeriod: BN;
874
+ quoteAssetReserve: BN;
875
+ pegMultiplier: BN;
876
+ cumulativeFundingRateLong: BN;
877
+ cumulativeFundingRateShort: BN;
878
+ last24HAvgFundingRate: BN;
879
+ lastFundingRateShort: BN;
880
+ lastFundingRateLong: BN;
881
+ totalLiquidationFee: BN;
882
+ totalFeeMinusDistributions: BN;
883
+ totalFeeWithdrawn: BN;
884
+ totalFee: BN;
885
+ totalFeeEarnedPerLp: BN;
886
+ userLpShares: BN;
887
+ baseAssetAmountWithUnsettledLp: BN;
888
+ orderStepSize: BN;
889
+ orderTickSize: BN;
890
+ maxFillReserveFraction: number;
891
+ maxSlippageRatio: number;
892
+ baseSpread: number;
893
+ curveUpdateIntensity: number;
894
+ baseAssetAmountWithAmm: BN;
895
+ baseAssetAmountLong: BN;
896
+ baseAssetAmountShort: BN;
897
+ quoteAssetAmount: BN;
898
+ terminalQuoteAssetReserve: BN;
899
+ concentrationCoef: BN;
900
+ feePool: PoolBalance;
901
+ totalExchangeFee: BN;
902
+ totalMmFee: BN;
903
+ netRevenueSinceLastFunding: BN;
904
+ lastUpdateSlot: BN;
905
+ lastOracleNormalisedPrice: BN;
906
+ lastOracleValid: boolean;
907
+ lastBidPriceTwap: BN;
908
+ lastAskPriceTwap: BN;
909
+ longSpread: number;
910
+ shortSpread: number;
911
+ maxSpread: number;
912
+ baseAssetAmountPerLp: BN;
913
+ quoteAssetAmountPerLp: BN;
914
+ targetBaseAssetAmountPerLp: number;
915
+ ammJitIntensity: number;
916
+ maxOpenInterest: BN;
917
+ maxBaseAssetReserve: BN;
918
+ minBaseAssetReserve: BN;
919
+ totalSocialLoss: BN;
920
+ quoteBreakEvenAmountLong: BN;
921
+ quoteBreakEvenAmountShort: BN;
922
+ quoteEntryAmountLong: BN;
923
+ quoteEntryAmountShort: BN;
924
+ markStd: BN;
925
+ oracleStd: BN;
926
+ longIntensityCount: number;
927
+ longIntensityVolume: BN;
928
+ shortIntensityCount: number;
929
+ shortIntensityVolume: BN;
930
+ volume24H: BN;
931
+ minOrderSize: BN;
932
+ maxPositionSize: BN;
933
+ bidBaseAssetReserve: BN;
934
+ bidQuoteAssetReserve: BN;
935
+ askBaseAssetReserve: BN;
936
+ askQuoteAssetReserve: BN;
937
+ perLpBase: number;
938
+ netUnsettledFundingPnl: BN;
939
+ quoteAssetAmountWithUnsettledLp: BN;
940
+ referencePriceOffset: number;
941
+ };
942
+ export type PerpPosition = {
943
+ baseAssetAmount: BN;
944
+ lastCumulativeFundingRate: BN;
945
+ marketIndex: number;
946
+ quoteAssetAmount: BN;
947
+ quoteEntryAmount: BN;
948
+ quoteBreakEvenAmount: BN;
949
+ openOrders: number;
950
+ openBids: BN;
951
+ openAsks: BN;
952
+ settledPnl: BN;
953
+ lpShares: BN;
954
+ remainderBaseAssetAmount: number;
955
+ lastBaseAssetAmountPerLp: BN;
956
+ lastQuoteAssetAmountPerLp: BN;
957
+ perLpBase: number;
958
+ };
959
+ export type UserStatsAccount = {
960
+ numberOfSubAccounts: number;
961
+ numberOfSubAccountsCreated: number;
962
+ makerVolume30D: BN;
963
+ takerVolume30D: BN;
964
+ fillerVolume30D: BN;
965
+ lastMakerVolume30DTs: BN;
966
+ lastTakerVolume30DTs: BN;
967
+ lastFillerVolume30DTs: BN;
968
+ fees: {
969
+ totalFeePaid: BN;
970
+ totalFeeRebate: BN;
971
+ totalTokenDiscount: BN;
972
+ totalRefereeDiscount: BN;
973
+ totalReferrerReward: BN;
974
+ current_epoch_referrer_reward: BN;
975
+ };
976
+ referrer: PublicKey;
977
+ referrerStatus: boolean;
978
+ authority: PublicKey;
979
+ ifStakedQuoteAssetAmount: BN;
980
+ lastFuelIfBonusUpdateTs: number;
981
+ fuelInsurance: number;
982
+ fuelDeposits: number;
983
+ fuelBorrows: number;
984
+ fuelPositions: number;
985
+ fuelTaker: number;
986
+ fuelMaker: number;
987
+ ifStakedGovTokenAmount: BN;
988
+ };
989
+ export type UserAccount = {
990
+ authority: PublicKey;
991
+ delegate: PublicKey;
992
+ name: number[];
993
+ subAccountId: number;
994
+ spotPositions: SpotPosition[];
995
+ perpPositions: PerpPosition[];
996
+ orders: Order[];
997
+ status: number;
998
+ nextLiquidationId: number;
999
+ nextOrderId: number;
1000
+ maxMarginRatio: number;
1001
+ lastAddPerpLpSharesTs: BN;
1002
+ settledPerpPnl: BN;
1003
+ totalDeposits: BN;
1004
+ totalWithdraws: BN;
1005
+ totalSocialLoss: BN;
1006
+ cumulativePerpFunding: BN;
1007
+ cumulativeSpotFees: BN;
1008
+ liquidationMarginFreed: BN;
1009
+ lastActiveSlot: BN;
1010
+ isMarginTradingEnabled: boolean;
1011
+ idle: boolean;
1012
+ openOrders: number;
1013
+ hasOpenOrder: boolean;
1014
+ openAuctions: number;
1015
+ hasOpenAuction: boolean;
1016
+ lastFuelBonusUpdateTs: number;
1017
+ marginMode: MarginMode;
1018
+ };
1019
+ export type SpotPosition = {
1020
+ marketIndex: number;
1021
+ balanceType: SpotBalanceType;
1022
+ scaledBalance: BN;
1023
+ openOrders: number;
1024
+ openBids: BN;
1025
+ openAsks: BN;
1026
+ cumulativeDeposits: BN;
1027
+ };
1028
+ export type Order = {
1029
+ status: OrderStatus;
1030
+ orderType: OrderType;
1031
+ marketType: MarketType;
1032
+ slot: BN;
1033
+ orderId: number;
1034
+ userOrderId: number;
1035
+ marketIndex: number;
1036
+ price: BN;
1037
+ baseAssetAmount: BN;
1038
+ quoteAssetAmount: BN;
1039
+ baseAssetAmountFilled: BN;
1040
+ quoteAssetAmountFilled: BN;
1041
+ direction: PositionDirection;
1042
+ reduceOnly: boolean;
1043
+ triggerPrice: BN;
1044
+ triggerCondition: OrderTriggerCondition;
1045
+ existingPositionDirection: PositionDirection;
1046
+ postOnly: boolean;
1047
+ immediateOrCancel: boolean;
1048
+ oraclePriceOffset: number;
1049
+ auctionDuration: number;
1050
+ auctionStartPrice: BN;
1051
+ auctionEndPrice: BN;
1052
+ maxTs: BN;
1053
+ };
1054
+ export type OrderParams = {
1055
+ orderType: OrderType;
1056
+ marketType: MarketType;
1057
+ userOrderId: number;
1058
+ direction: PositionDirection;
1059
+ baseAssetAmount: BN;
1060
+ price: BN;
1061
+ marketIndex: number;
1062
+ reduceOnly: boolean;
1063
+ postOnly: PostOnlyParams;
1064
+ immediateOrCancel: boolean;
1065
+ triggerPrice: BN | null;
1066
+ triggerCondition: OrderTriggerCondition;
1067
+ oraclePriceOffset: number | null;
1068
+ auctionDuration: number | null;
1069
+ maxTs: BN | null;
1070
+ auctionStartPrice: BN | null;
1071
+ auctionEndPrice: BN | null;
1072
+ };
1073
+ export declare class PostOnlyParams {
1074
+ static readonly NONE: {
1075
+ none: {};
1076
+ };
1077
+ static readonly MUST_POST_ONLY: {
1078
+ mustPostOnly: {};
1079
+ };
1080
+ static readonly TRY_POST_ONLY: {
1081
+ tryPostOnly: {};
1082
+ };
1083
+ static readonly SLIDE: {
1084
+ slide: {};
1085
+ };
1086
+ }
1087
+ export type NecessaryOrderParams = {
1088
+ orderType: OrderType;
1089
+ marketIndex: number;
1090
+ baseAssetAmount: BN;
1091
+ direction: PositionDirection;
1092
+ };
1093
+ export type OptionalOrderParams = {
1094
+ [Property in keyof OrderParams]?: OrderParams[Property];
1095
+ } & NecessaryOrderParams;
1096
+ export type ModifyOrderParams = {
1097
+ [Property in keyof OrderParams]?: OrderParams[Property] | null;
1098
+ } & {
1099
+ policy?: ModifyOrderPolicy;
1100
+ };
1101
+ export declare class ModifyOrderPolicy {
1102
+ static readonly MUST_MODIFY: {
1103
+ mustModify: {};
1104
+ };
1105
+ static readonly TRY_MODIFY: {
1106
+ tryModify: {};
1107
+ };
1108
+ }
1109
+ export declare const DefaultOrderParams: OrderParams;
1110
+ export type SwiftServerMessage = {
1111
+ slot: BN;
1112
+ swiftOrderSignature: Uint8Array;
1113
+ };
1114
+ export type SwiftOrderParamsMessage = {
1115
+ swiftOrderParams: OptionalOrderParams;
1116
+ expectedOrderId: number;
1117
+ subAccountId: number;
1118
+ takeProfitOrderParams: SwiftTriggerOrderParams | null;
1119
+ stopLossOrderParams: SwiftTriggerOrderParams | null;
1120
+ };
1121
+ export type SwiftTriggerOrderParams = {
1122
+ triggerPrice: BN;
1123
+ baseAssetAmount: BN;
1124
+ };
1125
+ export type RFQMakerOrderParams = {
1126
+ uuid: Uint8Array;
1127
+ authority: PublicKey;
1128
+ subAccountId: number;
1129
+ marketIndex: number;
1130
+ marketType: MarketType;
1131
+ baseAssetAmount: BN;
1132
+ price: BN;
1133
+ direction: PositionDirection;
1134
+ maxTs: BN;
1135
+ };
1136
+ export type RFQMakerMessage = {
1137
+ orderParams: RFQMakerOrderParams;
1138
+ signature: Uint8Array;
1139
+ };
1140
+ export type RFQMatch = {
1141
+ baseAssetAmount: BN;
1142
+ makerOrderParams: RFQMakerOrderParams;
1143
+ makerSignature: Uint8Array;
1144
+ };
1145
+ export type MakerInfo = {
1146
+ maker: PublicKey;
1147
+ makerStats: PublicKey;
1148
+ makerUserAccount: UserAccount;
1149
+ order?: Order;
1150
+ };
1151
+ export type TakerInfo = {
1152
+ taker: PublicKey;
1153
+ takerStats: PublicKey;
1154
+ takerUserAccount: UserAccount;
1155
+ order: Order;
1156
+ };
1157
+ export type ReferrerInfo = {
1158
+ referrer: PublicKey;
1159
+ referrerStats: PublicKey;
1160
+ };
1161
+ export declare enum ReferrerStatus {
1162
+ IsReferrer = 1,
1163
+ IsReferred = 2
1164
+ }
1165
+ export declare enum PlaceAndTakeOrderSuccessCondition {
1166
+ PartialFill = 1,
1167
+ FullFill = 2
1168
+ }
1169
+ type ExactType<T> = Pick<T, keyof T>;
1170
+ export type BaseTxParams = ExactType<{
1171
+ computeUnits?: number;
1172
+ computeUnitsPrice?: number;
1173
+ }>;
1174
+ export type ProcessingTxParams = {
1175
+ useSimulatedComputeUnits?: boolean;
1176
+ computeUnitsBufferMultiplier?: number;
1177
+ useSimulatedComputeUnitsForCUPriceCalculation?: boolean;
1178
+ getCUPriceFromComputeUnits?: (computeUnits: number) => number;
1179
+ lowerBoundCu?: number;
1180
+ };
1181
+ export type TxParams = BaseTxParams & ProcessingTxParams;
1182
+ export declare class SwapReduceOnly {
1183
+ static readonly In: {
1184
+ in: {};
1185
+ };
1186
+ static readonly Out: {
1187
+ out: {};
1188
+ };
1189
+ }
1190
+ export interface IWallet {
1191
+ signTransaction(tx: Transaction): Promise<Transaction>;
1192
+ signAllTransactions(txs: Transaction[]): Promise<Transaction[]>;
1193
+ publicKey: PublicKey;
1194
+ payer?: Keypair;
1195
+ }
1196
+ export interface IVersionedWallet {
1197
+ signVersionedTransaction(tx: VersionedTransaction): Promise<VersionedTransaction>;
1198
+ signAllVersionedTransactions(txs: VersionedTransaction[]): Promise<VersionedTransaction[]>;
1199
+ publicKey: PublicKey;
1200
+ payer?: Keypair;
1201
+ }
1202
+ export type FeeStructure = {
1203
+ feeTiers: FeeTier[];
1204
+ fillerRewardStructure: OrderFillerRewardStructure;
1205
+ flatFillerFee: BN;
1206
+ referrerRewardEpochUpperBound: BN;
1207
+ };
1208
+ export type FeeTier = {
1209
+ feeNumerator: number;
1210
+ feeDenominator: number;
1211
+ makerRebateNumerator: number;
1212
+ makerRebateDenominator: number;
1213
+ referrerRewardNumerator: number;
1214
+ referrerRewardDenominator: number;
1215
+ refereeFeeNumerator: number;
1216
+ refereeFeeDenominator: number;
1217
+ };
1218
+ export type OrderFillerRewardStructure = {
1219
+ rewardNumerator: BN;
1220
+ rewardDenominator: BN;
1221
+ timeBasedRewardLowerBound: BN;
1222
+ };
1223
+ export type OracleGuardRails = {
1224
+ priceDivergence: {
1225
+ markOraclePercentDivergence: BN;
1226
+ oracleTwap5MinPercentDivergence: BN;
1227
+ };
1228
+ validity: {
1229
+ slotsBeforeStaleForAmm: BN;
1230
+ slotsBeforeStaleForMargin: BN;
1231
+ confidenceIntervalMaxSize: BN;
1232
+ tooVolatileRatio: BN;
1233
+ };
1234
+ };
1235
+ export type PrelaunchOracle = {
1236
+ price: BN;
1237
+ maxPrice: BN;
1238
+ confidence: BN;
1239
+ ammLastUpdateSlot: BN;
1240
+ lastUpdateSlot: BN;
1241
+ perpMarketIndex: number;
1242
+ };
1243
+ export type MarginCategory = 'Initial' | 'Maintenance';
1244
+ export type InsuranceFundStake = {
1245
+ costBasis: BN;
1246
+ marketIndex: number;
1247
+ authority: PublicKey;
1248
+ ifShares: BN;
1249
+ ifBase: BN;
1250
+ lastWithdrawRequestShares: BN;
1251
+ lastWithdrawRequestValue: BN;
1252
+ lastWithdrawRequestTs: BN;
1253
+ };
1254
+ export type SerumV3FulfillmentConfigAccount = {
1255
+ fulfillmentType: SpotFulfillmentType;
1256
+ status: SpotFulfillmentStatus;
1257
+ pubkey: PublicKey;
1258
+ marketIndex: number;
1259
+ serumProgramId: PublicKey;
1260
+ serumMarket: PublicKey;
1261
+ serumRequestQueue: PublicKey;
1262
+ serumEventQueue: PublicKey;
1263
+ serumBids: PublicKey;
1264
+ serumAsks: PublicKey;
1265
+ serumBaseVault: PublicKey;
1266
+ serumQuoteVault: PublicKey;
1267
+ serumOpenOrders: PublicKey;
1268
+ serumSignerNonce: BN;
1269
+ };
1270
+ export type PhoenixV1FulfillmentConfigAccount = {
1271
+ pubkey: PublicKey;
1272
+ phoenixProgramId: PublicKey;
1273
+ phoenixLogAuthority: PublicKey;
1274
+ phoenixMarket: PublicKey;
1275
+ phoenixBaseVault: PublicKey;
1276
+ phoenixQuoteVault: PublicKey;
1277
+ marketIndex: number;
1278
+ fulfillmentType: SpotFulfillmentType;
1279
+ status: SpotFulfillmentStatus;
1280
+ };
1281
+ export type OpenbookV2FulfillmentConfigAccount = {
1282
+ pubkey: PublicKey;
1283
+ openbookV2ProgramId: PublicKey;
1284
+ openbookV2Market: PublicKey;
1285
+ openbookV2MarketAuthority: PublicKey;
1286
+ openbookV2EventHeap: PublicKey;
1287
+ openbookV2Bids: PublicKey;
1288
+ openbookV2Asks: PublicKey;
1289
+ openbookV2BaseVault: PublicKey;
1290
+ openbookV2QuoteVault: PublicKey;
1291
+ marketIndex: number;
1292
+ fulfillmentType: SpotFulfillmentType;
1293
+ status: SpotFulfillmentStatus;
1294
+ remainingAccounts?: PublicKey[];
1295
+ };
1296
+ export type ReferrerNameAccount = {
1297
+ name: number[];
1298
+ user: PublicKey;
1299
+ authority: PublicKey;
1300
+ userStats: PublicKey;
1301
+ };
1302
+ export type PerpMarketExtendedInfo = {
1303
+ marketIndex: number;
1304
+ /**
1305
+ * Min order size measured in base asset, using base precision
1306
+ */
1307
+ minOrderSize: BN;
1308
+ /**
1309
+ * Margin maintenance percentage, using margin precision (1e4)
1310
+ */
1311
+ marginMaintenance: number;
1312
+ /**
1313
+ * Max insurance available, measured in quote asset, using quote preicision
1314
+ */
1315
+ availableInsurance: BN;
1316
+ /**
1317
+ * Pnl pool available, this is measured in quote asset, using quote precision.
1318
+ * Should be generated by using getTokenAmount and passing in the scaled balance of the base asset + quote spot account
1319
+ */
1320
+ pnlPoolValue: BN;
1321
+ contractTier: ContractTier;
1322
+ };
1323
+ export type HealthComponents = {
1324
+ deposits: HealthComponent[];
1325
+ borrows: HealthComponent[];
1326
+ perpPositions: HealthComponent[];
1327
+ perpPnl: HealthComponent[];
1328
+ };
1329
+ export type HealthComponent = {
1330
+ marketIndex: number;
1331
+ size: BN;
1332
+ value: BN;
1333
+ weight: BN;
1334
+ weightedValue: BN;
1335
+ };
1336
+ export interface DriftClientMetricsEvents {
1337
+ txSigned: SignedTxData[];
1338
+ preTxSigned: void;
1339
+ }
1340
+ export type SignedTxData = {
1341
+ txSig: string;
1342
+ signedTx: Transaction | VersionedTransaction;
1343
+ lastValidBlockHeight?: number;
1344
+ blockHash: string;
1345
+ };
1346
+ export type HighLeverageModeConfig = {
1347
+ maxUsers: number;
1348
+ currentUsers: number;
1349
+ reduceOnly: boolean;
1350
+ };
1351
+ export {};