@velocity-exchange/sdk 0.0.5 → 0.2.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 (815) hide show
  1. package/.prettierignore +1 -1
  2. package/CHANGELOG.md +35 -0
  3. package/README.md +30 -30
  4. package/bun.lock +24 -2
  5. package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +5 -3
  6. package/lib/browser/accounts/basicUserAccountSubscriber.js +4 -3
  7. package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
  8. package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +4 -3
  9. package/lib/browser/accounts/bulkAccountLoader.d.ts +5 -5
  10. package/lib/browser/accounts/bulkAccountLoader.js +12 -1
  11. package/lib/browser/accounts/grpcAccountSubscriber.d.ts +2 -1
  12. package/lib/browser/accounts/grpcAccountSubscriber.js +8 -2
  13. package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
  14. package/lib/browser/accounts/grpcMultiAccountSubscriber.js +13 -5
  15. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
  16. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +12 -8
  17. package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
  18. package/lib/browser/accounts/grpcProgramAccountSubscriber.js +9 -3
  19. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
  20. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +19 -6
  21. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -5
  22. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +44 -23
  23. package/lib/browser/accounts/laserProgramAccountSubscriber.js +4 -1
  24. package/lib/browser/accounts/oneShotUserAccountSubscriber.js +4 -3
  25. package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
  26. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  27. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
  28. package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
  29. package/lib/browser/accounts/pollingOracleAccountSubscriber.js +16 -5
  30. package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
  31. package/lib/browser/accounts/pollingTokenAccountSubscriber.js +16 -5
  32. package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +8 -4
  33. package/lib/browser/accounts/pollingUserAccountSubscriber.js +17 -11
  34. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
  35. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +6 -6
  36. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -5
  37. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +69 -35
  38. package/lib/browser/accounts/types.d.ts +6 -12
  39. package/lib/browser/accounts/utils.d.ts +1 -0
  40. package/lib/browser/accounts/utils.js +10 -3
  41. package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +4 -2
  42. package/lib/browser/accounts/webSocketAccountSubscriber.js +17 -5
  43. package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
  44. package/lib/browser/accounts/webSocketAccountSubscriberV2.js +17 -6
  45. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  46. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
  47. package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
  48. package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +14 -3
  49. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
  50. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
  51. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
  52. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
  53. package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
  54. package/lib/browser/accounts/webSocketUserAccountSubscriber.js +9 -0
  55. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
  56. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
  57. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -8
  58. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +52 -26
  59. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -7
  60. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +49 -20
  61. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
  62. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +0 -3
  63. package/lib/browser/addresses/marketAddresses.js +3 -2
  64. package/lib/browser/addresses/pda.d.ts +1 -9
  65. package/lib/browser/addresses/pda.js +4 -23
  66. package/lib/browser/adminClient.d.ts +25 -29
  67. package/lib/browser/adminClient.js +168 -169
  68. package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +2 -4
  69. package/lib/browser/auctionSubscriber/auctionSubscriber.js +8 -10
  70. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +2 -4
  71. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +11 -10
  72. package/lib/browser/auctionSubscriber/types.d.ts +3 -2
  73. package/lib/browser/bankrun/bankrunConnection.d.ts +6 -4
  74. package/lib/browser/bankrun/bankrunConnection.js +69 -31
  75. package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
  76. package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +3 -2
  77. package/lib/browser/clock/clockSubscriber.d.ts +6 -6
  78. package/lib/browser/clock/clockSubscriber.js +4 -3
  79. package/lib/browser/config.d.ts +11 -20
  80. package/lib/browser/config.js +13 -36
  81. package/lib/browser/constants/index.d.ts +1 -2
  82. package/lib/browser/constants/index.js +1 -2
  83. package/lib/browser/constants/numericConstants.d.ts +1 -3
  84. package/lib/browser/constants/numericConstants.js +3 -5
  85. package/lib/browser/constituentMap/constituentMap.d.ts +0 -2
  86. package/lib/browser/constituentMap/constituentMap.js +10 -6
  87. package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
  88. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
  89. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
  90. package/lib/browser/core/VelocityCore.d.ts +9 -15
  91. package/lib/browser/core/VelocityCore.js +5 -7
  92. package/lib/browser/core/instructions/perpOrders.d.ts +14 -0
  93. package/lib/browser/core/instructions/perpOrders.js +14 -0
  94. package/lib/browser/core/instructions/withdraw.d.ts +1 -1
  95. package/lib/browser/core/instructions/withdraw.js +1 -1
  96. package/lib/browser/core/remainingAccounts.d.ts +2 -2
  97. package/lib/browser/core/remainingAccounts.js +5 -5
  98. package/lib/browser/decode/user.js +9 -1
  99. package/lib/browser/dlob/DLOB.d.ts +7 -2
  100. package/lib/browser/dlob/DLOB.js +205 -142
  101. package/lib/browser/dlob/DLOBNode.d.ts +5 -2
  102. package/lib/browser/dlob/DLOBNode.js +7 -0
  103. package/lib/browser/dlob/DLOBSubscriber.d.ts +0 -2
  104. package/lib/browser/dlob/DLOBSubscriber.js +39 -39
  105. package/lib/browser/dlob/NodeList.js +8 -7
  106. package/lib/browser/dlob/orderBookLevels.js +24 -17
  107. package/lib/browser/dlob/types.d.ts +0 -2
  108. package/lib/browser/events/eventList.js +4 -1
  109. package/lib/browser/events/eventSubscriber.d.ts +6 -3
  110. package/lib/browser/events/eventSubscriber.js +75 -26
  111. package/lib/browser/events/eventsServerLogProvider.d.ts +1 -1
  112. package/lib/browser/events/eventsServerLogProvider.js +17 -10
  113. package/lib/browser/events/fetchLogs.d.ts +1 -1
  114. package/lib/browser/events/fetchLogs.js +4 -2
  115. package/lib/browser/events/parse.js +14 -14
  116. package/lib/browser/events/pollingLogProvider.d.ts +1 -1
  117. package/lib/browser/events/pollingLogProvider.js +1 -0
  118. package/lib/browser/events/txEventCache.js +6 -2
  119. package/lib/browser/events/types.d.ts +3 -7
  120. package/lib/browser/events/types.js +1 -3
  121. package/lib/browser/events/webSocketLogProvider.d.ts +1 -1
  122. package/lib/browser/events/webSocketLogProvider.js +5 -2
  123. package/lib/browser/factory/bigNum.js +1 -1
  124. package/lib/{node/idl/drift.d.ts → browser/idl/velocity.d.ts} +2412 -2481
  125. package/lib/browser/idl/{drift.json → velocity.json} +2265 -2333
  126. package/lib/browser/index.d.ts +1 -3
  127. package/lib/browser/index.js +1 -4
  128. package/lib/browser/jupiter/jupiterClient.d.ts +1 -1
  129. package/lib/browser/jupiter/jupiterClient.js +18 -8
  130. package/lib/browser/marginCalculation.js +1 -0
  131. package/lib/browser/math/amm.d.ts +31 -13
  132. package/lib/browser/math/amm.js +87 -31
  133. package/lib/browser/math/auction.js +16 -12
  134. package/lib/browser/math/bankruptcy.js +1 -1
  135. package/lib/browser/math/builder.d.ts +18 -1
  136. package/lib/browser/math/builder.js +32 -1
  137. package/lib/browser/math/funding.js +30 -30
  138. package/lib/browser/math/insurance.d.ts +1 -1
  139. package/lib/browser/math/insurance.js +4 -5
  140. package/lib/browser/math/margin.d.ts +3 -11
  141. package/lib/browser/math/margin.js +10 -69
  142. package/lib/browser/math/market.d.ts +4 -12
  143. package/lib/browser/math/market.js +12 -46
  144. package/lib/browser/math/oracles.d.ts +4 -7
  145. package/lib/browser/math/oracles.js +24 -37
  146. package/lib/browser/math/orders.d.ts +2 -7
  147. package/lib/browser/math/orders.js +9 -81
  148. package/lib/browser/math/position.d.ts +0 -4
  149. package/lib/browser/math/position.js +6 -11
  150. package/lib/browser/math/repeg.d.ts +0 -1
  151. package/lib/browser/math/repeg.js +1 -23
  152. package/lib/browser/math/spotBalance.d.ts +4 -4
  153. package/lib/browser/math/spotBalance.js +6 -6
  154. package/lib/browser/math/spotMarket.d.ts +0 -6
  155. package/lib/browser/math/spotMarket.js +1 -16
  156. package/lib/browser/math/spotPosition.d.ts +4 -4
  157. package/lib/browser/math/state.d.ts +0 -2
  158. package/lib/browser/math/state.js +1 -9
  159. package/lib/browser/math/superStake.d.ts +11 -63
  160. package/lib/browser/math/superStake.js +29 -28
  161. package/lib/browser/math/trade.js +7 -7
  162. package/lib/browser/math/utils.d.ts +1 -1
  163. package/lib/browser/math/utils.js +1 -1
  164. package/lib/browser/memcmp.d.ts +0 -1
  165. package/lib/browser/memcmp.js +1 -10
  166. package/lib/browser/oracles/prelaunchOracleClient.js +3 -2
  167. package/lib/browser/oracles/pythClient.js +9 -3
  168. package/lib/browser/oracles/pythLazerClient.js +5 -4
  169. package/lib/browser/oracles/utils.d.ts +4 -0
  170. package/lib/browser/oracles/utils.js +9 -1
  171. package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +1 -3
  172. package/lib/browser/orderSubscriber/OrderSubscriber.js +16 -14
  173. package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
  174. package/lib/browser/orderSubscriber/grpcSubscription.js +2 -2
  175. package/lib/browser/orderSubscriber/types.d.ts +0 -2
  176. package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
  177. package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +2 -6
  178. package/lib/browser/priorityFee/priorityFeeSubscriber.js +34 -18
  179. package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
  180. package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +3 -11
  181. package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
  182. package/lib/browser/priorityFee/types.d.ts +3 -8
  183. package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
  184. package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +1 -3
  185. package/lib/browser/pyth/pythLazerSubscriber.d.ts +1 -1
  186. package/lib/browser/pyth/pythLazerSubscriber.js +1 -1
  187. package/lib/browser/pyth/types.d.ts +0 -1
  188. package/lib/browser/slot/SlotSubscriber.d.ts +1 -1
  189. package/lib/browser/slot/SlotSubscriber.js +2 -1
  190. package/lib/browser/slot/SlothashSubscriber.d.ts +3 -2
  191. package/lib/browser/slot/SlothashSubscriber.js +11 -4
  192. package/lib/browser/swap/UnifiedSwapClient.js +1 -1
  193. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
  194. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
  195. package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +7 -7
  196. package/lib/browser/swift/signedMsgUserAccountSubscriber.js +14 -10
  197. package/lib/browser/swift/swiftOrderSubscriber.d.ts +7 -6
  198. package/lib/browser/swift/swiftOrderSubscriber.js +15 -16
  199. package/lib/browser/testClient.js +3 -2
  200. package/lib/browser/tokenFaucet.js +16 -2
  201. package/lib/browser/tx/baseTxSender.d.ts +4 -4
  202. package/lib/browser/tx/baseTxSender.js +5 -4
  203. package/lib/browser/tx/fastSingleTxSender.d.ts +3 -3
  204. package/lib/browser/tx/fastSingleTxSender.js +9 -5
  205. package/lib/browser/tx/reportTransactionError.d.ts +2 -2
  206. package/lib/browser/tx/reportTransactionError.js +5 -1
  207. package/lib/browser/tx/retryTxSender.d.ts +1 -1
  208. package/lib/browser/tx/retryTxSender.js +4 -2
  209. package/lib/browser/tx/txHandler.d.ts +7 -1
  210. package/lib/browser/tx/txHandler.js +54 -40
  211. package/lib/browser/tx/txParamProcessor.d.ts +4 -1
  212. package/lib/browser/tx/txParamProcessor.js +6 -0
  213. package/lib/browser/tx/types.d.ts +1 -1
  214. package/lib/browser/tx/whileValidTxSender.d.ts +1 -6
  215. package/lib/browser/tx/whileValidTxSender.js +35 -13
  216. package/lib/browser/types.d.ts +102 -157
  217. package/lib/browser/types.js +6 -2
  218. package/lib/browser/user.d.ts +22 -10
  219. package/lib/browser/user.js +174 -154
  220. package/lib/browser/userConfig.d.ts +3 -2
  221. package/lib/browser/userMap/WebsocketSubscription.d.ts +1 -1
  222. package/lib/browser/userMap/WebsocketSubscription.js +1 -1
  223. package/lib/browser/userMap/grpcSubscription.d.ts +1 -1
  224. package/lib/browser/userMap/grpcSubscription.js +1 -1
  225. package/lib/browser/userMap/referrerMap.d.ts +0 -2
  226. package/lib/browser/userMap/referrerMap.js +10 -7
  227. package/lib/browser/userMap/revenueShareEscrowMap.d.ts +0 -2
  228. package/lib/browser/userMap/revenueShareEscrowMap.js +4 -4
  229. package/lib/browser/userMap/userMap.d.ts +3 -5
  230. package/lib/browser/userMap/userMap.js +39 -30
  231. package/lib/browser/userMap/userMapConfig.d.ts +3 -2
  232. package/lib/browser/userMap/userStatsMap.d.ts +1 -3
  233. package/lib/browser/userMap/userStatsMap.js +18 -17
  234. package/lib/browser/userStats.d.ts +7 -4
  235. package/lib/browser/userStats.js +28 -18
  236. package/lib/browser/userStatsConfig.d.ts +3 -2
  237. package/lib/browser/util/TransactionConfirmationManager.js +4 -2
  238. package/lib/browser/util/chainClock.d.ts +1 -1
  239. package/lib/browser/util/computeUnits.d.ts +1 -1
  240. package/lib/browser/util/computeUnits.js +6 -1
  241. package/lib/browser/util/ed25519Utils.d.ts +1 -1
  242. package/lib/browser/util/ed25519Utils.js +1 -1
  243. package/lib/browser/velocityClient.d.ts +144 -71
  244. package/lib/browser/velocityClient.js +653 -457
  245. package/lib/browser/velocityClientConfig.d.ts +0 -8
  246. package/lib/node/accounts/basicUserAccountSubscriber.d.ts +5 -3
  247. package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
  248. package/lib/node/accounts/basicUserAccountSubscriber.js +4 -3
  249. package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
  250. package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
  251. package/lib/node/accounts/basicUserStatsAccountSubscriber.js +4 -3
  252. package/lib/node/accounts/bulkAccountLoader.d.ts +5 -5
  253. package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
  254. package/lib/node/accounts/bulkAccountLoader.js +12 -1
  255. package/lib/node/accounts/grpcAccountSubscriber.d.ts +2 -1
  256. package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
  257. package/lib/node/accounts/grpcAccountSubscriber.js +8 -2
  258. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
  259. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
  260. package/lib/node/accounts/grpcMultiAccountSubscriber.js +13 -5
  261. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
  262. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
  263. package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +12 -8
  264. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
  265. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
  266. package/lib/node/accounts/grpcProgramAccountSubscriber.js +9 -3
  267. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
  268. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
  269. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +19 -6
  270. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -5
  271. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  272. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +44 -23
  273. package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
  274. package/lib/node/accounts/laserProgramAccountSubscriber.js +4 -1
  275. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
  276. package/lib/node/accounts/oneShotUserAccountSubscriber.js +4 -3
  277. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
  278. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
  279. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  280. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  281. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
  282. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
  283. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
  284. package/lib/node/accounts/pollingOracleAccountSubscriber.js +16 -5
  285. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
  286. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
  287. package/lib/node/accounts/pollingTokenAccountSubscriber.js +16 -5
  288. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +8 -4
  289. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
  290. package/lib/node/accounts/pollingUserAccountSubscriber.js +17 -11
  291. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
  292. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
  293. package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +6 -6
  294. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -5
  295. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
  296. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +69 -35
  297. package/lib/node/accounts/types.d.ts +6 -12
  298. package/lib/node/accounts/types.d.ts.map +1 -1
  299. package/lib/node/accounts/utils.d.ts +1 -0
  300. package/lib/node/accounts/utils.d.ts.map +1 -1
  301. package/lib/node/accounts/utils.js +10 -3
  302. package/lib/node/accounts/webSocketAccountSubscriber.d.ts +4 -2
  303. package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
  304. package/lib/node/accounts/webSocketAccountSubscriber.js +17 -5
  305. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
  306. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
  307. package/lib/node/accounts/webSocketAccountSubscriberV2.js +17 -6
  308. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  309. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  310. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
  311. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
  312. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
  313. package/lib/node/accounts/webSocketProgramAccountSubscriber.js +14 -3
  314. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
  315. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
  316. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
  317. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
  318. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
  319. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
  320. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
  321. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
  322. package/lib/node/accounts/webSocketUserAccountSubscriber.js +9 -0
  323. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
  324. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
  325. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
  326. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -8
  327. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
  328. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +52 -26
  329. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -7
  330. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  331. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +49 -20
  332. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
  333. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
  334. package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +0 -3
  335. package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
  336. package/lib/node/addresses/marketAddresses.js +3 -2
  337. package/lib/node/addresses/pda.d.ts +1 -9
  338. package/lib/node/addresses/pda.d.ts.map +1 -1
  339. package/lib/node/addresses/pda.js +4 -23
  340. package/lib/node/adminClient.d.ts +25 -29
  341. package/lib/node/adminClient.d.ts.map +1 -1
  342. package/lib/node/adminClient.js +168 -169
  343. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +2 -4
  344. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
  345. package/lib/node/auctionSubscriber/auctionSubscriber.js +8 -10
  346. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +2 -4
  347. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
  348. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +11 -10
  349. package/lib/node/auctionSubscriber/types.d.ts +3 -2
  350. package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
  351. package/lib/node/bankrun/bankrunConnection.d.ts +6 -4
  352. package/lib/node/bankrun/bankrunConnection.d.ts.map +1 -1
  353. package/lib/node/bankrun/bankrunConnection.js +69 -31
  354. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
  355. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
  356. package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +3 -2
  357. package/lib/node/clock/clockSubscriber.d.ts +6 -6
  358. package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
  359. package/lib/node/clock/clockSubscriber.js +4 -3
  360. package/lib/node/config.d.ts +11 -20
  361. package/lib/node/config.d.ts.map +1 -1
  362. package/lib/node/config.js +13 -36
  363. package/lib/node/constants/index.d.ts +1 -2
  364. package/lib/node/constants/index.d.ts.map +1 -1
  365. package/lib/node/constants/index.js +1 -2
  366. package/lib/node/constants/numericConstants.d.ts +1 -3
  367. package/lib/node/constants/numericConstants.d.ts.map +1 -1
  368. package/lib/node/constants/numericConstants.js +3 -5
  369. package/lib/node/constituentMap/constituentMap.d.ts +0 -2
  370. package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
  371. package/lib/node/constituentMap/constituentMap.js +10 -6
  372. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -1
  373. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
  374. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
  375. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -1
  376. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
  377. package/lib/node/core/VelocityCore.d.ts +9 -15
  378. package/lib/node/core/VelocityCore.d.ts.map +1 -1
  379. package/lib/node/core/VelocityCore.js +5 -7
  380. package/lib/node/core/instructions/perpOrders.d.ts +14 -0
  381. package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
  382. package/lib/node/core/instructions/perpOrders.js +14 -0
  383. package/lib/node/core/instructions/withdraw.d.ts +1 -1
  384. package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
  385. package/lib/node/core/instructions/withdraw.js +1 -1
  386. package/lib/node/core/remainingAccounts.d.ts +2 -2
  387. package/lib/node/core/remainingAccounts.d.ts.map +1 -1
  388. package/lib/node/core/remainingAccounts.js +5 -5
  389. package/lib/node/decode/user.d.ts.map +1 -1
  390. package/lib/node/decode/user.js +9 -1
  391. package/lib/node/dlob/DLOB.d.ts +7 -2
  392. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  393. package/lib/node/dlob/DLOB.js +205 -142
  394. package/lib/node/dlob/DLOBNode.d.ts +5 -2
  395. package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
  396. package/lib/node/dlob/DLOBNode.js +7 -0
  397. package/lib/node/dlob/DLOBSubscriber.d.ts +0 -2
  398. package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
  399. package/lib/node/dlob/DLOBSubscriber.js +39 -39
  400. package/lib/node/dlob/NodeList.d.ts.map +1 -1
  401. package/lib/node/dlob/NodeList.js +8 -7
  402. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  403. package/lib/node/dlob/orderBookLevels.js +24 -17
  404. package/lib/node/dlob/types.d.ts +0 -2
  405. package/lib/node/dlob/types.d.ts.map +1 -1
  406. package/lib/node/events/eventList.d.ts +3 -3
  407. package/lib/node/events/eventList.d.ts.map +1 -1
  408. package/lib/node/events/eventList.js +4 -1
  409. package/lib/node/events/eventSubscriber.d.ts +6 -3
  410. package/lib/node/events/eventSubscriber.d.ts.map +1 -1
  411. package/lib/node/events/eventSubscriber.js +75 -26
  412. package/lib/node/events/eventsServerLogProvider.d.ts +2 -2
  413. package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
  414. package/lib/node/events/eventsServerLogProvider.js +17 -10
  415. package/lib/node/events/fetchLogs.d.ts +1 -1
  416. package/lib/node/events/fetchLogs.d.ts.map +1 -1
  417. package/lib/node/events/fetchLogs.js +4 -2
  418. package/lib/node/events/parse.d.ts.map +1 -1
  419. package/lib/node/events/parse.js +14 -14
  420. package/lib/node/events/pollingLogProvider.d.ts +2 -2
  421. package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
  422. package/lib/node/events/pollingLogProvider.js +1 -0
  423. package/lib/node/events/txEventCache.d.ts +3 -3
  424. package/lib/node/events/txEventCache.d.ts.map +1 -1
  425. package/lib/node/events/txEventCache.js +6 -2
  426. package/lib/node/events/types.d.ts +3 -7
  427. package/lib/node/events/types.d.ts.map +1 -1
  428. package/lib/node/events/types.js +1 -3
  429. package/lib/node/events/webSocketLogProvider.d.ts +2 -2
  430. package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
  431. package/lib/node/events/webSocketLogProvider.js +5 -2
  432. package/lib/node/factory/bigNum.js +1 -1
  433. package/lib/{browser/idl/drift.d.ts → node/idl/velocity.d.ts} +2413 -2480
  434. package/lib/node/idl/velocity.d.ts.map +1 -0
  435. package/lib/node/idl/{drift.json → velocity.json} +2265 -2333
  436. package/lib/node/index.d.ts +1 -3
  437. package/lib/node/index.d.ts.map +1 -1
  438. package/lib/node/index.js +1 -4
  439. package/lib/node/jupiter/jupiterClient.d.ts +1 -1
  440. package/lib/node/jupiter/jupiterClient.d.ts.map +1 -1
  441. package/lib/node/jupiter/jupiterClient.js +18 -8
  442. package/lib/node/marginCalculation.d.ts.map +1 -1
  443. package/lib/node/marginCalculation.js +1 -0
  444. package/lib/node/math/amm.d.ts +31 -13
  445. package/lib/node/math/amm.d.ts.map +1 -1
  446. package/lib/node/math/amm.js +87 -31
  447. package/lib/node/math/auction.d.ts.map +1 -1
  448. package/lib/node/math/auction.js +16 -12
  449. package/lib/node/math/bankruptcy.js +1 -1
  450. package/lib/node/math/builder.d.ts +18 -1
  451. package/lib/node/math/builder.d.ts.map +1 -1
  452. package/lib/node/math/builder.js +32 -1
  453. package/lib/node/math/funding.d.ts.map +1 -1
  454. package/lib/node/math/funding.js +30 -30
  455. package/lib/node/math/insurance.d.ts +1 -1
  456. package/lib/node/math/insurance.d.ts.map +1 -1
  457. package/lib/node/math/insurance.js +4 -5
  458. package/lib/node/math/margin.d.ts +3 -11
  459. package/lib/node/math/margin.d.ts.map +1 -1
  460. package/lib/node/math/margin.js +10 -69
  461. package/lib/node/math/market.d.ts +4 -12
  462. package/lib/node/math/market.d.ts.map +1 -1
  463. package/lib/node/math/market.js +12 -46
  464. package/lib/node/math/oracles.d.ts +4 -7
  465. package/lib/node/math/oracles.d.ts.map +1 -1
  466. package/lib/node/math/oracles.js +24 -37
  467. package/lib/node/math/orders.d.ts +2 -7
  468. package/lib/node/math/orders.d.ts.map +1 -1
  469. package/lib/node/math/orders.js +9 -81
  470. package/lib/node/math/position.d.ts +1 -5
  471. package/lib/node/math/position.d.ts.map +1 -1
  472. package/lib/node/math/position.js +6 -11
  473. package/lib/node/math/repeg.d.ts +0 -1
  474. package/lib/node/math/repeg.d.ts.map +1 -1
  475. package/lib/node/math/repeg.js +1 -23
  476. package/lib/node/math/spotBalance.d.ts +4 -4
  477. package/lib/node/math/spotBalance.d.ts.map +1 -1
  478. package/lib/node/math/spotBalance.js +6 -6
  479. package/lib/node/math/spotMarket.d.ts +0 -6
  480. package/lib/node/math/spotMarket.d.ts.map +1 -1
  481. package/lib/node/math/spotMarket.js +1 -16
  482. package/lib/node/math/spotPosition.d.ts +4 -4
  483. package/lib/node/math/spotPosition.d.ts.map +1 -1
  484. package/lib/node/math/state.d.ts +0 -2
  485. package/lib/node/math/state.d.ts.map +1 -1
  486. package/lib/node/math/state.js +1 -9
  487. package/lib/node/math/superStake.d.ts +11 -63
  488. package/lib/node/math/superStake.d.ts.map +1 -1
  489. package/lib/node/math/superStake.js +29 -28
  490. package/lib/node/math/trade.d.ts +2 -2
  491. package/lib/node/math/trade.d.ts.map +1 -1
  492. package/lib/node/math/trade.js +7 -7
  493. package/lib/node/math/utils.d.ts +1 -1
  494. package/lib/node/math/utils.js +1 -1
  495. package/lib/node/memcmp.d.ts +0 -1
  496. package/lib/node/memcmp.d.ts.map +1 -1
  497. package/lib/node/memcmp.js +1 -10
  498. package/lib/node/oracles/oracleClientCache.d.ts +1 -1
  499. package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
  500. package/lib/node/oracles/prelaunchOracleClient.js +3 -2
  501. package/lib/node/oracles/pythClient.d.ts.map +1 -1
  502. package/lib/node/oracles/pythClient.js +9 -3
  503. package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
  504. package/lib/node/oracles/pythLazerClient.js +5 -4
  505. package/lib/node/oracles/utils.d.ts +4 -0
  506. package/lib/node/oracles/utils.d.ts.map +1 -1
  507. package/lib/node/oracles/utils.js +9 -1
  508. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +1 -3
  509. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  510. package/lib/node/orderSubscriber/OrderSubscriber.js +16 -14
  511. package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
  512. package/lib/node/orderSubscriber/grpcSubscription.js +2 -2
  513. package/lib/node/orderSubscriber/types.d.ts +0 -2
  514. package/lib/node/orderSubscriber/types.d.ts.map +1 -1
  515. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
  516. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
  517. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +2 -6
  518. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
  519. package/lib/node/priorityFee/priorityFeeSubscriber.js +34 -18
  520. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
  521. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
  522. package/lib/node/priorityFee/priorityFeeSubscriberMap.js +3 -11
  523. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
  524. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
  525. package/lib/node/priorityFee/types.d.ts +3 -8
  526. package/lib/node/priorityFee/types.d.ts.map +1 -1
  527. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
  528. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
  529. package/lib/node/priorityFee/velocityPriorityFeeMethod.js +1 -3
  530. package/lib/node/pyth/pythLazerSubscriber.d.ts +1 -1
  531. package/lib/node/pyth/pythLazerSubscriber.js +1 -1
  532. package/lib/node/pyth/types.d.ts +0 -1
  533. package/lib/node/pyth/types.d.ts.map +1 -1
  534. package/lib/node/slot/SlotSubscriber.d.ts +1 -1
  535. package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
  536. package/lib/node/slot/SlotSubscriber.js +2 -1
  537. package/lib/node/slot/SlothashSubscriber.d.ts +3 -2
  538. package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
  539. package/lib/node/slot/SlothashSubscriber.js +11 -4
  540. package/lib/node/swap/UnifiedSwapClient.js +1 -1
  541. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
  542. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts.map +1 -1
  543. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
  544. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +7 -7
  545. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
  546. package/lib/node/swift/signedMsgUserAccountSubscriber.js +14 -10
  547. package/lib/node/swift/swiftOrderSubscriber.d.ts +7 -6
  548. package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
  549. package/lib/node/swift/swiftOrderSubscriber.js +15 -16
  550. package/lib/node/testClient.js +3 -2
  551. package/lib/node/tokenFaucet.d.ts.map +1 -1
  552. package/lib/node/tokenFaucet.js +16 -2
  553. package/lib/node/tx/baseTxSender.d.ts +4 -4
  554. package/lib/node/tx/baseTxSender.d.ts.map +1 -1
  555. package/lib/node/tx/baseTxSender.js +5 -4
  556. package/lib/node/tx/fastSingleTxSender.d.ts +3 -3
  557. package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
  558. package/lib/node/tx/fastSingleTxSender.js +9 -5
  559. package/lib/node/tx/reportTransactionError.d.ts +2 -2
  560. package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
  561. package/lib/node/tx/reportTransactionError.js +5 -1
  562. package/lib/node/tx/retryTxSender.d.ts +1 -1
  563. package/lib/node/tx/retryTxSender.d.ts.map +1 -1
  564. package/lib/node/tx/retryTxSender.js +4 -2
  565. package/lib/node/tx/txHandler.d.ts +9 -3
  566. package/lib/node/tx/txHandler.d.ts.map +1 -1
  567. package/lib/node/tx/txHandler.js +54 -40
  568. package/lib/node/tx/txParamProcessor.d.ts +4 -1
  569. package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
  570. package/lib/node/tx/txParamProcessor.js +6 -0
  571. package/lib/node/tx/types.d.ts +1 -1
  572. package/lib/node/tx/types.d.ts.map +1 -1
  573. package/lib/node/tx/whileValidTxSender.d.ts +1 -6
  574. package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
  575. package/lib/node/tx/whileValidTxSender.js +35 -13
  576. package/lib/node/types.d.ts +100 -155
  577. package/lib/node/types.d.ts.map +1 -1
  578. package/lib/node/types.js +6 -2
  579. package/lib/node/user.d.ts +22 -10
  580. package/lib/node/user.d.ts.map +1 -1
  581. package/lib/node/user.js +174 -154
  582. package/lib/node/userConfig.d.ts +3 -2
  583. package/lib/node/userConfig.d.ts.map +1 -1
  584. package/lib/node/userMap/WebsocketSubscription.d.ts +1 -1
  585. package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
  586. package/lib/node/userMap/WebsocketSubscription.js +1 -1
  587. package/lib/node/userMap/grpcSubscription.d.ts +1 -1
  588. package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
  589. package/lib/node/userMap/grpcSubscription.js +1 -1
  590. package/lib/node/userMap/referrerMap.d.ts +0 -2
  591. package/lib/node/userMap/referrerMap.d.ts.map +1 -1
  592. package/lib/node/userMap/referrerMap.js +10 -7
  593. package/lib/node/userMap/revenueShareEscrowMap.d.ts +0 -2
  594. package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
  595. package/lib/node/userMap/revenueShareEscrowMap.js +4 -4
  596. package/lib/node/userMap/userMap.d.ts +3 -5
  597. package/lib/node/userMap/userMap.d.ts.map +1 -1
  598. package/lib/node/userMap/userMap.js +39 -30
  599. package/lib/node/userMap/userMapConfig.d.ts +3 -2
  600. package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
  601. package/lib/node/userMap/userStatsMap.d.ts +1 -3
  602. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  603. package/lib/node/userMap/userStatsMap.js +18 -17
  604. package/lib/node/userStats.d.ts +7 -4
  605. package/lib/node/userStats.d.ts.map +1 -1
  606. package/lib/node/userStats.js +28 -18
  607. package/lib/node/userStatsConfig.d.ts +3 -2
  608. package/lib/node/userStatsConfig.d.ts.map +1 -1
  609. package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
  610. package/lib/node/util/TransactionConfirmationManager.js +4 -2
  611. package/lib/node/util/chainClock.d.ts +1 -1
  612. package/lib/node/util/chainClock.d.ts.map +1 -1
  613. package/lib/node/util/computeUnits.d.ts +1 -1
  614. package/lib/node/util/computeUnits.d.ts.map +1 -1
  615. package/lib/node/util/computeUnits.js +6 -1
  616. package/lib/node/util/ed25519Utils.d.ts +1 -1
  617. package/lib/node/util/ed25519Utils.js +1 -1
  618. package/lib/node/velocityClient.d.ts +145 -72
  619. package/lib/node/velocityClient.d.ts.map +1 -1
  620. package/lib/node/velocityClient.js +653 -457
  621. package/lib/node/velocityClientConfig.d.ts +0 -8
  622. package/lib/node/velocityClientConfig.d.ts.map +1 -1
  623. package/package.json +10 -9
  624. package/scripts/deposit-isolated-positions.ts +2 -2
  625. package/scripts/find-flagged-users.ts +1 -1
  626. package/scripts/grpc-client-test-comparison.ts +4 -4
  627. package/scripts/grpc-multiuser-client-test-comparison.ts +2 -2
  628. package/scripts/single-grpc-client-test.ts +3 -3
  629. package/scripts/updateVersion.js +4 -4
  630. package/scripts/withdraw-isolated-positions.ts +2 -2
  631. package/src/accounts/basicUserAccountSubscriber.ts +7 -5
  632. package/src/accounts/basicUserStatsAccountSubscriber.ts +9 -5
  633. package/src/accounts/bulkAccountLoader.ts +20 -7
  634. package/src/accounts/grpcAccountSubscriber.ts +11 -3
  635. package/src/accounts/grpcMultiAccountSubscriber.ts +24 -9
  636. package/src/accounts/grpcMultiUserAccountSubscriber.ts +16 -12
  637. package/src/accounts/grpcProgramAccountSubscriber.ts +12 -4
  638. package/src/accounts/grpcVelocityClientAccountSubscriber.ts +17 -14
  639. package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +69 -49
  640. package/src/accounts/laserProgramAccountSubscriber.ts +4 -1
  641. package/src/accounts/oneShotUserAccountSubscriber.ts +5 -3
  642. package/src/accounts/oneShotUserStatsAccountSubscriber.ts +8 -3
  643. package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +11 -5
  644. package/src/accounts/pollingOracleAccountSubscriber.ts +17 -10
  645. package/src/accounts/pollingTokenAccountSubscriber.ts +17 -10
  646. package/src/accounts/pollingUserAccountSubscriber.ts +26 -20
  647. package/src/accounts/pollingUserStatsAccountSubscriber.ts +12 -10
  648. package/src/accounts/pollingVelocityClientAccountSubscriber.ts +80 -41
  649. package/src/accounts/types.ts +8 -13
  650. package/src/accounts/utils.ts +12 -2
  651. package/src/accounts/webSocketAccountSubscriber.ts +23 -10
  652. package/src/accounts/webSocketAccountSubscriberV2.ts +23 -8
  653. package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +17 -2
  654. package/src/accounts/webSocketProgramAccountSubscriber.ts +29 -4
  655. package/src/accounts/webSocketProgramAccountSubscriberV2.ts +30 -4
  656. package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +29 -4
  657. package/src/accounts/webSocketUserAccountSubscriber.ts +11 -2
  658. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +15 -2
  659. package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +79 -58
  660. package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +77 -45
  661. package/src/accounts/websocketProgramUserAccountSubscriber.ts +1 -6
  662. package/src/addresses/marketAddresses.ts +3 -2
  663. package/src/addresses/pda.ts +3 -38
  664. package/src/adminClient.ts +285 -315
  665. package/src/auctionSubscriber/auctionSubscriber.ts +8 -11
  666. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +13 -11
  667. package/src/auctionSubscriber/types.ts +3 -3
  668. package/src/bankrun/bankrunConnection.ts +83 -39
  669. package/src/blockhashSubscriber/BlockhashSubscriber.ts +5 -4
  670. package/src/clock/clockSubscriber.ts +10 -9
  671. package/src/config.ts +16 -70
  672. package/src/constants/index.ts +1 -2
  673. package/src/constants/numericConstants.ts +3 -3
  674. package/src/constituentMap/constituentMap.ts +10 -7
  675. package/src/constituentMap/pollingConstituentAccountSubscriber.ts +4 -2
  676. package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +13 -4
  677. package/src/core/VelocityCore.ts +11 -20
  678. package/src/core/instructions/perpOrders.ts +14 -0
  679. package/src/core/instructions/withdraw.ts +2 -2
  680. package/src/core/remainingAccounts.ts +7 -7
  681. package/src/decode/user.ts +8 -1
  682. package/src/dlob/DLOB.ts +300 -176
  683. package/src/dlob/DLOBNode.ts +23 -3
  684. package/src/dlob/DLOBSubscriber.ts +53 -42
  685. package/src/dlob/NodeList.ts +8 -7
  686. package/src/dlob/orderBookLevels.ts +51 -25
  687. package/src/dlob/types.ts +0 -2
  688. package/src/events/eventList.ts +4 -1
  689. package/src/events/eventSubscriber.ts +108 -50
  690. package/src/events/eventsServerLogProvider.ts +24 -15
  691. package/src/events/fetchLogs.ts +3 -3
  692. package/src/events/parse.ts +14 -14
  693. package/src/events/pollingLogProvider.ts +2 -2
  694. package/src/events/txEventCache.ts +8 -2
  695. package/src/events/types.ts +4 -15
  696. package/src/events/webSocketLogProvider.ts +5 -3
  697. package/src/factory/bigNum.ts +2 -2
  698. package/src/idl/{drift.json → velocity.json} +2265 -2333
  699. package/src/idl/{drift.ts → velocity.ts} +2267 -2335
  700. package/src/index.ts +1 -6
  701. package/src/jupiter/jupiterClient.ts +30 -10
  702. package/src/margin/README.md +2 -2
  703. package/src/marginCalculation.ts +1 -0
  704. package/src/math/amm.ts +217 -40
  705. package/src/math/auction.ts +16 -12
  706. package/src/math/bankruptcy.ts +1 -1
  707. package/src/math/builder.ts +45 -1
  708. package/src/math/funding.ts +51 -47
  709. package/src/math/insurance.ts +6 -8
  710. package/src/math/margin.ts +12 -119
  711. package/src/math/market.ts +16 -98
  712. package/src/math/oracles.ts +29 -43
  713. package/src/math/orders.ts +13 -109
  714. package/src/math/position.ts +6 -12
  715. package/src/math/repeg.ts +0 -29
  716. package/src/math/spotBalance.ts +14 -10
  717. package/src/math/spotMarket.ts +2 -28
  718. package/src/math/spotPosition.ts +4 -4
  719. package/src/math/state.ts +0 -8
  720. package/src/math/superStake.ts +36 -85
  721. package/src/math/trade.ts +7 -3
  722. package/src/math/utils.ts +1 -1
  723. package/src/memcmp.ts +0 -9
  724. package/src/oracles/prelaunchOracleClient.ts +7 -2
  725. package/src/oracles/pythClient.ts +12 -3
  726. package/src/oracles/pythLazerClient.ts +10 -5
  727. package/src/oracles/utils.ts +15 -0
  728. package/src/orderSubscriber/OrderSubscriber.ts +12 -12
  729. package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
  730. package/src/orderSubscriber/grpcSubscription.ts +2 -2
  731. package/src/orderSubscriber/types.ts +0 -2
  732. package/src/priorityFee/heliusPriorityFeeMethod.ts +1 -1
  733. package/src/priorityFee/priorityFeeSubscriber.ts +50 -21
  734. package/src/priorityFee/priorityFeeSubscriberMap.ts +2 -10
  735. package/src/priorityFee/solanaPriorityFeeMethod.ts +1 -1
  736. package/src/priorityFee/types.ts +3 -13
  737. package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -12
  738. package/src/pyth/pythLazerSubscriber.ts +1 -1
  739. package/src/pyth/types.ts +0 -2
  740. package/src/slot/SlotSubscriber.ts +3 -3
  741. package/src/slot/SlothashSubscriber.ts +17 -6
  742. package/src/swap/UnifiedSwapClient.ts +1 -1
  743. package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +5 -6
  744. package/src/swift/signedMsgUserAccountSubscriber.ts +18 -16
  745. package/src/swift/swiftOrderSubscriber.ts +17 -21
  746. package/src/testClient.ts +2 -2
  747. package/src/tokenFaucet.ts +22 -3
  748. package/src/tx/baseTxSender.ts +10 -10
  749. package/src/tx/fastSingleTxSender.ts +12 -8
  750. package/src/tx/reportTransactionError.ts +12 -7
  751. package/src/tx/retryTxSender.ts +6 -4
  752. package/src/tx/txHandler.ts +88 -43
  753. package/src/tx/txParamProcessor.ts +18 -3
  754. package/src/tx/types.ts +1 -1
  755. package/src/tx/whileValidTxSender.ts +51 -22
  756. package/src/types.ts +119 -173
  757. package/src/user.ts +208 -165
  758. package/src/userConfig.ts +1 -3
  759. package/src/userMap/WebsocketSubscription.ts +2 -2
  760. package/src/userMap/grpcSubscription.ts +2 -2
  761. package/src/userMap/referrerMap.ts +13 -13
  762. package/src/userMap/revenueShareEscrowMap.ts +6 -5
  763. package/src/userMap/userMap.ts +46 -32
  764. package/src/userMap/userMapConfig.ts +3 -3
  765. package/src/userMap/userStatsMap.ts +32 -23
  766. package/src/userStats.ts +22 -13
  767. package/src/userStatsConfig.ts +3 -3
  768. package/src/util/TransactionConfirmationManager.ts +10 -2
  769. package/src/util/chainClock.ts +1 -1
  770. package/src/util/computeUnits.ts +7 -3
  771. package/src/util/ed25519Utils.ts +1 -1
  772. package/src/velocityClient.ts +867 -600
  773. package/src/velocityClientConfig.ts +0 -10
  774. package/tests/{DriftCore → VelocityCore}/decode.test.ts +1 -1
  775. package/tests/{DriftCore → VelocityCore}/fill_trigger.test.ts +1 -1
  776. package/tests/{DriftCore → VelocityCore}/instructions.test.ts +1 -1
  777. package/tests/{DriftCore → VelocityCore}/pdas.test.ts +4 -2
  778. package/tests/amm/test.ts +138 -0
  779. package/tests/ci/verifyConstants.ts +24 -27
  780. package/tests/decode/test.ts +2 -2
  781. package/tests/dlob/helpers.ts +11 -10
  782. package/tests/events/parseLogsForCuUsage.ts +15 -15
  783. package/tests/user/helpers.ts +9 -9
  784. package/tests/user/test.ts +13 -10
  785. package/tsconfig.json +1 -0
  786. package/lib/browser/constants/insuranceFund.d.ts +0 -5
  787. package/lib/browser/constants/insuranceFund.js +0 -9
  788. package/lib/browser/tx/forwardOnlyTxSender.d.ts +0 -37
  789. package/lib/browser/tx/forwardOnlyTxSender.js +0 -92
  790. package/lib/browser/util/deprecatedAlias.d.ts +0 -26
  791. package/lib/browser/util/deprecatedAlias.js +0 -10
  792. package/lib/browser/util/tps.d.ts +0 -2
  793. package/lib/browser/util/tps.js +0 -16
  794. package/lib/node/constants/insuranceFund.d.ts +0 -6
  795. package/lib/node/constants/insuranceFund.d.ts.map +0 -1
  796. package/lib/node/constants/insuranceFund.js +0 -9
  797. package/lib/node/idl/drift.d.ts.map +0 -1
  798. package/lib/node/tx/forwardOnlyTxSender.d.ts +0 -38
  799. package/lib/node/tx/forwardOnlyTxSender.d.ts.map +0 -1
  800. package/lib/node/tx/forwardOnlyTxSender.js +0 -92
  801. package/lib/node/util/deprecatedAlias.d.ts +0 -27
  802. package/lib/node/util/deprecatedAlias.d.ts.map +0 -1
  803. package/lib/node/util/deprecatedAlias.js +0 -10
  804. package/lib/node/util/tps.d.ts +0 -3
  805. package/lib/node/util/tps.d.ts.map +0 -1
  806. package/lib/node/util/tps.js +0 -16
  807. package/src/constants/insuranceFund.ts +0 -8
  808. package/src/tx/forwardOnlyTxSender.ts +0 -145
  809. package/src/util/deprecatedAlias.ts +0 -21
  810. package/src/util/tps.ts +0 -27
  811. /package/lib/browser/idl/{drift.js → velocity.js} +0 -0
  812. /package/lib/node/idl/{drift.js → velocity.js} +0 -0
  813. /package/tests/{DriftCore → VelocityCore}/perp_orders.test.ts +0 -0
  814. /package/tests/{DriftCore → VelocityCore}/remainingAccounts.test.ts +0 -0
  815. /package/tests/{DriftCore → VelocityCore}/settlement_liquidation.test.ts +0 -0
@@ -20,12 +20,7 @@ type ResolveReference = {
20
20
  };
21
21
 
22
22
  export class WhileValidTxSender extends BaseTxSender {
23
- connection: Connection;
24
- wallet: IWallet;
25
- opts: ConfirmOptions;
26
- timeout: number;
27
23
  retrySleep: number;
28
- additionalConnections: Connection[];
29
24
  timoutCount = 0;
30
25
  untilValid = new Map<
31
26
  string,
@@ -75,7 +70,7 @@ export class WhileValidTxSender extends BaseTxSender {
75
70
  wallet: IWallet;
76
71
  opts?: ConfirmOptions;
77
72
  retrySleep?: number;
78
- additionalConnections?;
73
+ additionalConnections?: Connection[];
79
74
  additionalTxSenderCallbacks?: ((base58EncodedTx: string) => void)[];
80
75
  confirmationStrategy?: ConfirmationStrategy;
81
76
  txHandler?: TxHandler;
@@ -120,6 +115,12 @@ export class WhileValidTxSender extends BaseTxSender {
120
115
  let latestBlockhash =
121
116
  await this.txHandler.getLatestBlockhashForTransaction();
122
117
 
118
+ if (!latestBlockhash) {
119
+ throw new Error(
120
+ 'WhileValidTxSender: failed to fetch latest blockhash for transaction'
121
+ );
122
+ }
123
+
123
124
  // handle tx
124
125
  let signedTx = tx;
125
126
  if (!preSigned) {
@@ -141,9 +142,18 @@ export class WhileValidTxSender extends BaseTxSender {
141
142
  }
142
143
 
143
144
  // handle subclass-specific side effects
144
- const txSig = bs58.encode(
145
- signedTx?.signature || signedTx.signatures[0]?.signature
146
- );
145
+ const signature = signedTx?.signature || signedTx.signatures[0]?.signature;
146
+ if (!signature) {
147
+ throw new Error(
148
+ 'WhileValidTxSender: signed transaction is missing a signature'
149
+ );
150
+ }
151
+ const txSig = bs58.encode(signature);
152
+ if (!latestBlockhash) {
153
+ throw new Error(
154
+ 'WhileValidTxSender: failed to resolve latest blockhash for transaction'
155
+ );
156
+ }
147
157
  this.untilValid.set(txSig, latestBlockhash);
148
158
 
149
159
  return signedTx;
@@ -158,6 +168,12 @@ export class WhileValidTxSender extends BaseTxSender {
158
168
  let latestBlockhash =
159
169
  await this.txHandler.getLatestBlockhashForTransaction();
160
170
 
171
+ if (!latestBlockhash) {
172
+ throw new Error(
173
+ 'WhileValidTxSender: failed to fetch latest blockhash for transaction'
174
+ );
175
+ }
176
+
161
177
  let signedTx;
162
178
  if (preSigned) {
163
179
  signedTx = tx;
@@ -184,7 +200,7 @@ export class WhileValidTxSender extends BaseTxSender {
184
200
  });
185
201
  signedTx = await this.txHandler.signVersionedTx(
186
202
  tx,
187
- additionalSigners,
203
+ additionalSigners ?? [],
188
204
  latestBlockhash
189
205
  );
190
206
  }
@@ -193,7 +209,18 @@ export class WhileValidTxSender extends BaseTxSender {
193
209
  opts = this.opts;
194
210
  }
195
211
 
196
- const txSig = bs58.encode(signedTx.signatures[0]);
212
+ const signature = signedTx.signatures[0];
213
+ if (!signature) {
214
+ throw new Error(
215
+ 'WhileValidTxSender: signed transaction is missing a signature'
216
+ );
217
+ }
218
+ const txSig = bs58.encode(signature);
219
+ if (!latestBlockhash) {
220
+ throw new Error(
221
+ 'WhileValidTxSender: failed to resolve latest blockhash for transaction'
222
+ );
223
+ }
197
224
  this.untilValid.set(txSig, latestBlockhash);
198
225
 
199
226
  return this.sendRawTransaction(signedTx.serialize(), opts);
@@ -235,24 +262,26 @@ export class WhileValidTxSender extends BaseTxSender {
235
262
  }
236
263
  })();
237
264
 
238
- let slot: number;
265
+ let slot: number | undefined;
239
266
  try {
240
267
  const result = await this.confirmTransaction(txid, opts.commitment);
241
268
 
242
269
  this.txSigCache?.set(txid, true);
243
270
 
244
- await this.checkConfirmationResultForError(txid, result?.value);
271
+ if (result) {
272
+ await this.checkConfirmationResultForError(txid, result.value);
245
273
 
246
- if (result?.value?.err && this.throwOnTransactionError) {
247
- // Fallback error handling if there's a problem reporting the error in checkConfirmationResultForError
248
- throw new SendTransactionError({
249
- action: 'send',
250
- signature: txid,
251
- transactionMessage: `Transaction Failed`,
252
- });
253
- }
274
+ if (result.value?.err && this.throwOnTransactionError) {
275
+ // Fallback error handling if there's a problem reporting the error in checkConfirmationResultForError
276
+ throw new SendTransactionError({
277
+ action: 'send',
278
+ signature: txid,
279
+ transactionMessage: `Transaction Failed`,
280
+ });
281
+ }
254
282
 
255
- slot = result?.context?.slot;
283
+ slot = result.context.slot;
284
+ }
256
285
  // eslint-disable-next-line no-useless-catch
257
286
  } catch (e) {
258
287
  throw e;
package/src/types.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Shared TypeScript types for the Drift SDK.
2
+ * Shared TypeScript types for the Velocity SDK.
3
3
  *
4
4
  * Contains TypeScript mirrors of all on-chain account structs (UserAccount, PerpMarketAccount,
5
5
  * SpotMarketAccount, StateAccount, OracleData, etc.), instruction parameter types (OrderParams,
6
6
  * ModifyOrderParams), enums (MarketType, OrderType, PositionDirection, OracleSource), and
7
7
  * precision constants used throughout the SDK.
8
8
  *
9
- * The authoritative layout source is `sdk/src/idl/drift.json` (generated from the program).
9
+ * The authoritative layout source is `sdk/src/idl/velocity.json` (generated from the program).
10
10
  * Do not edit struct shapes here without a corresponding on-chain change.
11
11
  */
12
12
  import {
@@ -313,17 +313,17 @@ export class SettlePnlMode {
313
313
  }
314
314
 
315
315
  export function isVariant(object: unknown, type: string) {
316
- return object.hasOwnProperty(type);
316
+ return Object.prototype.hasOwnProperty.call(object, type);
317
317
  }
318
318
 
319
319
  export function isOneOfVariant(object: unknown, types: string[]) {
320
320
  return types.reduce((result, type) => {
321
- return result || object.hasOwnProperty(type);
321
+ return result || Object.prototype.hasOwnProperty.call(object, type);
322
322
  }, false);
323
323
  }
324
324
 
325
325
  export function getVariant(object: unknown): string {
326
- return Object.keys(object)[0];
326
+ return Object.keys(object as object)[0];
327
327
  }
328
328
 
329
329
  export enum TradeSide {
@@ -385,9 +385,8 @@ export type SpotInterestRecord = {
385
385
  maxBorrowRate: number;
386
386
  };
387
387
 
388
- export type CurveRecord = {
388
+ export type AmmCurveChanged = {
389
389
  ts: BN;
390
- recordId: BN;
391
390
  marketIndex: number;
392
391
  pegMultiplierBefore: BN;
393
392
  baseAssetReserveBefore: BN;
@@ -397,15 +396,9 @@ export type CurveRecord = {
397
396
  baseAssetReserveAfter: BN;
398
397
  quoteAssetReserveAfter: BN;
399
398
  sqrtKAfter: BN;
400
- baseAssetAmountLong: BN;
401
- baseAssetAmountShort: BN;
402
- baseAssetAmountWithAmm: BN;
403
- totalFee: BN;
404
- totalFeeMinusDistributions: BN;
405
399
  adjustmentCost: BN;
406
- numberOfUsers: BN;
400
+ totalFeeMinusDistributionsAfter: BN;
407
401
  oraclePrice: BN;
408
- fillRecord: BN;
409
402
  };
410
403
 
411
404
  export declare type InsuranceFundRecord = {
@@ -447,7 +440,6 @@ export type FundingRateRecord = {
447
440
  cumulativeFundingRateShort: BN;
448
441
  oraclePriceTwap: BN;
449
442
  markPriceTwap: BN;
450
- periodRevenue: BN;
451
443
  baseAssetAmountWithAmm: BN;
452
444
  };
453
445
 
@@ -655,40 +647,6 @@ export type DeleteUserRecord = {
655
647
  keeper: PublicKey | null;
656
648
  };
657
649
 
658
- export type InsuranceFundSwapRecord = {
659
- rebalanceConfig: PublicKey;
660
- inIfTotalSharesBefore: BN;
661
- outIfTotalSharesBefore: BN;
662
- inIfUserSharesBefore: BN;
663
- outIfUserSharesBefore: BN;
664
- inIfTotalSharesAfter: BN;
665
- outIfTotalSharesAfter: BN;
666
- inIfUserSharesAfter: BN;
667
- outIfUserSharesAfter: BN;
668
- ts: BN;
669
- inAmount: BN;
670
- outAmount: BN;
671
- outOraclePrice: BN;
672
- outOraclePriceTwap: BN;
673
- inVaultAmountBefore: BN;
674
- outVaultAmountBefore: BN;
675
- inFundVaultAmountAfter: BN;
676
- outFundVaultAmountAfter: BN;
677
- inMarketIndex: number;
678
- outMarketIndex: number;
679
- };
680
-
681
- export type TransferProtocolIfSharesToRevenuePoolRecord = {
682
- ts: BN;
683
- marketIndex: number;
684
- amount: BN;
685
- shares: BN;
686
- ifVaultAmountBefore: BN;
687
- protocolSharesBefore: BN;
688
- protocolSharesAfter: BN;
689
- transferAmount: BN;
690
- };
691
-
692
650
  export type LPSwapRecord = {
693
651
  ts: BN;
694
652
  slot: BN;
@@ -774,13 +732,15 @@ export type StateAccount = {
774
732
  hotLpCache: PublicKey;
775
733
  hotLpSwap: PublicKey;
776
734
  hotLpSettle: PublicKey;
777
- hotIfRebalance: PublicKey;
778
735
  hotFeatureFlag: PublicKey;
779
736
  hotFuel: PublicKey;
780
737
  hotUserFlag: PublicKey;
781
738
  hotVaultDeposit: PublicKey;
782
739
  hotMmOracleCrank: PublicKey;
783
740
  hotAmmSpreadAdjust: PublicKey;
741
+ hotFeeWithdraw: PublicKey;
742
+ protocolFeeRecipientPerp: PublicKey;
743
+ protocolFeeRecipientSpot: PublicKey;
784
744
  exchangeStatus: number;
785
745
  whitelistMint: PublicKey;
786
746
  discountMint: PublicKey;
@@ -816,16 +776,20 @@ export type PerpMarketAccount = {
816
776
  pubkey: PublicKey;
817
777
  name: number[];
818
778
  amm: AMM;
779
+ marketStats: MarketStats;
819
780
  numberOfUsersWithBase: number;
820
781
  numberOfUsers: number;
821
782
  marginRatioInitial: number;
822
783
  marginRatioMaintenance: number;
823
784
  nextFillRecordId: BN;
824
785
  nextFundingRateRecordId: BN;
825
- nextCurveRecordId: BN;
826
786
  pnlPool: PoolBalance;
787
+ protocolFeePool: PoolBalance;
788
+ feeLedger: FeeLedger;
827
789
  liquidatorFee: number;
828
790
  ifLiquidationFee: number;
791
+ protocolLiquidationFee: number;
792
+ feePoolBufferTarget: BN;
829
793
  imfFactor: number;
830
794
  unrealizedPnlImfFactor: number;
831
795
  unrealizedPnlMaxImbalance: BN;
@@ -844,12 +808,38 @@ export type PerpMarketAccount = {
844
808
 
845
809
  lastFillPrice: BN;
846
810
 
847
- lpPoolId: number;
848
- lpFeeTransferScalar: number;
849
- lpExchangeFeeExcluscionScalar: number;
850
- lpStatus: number;
851
- lpPausedOperations: number;
811
+ hedgeConfig: {
812
+ poolId: number;
813
+ status: number;
814
+ pausedOperations: number;
815
+ exchangeFeeExclusionScalar: number;
816
+ feeTransferScalar: number;
817
+ };
852
818
  marketConfig: number;
819
+
820
+ // Fields migrated off AMM to top-level PerpMarket
821
+ oracle: PublicKey;
822
+ oracleSource: OracleSource;
823
+ oracleSlotDelayOverride: number;
824
+ oracleLowRiskSlotDelayOverride: number;
825
+ baseAssetAmountLong: BN;
826
+ baseAssetAmountShort: BN;
827
+ quoteAssetAmount: BN;
828
+ quoteEntryAmountLong: BN;
829
+ quoteEntryAmountShort: BN;
830
+ quoteBreakEvenAmountLong: BN;
831
+ quoteBreakEvenAmountShort: BN;
832
+ totalSocialLoss: BN;
833
+ maxOpenInterest: BN;
834
+ cumulativeFundingRateLong: BN;
835
+ cumulativeFundingRateShort: BN;
836
+ lastFundingRate: BN;
837
+ lastFundingRateLong: BN;
838
+ lastFundingRateShort: BN;
839
+ lastFundingRateTs: BN;
840
+ netUnsettledFundingPnl: BN;
841
+ orderStepSize: BN;
842
+ orderTickSize: BN;
853
843
  };
854
844
 
855
845
  export type HistoricalOracleData = {
@@ -892,13 +882,15 @@ export type SpotMarketAccount = {
892
882
  unstakingPeriod: BN;
893
883
  lastRevenueSettleTs: BN;
894
884
  revenueSettlePeriod: BN;
895
- totalFactor: number;
896
- userFactor: number;
885
+ ifFeeFactor: number;
897
886
  };
898
887
 
899
888
  revenuePool: PoolBalance;
889
+ protocolFeePool: PoolBalance;
900
890
 
901
891
  ifLiquidationFee: number;
892
+ protocolLiquidationFee: number;
893
+ protocolFeeFactor: number;
902
894
 
903
895
  decimals: number;
904
896
  optimalUtilization: number;
@@ -952,6 +944,8 @@ export type SpotMarketAccount = {
952
944
  tokenProgramFlag: number;
953
945
 
954
946
  poolId: number;
947
+
948
+ feeAdjustment: number;
955
949
  };
956
950
 
957
951
  export type PoolBalance = {
@@ -959,98 +953,79 @@ export type PoolBalance = {
959
953
  marketIndex: number;
960
954
  };
961
955
 
956
+ /// Consolidated per-market fee ledger: lifetime analytics counters plus the
957
+ /// pending (not-yet-materialized) protocol/IF/AMM carveouts and the AMM's
958
+ /// backstop-of-last-resort clawback cap.
959
+ export type FeeLedger = {
960
+ totalExchangeFee: BN;
961
+ totalLiquidationFee: BN;
962
+ pendingProtocolFee: BN;
963
+ pendingIfFee: BN;
964
+ ammProtocolFeesReceived: BN;
965
+ pendingAmmProvision: BN;
966
+ };
967
+
962
968
  export type AMM = {
969
+ feePool: PoolBalance;
963
970
  baseAssetReserve: BN;
964
- sqrtK: BN;
965
- cumulativeFundingRate: BN;
966
- lastFundingRate: BN;
967
- lastFundingRateTs: BN;
968
- lastMarkPriceTwap: BN;
969
- lastMarkPriceTwap5Min: BN;
970
- lastMarkPriceTwapTs: BN;
971
- lastTradeTs: BN;
972
-
973
- oracle: PublicKey;
974
- oracleSource: OracleSource;
975
- historicalOracleData: HistoricalOracleData;
976
-
977
- lastOracleReservePriceSpreadPct: BN;
978
- lastOracleConfPct: BN;
979
-
980
- fundingPeriod: BN;
981
971
  quoteAssetReserve: BN;
972
+ concentrationCoef: BN;
973
+ minBaseAssetReserve: BN;
974
+ maxBaseAssetReserve: BN;
975
+ sqrtK: BN;
982
976
  pegMultiplier: BN;
983
- cumulativeFundingRateLong: BN;
984
- cumulativeFundingRateShort: BN;
985
- last24HAvgFundingRate: BN;
986
- lastFundingRateShort: BN;
987
- lastFundingRateLong: BN;
988
-
989
- totalLiquidationFee: BN;
977
+ terminalQuoteAssetReserve: BN;
978
+ baseAssetAmountWithAmm: BN;
979
+ /// the AMM's own fee-derived income (provision + spread surplus) — the
980
+ /// market's gross fees are feeLedger.totalExchangeFee
981
+ totalFee: BN;
982
+ /// spread-capture component of totalFee (trading profit, not a paid fee)
983
+ totalMmFee: BN;
984
+ /// the AMM's equity ledger (retained earnings): fee income + funding/PnL
985
+ /// + credits − curve costs − bankruptcy clawbacks; AMM money only
990
986
  totalFeeMinusDistributions: BN;
987
+ /// @deprecated frozen pre-isolation analytics counter
991
988
  totalFeeWithdrawn: BN;
992
- totalFee: BN;
993
- mmOracleSequenceId: BN;
994
- orderStepSize: BN;
995
- orderTickSize: BN;
989
+ lastUpdateSlot: BN;
990
+ netRevenueSinceLastFunding: BN;
991
+ lastCumulativeFundingRateLong: BN;
992
+ lastCumulativeFundingRateShort: BN;
993
+ baseSpread: number;
994
+ maxSpread: number;
996
995
  maxFillReserveFraction: number;
997
996
  maxSlippageRatio: number;
998
- baseSpread: number;
999
997
  curveUpdateIntensity: number;
1000
- baseAssetAmountWithAmm: BN;
1001
- baseAssetAmountLong: BN;
1002
- baseAssetAmountShort: BN;
1003
- quoteAssetAmount: BN;
1004
- terminalQuoteAssetReserve: BN;
1005
- concentrationCoef: BN;
1006
- feePool: PoolBalance;
1007
- totalExchangeFee: BN;
1008
- totalMmFee: BN;
1009
- netRevenueSinceLastFunding: BN;
1010
- lastUpdateSlot: BN;
1011
- lastOracleNormalisedPrice: BN;
1012
- lastOracleValid: boolean;
1013
- lastBidPriceTwap: BN;
1014
- lastAskPriceTwap: BN;
1015
- longSpread: number;
1016
- shortSpread: number;
1017
- maxSpread: number;
1018
-
1019
998
  ammJitIntensity: number;
1020
- maxOpenInterest: BN;
1021
- maxBaseAssetReserve: BN;
1022
- minBaseAssetReserve: BN;
1023
- totalSocialLoss: BN;
1024
-
1025
- quoteBreakEvenAmountLong: BN;
1026
- quoteBreakEvenAmountShort: BN;
1027
- quoteEntryAmountLong: BN;
1028
- quoteEntryAmountShort: BN;
999
+ ammSpreadAdjustment: number;
1000
+ ammInventorySpreadAdjustment: number;
1001
+ referencePriceOffsetDeadbandPct: number;
1002
+ fundingBiasSensitivity: number;
1003
+ };
1029
1004
 
1005
+ export type MarketStats = {
1006
+ lastMarkPriceTwap: BN;
1007
+ lastMarkPriceTwap5Min: BN;
1008
+ lastMarkPriceTwapTs: BN;
1009
+ lastBidPriceTwap: BN;
1010
+ lastAskPriceTwap: BN;
1030
1011
  markStd: BN;
1031
1012
  oracleStd: BN;
1013
+ lastOracleConfPct: BN;
1014
+ volume24H: BN;
1032
1015
  longIntensityVolume: BN;
1033
1016
  shortIntensityVolume: BN;
1034
- volume24H: BN;
1017
+ lastTradeTs: BN;
1018
+ last24HAvgFundingRate: BN;
1019
+ fundingPeriod: BN;
1035
1020
  minOrderSize: BN;
1036
1021
  mmOraclePrice: BN;
1037
1022
  mmOracleSlot: BN;
1038
-
1039
- bidBaseAssetReserve: BN;
1040
- bidQuoteAssetReserve: BN;
1041
- askBaseAssetReserve: BN;
1042
- askQuoteAssetReserve: BN;
1043
-
1044
- netUnsettledFundingPnl: BN;
1045
- referencePriceOffset: number;
1046
-
1047
- oracleLowRiskSlotDelayOverride: number;
1048
- oracleSlotDelayOverride: number;
1049
- ammSpreadAdjustment: number;
1050
- ammInventorySpreadAdjustment: number;
1051
-
1023
+ mmOracleSequenceId: BN;
1024
+ lastOracleNormalisedPrice: BN;
1025
+ lastReferencePriceOffset: number;
1026
+ lastOracleValid: boolean;
1052
1027
  lastFundingOracleTwap: BN;
1053
- referencePriceOffsetDeadbandPct: number;
1028
+ historicalOracleData: HistoricalOracleData;
1054
1029
  };
1055
1030
 
1056
1031
  // # User Account Types
@@ -1086,14 +1061,12 @@ export type UserStatsAccount = {
1086
1061
  totalFeeRebate: BN;
1087
1062
  totalTokenDiscount: BN;
1088
1063
  totalRefereeDiscount: BN;
1089
- totalReferrerReward: BN;
1090
- current_epoch_referrer_reward: BN;
1091
1064
  };
1092
1065
  referrer: PublicKey;
1093
1066
  referrerStatus: number;
1094
1067
  authority: PublicKey;
1095
1068
  ifStakedQuoteAssetAmount: BN;
1096
- ifStakedGovTokenAmount: BN;
1069
+ delegatePermissions: number;
1097
1070
  };
1098
1071
 
1099
1072
  export type UserAccount = {
@@ -1146,7 +1119,6 @@ export type Order = {
1146
1119
  marketIndex: number;
1147
1120
  price: BN;
1148
1121
  baseAssetAmount: BN;
1149
- quoteAssetAmount: BN;
1150
1122
  baseAssetAmountFilled: BN;
1151
1123
  quoteAssetAmountFilled: BN;
1152
1124
  direction: PositionDirection;
@@ -1183,6 +1155,10 @@ export type OrderParams = {
1183
1155
  maxTs: BN | null;
1184
1156
  auctionStartPrice: BN | null;
1185
1157
  auctionEndPrice: BN | null;
1158
+ /** index into the placing user's RevenueShareEscrow.approved_builders list (non-swift builder codes) */
1159
+ builderIdx?: number | null;
1160
+ /** builder fee on this order, in tenths of a bps, e.g. 100 = 0.01% */
1161
+ builderFeeTenthBps?: number | null;
1186
1162
  };
1187
1163
 
1188
1164
  export class PostOnlyParams {
@@ -1251,7 +1227,7 @@ export type OptionalOrderParams = {
1251
1227
 
1252
1228
  export type ModifyOrderParams = {
1253
1229
  [Property in keyof OrderParams]?: OrderParams[Property] | null;
1254
- } & { policy?: ModifyOrderPolicy };
1230
+ } & { policy?: ModifyOrderPolicy | null };
1255
1231
 
1256
1232
  export enum ModifyOrderPolicy {
1257
1233
  MustModify = 1,
@@ -1276,6 +1252,8 @@ export const DefaultOrderParams: OrderParams = {
1276
1252
  maxTs: null,
1277
1253
  auctionStartPrice: null,
1278
1254
  auctionEndPrice: null,
1255
+ builderIdx: null,
1256
+ builderFeeTenthBps: null,
1279
1257
  };
1280
1258
 
1281
1259
  export type SignedMsgOrderParamsMessage = {
@@ -1331,6 +1309,8 @@ export type ReferrerInfo = {
1331
1309
  export enum ReferrerStatus {
1332
1310
  IsReferrer = 1,
1333
1311
  IsReferred = 2,
1312
+ /** set when the user's RevenueShareEscrow was initialized with a referrer */
1313
+ BuilderReferral = 4,
1334
1314
  }
1335
1315
 
1336
1316
  export enum PlaceAndTakeOrderSuccessCondition {
@@ -1390,7 +1370,8 @@ export type FeeStructure = {
1390
1370
  feeTiers: FeeTier[];
1391
1371
  fillerRewardStructure: OrderFillerRewardStructure;
1392
1372
  flatFillerFee: BN;
1393
- referrerRewardEpochUpperBound: BN;
1373
+ ammFeeNumerator: number;
1374
+ ifFeeNumerator: number;
1394
1375
  };
1395
1376
 
1396
1377
  export type FeeTier = {
@@ -1508,9 +1489,6 @@ export interface VelocityClientMetricsEvents {
1508
1489
  preTxSigned: void;
1509
1490
  }
1510
1491
 
1511
- /** @deprecated Use `VelocityClientMetricsEvents` instead. `DriftClientMetricsEvents` will be removed in a future major. */
1512
- export interface DriftClientMetricsEvents extends VelocityClientMetricsEvents {}
1513
-
1514
1492
  export type SignedTxData = {
1515
1493
  txSig: string;
1516
1494
  signedTx: Transaction | VersionedTransaction;
@@ -1518,36 +1496,8 @@ export type SignedTxData = {
1518
1496
  blockHash: string;
1519
1497
  };
1520
1498
 
1521
- export type IfRebalanceConfigAccount = {
1522
- pubkey: PublicKey;
1523
- totalInAmount: BN;
1524
- currentInAmount: BN;
1525
- currentOutAmount: BN;
1526
- currentOutAmountTransferred: BN;
1527
- epochStartTs: BN;
1528
- epochInAmount: BN;
1529
- epochMaxInAmount: BN;
1530
- epochDuration: BN;
1531
- outMarketIndex: number;
1532
- inMarketIndex: number;
1533
- maxSlippageBps: number;
1534
- swapMode: number;
1535
- status: number;
1536
- };
1537
-
1538
- export type IfRebalanceConfigParams = {
1539
- totalInAmount: BN;
1540
- epochMaxInAmount: BN;
1541
- epochDuration: BN;
1542
- outMarketIndex: number;
1543
- inMarketIndex: number;
1544
- maxSlippageBps: number;
1545
- swapMode: number;
1546
- status: number;
1547
- };
1548
-
1549
1499
  /* Represents proof of a signed msg taker order
1550
- * It can be provided to drift program to fill a signed msg order
1500
+ * It can be provided to velocity program to fill a signed msg order
1551
1501
  */
1552
1502
  export interface SignedMsgOrderParams {
1553
1503
  /**
@@ -1581,10 +1531,6 @@ export type RevenueShareAccount = {
1581
1531
  export type RevenueShareEscrowAccount = {
1582
1532
  authority: PublicKey;
1583
1533
  referrer: PublicKey;
1584
- referrerBoostExpireTs: number;
1585
- referrerRewardOffset: number;
1586
- refereeFeeNumeratorOffset: number;
1587
- referrerBoostNumerator: number;
1588
1534
  reservedFixed: number[];
1589
1535
  orders: RevenueShareOrder[];
1590
1536
  approvedBuilders: BuilderInfo[];