@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
@@ -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;
@@ -1208,6 +1197,10 @@ export type OrderParams = {
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[];
@@ -381,11 +381,15 @@ exports.DefaultOrderParams = {
381
381
  maxTs: null,
382
382
  auctionStartPrice: null,
383
383
  auctionEndPrice: null,
384
+ builderIdx: null,
385
+ builderFeeTenthBps: null,
384
386
  };
385
387
  var ReferrerStatus;
386
388
  (function (ReferrerStatus) {
387
389
  ReferrerStatus[ReferrerStatus["IsReferrer"] = 1] = "IsReferrer";
388
390
  ReferrerStatus[ReferrerStatus["IsReferred"] = 2] = "IsReferred";
391
+ /** set when the user's RevenueShareEscrow was initialized with a referrer */
392
+ ReferrerStatus[ReferrerStatus["BuilderReferral"] = 4] = "BuilderReferral";
389
393
  })(ReferrerStatus || (exports.ReferrerStatus = ReferrerStatus = {}));
390
394
  var PlaceAndTakeOrderSuccessCondition;
391
395
  (function (PlaceAndTakeOrderSuccessCondition) {
@@ -4,7 +4,7 @@
4
4
  * User — read-oriented abstraction over the on-chain `User` account.
5
5
  *
6
6
  * Responsibilities:
7
- * - Margin and free-collateral calculations (mirrors `programs/drift/src/math/margin.rs`).
7
+ * - Margin and free-collateral calculations (mirrors `programs/velocity/src/math/margin.rs`).
8
8
  * - Position accessors: perp positions, spot positions, unrealized PnL, leverage.
9
9
  * - Open order queries and filtering.
10
10
  * - Health factor and liquidation threshold checks.
@@ -28,8 +28,6 @@ import { IsolatedMarginCalculation, MarginCalculation } from './marginCalculatio
28
28
  export type MarginType = 'Cross' | 'Isolated';
29
29
  export declare class User {
30
30
  velocityClient: VelocityClient;
31
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
32
- get driftClient(): VelocityClient;
33
31
  userAccountPublicKey: PublicKey;
34
32
  accountSubscriber: UserAccountSubscriber;
35
33
  _isSubscribed: boolean;
@@ -27,10 +27,6 @@ const strictOraclePrice_1 = require("./oracles/strictOraclePrice");
27
27
  const grpcUserAccountSubscriber_1 = require("./accounts/grpcUserAccountSubscriber");
28
28
  const marginCalculation_1 = require("./marginCalculation");
29
29
  class User {
30
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
31
- get driftClient() {
32
- return this.velocityClient;
33
- }
34
30
  get isSubscribed() {
35
31
  return this._isSubscribed && this.accountSubscriber.isSubscribed;
36
32
  }
@@ -38,40 +34,40 @@ class User {
38
34
  this._isSubscribed = val;
39
35
  }
40
36
  constructor(config) {
41
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
37
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
42
38
  this._isSubscribed = false;
43
39
  // Type-system guarantees at least one of the two is supplied.
44
- const velocityClient = ((_a = config.velocityClient) !== null && _a !== void 0 ? _a : config.driftClient);
40
+ const velocityClient = config.velocityClient;
45
41
  this.velocityClient = velocityClient;
46
42
  this.userAccountPublicKey = config.userAccountPublicKey;
47
- if (((_b = config.accountSubscription) === null || _b === void 0 ? void 0 : _b.type) === 'polling') {
43
+ if (((_a = config.accountSubscription) === null || _a === void 0 ? void 0 : _a.type) === 'polling') {
48
44
  this.accountSubscriber = new pollingUserAccountSubscriber_1.PollingUserAccountSubscriber(velocityClient.connection, config.userAccountPublicKey, config.accountSubscription.accountLoader, this.velocityClient.program.account.user.coder.accounts.decodeUnchecked.bind(this.velocityClient.program.account.user.coder.accounts));
49
45
  }
50
- else if (((_c = config.accountSubscription) === null || _c === void 0 ? void 0 : _c.type) === 'custom') {
46
+ else if (((_b = config.accountSubscription) === null || _b === void 0 ? void 0 : _b.type) === 'custom') {
51
47
  this.accountSubscriber = config.accountSubscription.userAccountSubscriber;
52
48
  }
53
- else if (((_d = config.accountSubscription) === null || _d === void 0 ? void 0 : _d.type) === 'grpc') {
49
+ else if (((_c = config.accountSubscription) === null || _c === void 0 ? void 0 : _c.type) === 'grpc') {
54
50
  if (config.accountSubscription.grpcMultiUserAccountSubscriber) {
55
51
  this.accountSubscriber =
56
52
  config.accountSubscription.grpcMultiUserAccountSubscriber.forUser(config.userAccountPublicKey);
57
53
  }
58
54
  else {
59
55
  this.accountSubscriber = new grpcUserAccountSubscriber_1.grpcUserAccountSubscriber(config.accountSubscription.grpcConfigs, velocityClient.program, config.userAccountPublicKey, {
60
- resubTimeoutMs: (_e = config.accountSubscription) === null || _e === void 0 ? void 0 : _e.resubTimeoutMs,
61
- logResubMessages: (_f = config.accountSubscription) === null || _f === void 0 ? void 0 : _f.logResubMessages,
56
+ resubTimeoutMs: (_d = config.accountSubscription) === null || _d === void 0 ? void 0 : _d.resubTimeoutMs,
57
+ logResubMessages: (_e = config.accountSubscription) === null || _e === void 0 ? void 0 : _e.logResubMessages,
62
58
  });
63
59
  }
64
60
  }
65
61
  else {
66
- if (((_g = config.accountSubscription) === null || _g === void 0 ? void 0 : _g.type) === 'websocket' &&
67
- ((_h = config.accountSubscription) === null || _h === void 0 ? void 0 : _h.programUserAccountSubscriber)) {
62
+ if (((_f = config.accountSubscription) === null || _f === void 0 ? void 0 : _f.type) === 'websocket' &&
63
+ ((_g = config.accountSubscription) === null || _g === void 0 ? void 0 : _g.programUserAccountSubscriber)) {
68
64
  this.accountSubscriber = new websocketProgramUserAccountSubscriber_1.WebSocketProgramUserAccountSubscriber(velocityClient.program, config.userAccountPublicKey, config.accountSubscription.programUserAccountSubscriber);
69
65
  }
70
66
  else {
71
67
  this.accountSubscriber = new webSocketUserAccountSubscriber_1.WebSocketUserAccountSubscriber(velocityClient.program, config.userAccountPublicKey, {
72
- resubTimeoutMs: (_j = config.accountSubscription) === null || _j === void 0 ? void 0 : _j.resubTimeoutMs,
73
- logResubMessages: (_k = config.accountSubscription) === null || _k === void 0 ? void 0 : _k.logResubMessages,
74
- }, (_l = config.accountSubscription) === null || _l === void 0 ? void 0 : _l.commitment);
68
+ resubTimeoutMs: (_h = config.accountSubscription) === null || _h === void 0 ? void 0 : _h.resubTimeoutMs,
69
+ logResubMessages: (_j = config.accountSubscription) === null || _j === void 0 ? void 0 : _j.logResubMessages,
70
+ }, (_k = config.accountSubscription) === null || _k === void 0 ? void 0 : _k.commitment);
75
71
  }
76
72
  }
77
73
  this.eventEmitter = this.accountSubscriber.eventEmitter;
@@ -1102,8 +1098,8 @@ class User {
1102
1098
  continue;
1103
1099
  }
1104
1100
  const market = this.velocityClient.getPerpMarketAccount(userPosition.marketIndex);
1105
- if (market.amm.cumulativeFundingRateLong.eq(userPosition.lastCumulativeFundingRate) ||
1106
- market.amm.cumulativeFundingRateShort.eq(userPosition.lastCumulativeFundingRate)) {
1101
+ if (market.cumulativeFundingRateLong.eq(userPosition.lastCumulativeFundingRate) ||
1102
+ market.cumulativeFundingRateShort.eq(userPosition.lastCumulativeFundingRate)) {
1107
1103
  continue;
1108
1104
  }
1109
1105
  return true;
@@ -1133,14 +1129,14 @@ class User {
1133
1129
  const oracle = market.oracle;
1134
1130
  const perpMarketWithSameOracle = this.velocityClient
1135
1131
  .getPerpMarketAccounts()
1136
- .find((market) => market.amm.oracle.equals(oracle));
1132
+ .find((market) => market.oracle.equals(oracle));
1137
1133
  const oraclePrice = this.velocityClient.getOracleDataForSpotMarket(marketIndex).price;
1138
1134
  if (perpMarketWithSameOracle) {
1139
1135
  const perpPosition = this.getPerpPositionOrEmpty(perpMarketWithSameOracle.marketIndex);
1140
1136
  if (perpPosition) {
1141
1137
  let freeCollateralDeltaForPerp = this.calculateFreeCollateralDeltaForPerp(perpMarketWithSameOracle, perpPosition, numericConstants_1.ZERO, oraclePrice);
1142
1138
  if (freeCollateralDeltaForPerp) {
1143
- const { numerator, denominator } = (0, oracles_1.getMultipleBetweenOracleSources)(market.oracleSource, perpMarketWithSameOracle.amm.oracleSource);
1139
+ const { numerator, denominator } = (0, oracles_1.getMultipleBetweenOracleSources)(market.oracleSource, perpMarketWithSameOracle.oracleSource);
1144
1140
  freeCollateralDeltaForPerp = freeCollateralDeltaForPerp
1145
1141
  .mul(numerator)
1146
1142
  .div(denominator);
@@ -1172,7 +1168,7 @@ class User {
1172
1168
  */
1173
1169
  liquidationPrice(marketIndex, positionBaseSizeChange = numericConstants_1.ZERO, estimatedEntryPrice = numericConstants_1.ZERO, marginCategory = 'Maintenance', includeOpenOrders = false, offsetCollateral = numericConstants_1.ZERO, marginType) {
1174
1170
  const market = this.velocityClient.getPerpMarketAccount(marketIndex);
1175
- const oracle = this.velocityClient.getPerpMarketAccount(marketIndex).amm.oracle;
1171
+ const oracle = this.velocityClient.getPerpMarketAccount(marketIndex).oracle;
1176
1172
  const oraclePrice = this.velocityClient.getOracleDataForPerpMarket(marketIndex).price;
1177
1173
  const currentPerpPosition = this.getPerpPositionOrEmpty(marketIndex);
1178
1174
  if (marginType === 'Isolated') {
@@ -1201,7 +1197,7 @@ class User {
1201
1197
  const totalCollateral = this.getTotalCollateral(marginCategory, false, includeOpenOrders);
1202
1198
  const marginRequirement = this.getMarginRequirement(marginCategory, undefined, false, includeOpenOrders);
1203
1199
  let freeCollateral = anchor_1.BN.max(numericConstants_1.ZERO, totalCollateral.sub(marginRequirement)).add(offsetCollateral);
1204
- positionBaseSizeChange = (0, orders_1.standardizeBaseAssetAmount)(positionBaseSizeChange, market.amm.orderStepSize);
1200
+ positionBaseSizeChange = (0, orders_1.standardizeBaseAssetAmount)(positionBaseSizeChange, market.orderStepSize);
1205
1201
  const freeCollateralChangeFromNewPosition = this.calculateEntriesEffectOnFreeCollateral(market, oraclePrice, currentPerpPosition, positionBaseSizeChange, estimatedEntryPrice, includeOpenOrders);
1206
1202
  freeCollateral = freeCollateral.add(freeCollateralChangeFromNewPosition);
1207
1203
  let freeCollateralDelta = this.calculateFreeCollateralDeltaForPerp(market, currentPerpPosition, positionBaseSizeChange, oraclePrice, marginCategory, includeOpenOrders);
@@ -1217,7 +1213,7 @@ class User {
1217
1213
  const signedTokenAmount = (0, spotBalance_1.getSignedTokenAmount)((0, spotBalance_2.getTokenAmount)(spotPosition.scaledBalance, spotMarketWithSameOracle, spotPosition.balanceType), spotPosition.balanceType);
1218
1214
  let spotFreeCollateralDelta = this.calculateFreeCollateralDeltaForSpot(spotMarketWithSameOracle, signedTokenAmount, marginCategory);
1219
1215
  if (spotFreeCollateralDelta) {
1220
- const { numerator, denominator } = (0, oracles_1.getMultipleBetweenOracleSources)(market.amm.oracleSource, spotMarketWithSameOracle.oracleSource);
1216
+ const { numerator, denominator } = (0, oracles_1.getMultipleBetweenOracleSources)(market.oracleSource, spotMarketWithSameOracle.oracleSource);
1221
1217
  spotFreeCollateralDelta = spotFreeCollateralDelta
1222
1218
  .mul(numerator)
1223
1219
  .div(denominator);
@@ -5,12 +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
  type UserConfigBase = {
10
9
  accountSubscription?: UserSubscriptionConfig;
11
10
  userAccountPublicKey: PublicKey;
12
11
  };
13
- export type UserConfig = UserConfigBase & AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
12
+ export type UserConfig = UserConfigBase & {
13
+ velocityClient: VelocityClient;
14
+ };
14
15
  export type UserSubscriptionConfig = {
15
16
  type: 'grpc';
16
17
  resubTimeoutMs?: number;
@@ -22,7 +22,7 @@ class WebsocketSubscription {
22
22
  if (this.additionalFilters) {
23
23
  filters.push(...this.additionalFilters);
24
24
  }
25
- this.subscriber = new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('UserMap', 'user', this.userMap.driftClient.program, this.decodeFn, {
25
+ this.subscriber = new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('UserMap', 'user', this.userMap.velocityClient.program, this.decodeFn, {
26
26
  filters,
27
27
  commitment: this.commitment,
28
28
  }, this.resubOpts);
@@ -22,7 +22,7 @@ class grpcSubscription {
22
22
  if (this.additionalFilters) {
23
23
  filters.push(...this.additionalFilters);
24
24
  }
25
- this.subscriber = await grpcProgramAccountSubscriber_1.grpcProgramAccountSubscriber.create(this.grpcConfigs, 'UserMap', 'user', this.userMap.driftClient.program, this.decodeFn, {
25
+ this.subscriber = await grpcProgramAccountSubscriber_1.grpcProgramAccountSubscriber.create(this.grpcConfigs, 'UserMap', 'user', this.userMap.velocityClient.program, this.decodeFn, {
26
26
  filters,
27
27
  }, this.resubOpts);
28
28
  }
@@ -12,8 +12,6 @@ export declare class ReferrerMap {
12
12
  */
13
13
  private referrerReferrerInfoMap;
14
14
  private velocityClient;
15
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
16
- private get driftClient();
17
15
  private parallelSync;
18
16
  private fetchPromise?;
19
17
  private fetchPromiseResolver;
@@ -10,10 +10,6 @@ const memcmp_1 = require("../memcmp");
10
10
  const bs58_1 = __importDefault(require("bs58"));
11
11
  const DEFAULT_PUBLIC_KEY = web3_js_1.PublicKey.default.toBase58();
12
12
  class ReferrerMap {
13
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
14
- get driftClient() {
15
- return this.velocityClient;
16
- }
17
13
  /**
18
14
  * Creates a new UserStatsMap instance.
19
15
  *
@@ -6,8 +6,6 @@ export declare class RevenueShareEscrowMap {
6
6
  */
7
7
  private authorityEscrowMap;
8
8
  private velocityClient;
9
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
10
- private get driftClient();
11
9
  private parallelSync;
12
10
  private fetchPromise?;
13
11
  private fetchPromiseResolver;
@@ -5,10 +5,6 @@ const web3_js_1 = require("@solana/web3.js");
5
5
  const pda_1 = require("../addresses/pda");
6
6
  const memcmp_1 = require("../memcmp");
7
7
  class RevenueShareEscrowMap {
8
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
9
- get driftClient() {
10
- return this.velocityClient;
11
- }
12
8
  /**
13
9
  * Creates a new RevenueShareEscrowMap instance.
14
10
  *
@@ -30,8 +30,6 @@ export interface UserMapInterface {
30
30
  export declare class UserMap implements UserMapInterface {
31
31
  private userMap;
32
32
  velocityClient: VelocityClient;
33
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
34
- get driftClient(): VelocityClient;
35
33
  eventEmitter: StrictEventEmitter<EventEmitter, UserEvents>;
36
34
  private connection;
37
35
  private commitment;
@@ -99,13 +97,13 @@ export declare class UserMap implements UserMapInterface {
99
97
  private getFilters;
100
98
  /**
101
99
  * Syncs the UserMap using the default sync method (single getProgramAccounts call with filters).
102
- * This method may fail when drift has too many users. (nodejs response size limits)
100
+ * This method may fail when velocity has too many users. (nodejs response size limits)
103
101
  * @returns
104
102
  */
105
103
  private defaultSync;
106
104
  /**
107
105
  * Syncs the UserMap using the paginated sync method (multiple getMultipleAccounts calls with filters).
108
- * This method is more reliable when drift has many users.
106
+ * This method is more reliable when velocity has many users.
109
107
  * @returns
110
108
  */
111
109
  private paginatedSync;
@@ -15,15 +15,11 @@ const grpcSubscription_1 = require("./grpcSubscription");
15
15
  const events_1 = require("events");
16
16
  const MAX_USER_ACCOUNT_SIZE_BYTES = 4376;
17
17
  class UserMap {
18
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
19
- get driftClient() {
20
- return this.velocityClient;
21
- }
22
18
  /**
23
19
  * Constructs a new UserMap instance.
24
20
  */
25
21
  constructor(config) {
26
- var _a, _b, _c, _d, _e, _f, _g;
22
+ var _a, _b, _c, _d, _e, _f;
27
23
  this.userMap = new Map();
28
24
  this.stateAccountUpdateCallback = async (state) => {
29
25
  if (!state.numberOfSubAccounts.eq(this.lastNumberOfSubAccounts)) {
@@ -33,7 +29,7 @@ class UserMap {
33
29
  };
34
30
  this.mostRecentSlot = 0;
35
31
  // Type-system guarantees at least one of the two is supplied.
36
- this.velocityClient = ((_a = config.velocityClient) !== null && _a !== void 0 ? _a : config.driftClient);
32
+ this.velocityClient = config.velocityClient;
37
33
  if (config.connection) {
38
34
  this.connection = config.connection;
39
35
  }
@@ -43,15 +39,15 @@ class UserMap {
43
39
  this.commitment =
44
40
  config.subscriptionConfig.type === 'websocket' ||
45
41
  config.subscriptionConfig.type === 'polling'
46
- ? (_b = config.subscriptionConfig.commitment) !== null && _b !== void 0 ? _b : this.velocityClient.opts.commitment
42
+ ? (_a = config.subscriptionConfig.commitment) !== null && _a !== void 0 ? _a : this.velocityClient.opts.commitment
47
43
  : this.velocityClient.opts.commitment;
48
- this.includeIdle = (_c = config.includeIdle) !== null && _c !== void 0 ? _c : false;
44
+ this.includeIdle = (_b = config.includeIdle) !== null && _b !== void 0 ? _b : false;
49
45
  this.filterByPoolId = config.filterByPoolId;
50
46
  this.additionalFilters = config.additionalFilters;
51
47
  this.disableSyncOnTotalAccountsChange =
52
- (_d = config.disableSyncOnTotalAccountsChange) !== null && _d !== void 0 ? _d : false;
48
+ (_c = config.disableSyncOnTotalAccountsChange) !== null && _c !== void 0 ? _c : false;
53
49
  let decodeFn;
54
- if ((_e = config.fastDecode) !== null && _e !== void 0 ? _e : true) {
50
+ if ((_d = config.fastDecode) !== null && _d !== void 0 ? _d : true) {
55
51
  decodeFn = (name, buffer) => (0, user_2.decodeUser)(buffer);
56
52
  }
57
53
  else {
@@ -89,11 +85,11 @@ class UserMap {
89
85
  decodeFn,
90
86
  });
91
87
  }
92
- this.syncConfig = (_f = config.syncConfig) !== null && _f !== void 0 ? _f : {
88
+ this.syncConfig = (_e = config.syncConfig) !== null && _e !== void 0 ? _e : {
93
89
  type: 'default',
94
90
  };
95
91
  // Whether to throw an error if the userMap fails to sync. Defaults to false.
96
- this.throwOnFailedSync = (_g = config.throwOnFailedSync) !== null && _g !== void 0 ? _g : false;
92
+ this.throwOnFailedSync = (_f = config.throwOnFailedSync) !== null && _f !== void 0 ? _f : false;
97
93
  this.eventEmitter = new events_1.EventEmitter();
98
94
  }
99
95
  async subscribe() {
@@ -284,7 +280,7 @@ class UserMap {
284
280
  }
285
281
  /**
286
282
  * Syncs the UserMap using the default sync method (single getProgramAccounts call with filters).
287
- * This method may fail when drift has too many users. (nodejs response size limits)
283
+ * This method may fail when velocity has too many users. (nodejs response size limits)
288
284
  * @returns
289
285
  */
290
286
  async defaultSync() {
@@ -357,7 +353,7 @@ class UserMap {
357
353
  }
358
354
  /**
359
355
  * Syncs the UserMap using the paginated sync method (multiple getMultipleAccounts calls with filters).
360
- * This method is more reliable when drift has many users.
356
+ * This method is more reliable when velocity has many users.
361
357
  * @returns
362
358
  */
363
359
  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
  export type UserAccountFilterCriteria = {
6
5
  hasOpenOrders: boolean;
7
6
  };
@@ -38,5 +37,7 @@ type UserMapConfigBase = {
38
37
  filterByPoolId?: number;
39
38
  additionalFilters?: MemcmpFilter[];
40
39
  };
41
- export type UserMapConfig = UserMapConfigBase & AtLeastOne<'velocityClient', 'driftClient', VelocityClient>;
40
+ export type UserMapConfig = UserMapConfigBase & {
41
+ velocityClient: VelocityClient;
42
+ };
42
43
  export {};
@@ -12,8 +12,6 @@ export declare class UserStatsMap {
12
12
  */
13
13
  private userStatsMap;
14
14
  private velocityClient;
15
- /** @deprecated Use `velocityClient` instead. `driftClient` will be removed in a future major. */
16
- private get driftClient();
17
15
  private bulkAccountLoader;
18
16
  private decode;
19
17
  private syncConfig;