@velocity-exchange/sdk 0.0.5 → 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 (383) hide show
  1. package/.prettierignore +1 -1
  2. package/CHANGELOG.md +20 -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/dlob/DLOB.d.ts +1 -1
  40. package/lib/browser/dlob/DLOB.js +6 -6
  41. package/lib/browser/dlob/DLOBSubscriber.d.ts +0 -2
  42. package/lib/browser/dlob/DLOBSubscriber.js +2 -7
  43. package/lib/browser/dlob/orderBookLevels.js +7 -7
  44. package/lib/browser/dlob/types.d.ts +0 -2
  45. package/lib/browser/events/eventSubscriber.d.ts +1 -1
  46. package/lib/browser/events/eventsServerLogProvider.js +2 -2
  47. package/lib/browser/events/parse.js +14 -14
  48. package/lib/browser/events/types.d.ts +3 -5
  49. package/lib/browser/events/types.js +1 -1
  50. package/lib/browser/idl/{drift.d.ts → velocity.d.ts} +1042 -767
  51. package/lib/browser/idl/{drift.json → velocity.json} +1033 -758
  52. package/lib/browser/index.d.ts +1 -1
  53. package/lib/browser/index.js +1 -2
  54. package/lib/browser/math/amm.d.ts +10 -10
  55. package/lib/browser/math/amm.js +29 -28
  56. package/lib/browser/math/auction.js +16 -12
  57. package/lib/browser/math/builder.d.ts +18 -1
  58. package/lib/browser/math/builder.js +32 -1
  59. package/lib/browser/math/funding.js +26 -26
  60. package/lib/browser/math/margin.d.ts +4 -4
  61. package/lib/browser/math/margin.js +15 -15
  62. package/lib/browser/math/market.js +13 -13
  63. package/lib/browser/math/oracles.d.ts +4 -4
  64. package/lib/browser/math/oracles.js +23 -23
  65. package/lib/browser/math/orders.d.ts +2 -2
  66. package/lib/browser/math/orders.js +9 -9
  67. package/lib/browser/math/position.js +4 -4
  68. package/lib/browser/math/superStake.d.ts +8 -10
  69. package/lib/browser/math/superStake.js +18 -20
  70. package/lib/browser/math/trade.js +5 -5
  71. package/lib/browser/math/utils.d.ts +1 -1
  72. package/lib/browser/math/utils.js +1 -1
  73. package/lib/browser/oracles/pythLazerClient.js +2 -2
  74. package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +0 -2
  75. package/lib/browser/orderSubscriber/OrderSubscriber.js +8 -12
  76. package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
  77. package/lib/browser/orderSubscriber/grpcSubscription.js +2 -2
  78. package/lib/browser/orderSubscriber/types.d.ts +0 -2
  79. package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +1 -5
  80. package/lib/browser/priorityFee/priorityFeeSubscriber.js +7 -15
  81. package/lib/browser/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
  82. package/lib/browser/priorityFee/priorityFeeSubscriberMap.js +3 -11
  83. package/lib/browser/priorityFee/types.d.ts +3 -8
  84. package/lib/browser/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
  85. package/lib/browser/priorityFee/velocityPriorityFeeMethod.js +1 -3
  86. package/lib/browser/pyth/pythLazerSubscriber.d.ts +1 -1
  87. package/lib/browser/pyth/pythLazerSubscriber.js +1 -1
  88. package/lib/browser/swap/UnifiedSwapClient.js +1 -1
  89. package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +4 -5
  90. package/lib/browser/swift/signedMsgUserAccountSubscriber.js +2 -6
  91. package/lib/browser/swift/swiftOrderSubscriber.d.ts +6 -5
  92. package/lib/browser/swift/swiftOrderSubscriber.js +5 -11
  93. package/lib/browser/types.d.ts +79 -91
  94. package/lib/browser/types.js +4 -0
  95. package/lib/browser/user.d.ts +1 -3
  96. package/lib/browser/user.js +19 -23
  97. package/lib/browser/userConfig.d.ts +3 -2
  98. package/lib/browser/userMap/WebsocketSubscription.js +1 -1
  99. package/lib/browser/userMap/grpcSubscription.js +1 -1
  100. package/lib/browser/userMap/referrerMap.d.ts +0 -2
  101. package/lib/browser/userMap/referrerMap.js +0 -4
  102. package/lib/browser/userMap/revenueShareEscrowMap.d.ts +0 -2
  103. package/lib/browser/userMap/revenueShareEscrowMap.js +0 -4
  104. package/lib/browser/userMap/userMap.d.ts +2 -4
  105. package/lib/browser/userMap/userMap.js +10 -14
  106. package/lib/browser/userMap/userMapConfig.d.ts +3 -2
  107. package/lib/browser/userMap/userStatsMap.d.ts +0 -2
  108. package/lib/browser/userMap/userStatsMap.js +0 -4
  109. package/lib/browser/userStats.d.ts +0 -2
  110. package/lib/browser/userStats.js +10 -14
  111. package/lib/browser/userStatsConfig.d.ts +3 -2
  112. package/lib/browser/util/ed25519Utils.d.ts +1 -1
  113. package/lib/browser/util/ed25519Utils.js +1 -1
  114. package/lib/browser/velocityClient.d.ts +53 -38
  115. package/lib/browser/velocityClient.js +258 -196
  116. package/lib/browser/velocityClientConfig.d.ts +0 -8
  117. package/lib/node/accounts/grpcProgramAccountSubscriber.js +1 -1
  118. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts +0 -4
  119. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
  120. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +1 -3
  121. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +0 -4
  122. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  123. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +5 -7
  124. package/lib/node/accounts/laserProgramAccountSubscriber.js +1 -1
  125. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +0 -4
  126. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
  127. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +5 -7
  128. package/lib/node/accounts/types.d.ts +2 -8
  129. package/lib/node/accounts/types.d.ts.map +1 -1
  130. package/lib/node/accounts/utils.js +2 -2
  131. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +0 -4
  132. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
  133. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +5 -7
  134. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +0 -4
  135. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  136. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +5 -7
  137. package/lib/node/addresses/pda.d.ts +1 -7
  138. package/lib/node/addresses/pda.d.ts.map +1 -1
  139. package/lib/node/addresses/pda.js +4 -10
  140. package/lib/node/adminClient.d.ts +1 -1
  141. package/lib/node/adminClient.js +21 -21
  142. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +1 -3
  143. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
  144. package/lib/node/auctionSubscriber/auctionSubscriber.js +2 -6
  145. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -3
  146. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
  147. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +2 -6
  148. package/lib/node/auctionSubscriber/types.d.ts +3 -2
  149. package/lib/node/auctionSubscriber/types.d.ts.map +1 -1
  150. package/lib/node/config.d.ts +10 -19
  151. package/lib/node/config.d.ts.map +1 -1
  152. package/lib/node/config.js +6 -33
  153. package/lib/node/constants/insuranceFund.d.ts +1 -1
  154. package/lib/node/constants/insuranceFund.js +1 -1
  155. package/lib/node/constituentMap/constituentMap.d.ts +0 -2
  156. package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
  157. package/lib/node/constituentMap/constituentMap.js +5 -5
  158. package/lib/node/core/VelocityCore.d.ts +9 -15
  159. package/lib/node/core/VelocityCore.d.ts.map +1 -1
  160. package/lib/node/core/VelocityCore.js +5 -7
  161. package/lib/node/core/instructions/withdraw.d.ts +1 -1
  162. package/lib/node/core/instructions/withdraw.d.ts.map +1 -1
  163. package/lib/node/core/instructions/withdraw.js +1 -1
  164. package/lib/node/core/remainingAccounts.js +3 -3
  165. package/lib/node/dlob/DLOB.d.ts +1 -1
  166. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  167. package/lib/node/dlob/DLOB.js +6 -6
  168. package/lib/node/dlob/DLOBSubscriber.d.ts +0 -2
  169. package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
  170. package/lib/node/dlob/DLOBSubscriber.js +2 -7
  171. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  172. package/lib/node/dlob/orderBookLevels.js +7 -7
  173. package/lib/node/dlob/types.d.ts +0 -2
  174. package/lib/node/dlob/types.d.ts.map +1 -1
  175. package/lib/node/events/eventSubscriber.d.ts +1 -1
  176. package/lib/node/events/eventsServerLogProvider.js +2 -2
  177. package/lib/node/events/parse.d.ts.map +1 -1
  178. package/lib/node/events/parse.js +14 -14
  179. package/lib/node/events/types.d.ts +3 -5
  180. package/lib/node/events/types.d.ts.map +1 -1
  181. package/lib/node/events/types.js +1 -1
  182. package/lib/node/idl/{drift.d.ts → velocity.d.ts} +1043 -768
  183. package/lib/node/idl/velocity.d.ts.map +1 -0
  184. package/lib/node/idl/{drift.json → velocity.json} +1033 -758
  185. package/lib/node/index.d.ts +1 -1
  186. package/lib/node/index.d.ts.map +1 -1
  187. package/lib/node/index.js +1 -2
  188. package/lib/node/math/amm.d.ts +10 -10
  189. package/lib/node/math/amm.d.ts.map +1 -1
  190. package/lib/node/math/amm.js +29 -28
  191. package/lib/node/math/auction.d.ts.map +1 -1
  192. package/lib/node/math/auction.js +16 -12
  193. package/lib/node/math/builder.d.ts +18 -1
  194. package/lib/node/math/builder.d.ts.map +1 -1
  195. package/lib/node/math/builder.js +32 -1
  196. package/lib/node/math/funding.d.ts.map +1 -1
  197. package/lib/node/math/funding.js +26 -26
  198. package/lib/node/math/margin.d.ts +4 -4
  199. package/lib/node/math/margin.d.ts.map +1 -1
  200. package/lib/node/math/margin.js +15 -15
  201. package/lib/node/math/market.d.ts.map +1 -1
  202. package/lib/node/math/market.js +13 -13
  203. package/lib/node/math/oracles.d.ts +4 -4
  204. package/lib/node/math/oracles.d.ts.map +1 -1
  205. package/lib/node/math/oracles.js +23 -23
  206. package/lib/node/math/orders.d.ts +2 -2
  207. package/lib/node/math/orders.d.ts.map +1 -1
  208. package/lib/node/math/orders.js +9 -9
  209. package/lib/node/math/position.d.ts.map +1 -1
  210. package/lib/node/math/position.js +4 -4
  211. package/lib/node/math/superStake.d.ts +8 -10
  212. package/lib/node/math/superStake.d.ts.map +1 -1
  213. package/lib/node/math/superStake.js +18 -20
  214. package/lib/node/math/trade.d.ts.map +1 -1
  215. package/lib/node/math/trade.js +5 -5
  216. package/lib/node/math/utils.d.ts +1 -1
  217. package/lib/node/math/utils.js +1 -1
  218. package/lib/node/oracles/pythLazerClient.js +2 -2
  219. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +0 -2
  220. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  221. package/lib/node/orderSubscriber/OrderSubscriber.js +8 -12
  222. package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
  223. package/lib/node/orderSubscriber/grpcSubscription.js +2 -2
  224. package/lib/node/orderSubscriber/types.d.ts +0 -2
  225. package/lib/node/orderSubscriber/types.d.ts.map +1 -1
  226. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +1 -5
  227. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
  228. package/lib/node/priorityFee/priorityFeeSubscriber.js +7 -15
  229. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts +0 -4
  230. package/lib/node/priorityFee/priorityFeeSubscriberMap.d.ts.map +1 -1
  231. package/lib/node/priorityFee/priorityFeeSubscriberMap.js +3 -11
  232. package/lib/node/priorityFee/types.d.ts +3 -8
  233. package/lib/node/priorityFee/types.d.ts.map +1 -1
  234. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts +0 -8
  235. package/lib/node/priorityFee/velocityPriorityFeeMethod.d.ts.map +1 -1
  236. package/lib/node/priorityFee/velocityPriorityFeeMethod.js +1 -3
  237. package/lib/node/pyth/pythLazerSubscriber.d.ts +1 -1
  238. package/lib/node/pyth/pythLazerSubscriber.js +1 -1
  239. package/lib/node/swap/UnifiedSwapClient.js +1 -1
  240. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +4 -5
  241. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
  242. package/lib/node/swift/signedMsgUserAccountSubscriber.js +2 -6
  243. package/lib/node/swift/swiftOrderSubscriber.d.ts +6 -5
  244. package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
  245. package/lib/node/swift/swiftOrderSubscriber.js +5 -11
  246. package/lib/node/types.d.ts +79 -91
  247. package/lib/node/types.d.ts.map +1 -1
  248. package/lib/node/types.js +4 -0
  249. package/lib/node/user.d.ts +1 -3
  250. package/lib/node/user.d.ts.map +1 -1
  251. package/lib/node/user.js +19 -23
  252. package/lib/node/userConfig.d.ts +3 -2
  253. package/lib/node/userConfig.d.ts.map +1 -1
  254. package/lib/node/userMap/WebsocketSubscription.js +1 -1
  255. package/lib/node/userMap/grpcSubscription.js +1 -1
  256. package/lib/node/userMap/referrerMap.d.ts +0 -2
  257. package/lib/node/userMap/referrerMap.d.ts.map +1 -1
  258. package/lib/node/userMap/referrerMap.js +0 -4
  259. package/lib/node/userMap/revenueShareEscrowMap.d.ts +0 -2
  260. package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
  261. package/lib/node/userMap/revenueShareEscrowMap.js +0 -4
  262. package/lib/node/userMap/userMap.d.ts +2 -4
  263. package/lib/node/userMap/userMap.d.ts.map +1 -1
  264. package/lib/node/userMap/userMap.js +10 -14
  265. package/lib/node/userMap/userMapConfig.d.ts +3 -2
  266. package/lib/node/userMap/userMapConfig.d.ts.map +1 -1
  267. package/lib/node/userMap/userStatsMap.d.ts +0 -2
  268. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  269. package/lib/node/userMap/userStatsMap.js +0 -4
  270. package/lib/node/userStats.d.ts +0 -2
  271. package/lib/node/userStats.d.ts.map +1 -1
  272. package/lib/node/userStats.js +10 -14
  273. package/lib/node/userStatsConfig.d.ts +3 -2
  274. package/lib/node/userStatsConfig.d.ts.map +1 -1
  275. package/lib/node/util/ed25519Utils.d.ts +1 -1
  276. package/lib/node/util/ed25519Utils.js +1 -1
  277. package/lib/node/velocityClient.d.ts +53 -38
  278. package/lib/node/velocityClient.d.ts.map +1 -1
  279. package/lib/node/velocityClient.js +258 -196
  280. package/lib/node/velocityClientConfig.d.ts +0 -8
  281. package/lib/node/velocityClientConfig.d.ts.map +1 -1
  282. package/package.json +6 -7
  283. package/scripts/deposit-isolated-positions.ts +2 -2
  284. package/scripts/find-flagged-users.ts +1 -1
  285. package/scripts/grpc-client-test-comparison.ts +4 -4
  286. package/scripts/grpc-multiuser-client-test-comparison.ts +2 -2
  287. package/scripts/single-grpc-client-test.ts +3 -3
  288. package/scripts/updateVersion.js +4 -4
  289. package/scripts/withdraw-isolated-positions.ts +2 -2
  290. package/src/accounts/grpcProgramAccountSubscriber.ts +1 -1
  291. package/src/accounts/grpcVelocityClientAccountSubscriber.ts +0 -7
  292. package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +4 -11
  293. package/src/accounts/laserProgramAccountSubscriber.ts +1 -1
  294. package/src/accounts/pollingVelocityClientAccountSubscriber.ts +4 -11
  295. package/src/accounts/types.ts +2 -9
  296. package/src/accounts/utils.ts +2 -2
  297. package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +4 -11
  298. package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +4 -11
  299. package/src/addresses/pda.ts +3 -13
  300. package/src/adminClient.ts +21 -21
  301. package/src/auctionSubscriber/auctionSubscriber.ts +1 -6
  302. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +1 -6
  303. package/src/auctionSubscriber/types.ts +3 -3
  304. package/src/config.ts +8 -67
  305. package/src/constants/insuranceFund.ts +1 -1
  306. package/src/constituentMap/constituentMap.ts +2 -6
  307. package/src/core/VelocityCore.ts +11 -20
  308. package/src/core/instructions/withdraw.ts +2 -2
  309. package/src/core/remainingAccounts.ts +3 -3
  310. package/src/dlob/DLOB.ts +6 -6
  311. package/src/dlob/DLOBSubscriber.ts +2 -8
  312. package/src/dlob/orderBookLevels.ts +12 -6
  313. package/src/dlob/types.ts +0 -2
  314. package/src/events/eventSubscriber.ts +1 -1
  315. package/src/events/eventsServerLogProvider.ts +2 -2
  316. package/src/events/parse.ts +14 -14
  317. package/src/events/types.ts +4 -7
  318. package/src/idl/{drift.json → velocity.json} +1033 -758
  319. package/src/idl/{drift.ts → velocity.ts} +1035 -760
  320. package/src/index.ts +1 -4
  321. package/src/margin/README.md +2 -2
  322. package/src/math/amm.ts +43 -21
  323. package/src/math/auction.ts +16 -12
  324. package/src/math/builder.ts +45 -1
  325. package/src/math/funding.ts +46 -43
  326. package/src/math/margin.ts +15 -15
  327. package/src/math/market.ts +21 -13
  328. package/src/math/oracles.ts +29 -26
  329. package/src/math/orders.ts +18 -5
  330. package/src/math/position.ts +9 -3
  331. package/src/math/superStake.ts +21 -24
  332. package/src/math/trade.ts +9 -1
  333. package/src/math/utils.ts +1 -1
  334. package/src/oracles/pythLazerClient.ts +3 -3
  335. package/src/orderSubscriber/OrderSubscriber.ts +2 -8
  336. package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
  337. package/src/orderSubscriber/grpcSubscription.ts +2 -2
  338. package/src/orderSubscriber/types.ts +0 -2
  339. package/src/priorityFee/priorityFeeSubscriber.ts +5 -12
  340. package/src/priorityFee/priorityFeeSubscriberMap.ts +2 -10
  341. package/src/priorityFee/types.ts +3 -13
  342. package/src/priorityFee/velocityPriorityFeeMethod.ts +0 -12
  343. package/src/pyth/pythLazerSubscriber.ts +1 -1
  344. package/src/swap/UnifiedSwapClient.ts +1 -1
  345. package/src/swift/signedMsgUserAccountSubscriber.ts +2 -8
  346. package/src/swift/swiftOrderSubscriber.ts +7 -12
  347. package/src/types.ts +84 -102
  348. package/src/user.ts +9 -14
  349. package/src/userConfig.ts +1 -3
  350. package/src/userMap/WebsocketSubscription.ts +1 -1
  351. package/src/userMap/grpcSubscription.ts +1 -1
  352. package/src/userMap/referrerMap.ts +0 -4
  353. package/src/userMap/revenueShareEscrowMap.ts +0 -4
  354. package/src/userMap/userMap.ts +3 -7
  355. package/src/userMap/userMapConfig.ts +3 -3
  356. package/src/userMap/userStatsMap.ts +0 -4
  357. package/src/userStats.ts +1 -5
  358. package/src/userStatsConfig.ts +3 -3
  359. package/src/util/ed25519Utils.ts +1 -1
  360. package/src/velocityClient.ts +339 -225
  361. package/src/velocityClientConfig.ts +0 -10
  362. package/tests/{DriftCore → VelocityCore}/decode.test.ts +1 -1
  363. package/tests/{DriftCore → VelocityCore}/fill_trigger.test.ts +1 -1
  364. package/tests/{DriftCore → VelocityCore}/instructions.test.ts +1 -1
  365. package/tests/{DriftCore → VelocityCore}/pdas.test.ts +4 -2
  366. package/tests/ci/verifyConstants.ts +24 -27
  367. package/tests/decode/test.ts +2 -2
  368. package/tests/dlob/helpers.ts +5 -9
  369. package/tests/events/parseLogsForCuUsage.ts +15 -15
  370. package/tests/user/helpers.ts +9 -9
  371. package/tests/user/test.ts +13 -10
  372. package/lib/browser/util/deprecatedAlias.d.ts +0 -26
  373. package/lib/browser/util/deprecatedAlias.js +0 -10
  374. package/lib/node/idl/drift.d.ts.map +0 -1
  375. package/lib/node/util/deprecatedAlias.d.ts +0 -27
  376. package/lib/node/util/deprecatedAlias.d.ts.map +0 -1
  377. package/lib/node/util/deprecatedAlias.js +0 -10
  378. package/src/util/deprecatedAlias.ts +0 -21
  379. /package/lib/browser/idl/{drift.js → velocity.js} +0 -0
  380. /package/lib/node/idl/{drift.js → velocity.js} +0 -0
  381. /package/tests/{DriftCore → VelocityCore}/perp_orders.test.ts +0 -0
  382. /package/tests/{DriftCore → VelocityCore}/remainingAccounts.test.ts +0 -0
  383. /package/tests/{DriftCore → VelocityCore}/settlement_liquidation.test.ts +0 -0
package/src/user.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * User — read-oriented abstraction over the on-chain `User` account.
3
3
  *
4
4
  * Responsibilities:
5
- * - Margin and free-collateral calculations (mirrors `programs/drift/src/math/margin.rs`).
5
+ * - Margin and free-collateral calculations (mirrors `programs/velocity/src/math/margin.rs`).
6
6
  * - Position accessors: perp positions, spot positions, unrealized PnL, leverage.
7
7
  * - Open order queries and filtering.
8
8
  * - Health factor and liquidation threshold checks.
@@ -129,10 +129,6 @@ export type MarginType = 'Cross' | 'Isolated';
129
129
 
130
130
  export class User {
131
131
  velocityClient: VelocityClient;
132
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
133
- public get driftClient(): VelocityClient {
134
- return this.velocityClient;
135
- }
136
132
  userAccountPublicKey: PublicKey;
137
133
  accountSubscriber: UserAccountSubscriber;
138
134
  _isSubscribed = false;
@@ -148,7 +144,7 @@ export class User {
148
144
 
149
145
  public constructor(config: UserConfig) {
150
146
  // Type-system guarantees at least one of the two is supplied.
151
- const velocityClient = (config.velocityClient ?? config.driftClient)!;
147
+ const velocityClient = config.velocityClient!;
152
148
  this.velocityClient = velocityClient;
153
149
  this.userAccountPublicKey = config.userAccountPublicKey;
154
150
  if (config.accountSubscription?.type === 'polling') {
@@ -2093,10 +2089,10 @@ export class User {
2093
2089
  userPosition.marketIndex
2094
2090
  );
2095
2091
  if (
2096
- market.amm.cumulativeFundingRateLong.eq(
2092
+ market.cumulativeFundingRateLong.eq(
2097
2093
  userPosition.lastCumulativeFundingRate
2098
2094
  ) ||
2099
- market.amm.cumulativeFundingRateShort.eq(
2095
+ market.cumulativeFundingRateShort.eq(
2100
2096
  userPosition.lastCumulativeFundingRate
2101
2097
  )
2102
2098
  ) {
@@ -2153,7 +2149,7 @@ export class User {
2153
2149
  const oracle = market.oracle;
2154
2150
  const perpMarketWithSameOracle = this.velocityClient
2155
2151
  .getPerpMarketAccounts()
2156
- .find((market) => market.amm.oracle.equals(oracle));
2152
+ .find((market) => market.oracle.equals(oracle));
2157
2153
  const oraclePrice =
2158
2154
  this.velocityClient.getOracleDataForSpotMarket(marketIndex).price;
2159
2155
  if (perpMarketWithSameOracle) {
@@ -2172,7 +2168,7 @@ export class User {
2172
2168
  if (freeCollateralDeltaForPerp) {
2173
2169
  const { numerator, denominator } = getMultipleBetweenOracleSources(
2174
2170
  market.oracleSource,
2175
- perpMarketWithSameOracle.amm.oracleSource
2171
+ perpMarketWithSameOracle.oracleSource
2176
2172
  );
2177
2173
  freeCollateralDeltaForPerp = freeCollateralDeltaForPerp
2178
2174
  .mul(numerator)
@@ -2223,8 +2219,7 @@ export class User {
2223
2219
  ): BN {
2224
2220
  const market = this.velocityClient.getPerpMarketAccount(marketIndex);
2225
2221
 
2226
- const oracle =
2227
- this.velocityClient.getPerpMarketAccount(marketIndex).amm.oracle;
2222
+ const oracle = this.velocityClient.getPerpMarketAccount(marketIndex).oracle;
2228
2223
 
2229
2224
  const oraclePrice =
2230
2225
  this.velocityClient.getOracleDataForPerpMarket(marketIndex).price;
@@ -2292,7 +2287,7 @@ export class User {
2292
2287
 
2293
2288
  positionBaseSizeChange = standardizeBaseAssetAmount(
2294
2289
  positionBaseSizeChange,
2295
- market.amm.orderStepSize
2290
+ market.orderStepSize
2296
2291
  );
2297
2292
 
2298
2293
  const freeCollateralChangeFromNewPosition =
@@ -2345,7 +2340,7 @@ export class User {
2345
2340
 
2346
2341
  if (spotFreeCollateralDelta) {
2347
2342
  const { numerator, denominator } = getMultipleBetweenOracleSources(
2348
- market.amm.oracleSource,
2343
+ market.oracleSource,
2349
2344
  spotMarketWithSameOracle.oracleSource
2350
2345
  );
2351
2346
  spotFreeCollateralDelta = spotFreeCollateralDelta
package/src/userConfig.ts CHANGED
@@ -5,15 +5,13 @@ import { GrpcConfigs, UserAccountSubscriber } from './accounts/types';
5
5
  import { WebSocketProgramAccountSubscriber } from './accounts/webSocketProgramAccountSubscriber';
6
6
  import { UserAccount } from './types';
7
7
  import { grpcMultiUserAccountSubscriber } from './accounts/grpcMultiUserAccountSubscriber';
8
- import { AtLeastOne } from './util/deprecatedAlias';
9
8
 
10
9
  type UserConfigBase = {
11
10
  accountSubscription?: UserSubscriptionConfig;
12
11
  userAccountPublicKey: PublicKey;
13
12
  };
14
13
 
15
- export type UserConfig = UserConfigBase &
16
- AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
14
+ export type UserConfig = UserConfigBase & { velocityClient: VelocityClient };
17
15
 
18
16
  export type UserSubscriptionConfig =
19
17
  | {
@@ -54,7 +54,7 @@ export class WebsocketSubscription {
54
54
  this.subscriber = new WebSocketProgramAccountSubscriber<UserAccount>(
55
55
  'UserMap',
56
56
  'user',
57
- this.userMap.driftClient.program,
57
+ this.userMap.velocityClient.program,
58
58
  this.decodeFn,
59
59
  {
60
60
  filters,
@@ -56,7 +56,7 @@ export class grpcSubscription {
56
56
  this.grpcConfigs,
57
57
  'UserMap',
58
58
  'user',
59
- this.userMap.driftClient.program,
59
+ this.userMap.velocityClient.program,
60
60
  this.decodeFn,
61
61
  {
62
62
  filters,
@@ -29,10 +29,6 @@ export class ReferrerMap {
29
29
  */
30
30
  private referrerReferrerInfoMap = new Map<string, ReferrerInfo>();
31
31
  private velocityClient: VelocityClient;
32
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
33
- private get driftClient(): VelocityClient {
34
- return this.velocityClient;
35
- }
36
32
  private parallelSync: boolean;
37
33
 
38
34
  private fetchPromise?: Promise<void>;
@@ -10,10 +10,6 @@ export class RevenueShareEscrowMap {
10
10
  */
11
11
  private authorityEscrowMap = new Map<string, RevenueShareEscrowAccount>();
12
12
  private velocityClient: VelocityClient;
13
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
14
- private get driftClient(): VelocityClient {
15
- return this.velocityClient;
16
- }
17
13
  private parallelSync: boolean;
18
14
 
19
15
  private fetchPromise?: Promise<void>;
@@ -78,10 +78,6 @@ export interface UserMapInterface {
78
78
  export class UserMap implements UserMapInterface {
79
79
  private userMap = new Map<string, DataAndSlot<User>>();
80
80
  velocityClient: VelocityClient;
81
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
82
- public get driftClient(): VelocityClient {
83
- return this.velocityClient;
84
- }
85
81
  eventEmitter: StrictEventEmitter<EventEmitter, UserEvents>;
86
82
  private connection: Connection;
87
83
  private commitment: Commitment;
@@ -114,7 +110,7 @@ export class UserMap implements UserMapInterface {
114
110
  */
115
111
  constructor(config: UserMapConfig) {
116
112
  // Type-system guarantees at least one of the two is supplied.
117
- this.velocityClient = (config.velocityClient ?? config.driftClient)!;
113
+ this.velocityClient = config.velocityClient!;
118
114
  if (config.connection) {
119
115
  this.connection = config.connection;
120
116
  } else {
@@ -420,7 +416,7 @@ export class UserMap implements UserMapInterface {
420
416
 
421
417
  /**
422
418
  * Syncs the UserMap using the default sync method (single getProgramAccounts call with filters).
423
- * This method may fail when drift has too many users. (nodejs response size limits)
419
+ * This method may fail when velocity has too many users. (nodejs response size limits)
424
420
  * @returns
425
421
  */
426
422
  private async defaultSync() {
@@ -517,7 +513,7 @@ export class UserMap implements UserMapInterface {
517
513
 
518
514
  /**
519
515
  * Syncs the UserMap using the paginated sync method (multiple getMultipleAccounts calls with filters).
520
- * This method is more reliable when drift has many users.
516
+ * This method is more reliable when velocity has many users.
521
517
  * @returns
522
518
  */
523
519
  private async paginatedSync() {
@@ -1,7 +1,6 @@
1
1
  import { Commitment, Connection, MemcmpFilter } from '@solana/web3.js';
2
2
  import { VelocityClient } from '../velocityClient';
3
3
  import { GrpcConfigs } from '../accounts/types';
4
- import { AtLeastOne } from '../util/deprecatedAlias';
5
4
 
6
5
  // passed into UserMap.getUniqueAuthorities to filter users
7
6
  export type UserAccountFilterCriteria = {
@@ -65,5 +64,6 @@ type UserMapConfigBase = {
65
64
  additionalFilters?: MemcmpFilter[];
66
65
  };
67
66
 
68
- export type UserMapConfig = UserMapConfigBase &
69
- AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
67
+ export type UserMapConfig = UserMapConfigBase & {
68
+ velocityClient: VelocityClient;
69
+ };
@@ -27,10 +27,6 @@ export class UserStatsMap {
27
27
  */
28
28
  private userStatsMap = new Map<string, UserStats>();
29
29
  private velocityClient: VelocityClient;
30
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
31
- private get driftClient(): VelocityClient {
32
- return this.velocityClient;
33
- }
34
30
  private bulkAccountLoader: BulkAccountLoader;
35
31
  private decode;
36
32
  private syncConfig: SyncConfig;
package/src/userStats.ts CHANGED
@@ -18,17 +18,13 @@ import { grpcUserStatsAccountSubscriber } from './accounts/grpcUserStatsAccountS
18
18
 
19
19
  export class UserStats {
20
20
  velocityClient: VelocityClient;
21
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
22
- public get driftClient(): VelocityClient {
23
- return this.velocityClient;
24
- }
25
21
  userStatsAccountPublicKey: PublicKey;
26
22
  accountSubscriber: UserStatsAccountSubscriber;
27
23
  isSubscribed: boolean;
28
24
 
29
25
  public constructor(config: UserStatsConfig) {
30
26
  // Type-system guarantees at least one of the two is supplied.
31
- const velocityClient = (config.velocityClient ?? config.driftClient)!;
27
+ const velocityClient = config.velocityClient!;
32
28
  this.velocityClient = velocityClient;
33
29
  this.userStatsAccountPublicKey = config.userStatsAccountPublicKey;
34
30
  if (config.accountSubscription?.type === 'polling') {
@@ -2,15 +2,15 @@ import { VelocityClient } from './velocityClient';
2
2
  import { Commitment, PublicKey } from '@solana/web3.js';
3
3
  import { BulkAccountLoader } from './accounts/bulkAccountLoader';
4
4
  import { GrpcConfigs, UserStatsAccountSubscriber } from './accounts/types';
5
- import { AtLeastOne } from './util/deprecatedAlias';
6
5
 
7
6
  type UserStatsConfigBase = {
8
7
  accountSubscription?: UserStatsSubscriptionConfig;
9
8
  userStatsAccountPublicKey: PublicKey;
10
9
  };
11
10
 
12
- export type UserStatsConfig = UserStatsConfigBase &
13
- AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
11
+ export type UserStatsConfig = UserStatsConfigBase & {
12
+ velocityClient: VelocityClient;
13
+ };
14
14
 
15
15
  export type UserStatsSubscriptionConfig =
16
16
  | {
@@ -37,7 +37,7 @@ const ED25519_INSTRUCTION_LAYOUT = BufferLayout.struct<
37
37
 
38
38
  /**
39
39
  * Constructs a minimal Ed25519 verification instruction that references the data
40
- * inside the drift custom instruction (e.g. postPythLazerOracleUpdate, placeSignedMsgTakerOrder).
40
+ * inside the velocity custom instruction (e.g. postPythLazerOracleUpdate, placeSignedMsgTakerOrder).
41
41
  *
42
42
  * @param customInstructionIndex The index of the custom instruction in the transaction (e.g. if tx contains compute budget limit, compute budget price, ed25519 verify, custom ix, this would be 3).
43
43
  * @param messageOffset The offset within the custom instruction data where the signed message begins.