@velocity-exchange/sdk 0.0.3 → 0.1.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 (393) hide show
  1. package/.prettierignore +1 -1
  2. package/CHANGELOG.md +35 -0
  3. package/README.md +30 -30
  4. package/bun.lock +1 -1
  5. package/lib/browser/accounts/grpcProgramAccountSubscriber.js +1 -1
  6. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
  7. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +1 -3
  8. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +0 -4
  9. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +5 -7
  10. package/lib/browser/accounts/laserProgramAccountSubscriber.js +1 -1
  11. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +0 -4
  12. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +5 -7
  13. package/lib/browser/accounts/types.d.ts +2 -8
  14. package/lib/browser/accounts/utils.js +2 -2
  15. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +0 -4
  16. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +5 -7
  17. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +0 -4
  18. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +5 -7
  19. package/lib/browser/addresses/pda.d.ts +1 -7
  20. package/lib/browser/addresses/pda.js +4 -10
  21. package/lib/browser/adminClient.d.ts +1 -1
  22. package/lib/browser/adminClient.js +21 -21
  23. package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +1 -3
  24. package/lib/browser/auctionSubscriber/auctionSubscriber.js +2 -6
  25. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -3
  26. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +2 -6
  27. package/lib/browser/auctionSubscriber/types.d.ts +3 -2
  28. package/lib/browser/config.d.ts +10 -19
  29. package/lib/browser/config.js +6 -33
  30. package/lib/browser/constants/insuranceFund.d.ts +1 -1
  31. package/lib/browser/constants/insuranceFund.js +1 -1
  32. package/lib/browser/constituentMap/constituentMap.d.ts +0 -2
  33. package/lib/browser/constituentMap/constituentMap.js +5 -5
  34. package/lib/browser/core/VelocityCore.d.ts +9 -15
  35. package/lib/browser/core/VelocityCore.js +5 -7
  36. package/lib/browser/core/instructions/withdraw.d.ts +1 -1
  37. package/lib/browser/core/instructions/withdraw.js +1 -1
  38. package/lib/browser/core/remainingAccounts.js +3 -3
  39. package/lib/browser/decode/user.js +5 -5
  40. package/lib/browser/dlob/DLOB.d.ts +1 -1
  41. package/lib/browser/dlob/DLOB.js +7 -7
  42. package/lib/browser/dlob/DLOBNode.js +1 -2
  43. package/lib/browser/dlob/DLOBSubscriber.d.ts +0 -2
  44. package/lib/browser/dlob/DLOBSubscriber.js +2 -7
  45. package/lib/browser/dlob/orderBookLevels.js +7 -7
  46. package/lib/browser/dlob/types.d.ts +0 -2
  47. package/lib/browser/events/eventSubscriber.d.ts +1 -1
  48. package/lib/browser/events/eventsServerLogProvider.js +2 -2
  49. package/lib/browser/events/parse.js +14 -14
  50. package/lib/browser/events/types.d.ts +3 -5
  51. package/lib/browser/events/types.js +1 -1
  52. package/lib/browser/idl/{drift.d.ts → velocity.d.ts} +1043 -768
  53. package/lib/browser/idl/{drift.json → velocity.json} +1034 -759
  54. package/lib/browser/index.d.ts +1 -1
  55. package/lib/browser/index.js +1 -2
  56. package/lib/browser/math/amm.d.ts +10 -10
  57. package/lib/browser/math/amm.js +29 -28
  58. package/lib/browser/math/auction.d.ts +1 -1
  59. package/lib/browser/math/auction.js +18 -21
  60. package/lib/browser/math/builder.d.ts +18 -1
  61. package/lib/browser/math/builder.js +32 -1
  62. package/lib/browser/math/funding.js +26 -26
  63. package/lib/browser/math/margin.d.ts +4 -4
  64. package/lib/browser/math/margin.js +15 -15
  65. package/lib/browser/math/market.js +13 -13
  66. package/lib/browser/math/oracles.d.ts +4 -4
  67. package/lib/browser/math/oracles.js +23 -23
  68. package/lib/browser/math/orders.d.ts +2 -2
  69. package/lib/browser/math/orders.js +12 -12
  70. package/lib/browser/math/position.js +4 -4
  71. package/lib/browser/math/superStake.d.ts +8 -10
  72. package/lib/browser/math/superStake.js +18 -20
  73. package/lib/browser/math/trade.js +5 -5
  74. package/lib/browser/math/utils.d.ts +1 -1
  75. package/lib/browser/math/utils.js +1 -1
  76. package/lib/browser/oracles/pythLazerClient.js +2 -2
  77. package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +0 -2
  78. package/lib/browser/orderSubscriber/OrderSubscriber.js +8 -12
  79. package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
  80. package/lib/browser/orderSubscriber/grpcSubscription.js +2 -2
  81. package/lib/browser/orderSubscriber/types.d.ts +0 -2
  82. package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +1 -5
  83. package/lib/browser/priorityFee/priorityFeeSubscriber.js +7 -15
  84. package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
  85. package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +3 -11
  86. package/lib/browser/priorityFee/types.d.ts +3 -8
  87. package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
  88. package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +1 -3
  89. package/lib/browser/pyth/pythLazerSubscriber.d.ts +1 -1
  90. package/lib/browser/pyth/pythLazerSubscriber.js +1 -1
  91. package/lib/browser/swap/UnifiedSwapClient.js +1 -1
  92. package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +4 -5
  93. package/lib/browser/swift/signedMsgUserAccountSubscriber.js +2 -6
  94. package/lib/browser/swift/swiftOrderSubscriber.d.ts +6 -5
  95. package/lib/browser/swift/swiftOrderSubscriber.js +5 -11
  96. package/lib/browser/types.d.ts +81 -93
  97. package/lib/browser/types.js +4 -0
  98. package/lib/browser/user.d.ts +1 -3
  99. package/lib/browser/user.js +19 -23
  100. package/lib/browser/userConfig.d.ts +3 -2
  101. package/lib/browser/userMap/WebsocketSubscription.js +1 -1
  102. package/lib/browser/userMap/grpcSubscription.js +1 -1
  103. package/lib/browser/userMap/referrerMap.d.ts +0 -2
  104. package/lib/browser/userMap/referrerMap.js +0 -4
  105. package/lib/browser/userMap/revenueShareEscrowMap.d.ts +0 -2
  106. package/lib/browser/userMap/revenueShareEscrowMap.js +0 -4
  107. package/lib/browser/userMap/userMap.d.ts +2 -4
  108. package/lib/browser/userMap/userMap.js +10 -14
  109. package/lib/browser/userMap/userMapConfig.d.ts +3 -2
  110. package/lib/browser/userMap/userStatsMap.d.ts +0 -2
  111. package/lib/browser/userMap/userStatsMap.js +0 -4
  112. package/lib/browser/userStats.d.ts +0 -2
  113. package/lib/browser/userStats.js +10 -14
  114. package/lib/browser/userStatsConfig.d.ts +3 -2
  115. package/lib/browser/util/ed25519Utils.d.ts +1 -1
  116. package/lib/browser/util/ed25519Utils.js +1 -1
  117. package/lib/browser/velocityClient.d.ts +59 -44
  118. package/lib/browser/velocityClient.js +259 -197
  119. package/lib/browser/velocityClientConfig.d.ts +0 -8
  120. package/lib/node/accounts/grpcProgramAccountSubscriber.js +1 -1
  121. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
  122. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
  123. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +1 -3
  124. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +0 -4
  125. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  126. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +5 -7
  127. package/lib/node/accounts/laserProgramAccountSubscriber.js +1 -1
  128. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +0 -4
  129. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
  130. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +5 -7
  131. package/lib/node/accounts/types.d.ts +2 -8
  132. package/lib/node/accounts/types.d.ts.map +1 -1
  133. package/lib/node/accounts/utils.js +2 -2
  134. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +0 -4
  135. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
  136. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +5 -7
  137. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +0 -4
  138. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  139. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +5 -7
  140. package/lib/node/addresses/pda.d.ts +1 -7
  141. package/lib/node/addresses/pda.d.ts.map +1 -1
  142. package/lib/node/addresses/pda.js +4 -10
  143. package/lib/node/adminClient.d.ts +1 -1
  144. package/lib/node/adminClient.js +21 -21
  145. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +1 -3
  146. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
  147. package/lib/node/auctionSubscriber/auctionSubscriber.js +2 -6
  148. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -3
  149. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
  150. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +2 -6
  151. package/lib/node/auctionSubscriber/types.d.ts +3 -2
  152. package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
  153. package/lib/node/config.d.ts +10 -19
  154. package/lib/node/config.d.ts.map +1 -1
  155. package/lib/node/config.js +6 -33
  156. package/lib/node/constants/insuranceFund.d.ts +1 -1
  157. package/lib/node/constants/insuranceFund.js +1 -1
  158. package/lib/node/constituentMap/constituentMap.d.ts +0 -2
  159. package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
  160. package/lib/node/constituentMap/constituentMap.js +5 -5
  161. package/lib/node/core/VelocityCore.d.ts +9 -15
  162. package/lib/node/core/VelocityCore.d.ts.map +1 -1
  163. package/lib/node/core/VelocityCore.js +5 -7
  164. package/lib/node/core/instructions/withdraw.d.ts +1 -1
  165. package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
  166. package/lib/node/core/instructions/withdraw.js +1 -1
  167. package/lib/node/core/remainingAccounts.js +3 -3
  168. package/lib/node/decode/user.js +5 -5
  169. package/lib/node/dlob/DLOB.d.ts +1 -1
  170. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  171. package/lib/node/dlob/DLOB.js +7 -7
  172. package/lib/node/dlob/DLOBNode.js +1 -2
  173. package/lib/node/dlob/DLOBSubscriber.d.ts +0 -2
  174. package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
  175. package/lib/node/dlob/DLOBSubscriber.js +2 -7
  176. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  177. package/lib/node/dlob/orderBookLevels.js +7 -7
  178. package/lib/node/dlob/types.d.ts +0 -2
  179. package/lib/node/dlob/types.d.ts.map +1 -1
  180. package/lib/node/events/eventSubscriber.d.ts +1 -1
  181. package/lib/node/events/eventsServerLogProvider.js +2 -2
  182. package/lib/node/events/parse.d.ts.map +1 -1
  183. package/lib/node/events/parse.js +14 -14
  184. package/lib/node/events/types.d.ts +3 -5
  185. package/lib/node/events/types.d.ts.map +1 -1
  186. package/lib/node/events/types.js +1 -1
  187. package/lib/node/idl/{drift.d.ts → velocity.d.ts} +1044 -769
  188. package/lib/node/idl/velocity.d.ts.map +1 -0
  189. package/lib/node/idl/{drift.json → velocity.json} +1034 -759
  190. package/lib/node/index.d.ts +1 -1
  191. package/lib/node/index.d.ts.map +1 -1
  192. package/lib/node/index.js +1 -2
  193. package/lib/node/math/amm.d.ts +10 -10
  194. package/lib/node/math/amm.d.ts.map +1 -1
  195. package/lib/node/math/amm.js +29 -28
  196. package/lib/node/math/auction.d.ts +1 -1
  197. package/lib/node/math/auction.d.ts.map +1 -1
  198. package/lib/node/math/auction.js +18 -21
  199. package/lib/node/math/builder.d.ts +18 -1
  200. package/lib/node/math/builder.d.ts.map +1 -1
  201. package/lib/node/math/builder.js +32 -1
  202. package/lib/node/math/funding.d.ts.map +1 -1
  203. package/lib/node/math/funding.js +26 -26
  204. package/lib/node/math/margin.d.ts +4 -4
  205. package/lib/node/math/margin.d.ts.map +1 -1
  206. package/lib/node/math/margin.js +15 -15
  207. package/lib/node/math/market.d.ts.map +1 -1
  208. package/lib/node/math/market.js +13 -13
  209. package/lib/node/math/oracles.d.ts +4 -4
  210. package/lib/node/math/oracles.d.ts.map +1 -1
  211. package/lib/node/math/oracles.js +23 -23
  212. package/lib/node/math/orders.d.ts +2 -2
  213. package/lib/node/math/orders.d.ts.map +1 -1
  214. package/lib/node/math/orders.js +12 -12
  215. package/lib/node/math/position.d.ts.map +1 -1
  216. package/lib/node/math/position.js +4 -4
  217. package/lib/node/math/superStake.d.ts +8 -10
  218. package/lib/node/math/superStake.d.ts.map +1 -1
  219. package/lib/node/math/superStake.js +18 -20
  220. package/lib/node/math/trade.d.ts.map +1 -1
  221. package/lib/node/math/trade.js +5 -5
  222. package/lib/node/math/utils.d.ts +1 -1
  223. package/lib/node/math/utils.js +1 -1
  224. package/lib/node/oracles/pythLazerClient.js +2 -2
  225. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +0 -2
  226. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  227. package/lib/node/orderSubscriber/OrderSubscriber.js +8 -12
  228. package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
  229. package/lib/node/orderSubscriber/grpcSubscription.js +2 -2
  230. package/lib/node/orderSubscriber/types.d.ts +0 -2
  231. package/lib/node/orderSubscriber/types.d.ts.map +1 -1
  232. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +1 -5
  233. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
  234. package/lib/node/priorityFee/priorityFeeSubscriber.js +7 -15
  235. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
  236. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
  237. package/lib/node/priorityFee/priorityFeeSubscriberMap.js +3 -11
  238. package/lib/node/priorityFee/types.d.ts +3 -8
  239. package/lib/node/priorityFee/types.d.ts.map +1 -1
  240. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
  241. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
  242. package/lib/node/priorityFee/velocityPriorityFeeMethod.js +1 -3
  243. package/lib/node/pyth/pythLazerSubscriber.d.ts +1 -1
  244. package/lib/node/pyth/pythLazerSubscriber.js +1 -1
  245. package/lib/node/swap/UnifiedSwapClient.js +1 -1
  246. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +4 -5
  247. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
  248. package/lib/node/swift/signedMsgUserAccountSubscriber.js +2 -6
  249. package/lib/node/swift/swiftOrderSubscriber.d.ts +6 -5
  250. package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
  251. package/lib/node/swift/swiftOrderSubscriber.js +5 -11
  252. package/lib/node/types.d.ts +81 -93
  253. package/lib/node/types.d.ts.map +1 -1
  254. package/lib/node/types.js +4 -0
  255. package/lib/node/user.d.ts +1 -3
  256. package/lib/node/user.d.ts.map +1 -1
  257. package/lib/node/user.js +19 -23
  258. package/lib/node/userConfig.d.ts +3 -2
  259. package/lib/node/userConfig.d.ts.map +1 -1
  260. package/lib/node/userMap/WebsocketSubscription.js +1 -1
  261. package/lib/node/userMap/grpcSubscription.js +1 -1
  262. package/lib/node/userMap/referrerMap.d.ts +0 -2
  263. package/lib/node/userMap/referrerMap.d.ts.map +1 -1
  264. package/lib/node/userMap/referrerMap.js +0 -4
  265. package/lib/node/userMap/revenueShareEscrowMap.d.ts +0 -2
  266. package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
  267. package/lib/node/userMap/revenueShareEscrowMap.js +0 -4
  268. package/lib/node/userMap/userMap.d.ts +2 -4
  269. package/lib/node/userMap/userMap.d.ts.map +1 -1
  270. package/lib/node/userMap/userMap.js +10 -14
  271. package/lib/node/userMap/userMapConfig.d.ts +3 -2
  272. package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
  273. package/lib/node/userMap/userStatsMap.d.ts +0 -2
  274. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  275. package/lib/node/userMap/userStatsMap.js +0 -4
  276. package/lib/node/userStats.d.ts +0 -2
  277. package/lib/node/userStats.d.ts.map +1 -1
  278. package/lib/node/userStats.js +10 -14
  279. package/lib/node/userStatsConfig.d.ts +3 -2
  280. package/lib/node/userStatsConfig.d.ts.map +1 -1
  281. package/lib/node/util/ed25519Utils.d.ts +1 -1
  282. package/lib/node/util/ed25519Utils.js +1 -1
  283. package/lib/node/velocityClient.d.ts +59 -44
  284. package/lib/node/velocityClient.d.ts.map +1 -1
  285. package/lib/node/velocityClient.js +259 -197
  286. package/lib/node/velocityClientConfig.d.ts +0 -8
  287. package/lib/node/velocityClientConfig.d.ts.map +1 -1
  288. package/package.json +6 -7
  289. package/scripts/deposit-isolated-positions.ts +2 -2
  290. package/scripts/find-flagged-users.ts +1 -1
  291. package/scripts/grpc-client-test-comparison.ts +4 -4
  292. package/scripts/grpc-multiuser-client-test-comparison.ts +2 -2
  293. package/scripts/single-grpc-client-test.ts +3 -3
  294. package/scripts/updateVersion.js +4 -4
  295. package/scripts/withdraw-isolated-positions.ts +2 -2
  296. package/src/accounts/grpcProgramAccountSubscriber.ts +1 -1
  297. package/src/accounts/grpcVelocityClientAccountSubscriber.ts +0 -7
  298. package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +4 -11
  299. package/src/accounts/laserProgramAccountSubscriber.ts +1 -1
  300. package/src/accounts/pollingVelocityClientAccountSubscriber.ts +4 -11
  301. package/src/accounts/types.ts +2 -9
  302. package/src/accounts/utils.ts +2 -2
  303. package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +4 -11
  304. package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +4 -11
  305. package/src/addresses/pda.ts +3 -13
  306. package/src/adminClient.ts +21 -21
  307. package/src/auctionSubscriber/auctionSubscriber.ts +1 -6
  308. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +1 -6
  309. package/src/auctionSubscriber/types.ts +3 -3
  310. package/src/config.ts +8 -64
  311. package/src/constants/insuranceFund.ts +1 -1
  312. package/src/constituentMap/constituentMap.ts +2 -6
  313. package/src/core/VelocityCore.ts +11 -20
  314. package/src/core/instructions/withdraw.ts +2 -2
  315. package/src/core/remainingAccounts.ts +3 -3
  316. package/src/decode/user.ts +5 -5
  317. package/src/dlob/DLOB.ts +7 -7
  318. package/src/dlob/DLOBNode.ts +1 -1
  319. package/src/dlob/DLOBSubscriber.ts +2 -8
  320. package/src/dlob/orderBookLevels.ts +12 -6
  321. package/src/dlob/types.ts +0 -2
  322. package/src/events/eventSubscriber.ts +1 -1
  323. package/src/events/eventsServerLogProvider.ts +2 -2
  324. package/src/events/parse.ts +14 -14
  325. package/src/events/types.ts +4 -7
  326. package/src/idl/{drift.json → velocity.json} +1034 -759
  327. package/src/idl/{drift.ts → velocity.ts} +1036 -761
  328. package/src/index.ts +1 -4
  329. package/src/margin/README.md +2 -2
  330. package/src/math/amm.ts +43 -21
  331. package/src/math/auction.ts +19 -22
  332. package/src/math/builder.ts +45 -1
  333. package/src/math/funding.ts +46 -43
  334. package/src/math/margin.ts +15 -15
  335. package/src/math/market.ts +21 -13
  336. package/src/math/oracles.ts +29 -26
  337. package/src/math/orders.ts +21 -11
  338. package/src/math/position.ts +9 -3
  339. package/src/math/superStake.ts +21 -24
  340. package/src/math/trade.ts +9 -1
  341. package/src/math/utils.ts +1 -1
  342. package/src/oracles/pythLazerClient.ts +3 -3
  343. package/src/orderSubscriber/OrderSubscriber.ts +2 -8
  344. package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
  345. package/src/orderSubscriber/grpcSubscription.ts +2 -2
  346. package/src/orderSubscriber/types.ts +0 -2
  347. package/src/priorityFee/priorityFeeSubscriber.ts +5 -12
  348. package/src/priorityFee/priorityFeeSubscriberMap.ts +2 -10
  349. package/src/priorityFee/types.ts +4 -9
  350. package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -12
  351. package/src/pyth/pythLazerSubscriber.ts +1 -1
  352. package/src/swap/UnifiedSwapClient.ts +1 -1
  353. package/src/swift/signedMsgUserAccountSubscriber.ts +2 -8
  354. package/src/swift/swiftOrderSubscriber.ts +7 -12
  355. package/src/types.ts +86 -104
  356. package/src/user.ts +9 -14
  357. package/src/userConfig.ts +1 -3
  358. package/src/userMap/WebsocketSubscription.ts +1 -1
  359. package/src/userMap/grpcSubscription.ts +1 -1
  360. package/src/userMap/referrerMap.ts +0 -4
  361. package/src/userMap/revenueShareEscrowMap.ts +0 -4
  362. package/src/userMap/userMap.ts +3 -7
  363. package/src/userMap/userMapConfig.ts +3 -3
  364. package/src/userMap/userStatsMap.ts +0 -4
  365. package/src/userStats.ts +1 -5
  366. package/src/userStatsConfig.ts +3 -3
  367. package/src/util/ed25519Utils.ts +1 -1
  368. package/src/velocityClient.ts +345 -231
  369. package/src/velocityClientConfig.ts +3 -11
  370. package/tests/{DriftCore → VelocityCore}/decode.test.ts +1 -1
  371. package/tests/{DriftCore → VelocityCore}/fill_trigger.test.ts +1 -1
  372. package/tests/{DriftCore → VelocityCore}/instructions.test.ts +1 -1
  373. package/tests/{DriftCore → VelocityCore}/pdas.test.ts +4 -2
  374. package/tests/auctions/test.ts +4 -4
  375. package/tests/ci/verifyConstants.ts +24 -27
  376. package/tests/decode/test.ts +3 -3
  377. package/tests/dlob/helpers.ts +5 -9
  378. package/tests/dlob/test.ts +5 -5
  379. package/tests/events/parseLogsForCuUsage.ts +15 -15
  380. package/tests/user/helpers.ts +10 -10
  381. package/tests/user/test.ts +13 -10
  382. package/lib/browser/util/deprecatedAlias.d.ts +0 -26
  383. package/lib/browser/util/deprecatedAlias.js +0 -10
  384. package/lib/node/idl/drift.d.ts.map +0 -1
  385. package/lib/node/util/deprecatedAlias.d.ts +0 -27
  386. package/lib/node/util/deprecatedAlias.d.ts.map +0 -1
  387. package/lib/node/util/deprecatedAlias.js +0 -10
  388. package/src/util/deprecatedAlias.ts +0 -25
  389. /package/lib/browser/idl/{drift.js → velocity.js} +0 -0
  390. /package/lib/node/idl/{drift.js → velocity.js} +0 -0
  391. /package/tests/{DriftCore → VelocityCore}/perp_orders.test.ts +0 -0
  392. /package/tests/{DriftCore → VelocityCore}/remainingAccounts.test.ts +0 -0
  393. /package/tests/{DriftCore → VelocityCore}/settlement_liquidation.test.ts +0 -0
@@ -6,7 +6,6 @@ import { SignedMsgOrderId, SignedMsgUserOrdersAccount } from '../types';
6
6
  import { Commitment, PublicKey } from '@solana/web3.js';
7
7
  import { ResubOpts } from '../accounts/types';
8
8
  import { VelocityClient } from '../velocityClient';
9
- import { AtLeastOne } from '../util/deprecatedAlias';
10
9
  import StrictEventEmitter from 'strict-event-emitter-types';
11
10
  import { EventEmitter } from 'events';
12
11
  export type SignedMsgUserOrdersAccountSubscriberConfig = {
@@ -14,15 +13,15 @@ export type SignedMsgUserOrdersAccountSubscriberConfig = {
14
13
  resubOpts?: ResubOpts;
15
14
  decodeFn?: (name: string, data: Buffer) => SignedMsgUserOrdersAccount;
16
15
  resyncIntervalMs?: number;
17
- } & AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
16
+ } & {
17
+ velocityClient: VelocityClient;
18
+ };
18
19
  export interface SignedMsgUserOrdersAccountSubscriberEvents {
19
20
  onAccountUpdate: (activeSignedMsgOrderIds: SignedMsgOrderId[], authorityPubkey: PublicKey, slot: number) => void;
20
21
  newSignedMsgOrderIds: (newSignedMsgOrderIds: SignedMsgOrderId[], authorityPubkey: PublicKey, slot: number) => void;
21
22
  }
22
23
  export declare class SignedMsgUserOrdersAccountSubscriber {
23
24
  protected velocityClient: VelocityClient;
24
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
25
- protected get driftClient(): VelocityClient;
26
25
  protected commitment: Commitment;
27
26
  protected resubOpts?: ResubOpts;
28
27
  protected resyncTimeoutId?: ReturnType<typeof setTimeout>;
@@ -37,7 +36,7 @@ export declare class SignedMsgUserOrdersAccountSubscriber {
37
36
  fetchPromiseResolver: () => void;
38
37
  protected subscriber: WebSocketProgramAccountSubscriber<SignedMsgUserOrdersAccount>;
39
38
  eventEmitter: StrictEventEmitter<EventEmitter, SignedMsgUserOrdersAccountSubscriberEvents>;
40
- constructor({ velocityClient, driftClient, commitment, resubOpts, decodeFn, resyncIntervalMs, }: SignedMsgUserOrdersAccountSubscriberConfig);
39
+ constructor({ velocityClient, commitment, resubOpts, decodeFn, resyncIntervalMs, }: SignedMsgUserOrdersAccountSubscriberConfig);
41
40
  subscribe(): Promise<void>;
42
41
  fetch(): Promise<void>;
43
42
  tryUpdateSignedMsgUserOrdersAccount(data: Buffer | SignedMsgUserOrdersAccount, dataType: 'buffer' | 'decoded', slot: number, skipEventEmitting?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"signedMsgUserAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/swift/signedMsgUserAccountSubscriber.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,0CAA0C,GAAG;IACxD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,0BAA0B,CAAC;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,UAAU,CAAC,gBAAgB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;AAEhE,MAAM,WAAW,0CAA0C;IAC1D,eAAe,EAAE,CAChB,uBAAuB,EAAE,gBAAgB,EAAE,EAC3C,eAAe,EAAE,SAAS,EAC1B,IAAI,EAAE,MAAM,KACR,IAAI,CAAC;IAEV,oBAAoB,EAAE,CACrB,oBAAoB,EAAE,gBAAgB,EAAE,EACxC,eAAe,EAAE,SAAS,EAC1B,IAAI,EAAE,MAAM,KACR,IAAI,CAAC;CACV;AAED,qBAAa,oCAAoC;IAChD,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,iGAAiG;IACjG,SAAS,KAAK,WAAW,IAAI,cAAc,CAE1C;IACD,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC1D,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,EAAE,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,0BAA0B,CAAC;IACzB,0BAA0B;cAExB,MAAM;oCAA8B,0BAA0B;OACnE;IACJ,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,SAAS,CAAC,UAAU,EAAE,iCAAiC,CAAC,0BAA0B,CAAC,CAAC;IAC7E,YAAY,EAAE,kBAAkB,CACtC,YAAY,EACZ,0CAA0C,CAC1C,CAAC;gBAEU,EACX,cAAc,EACd,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,GAChB,EAAE,0CAA0C;IAkBhC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B,mCAAmC,CAClC,IAAI,EAAE,MAAM,GAAG,0BAA0B,EACzC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,EACZ,iBAAiB,UAAQ,GACvB,IAAI;IAwDM,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CASzC"}
1
+ {"version":3,"file":"signedMsgUserAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/swift/signedMsgUserAccountSubscriber.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,UAAU,EAAW,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,0CAA0C,GAAG;IACxD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,0BAA0B,CAAC;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,0CAA0C;IAC1D,eAAe,EAAE,CAChB,uBAAuB,EAAE,gBAAgB,EAAE,EAC3C,eAAe,EAAE,SAAS,EAC1B,IAAI,EAAE,MAAM,KACR,IAAI,CAAC;IAEV,oBAAoB,EAAE,CACrB,oBAAoB,EAAE,gBAAgB,EAAE,EACxC,eAAe,EAAE,SAAS,EAC1B,IAAI,EAAE,MAAM,KACR,IAAI,CAAC;CACV;AAED,qBAAa,oCAAoC;IAChD,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC1D,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,EAAE,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACR,0BAA0B,CAAC;IACzB,0BAA0B;cAExB,MAAM;oCAA8B,0BAA0B;OACnE;IACJ,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IAEjC,SAAS,CAAC,UAAU,EAAE,iCAAiC,CAAC,0BAA0B,CAAC,CAAC;IAC7E,YAAY,EAAE,kBAAkB,CACtC,YAAY,EACZ,0CAA0C,CAC1C,CAAC;gBAEU,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,QAAQ,EACR,gBAAgB,GAChB,EAAE,0CAA0C;IAkBhC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B,mCAAmC,CAClC,IAAI,EAAE,MAAM,GAAG,0BAA0B,EACzC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,EACZ,iBAAiB,UAAQ,GACvB,IAAI;IAwDM,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CASzC"}
@@ -5,16 +5,12 @@ const memcmp_1 = require("../memcmp");
5
5
  const webSocketProgramAccountSubscriber_1 = require("../accounts/webSocketProgramAccountSubscriber");
6
6
  const events_1 = require("events");
7
7
  class SignedMsgUserOrdersAccountSubscriber {
8
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
9
- get driftClient() {
10
- return this.velocityClient;
11
- }
12
- constructor({ velocityClient, driftClient, commitment, resubOpts, decodeFn, resyncIntervalMs, }) {
8
+ constructor({ velocityClient, commitment, resubOpts, decodeFn, resyncIntervalMs, }) {
13
9
  this.signedMsgUserOrderAccounts = new Map();
14
10
  this.commitment = commitment !== null && commitment !== void 0 ? commitment : 'confirmed';
15
11
  this.resubOpts = resubOpts;
16
12
  // Type-system guarantees at least one of the two is supplied.
17
- this.velocityClient = (velocityClient !== null && velocityClient !== void 0 ? velocityClient : driftClient);
13
+ this.velocityClient = velocityClient;
18
14
  this.decodeFn =
19
15
  decodeFn !== null && decodeFn !== void 0 ? decodeFn : this.velocityClient.program.account.signedMsgUserOrders.coder.accounts.decodeUnchecked.bind(this.velocityClient.program.account.signedMsgUserOrders.coder
20
16
  .accounts);
@@ -1,6 +1,5 @@
1
1
  import { VelocityClient } from '../velocityClient';
2
2
  import { VelocityEnv } from '../config';
3
- import { AtLeastOne } from '../util/deprecatedAlias';
4
3
  import { OptionalOrderParams, SignedMsgOrderParamsDelegateMessage, SignedMsgOrderParamsMessage, UserAccount } from '../types';
5
4
  import { Keypair, TransactionInstruction } from '@solana/web3.js';
6
5
  export interface AccountGetter {
@@ -11,13 +10,17 @@ type SwiftOrderSubscriberConfigBase = {
11
10
  endpoint?: string;
12
11
  marketIndexes: number[];
13
12
  /**
14
- In the future, this will be used for verifying $DRIFT stake as we add
13
+ In the future, this will be used for verifying $VELOCITY stake as we add
15
14
  authentication for delegate signers
16
15
  For now, pass a new keypair or a keypair to an empty wallet
17
16
  */
18
17
  keypair: Keypair;
19
18
  };
20
- export type SwiftOrderSubscriberConfig = SwiftOrderSubscriberConfigBase & AtLeastOne<'velocityEnv', 'driftEnv', VelocityEnv> & AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
19
+ export type SwiftOrderSubscriberConfig = SwiftOrderSubscriberConfigBase & {
20
+ velocityEnv: VelocityEnv;
21
+ } & {
22
+ velocityClient: VelocityClient;
23
+ };
21
24
  /**
22
25
  * Swift order message received from WebSocket
23
26
  */
@@ -48,8 +51,6 @@ export declare class SwiftOrderSubscriber {
48
51
  private readonly heartbeatIntervalMs;
49
52
  private ws;
50
53
  private velocityClient;
51
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
52
- private get driftClient();
53
54
  userAccountGetter?: AccountGetter;
54
55
  onOrder: (orderMessageRaw: SwiftOrderMessage, signedMessage: SignedMsgOrderParamsMessage | SignedMsgOrderParamsDelegateMessage, isDelegateSigner?: boolean) => Promise<void>;
55
56
  subscribed: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"swiftOrderSubscriber.d.ts","sourceRoot":"","sources":["../../../src/swift/swiftOrderSubscriber.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAEN,mBAAmB,EAEnB,mCAAmC,EACnC,2BAA2B,EAC3B,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAa,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAO7E,MAAM,WAAW,aAAa;IAC7B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC5D;AAED,KAAK,8BAA8B,GAAG;IACrC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;MAIE;IACF,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,GACtE,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,GAClD,UAAU,CAAC,gBAAgB,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;yCACqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,oBAAoB;IAoBpB,OAAO,CAAC,MAAM;IAnB1B,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAAiB;IACvC,iGAAiG;IACjG,OAAO,KAAK,WAAW,GAEtB;IACM,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,OAAO,EAAE,CACf,eAAe,EAAE,iBAAiB,EAClC,aAAa,EACV,2BAA2B,GAC3B,mCAAmC,EACtC,gBAAgB,CAAC,EAAE,OAAO,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,UAAU,UAAS;gBAEC,MAAM,EAAE,0BAA0B;IAMtD,WAAW;IASX,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAMpD,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUhD,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IA6B/B,SAAS,CACd,OAAO,EAAE,CACR,eAAe,EAAE,iBAAiB,EAClC,aAAa,EACV,2BAA2B,GAC3B,mCAAmC,EACtC,gBAAgB,CAAC,EAAE,OAAO,KACtB,OAAO,CAAC,IAAI,CAAC,EAClB,eAAe,UAAQ,EACvB,kBAAkB,UAAQ,GACxB,OAAO,CAAC,IAAI,CAAC;IAuGV,gCAAgC,CACrC,eAAe,EAAE,iBAAiB,EAClC,2BAA2B,EACxB,2BAA2B,GAC3B,mCAAmC,EACtC,gBAAgB,EAAE,mBAAmB,GACnC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA4DpC,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,SAAS;CAWjB"}
1
+ {"version":3,"file":"swiftOrderSubscriber.d.ts","sourceRoot":"","sources":["../../../src/swift/swiftOrderSubscriber.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAKxC,OAAO,EAEN,mBAAmB,EAEnB,mCAAmC,EACnC,2BAA2B,EAC3B,WAAW,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAa,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAO7E,MAAM,WAAW,aAAa;IAC7B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC5D;AAED,KAAK,8BAA8B,GAAG;IACrC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;;;MAIE;IACF,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,GAAG;IACzE,WAAW,EAAE,WAAW,CAAC;CACzB,GAAG;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;yCACqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;CACX;AAED,qBAAa,oBAAoB;IAgBpB,OAAO,CAAC,MAAM;IAf1B,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,cAAc,CAAiB;IAChC,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,OAAO,EAAE,CACf,eAAe,EAAE,iBAAiB,EAClC,aAAa,EACV,2BAA2B,GAC3B,mCAAmC,EACtC,gBAAgB,CAAC,EAAE,OAAO,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,UAAU,UAAS;gBAEC,MAAM,EAAE,0BAA0B;IAMtD,WAAW;IASX,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAMpD,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUhD,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IA6B/B,SAAS,CACd,OAAO,EAAE,CACR,eAAe,EAAE,iBAAiB,EAClC,aAAa,EACV,2BAA2B,GAC3B,mCAAmC,EACtC,gBAAgB,CAAC,EAAE,OAAO,KACtB,OAAO,CAAC,IAAI,CAAC,EAClB,eAAe,UAAQ,EACvB,kBAAkB,UAAQ,GACxB,OAAO,CAAC,IAAI,CAAC;IAuGV,gCAAgC,CACrC,eAAe,EAAE,iBAAiB,EAClC,2BAA2B,EACxB,2BAA2B,GAC3B,mCAAmC,EACtC,gBAAgB,EAAE,mBAAmB,GACnC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA4DpC,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,SAAS;CAWjB"}
@@ -13,19 +13,14 @@ const tweetnacl_util_1 = require("tweetnacl-util");
13
13
  const ws_1 = __importDefault(require("ws"));
14
14
  const sha256_1 = require("@noble/hashes/sha256");
15
15
  class SwiftOrderSubscriber {
16
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
17
- get driftClient() {
18
- return this.velocityClient;
19
- }
20
16
  constructor(config) {
21
- var _a;
22
17
  this.config = config;
23
18
  this.heartbeatTimeout = null;
24
19
  this.heartbeatIntervalMs = 60000;
25
20
  this.ws = null;
26
21
  this.subscribed = false;
27
22
  // Type-system guarantees at least one of the two is supplied.
28
- this.velocityClient = ((_a = config.velocityClient) !== null && _a !== void 0 ? _a : config.driftClient);
23
+ this.velocityClient = config.velocityClient;
29
24
  this.userAccountGetter = config.userAccountGetter;
30
25
  }
31
26
  unsubscribe() {
@@ -37,8 +32,7 @@ class SwiftOrderSubscriber {
37
32
  }
38
33
  }
39
34
  getSymbolForMarketIndex(marketIndex) {
40
- var _a;
41
- const env = (_a = this.config.velocityEnv) !== null && _a !== void 0 ? _a : this.config.driftEnv;
35
+ const env = this.config.velocityEnv;
42
36
  const markets = env === 'devnet' ? perpMarkets_1.DevnetPerpMarkets : perpMarkets_1.MainnetPerpMarkets;
43
37
  return markets[marketIndex].symbol;
44
38
  }
@@ -72,10 +66,10 @@ class SwiftOrderSubscriber {
72
66
  }
73
67
  }
74
68
  async subscribe(onOrder, acceptSanitized = false, acceptDepositTrade = false) {
75
- var _a, _b;
69
+ var _a;
76
70
  this.onOrder = onOrder;
77
- const env = (_a = this.config.velocityEnv) !== null && _a !== void 0 ? _a : this.config.driftEnv;
78
- const endpoint = (_b = this.config.endpoint) !== null && _b !== void 0 ? _b : (env === 'devnet'
71
+ const env = this.config.velocityEnv;
72
+ const endpoint = (_a = this.config.endpoint) !== null && _a !== void 0 ? _a : (env === 'devnet'
79
73
  ? 'wss://master.swift.drift.trade/ws'
80
74
  : 'wss://swift.drift.trade/ws');
81
75
  const ws = new ws_1.default(endpoint + '?pubkey=' + this.config.keypair.publicKey.toBase58());
@@ -2,14 +2,14 @@
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
4
  /**
5
- * Shared TypeScript types for the Drift SDK.
5
+ * Shared TypeScript types for the Velocity SDK.
6
6
  *
7
7
  * Contains TypeScript mirrors of all on-chain account structs (UserAccount, PerpMarketAccount,
8
8
  * SpotMarketAccount, StateAccount, OracleData, etc.), instruction parameter types (OrderParams,
9
9
  * ModifyOrderParams), enums (MarketType, OrderType, PositionDirection, OracleSource), and
10
10
  * precision constants used throughout the SDK.
11
11
  *
12
- * The authoritative layout source is `sdk/src/idl/drift.json` (generated from the program).
12
+ * The authoritative layout source is `sdk/src/idl/velocity.json` (generated from the program).
13
13
  * Do not edit struct shapes here without a corresponding on-chain change.
14
14
  */
15
15
  import { Keypair, PublicKey, Transaction, TransactionVersion, VersionedTransaction } from '@solana/web3.js';
@@ -477,9 +477,8 @@ export type SpotInterestRecord = {
477
477
  optimalBorrowRate: number;
478
478
  maxBorrowRate: number;
479
479
  };
480
- export type CurveRecord = {
480
+ export type AmmCurveChanged = {
481
481
  ts: BN;
482
- recordId: BN;
483
482
  marketIndex: number;
484
483
  pegMultiplierBefore: BN;
485
484
  baseAssetReserveBefore: BN;
@@ -489,15 +488,9 @@ export type CurveRecord = {
489
488
  baseAssetReserveAfter: BN;
490
489
  quoteAssetReserveAfter: BN;
491
490
  sqrtKAfter: BN;
492
- baseAssetAmountLong: BN;
493
- baseAssetAmountShort: BN;
494
- baseAssetAmountWithAmm: BN;
495
- totalFee: BN;
496
- totalFeeMinusDistributions: BN;
497
491
  adjustmentCost: BN;
498
- numberOfUsers: BN;
492
+ totalFeeMinusDistributionsAfter: BN;
499
493
  oraclePrice: BN;
500
- fillRecord: BN;
501
494
  };
502
495
  export declare type InsuranceFundRecord = {
503
496
  ts: BN;
@@ -536,7 +529,6 @@ export type FundingRateRecord = {
536
529
  cumulativeFundingRateShort: BN;
537
530
  oraclePriceTwap: BN;
538
531
  markPriceTwap: BN;
539
- periodRevenue: BN;
540
532
  baseAssetAmountWithAmm: BN;
541
533
  };
542
534
  export type FundingPaymentRecord = {
@@ -882,13 +874,13 @@ export type PerpMarketAccount = {
882
874
  pubkey: PublicKey;
883
875
  name: number[];
884
876
  amm: AMM;
877
+ marketStats: MarketStats;
885
878
  numberOfUsersWithBase: number;
886
879
  numberOfUsers: number;
887
880
  marginRatioInitial: number;
888
881
  marginRatioMaintenance: number;
889
882
  nextFillRecordId: BN;
890
883
  nextFundingRateRecordId: BN;
891
- nextCurveRecordId: BN;
892
884
  pnlPool: PoolBalance;
893
885
  liquidatorFee: number;
894
886
  ifLiquidationFee: number;
@@ -908,12 +900,39 @@ export type PerpMarketAccount = {
908
900
  feeAdjustment: number;
909
901
  pausedOperations: number;
910
902
  lastFillPrice: BN;
911
- lpPoolId: number;
912
- lpFeeTransferScalar: number;
913
- lpExchangeFeeExcluscionScalar: number;
914
- lpStatus: number;
915
- lpPausedOperations: number;
903
+ hedgeConfig: {
904
+ poolId: number;
905
+ status: number;
906
+ pausedOperations: number;
907
+ exchangeFeeExclusionScalar: number;
908
+ feeTransferScalar: number;
909
+ };
916
910
  marketConfig: number;
911
+ oracle: PublicKey;
912
+ oracleSource: OracleSource;
913
+ oracleSlotDelayOverride: number;
914
+ oracleLowRiskSlotDelayOverride: number;
915
+ baseAssetAmountLong: BN;
916
+ baseAssetAmountShort: BN;
917
+ quoteAssetAmount: BN;
918
+ quoteEntryAmountLong: BN;
919
+ quoteEntryAmountShort: BN;
920
+ quoteBreakEvenAmountLong: BN;
921
+ quoteBreakEvenAmountShort: BN;
922
+ totalSocialLoss: BN;
923
+ maxOpenInterest: BN;
924
+ totalExchangeFee: BN;
925
+ totalLiquidationFee: BN;
926
+ cumulativeFundingRateLong: BN;
927
+ cumulativeFundingRateShort: BN;
928
+ lastFundingRate: BN;
929
+ lastFundingRateLong: BN;
930
+ lastFundingRateShort: BN;
931
+ lastFundingRateTs: BN;
932
+ netUnsettledFundingPnl: BN;
933
+ lastFundingOracleTwap: BN;
934
+ orderStepSize: BN;
935
+ orderTickSize: BN;
917
936
  };
918
937
  export type HistoricalOracleData = {
919
938
  lastOraclePrice: BN;
@@ -1003,86 +1022,57 @@ export type PoolBalance = {
1003
1022
  marketIndex: number;
1004
1023
  };
1005
1024
  export type AMM = {
1025
+ feePool: PoolBalance;
1006
1026
  baseAssetReserve: BN;
1007
- sqrtK: BN;
1008
- cumulativeFundingRate: BN;
1009
- lastFundingRate: BN;
1010
- lastFundingRateTs: BN;
1011
- lastMarkPriceTwap: BN;
1012
- lastMarkPriceTwap5Min: BN;
1013
- lastMarkPriceTwapTs: BN;
1014
- lastTradeTs: BN;
1015
- oracle: PublicKey;
1016
- oracleSource: OracleSource;
1017
- historicalOracleData: HistoricalOracleData;
1018
- lastOracleReservePriceSpreadPct: BN;
1019
- lastOracleConfPct: BN;
1020
- fundingPeriod: BN;
1021
1027
  quoteAssetReserve: BN;
1028
+ concentrationCoef: BN;
1029
+ minBaseAssetReserve: BN;
1030
+ maxBaseAssetReserve: BN;
1031
+ sqrtK: BN;
1022
1032
  pegMultiplier: BN;
1023
- cumulativeFundingRateLong: BN;
1024
- cumulativeFundingRateShort: BN;
1025
- last24HAvgFundingRate: BN;
1026
- lastFundingRateShort: BN;
1027
- lastFundingRateLong: BN;
1028
- totalLiquidationFee: BN;
1033
+ terminalQuoteAssetReserve: BN;
1034
+ baseAssetAmountWithAmm: BN;
1035
+ totalFee: BN;
1036
+ totalMmFee: BN;
1029
1037
  totalFeeMinusDistributions: BN;
1030
1038
  totalFeeWithdrawn: BN;
1031
- totalFee: BN;
1032
- mmOracleSequenceId: BN;
1033
- orderStepSize: BN;
1034
- orderTickSize: BN;
1039
+ lastUpdateSlot: BN;
1040
+ netRevenueSinceLastFunding: BN;
1041
+ lastCumulativeFundingRateLong: BN;
1042
+ lastCumulativeFundingRateShort: BN;
1043
+ baseSpread: number;
1044
+ maxSpread: number;
1035
1045
  maxFillReserveFraction: number;
1036
1046
  maxSlippageRatio: number;
1037
- baseSpread: number;
1038
1047
  curveUpdateIntensity: number;
1039
- baseAssetAmountWithAmm: BN;
1040
- baseAssetAmountLong: BN;
1041
- baseAssetAmountShort: BN;
1042
- quoteAssetAmount: BN;
1043
- terminalQuoteAssetReserve: BN;
1044
- concentrationCoef: BN;
1045
- feePool: PoolBalance;
1046
- totalExchangeFee: BN;
1047
- totalMmFee: BN;
1048
- netRevenueSinceLastFunding: BN;
1049
- lastUpdateSlot: BN;
1050
- lastOracleNormalisedPrice: BN;
1051
- lastOracleValid: boolean;
1048
+ ammJitIntensity: number;
1049
+ ammSpreadAdjustment: number;
1050
+ ammInventorySpreadAdjustment: number;
1051
+ referencePriceOffsetDeadbandPct: number;
1052
+ };
1053
+ export type MarketStats = {
1054
+ lastMarkPriceTwap: BN;
1055
+ lastMarkPriceTwap5Min: BN;
1056
+ lastMarkPriceTwapTs: BN;
1052
1057
  lastBidPriceTwap: BN;
1053
1058
  lastAskPriceTwap: BN;
1054
- longSpread: number;
1055
- shortSpread: number;
1056
- maxSpread: number;
1057
- ammJitIntensity: number;
1058
- maxOpenInterest: BN;
1059
- maxBaseAssetReserve: BN;
1060
- minBaseAssetReserve: BN;
1061
- totalSocialLoss: BN;
1062
- quoteBreakEvenAmountLong: BN;
1063
- quoteBreakEvenAmountShort: BN;
1064
- quoteEntryAmountLong: BN;
1065
- quoteEntryAmountShort: BN;
1066
1059
  markStd: BN;
1067
1060
  oracleStd: BN;
1061
+ lastOracleConfPct: BN;
1062
+ volume24H: BN;
1068
1063
  longIntensityVolume: BN;
1069
1064
  shortIntensityVolume: BN;
1070
- volume24H: BN;
1065
+ lastTradeTs: BN;
1066
+ last24HAvgFundingRate: BN;
1067
+ fundingPeriod: BN;
1071
1068
  minOrderSize: BN;
1072
1069
  mmOraclePrice: BN;
1073
1070
  mmOracleSlot: BN;
1074
- bidBaseAssetReserve: BN;
1075
- bidQuoteAssetReserve: BN;
1076
- askBaseAssetReserve: BN;
1077
- askQuoteAssetReserve: BN;
1078
- netUnsettledFundingPnl: BN;
1079
- referencePriceOffset: number;
1080
- oracleLowRiskSlotDelayOverride: number;
1081
- oracleSlotDelayOverride: number;
1082
- ammSpreadAdjustment: number;
1083
- ammInventorySpreadAdjustment: number;
1084
- lastFundingOracleTwap: BN;
1085
- referencePriceOffsetDeadbandPct: number;
1071
+ mmOracleSequenceId: BN;
1072
+ lastOracleNormalisedPrice: BN;
1073
+ lastReferencePriceOffset: number;
1074
+ lastOracleValid: boolean;
1075
+ historicalOracleData: HistoricalOracleData;
1086
1076
  };
1087
1077
  export type PerpPosition = {
1088
1078
  baseAssetAmount: BN;
@@ -1115,14 +1105,13 @@ export type UserStatsAccount = {
1115
1105
  totalFeeRebate: BN;
1116
1106
  totalTokenDiscount: BN;
1117
1107
  totalRefereeDiscount: BN;
1118
- totalReferrerReward: BN;
1119
- current_epoch_referrer_reward: BN;
1120
1108
  };
1121
1109
  referrer: PublicKey;
1122
1110
  referrerStatus: number;
1123
1111
  authority: PublicKey;
1124
1112
  ifStakedQuoteAssetAmount: BN;
1125
1113
  ifStakedGovTokenAmount: BN;
1114
+ delegatePermissions: number;
1126
1115
  };
1127
1116
  export type UserAccount = {
1128
1117
  authority: PublicKey;
@@ -1182,7 +1171,7 @@ export type Order = {
1182
1171
  existingPositionDirection: PositionDirection;
1183
1172
  postOnly: boolean;
1184
1173
  immediateOrCancel: boolean;
1185
- oraclePriceOffset: number;
1174
+ oraclePriceOffset: BN;
1186
1175
  auctionDuration: number;
1187
1176
  auctionStartPrice: BN;
1188
1177
  auctionEndPrice: BN;
@@ -1203,11 +1192,15 @@ export type OrderParams = {
1203
1192
  bitFlags: number;
1204
1193
  triggerPrice: BN | null;
1205
1194
  triggerCondition: OrderTriggerCondition;
1206
- oraclePriceOffset: number | null;
1195
+ oraclePriceOffset: BN | null;
1207
1196
  auctionDuration: number | null;
1208
1197
  maxTs: BN | null;
1209
1198
  auctionStartPrice: BN | null;
1210
1199
  auctionEndPrice: BN | null;
1200
+ /** index into the placing user's RevenueShareEscrow.approved_builders list (non-swift builder codes) */
1201
+ builderIdx?: number | null;
1202
+ /** builder fee on this order, in tenths of a bps, e.g. 100 = 0.01% */
1203
+ builderFeeTenthBps?: number | null;
1211
1204
  };
1212
1205
  export declare class PostOnlyParams {
1213
1206
  static readonly NONE: {
@@ -1336,7 +1329,9 @@ export type ReferrerInfo = {
1336
1329
  };
1337
1330
  export declare enum ReferrerStatus {
1338
1331
  IsReferrer = 1,
1339
- IsReferred = 2
1332
+ IsReferred = 2,
1333
+ /** set when the user's RevenueShareEscrow was initialized with a referrer */
1334
+ BuilderReferral = 4
1340
1335
  }
1341
1336
  export declare enum PlaceAndTakeOrderSuccessCondition {
1342
1337
  PartialFill = 1,
@@ -1485,9 +1480,6 @@ export interface VelocityClientMetricsEvents {
1485
1480
  txSigned: SignedTxData[];
1486
1481
  preTxSigned: void;
1487
1482
  }
1488
- /** @deprecated Use `VelocityClientMetricsEvents` instead. `DriftClientMetricsEvents` will be removed in a future major. */
1489
- export interface DriftClientMetricsEvents extends VelocityClientMetricsEvents {
1490
- }
1491
1483
  export type SignedTxData = {
1492
1484
  txSig: string;
1493
1485
  signedTx: Transaction | VersionedTransaction;
@@ -1548,10 +1540,6 @@ export type RevenueShareAccount = {
1548
1540
  export type RevenueShareEscrowAccount = {
1549
1541
  authority: PublicKey;
1550
1542
  referrer: PublicKey;
1551
- referrerBoostExpireTs: number;
1552
- referrerRewardOffset: number;
1553
- refereeFeeNumeratorOffset: number;
1554
- referrerBoostNumerator: number;
1555
1543
  reservedFixed: number[];
1556
1544
  orders: RevenueShareOrder[];
1557
1545
  approvedBuilders: BuilderInfo[];