@velocity-exchange/sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (676) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/bun.lock +23 -1
  3. package/lib/browser/accounts/basicUserAccountSubscriber.d.ts +5 -3
  4. package/lib/browser/accounts/basicUserAccountSubscriber.js +4 -3
  5. package/lib/browser/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
  6. package/lib/browser/accounts/basicUserStatsAccountSubscriber.js +4 -3
  7. package/lib/browser/accounts/bulkAccountLoader.d.ts +5 -5
  8. package/lib/browser/accounts/bulkAccountLoader.js +12 -1
  9. package/lib/browser/accounts/grpcAccountSubscriber.d.ts +2 -1
  10. package/lib/browser/accounts/grpcAccountSubscriber.js +8 -2
  11. package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
  12. package/lib/browser/accounts/grpcMultiAccountSubscriber.js +13 -5
  13. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
  14. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.js +12 -8
  15. package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
  16. package/lib/browser/accounts/grpcProgramAccountSubscriber.js +8 -2
  17. package/lib/browser/accounts/grpcVelocityClientAccountSubscriber.js +18 -3
  18. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -1
  19. package/lib/browser/accounts/grpcVelocityClientAccountSubscriberV2.js +40 -17
  20. package/lib/browser/accounts/laserProgramAccountSubscriber.js +3 -0
  21. package/lib/browser/accounts/oneShotUserAccountSubscriber.js +4 -3
  22. package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
  23. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  24. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
  25. package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
  26. package/lib/browser/accounts/pollingOracleAccountSubscriber.js +16 -5
  27. package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
  28. package/lib/browser/accounts/pollingTokenAccountSubscriber.js +16 -5
  29. package/lib/browser/accounts/pollingUserAccountSubscriber.d.ts +8 -4
  30. package/lib/browser/accounts/pollingUserAccountSubscriber.js +17 -11
  31. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
  32. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +6 -6
  33. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -1
  34. package/lib/browser/accounts/pollingVelocityClientAccountSubscriber.js +64 -28
  35. package/lib/browser/accounts/types.d.ts +4 -4
  36. package/lib/browser/accounts/utils.d.ts +1 -0
  37. package/lib/browser/accounts/utils.js +8 -1
  38. package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +4 -2
  39. package/lib/browser/accounts/webSocketAccountSubscriber.js +17 -5
  40. package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
  41. package/lib/browser/accounts/webSocketAccountSubscriberV2.js +17 -6
  42. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  43. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
  44. package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
  45. package/lib/browser/accounts/webSocketProgramAccountSubscriber.js +14 -3
  46. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
  47. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
  48. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
  49. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
  50. package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
  51. package/lib/browser/accounts/webSocketUserAccountSubscriber.js +9 -0
  52. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
  53. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
  54. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -4
  55. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriber.js +48 -20
  56. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -3
  57. package/lib/browser/accounts/webSocketVelocityClientAccountSubscriberV2.js +45 -14
  58. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
  59. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.js +0 -3
  60. package/lib/browser/addresses/marketAddresses.js +3 -2
  61. package/lib/browser/addresses/pda.d.ts +0 -2
  62. package/lib/browser/addresses/pda.js +1 -14
  63. package/lib/browser/adminClient.d.ts +24 -28
  64. package/lib/browser/adminClient.js +156 -157
  65. package/lib/browser/auctionSubscriber/auctionSubscriber.d.ts +1 -1
  66. package/lib/browser/auctionSubscriber/auctionSubscriber.js +6 -4
  67. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -1
  68. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +9 -4
  69. package/lib/browser/bankrun/bankrunConnection.d.ts +6 -4
  70. package/lib/browser/bankrun/bankrunConnection.js +69 -31
  71. package/lib/browser/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
  72. package/lib/browser/blockhashSubscriber/BlockhashSubscriber.js +3 -2
  73. package/lib/browser/clock/clockSubscriber.d.ts +6 -6
  74. package/lib/browser/clock/clockSubscriber.js +4 -3
  75. package/lib/browser/config.d.ts +1 -1
  76. package/lib/browser/config.js +8 -4
  77. package/lib/browser/constants/index.d.ts +1 -2
  78. package/lib/browser/constants/index.js +1 -2
  79. package/lib/browser/constants/numericConstants.d.ts +1 -3
  80. package/lib/browser/constants/numericConstants.js +3 -5
  81. package/lib/browser/constituentMap/constituentMap.js +5 -1
  82. package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
  83. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
  84. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
  85. package/lib/browser/core/instructions/perpOrders.d.ts +14 -0
  86. package/lib/browser/core/instructions/perpOrders.js +14 -0
  87. package/lib/browser/core/remainingAccounts.d.ts +2 -2
  88. package/lib/browser/core/remainingAccounts.js +2 -2
  89. package/lib/browser/decode/user.js +9 -1
  90. package/lib/browser/dlob/DLOB.d.ts +6 -1
  91. package/lib/browser/dlob/DLOB.js +201 -138
  92. package/lib/browser/dlob/DLOBNode.d.ts +5 -2
  93. package/lib/browser/dlob/DLOBNode.js +7 -0
  94. package/lib/browser/dlob/DLOBSubscriber.js +37 -32
  95. package/lib/browser/dlob/NodeList.js +8 -7
  96. package/lib/browser/dlob/orderBookLevels.js +19 -12
  97. package/lib/browser/events/eventList.js +4 -1
  98. package/lib/browser/events/eventSubscriber.d.ts +5 -2
  99. package/lib/browser/events/eventSubscriber.js +75 -26
  100. package/lib/browser/events/eventsServerLogProvider.d.ts +1 -1
  101. package/lib/browser/events/eventsServerLogProvider.js +15 -8
  102. package/lib/browser/events/fetchLogs.d.ts +1 -1
  103. package/lib/browser/events/fetchLogs.js +4 -2
  104. package/lib/browser/events/pollingLogProvider.d.ts +1 -1
  105. package/lib/browser/events/pollingLogProvider.js +1 -0
  106. package/lib/browser/events/txEventCache.js +6 -2
  107. package/lib/browser/events/types.d.ts +2 -4
  108. package/lib/browser/events/types.js +0 -2
  109. package/lib/browser/events/webSocketLogProvider.d.ts +1 -1
  110. package/lib/browser/events/webSocketLogProvider.js +5 -2
  111. package/lib/browser/factory/bigNum.js +1 -1
  112. package/lib/browser/idl/velocity.d.ts +1243 -1586
  113. package/lib/browser/idl/velocity.json +1234 -1577
  114. package/lib/browser/index.d.ts +0 -2
  115. package/lib/browser/index.js +0 -2
  116. package/lib/browser/jupiter/jupiterClient.d.ts +1 -1
  117. package/lib/browser/jupiter/jupiterClient.js +18 -8
  118. package/lib/browser/marginCalculation.js +1 -0
  119. package/lib/browser/math/amm.d.ts +31 -13
  120. package/lib/browser/math/amm.js +77 -22
  121. package/lib/browser/math/bankruptcy.js +1 -1
  122. package/lib/browser/math/funding.js +6 -6
  123. package/lib/browser/math/insurance.d.ts +1 -1
  124. package/lib/browser/math/insurance.js +4 -5
  125. package/lib/browser/math/margin.d.ts +1 -9
  126. package/lib/browser/math/margin.js +3 -62
  127. package/lib/browser/math/market.d.ts +4 -12
  128. package/lib/browser/math/market.js +6 -40
  129. package/lib/browser/math/oracles.d.ts +0 -3
  130. package/lib/browser/math/oracles.js +1 -14
  131. package/lib/browser/math/orders.d.ts +0 -5
  132. package/lib/browser/math/orders.js +2 -74
  133. package/lib/browser/math/position.d.ts +0 -4
  134. package/lib/browser/math/position.js +5 -10
  135. package/lib/browser/math/repeg.d.ts +0 -1
  136. package/lib/browser/math/repeg.js +1 -23
  137. package/lib/browser/math/spotBalance.d.ts +4 -4
  138. package/lib/browser/math/spotBalance.js +6 -6
  139. package/lib/browser/math/spotMarket.d.ts +0 -6
  140. package/lib/browser/math/spotMarket.js +1 -16
  141. package/lib/browser/math/spotPosition.d.ts +4 -4
  142. package/lib/browser/math/state.d.ts +0 -2
  143. package/lib/browser/math/state.js +1 -9
  144. package/lib/browser/math/superStake.d.ts +3 -53
  145. package/lib/browser/math/superStake.js +16 -13
  146. package/lib/browser/math/trade.js +6 -6
  147. package/lib/browser/memcmp.d.ts +0 -1
  148. package/lib/browser/memcmp.js +1 -10
  149. package/lib/browser/oracles/prelaunchOracleClient.js +3 -2
  150. package/lib/browser/oracles/pythClient.js +9 -3
  151. package/lib/browser/oracles/pythLazerClient.js +3 -2
  152. package/lib/browser/oracles/utils.d.ts +4 -0
  153. package/lib/browser/oracles/utils.js +9 -1
  154. package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +1 -1
  155. package/lib/browser/orderSubscriber/OrderSubscriber.js +8 -2
  156. package/lib/browser/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
  157. package/lib/browser/priorityFee/priorityFeeSubscriber.d.ts +1 -1
  158. package/lib/browser/priorityFee/priorityFeeSubscriber.js +32 -8
  159. package/lib/browser/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
  160. package/lib/browser/pyth/types.d.ts +0 -1
  161. package/lib/browser/slot/SlotSubscriber.d.ts +1 -1
  162. package/lib/browser/slot/SlotSubscriber.js +2 -1
  163. package/lib/browser/slot/SlothashSubscriber.d.ts +3 -2
  164. package/lib/browser/slot/SlothashSubscriber.js +11 -4
  165. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
  166. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
  167. package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +3 -2
  168. package/lib/browser/swift/signedMsgUserAccountSubscriber.js +13 -5
  169. package/lib/browser/swift/swiftOrderSubscriber.d.ts +1 -1
  170. package/lib/browser/swift/swiftOrderSubscriber.js +10 -5
  171. package/lib/browser/testClient.js +3 -2
  172. package/lib/browser/tokenFaucet.js +16 -2
  173. package/lib/browser/tx/baseTxSender.d.ts +4 -4
  174. package/lib/browser/tx/baseTxSender.js +5 -4
  175. package/lib/browser/tx/fastSingleTxSender.d.ts +3 -3
  176. package/lib/browser/tx/fastSingleTxSender.js +9 -5
  177. package/lib/browser/tx/reportTransactionError.d.ts +2 -2
  178. package/lib/browser/tx/reportTransactionError.js +5 -1
  179. package/lib/browser/tx/retryTxSender.d.ts +1 -1
  180. package/lib/browser/tx/retryTxSender.js +4 -2
  181. package/lib/browser/tx/txHandler.d.ts +7 -1
  182. package/lib/browser/tx/txHandler.js +54 -40
  183. package/lib/browser/tx/txParamProcessor.d.ts +4 -1
  184. package/lib/browser/tx/txParamProcessor.js +6 -0
  185. package/lib/browser/tx/types.d.ts +1 -1
  186. package/lib/browser/tx/whileValidTxSender.d.ts +1 -6
  187. package/lib/browser/tx/whileValidTxSender.js +35 -13
  188. package/lib/browser/types.d.ts +27 -70
  189. package/lib/browser/types.js +2 -2
  190. package/lib/browser/user.d.ts +21 -7
  191. package/lib/browser/user.js +156 -132
  192. package/lib/browser/userMap/WebsocketSubscription.d.ts +1 -1
  193. package/lib/browser/userMap/grpcSubscription.d.ts +1 -1
  194. package/lib/browser/userMap/referrerMap.js +10 -3
  195. package/lib/browser/userMap/revenueShareEscrowMap.js +4 -0
  196. package/lib/browser/userMap/userMap.d.ts +1 -1
  197. package/lib/browser/userMap/userMap.js +36 -23
  198. package/lib/browser/userMap/userStatsMap.d.ts +1 -1
  199. package/lib/browser/userMap/userStatsMap.js +18 -13
  200. package/lib/browser/userStats.d.ts +7 -2
  201. package/lib/browser/userStats.js +18 -4
  202. package/lib/browser/util/TransactionConfirmationManager.js +4 -2
  203. package/lib/browser/util/chainClock.d.ts +1 -1
  204. package/lib/browser/util/computeUnits.d.ts +1 -1
  205. package/lib/browser/util/computeUnits.js +6 -1
  206. package/lib/browser/velocityClient.d.ts +92 -34
  207. package/lib/browser/velocityClient.js +414 -280
  208. package/lib/node/accounts/basicUserAccountSubscriber.d.ts +5 -3
  209. package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -1
  210. package/lib/node/accounts/basicUserAccountSubscriber.js +4 -3
  211. package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts +5 -3
  212. package/lib/node/accounts/basicUserStatsAccountSubscriber.d.ts.map +1 -1
  213. package/lib/node/accounts/basicUserStatsAccountSubscriber.js +4 -3
  214. package/lib/node/accounts/bulkAccountLoader.d.ts +5 -5
  215. package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -1
  216. package/lib/node/accounts/bulkAccountLoader.js +12 -1
  217. package/lib/node/accounts/grpcAccountSubscriber.d.ts +2 -1
  218. package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
  219. package/lib/node/accounts/grpcAccountSubscriber.js +8 -2
  220. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +3 -2
  221. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
  222. package/lib/node/accounts/grpcMultiAccountSubscriber.js +13 -5
  223. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -1
  224. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
  225. package/lib/node/accounts/grpcMultiUserAccountSubscriber.js +12 -8
  226. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +2 -1
  227. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
  228. package/lib/node/accounts/grpcProgramAccountSubscriber.js +8 -2
  229. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.d.ts.map +1 -1
  230. package/lib/node/accounts/grpcVelocityClientAccountSubscriber.js +18 -3
  231. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts +1 -1
  232. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  233. package/lib/node/accounts/grpcVelocityClientAccountSubscriberV2.js +40 -17
  234. package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
  235. package/lib/node/accounts/laserProgramAccountSubscriber.js +3 -0
  236. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
  237. package/lib/node/accounts/oneShotUserAccountSubscriber.js +4 -3
  238. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
  239. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.js +7 -3
  240. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  241. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  242. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +3 -3
  243. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +0 -2
  244. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
  245. package/lib/node/accounts/pollingOracleAccountSubscriber.js +16 -5
  246. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +0 -2
  247. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
  248. package/lib/node/accounts/pollingTokenAccountSubscriber.js +16 -5
  249. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts +8 -4
  250. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -1
  251. package/lib/node/accounts/pollingUserAccountSubscriber.js +17 -11
  252. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +4 -2
  253. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
  254. package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +6 -6
  255. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts +7 -1
  256. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.d.ts.map +1 -1
  257. package/lib/node/accounts/pollingVelocityClientAccountSubscriber.js +64 -28
  258. package/lib/node/accounts/types.d.ts +4 -4
  259. package/lib/node/accounts/types.d.ts.map +1 -1
  260. package/lib/node/accounts/utils.d.ts +1 -0
  261. package/lib/node/accounts/utils.d.ts.map +1 -1
  262. package/lib/node/accounts/utils.js +8 -1
  263. package/lib/node/accounts/webSocketAccountSubscriber.d.ts +4 -2
  264. package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
  265. package/lib/node/accounts/webSocketAccountSubscriber.js +17 -5
  266. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +4 -2
  267. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
  268. package/lib/node/accounts/webSocketAccountSubscriberV2.js +17 -6
  269. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +4 -2
  270. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  271. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.js +9 -0
  272. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +3 -1
  273. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
  274. package/lib/node/accounts/webSocketProgramAccountSubscriber.js +14 -3
  275. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -1
  276. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
  277. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.js +15 -3
  278. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -1
  279. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
  280. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.js +14 -4
  281. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +4 -2
  282. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
  283. package/lib/node/accounts/webSocketUserAccountSubscriber.js +9 -0
  284. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +4 -2
  285. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
  286. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.js +9 -0
  287. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts +4 -4
  288. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.d.ts.map +1 -1
  289. package/lib/node/accounts/webSocketVelocityClientAccountSubscriber.js +48 -20
  290. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts +7 -3
  291. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.d.ts.map +1 -1
  292. package/lib/node/accounts/webSocketVelocityClientAccountSubscriberV2.js +45 -14
  293. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +1 -1
  294. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
  295. package/lib/node/accounts/websocketProgramUserAccountSubscriber.js +0 -3
  296. package/lib/node/addresses/marketAddresses.d.ts.map +1 -1
  297. package/lib/node/addresses/marketAddresses.js +3 -2
  298. package/lib/node/addresses/pda.d.ts +0 -2
  299. package/lib/node/addresses/pda.d.ts.map +1 -1
  300. package/lib/node/addresses/pda.js +1 -14
  301. package/lib/node/adminClient.d.ts +24 -28
  302. package/lib/node/adminClient.d.ts.map +1 -1
  303. package/lib/node/adminClient.js +156 -157
  304. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts +1 -1
  305. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
  306. package/lib/node/auctionSubscriber/auctionSubscriber.js +6 -4
  307. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts +1 -1
  308. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
  309. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +9 -4
  310. package/lib/node/bankrun/bankrunConnection.d.ts +6 -4
  311. package/lib/node/bankrun/bankrunConnection.d.ts.map +1 -1
  312. package/lib/node/bankrun/bankrunConnection.js +69 -31
  313. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts +1 -1
  314. package/lib/node/blockhashSubscriber/BlockhashSubscriber.d.ts.map +1 -1
  315. package/lib/node/blockhashSubscriber/BlockhashSubscriber.js +3 -2
  316. package/lib/node/clock/clockSubscriber.d.ts +6 -6
  317. package/lib/node/clock/clockSubscriber.d.ts.map +1 -1
  318. package/lib/node/clock/clockSubscriber.js +4 -3
  319. package/lib/node/config.d.ts +1 -1
  320. package/lib/node/config.d.ts.map +1 -1
  321. package/lib/node/config.js +8 -4
  322. package/lib/node/constants/index.d.ts +1 -2
  323. package/lib/node/constants/index.d.ts.map +1 -1
  324. package/lib/node/constants/index.js +1 -2
  325. package/lib/node/constants/numericConstants.d.ts +1 -3
  326. package/lib/node/constants/numericConstants.d.ts.map +1 -1
  327. package/lib/node/constants/numericConstants.js +3 -5
  328. package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
  329. package/lib/node/constituentMap/constituentMap.js +5 -1
  330. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -1
  331. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.js +3 -2
  332. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +2 -3
  333. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -1
  334. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +10 -3
  335. package/lib/node/core/instructions/perpOrders.d.ts +14 -0
  336. package/lib/node/core/instructions/perpOrders.d.ts.map +1 -1
  337. package/lib/node/core/instructions/perpOrders.js +14 -0
  338. package/lib/node/core/remainingAccounts.d.ts +2 -2
  339. package/lib/node/core/remainingAccounts.d.ts.map +1 -1
  340. package/lib/node/core/remainingAccounts.js +2 -2
  341. package/lib/node/decode/user.d.ts.map +1 -1
  342. package/lib/node/decode/user.js +9 -1
  343. package/lib/node/dlob/DLOB.d.ts +6 -1
  344. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  345. package/lib/node/dlob/DLOB.js +201 -138
  346. package/lib/node/dlob/DLOBNode.d.ts +5 -2
  347. package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
  348. package/lib/node/dlob/DLOBNode.js +7 -0
  349. package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
  350. package/lib/node/dlob/DLOBSubscriber.js +37 -32
  351. package/lib/node/dlob/NodeList.d.ts.map +1 -1
  352. package/lib/node/dlob/NodeList.js +8 -7
  353. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  354. package/lib/node/dlob/orderBookLevels.js +19 -12
  355. package/lib/node/events/eventList.d.ts +3 -3
  356. package/lib/node/events/eventList.d.ts.map +1 -1
  357. package/lib/node/events/eventList.js +4 -1
  358. package/lib/node/events/eventSubscriber.d.ts +5 -2
  359. package/lib/node/events/eventSubscriber.d.ts.map +1 -1
  360. package/lib/node/events/eventSubscriber.js +75 -26
  361. package/lib/node/events/eventsServerLogProvider.d.ts +2 -2
  362. package/lib/node/events/eventsServerLogProvider.d.ts.map +1 -1
  363. package/lib/node/events/eventsServerLogProvider.js +15 -8
  364. package/lib/node/events/fetchLogs.d.ts +1 -1
  365. package/lib/node/events/fetchLogs.d.ts.map +1 -1
  366. package/lib/node/events/fetchLogs.js +4 -2
  367. package/lib/node/events/pollingLogProvider.d.ts +2 -2
  368. package/lib/node/events/pollingLogProvider.d.ts.map +1 -1
  369. package/lib/node/events/pollingLogProvider.js +1 -0
  370. package/lib/node/events/txEventCache.d.ts +3 -3
  371. package/lib/node/events/txEventCache.d.ts.map +1 -1
  372. package/lib/node/events/txEventCache.js +6 -2
  373. package/lib/node/events/types.d.ts +2 -4
  374. package/lib/node/events/types.d.ts.map +1 -1
  375. package/lib/node/events/types.js +0 -2
  376. package/lib/node/events/webSocketLogProvider.d.ts +2 -2
  377. package/lib/node/events/webSocketLogProvider.d.ts.map +1 -1
  378. package/lib/node/events/webSocketLogProvider.js +5 -2
  379. package/lib/node/factory/bigNum.js +1 -1
  380. package/lib/node/idl/velocity.d.ts +1243 -1586
  381. package/lib/node/idl/velocity.d.ts.map +1 -1
  382. package/lib/node/idl/velocity.json +1234 -1577
  383. package/lib/node/index.d.ts +0 -2
  384. package/lib/node/index.d.ts.map +1 -1
  385. package/lib/node/index.js +0 -2
  386. package/lib/node/jupiter/jupiterClient.d.ts +1 -1
  387. package/lib/node/jupiter/jupiterClient.d.ts.map +1 -1
  388. package/lib/node/jupiter/jupiterClient.js +18 -8
  389. package/lib/node/marginCalculation.d.ts.map +1 -1
  390. package/lib/node/marginCalculation.js +1 -0
  391. package/lib/node/math/amm.d.ts +31 -13
  392. package/lib/node/math/amm.d.ts.map +1 -1
  393. package/lib/node/math/amm.js +77 -22
  394. package/lib/node/math/bankruptcy.js +1 -1
  395. package/lib/node/math/funding.d.ts.map +1 -1
  396. package/lib/node/math/funding.js +6 -6
  397. package/lib/node/math/insurance.d.ts +1 -1
  398. package/lib/node/math/insurance.d.ts.map +1 -1
  399. package/lib/node/math/insurance.js +4 -5
  400. package/lib/node/math/margin.d.ts +1 -9
  401. package/lib/node/math/margin.d.ts.map +1 -1
  402. package/lib/node/math/margin.js +3 -62
  403. package/lib/node/math/market.d.ts +4 -12
  404. package/lib/node/math/market.d.ts.map +1 -1
  405. package/lib/node/math/market.js +6 -40
  406. package/lib/node/math/oracles.d.ts +0 -3
  407. package/lib/node/math/oracles.d.ts.map +1 -1
  408. package/lib/node/math/oracles.js +1 -14
  409. package/lib/node/math/orders.d.ts +0 -5
  410. package/lib/node/math/orders.d.ts.map +1 -1
  411. package/lib/node/math/orders.js +2 -74
  412. package/lib/node/math/position.d.ts +1 -5
  413. package/lib/node/math/position.d.ts.map +1 -1
  414. package/lib/node/math/position.js +5 -10
  415. package/lib/node/math/repeg.d.ts +0 -1
  416. package/lib/node/math/repeg.d.ts.map +1 -1
  417. package/lib/node/math/repeg.js +1 -23
  418. package/lib/node/math/spotBalance.d.ts +4 -4
  419. package/lib/node/math/spotBalance.d.ts.map +1 -1
  420. package/lib/node/math/spotBalance.js +6 -6
  421. package/lib/node/math/spotMarket.d.ts +0 -6
  422. package/lib/node/math/spotMarket.d.ts.map +1 -1
  423. package/lib/node/math/spotMarket.js +1 -16
  424. package/lib/node/math/spotPosition.d.ts +4 -4
  425. package/lib/node/math/spotPosition.d.ts.map +1 -1
  426. package/lib/node/math/state.d.ts +0 -2
  427. package/lib/node/math/state.d.ts.map +1 -1
  428. package/lib/node/math/state.js +1 -9
  429. package/lib/node/math/superStake.d.ts +3 -53
  430. package/lib/node/math/superStake.d.ts.map +1 -1
  431. package/lib/node/math/superStake.js +16 -13
  432. package/lib/node/math/trade.d.ts +2 -2
  433. package/lib/node/math/trade.d.ts.map +1 -1
  434. package/lib/node/math/trade.js +6 -6
  435. package/lib/node/memcmp.d.ts +0 -1
  436. package/lib/node/memcmp.d.ts.map +1 -1
  437. package/lib/node/memcmp.js +1 -10
  438. package/lib/node/oracles/oracleClientCache.d.ts +1 -1
  439. package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
  440. package/lib/node/oracles/prelaunchOracleClient.js +3 -2
  441. package/lib/node/oracles/pythClient.d.ts.map +1 -1
  442. package/lib/node/oracles/pythClient.js +9 -3
  443. package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
  444. package/lib/node/oracles/pythLazerClient.js +3 -2
  445. package/lib/node/oracles/utils.d.ts +4 -0
  446. package/lib/node/oracles/utils.d.ts.map +1 -1
  447. package/lib/node/oracles/utils.js +9 -1
  448. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +1 -1
  449. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  450. package/lib/node/orderSubscriber/OrderSubscriber.js +8 -2
  451. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts +1 -1
  452. package/lib/node/priorityFee/heliusPriorityFeeMethod.d.ts.map +1 -1
  453. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts +1 -1
  454. package/lib/node/priorityFee/priorityFeeSubscriber.d.ts.map +1 -1
  455. package/lib/node/priorityFee/priorityFeeSubscriber.js +32 -8
  456. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts +1 -1
  457. package/lib/node/priorityFee/solanaPriorityFeeMethod.d.ts.map +1 -1
  458. package/lib/node/pyth/types.d.ts +0 -1
  459. package/lib/node/pyth/types.d.ts.map +1 -1
  460. package/lib/node/slot/SlotSubscriber.d.ts +1 -1
  461. package/lib/node/slot/SlotSubscriber.d.ts.map +1 -1
  462. package/lib/node/slot/SlotSubscriber.js +2 -1
  463. package/lib/node/slot/SlothashSubscriber.d.ts +3 -2
  464. package/lib/node/slot/SlothashSubscriber.d.ts.map +1 -1
  465. package/lib/node/slot/SlothashSubscriber.js +11 -4
  466. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts +0 -3
  467. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts.map +1 -1
  468. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +5 -5
  469. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +3 -2
  470. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
  471. package/lib/node/swift/signedMsgUserAccountSubscriber.js +13 -5
  472. package/lib/node/swift/swiftOrderSubscriber.d.ts +1 -1
  473. package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
  474. package/lib/node/swift/swiftOrderSubscriber.js +10 -5
  475. package/lib/node/testClient.js +3 -2
  476. package/lib/node/tokenFaucet.d.ts.map +1 -1
  477. package/lib/node/tokenFaucet.js +16 -2
  478. package/lib/node/tx/baseTxSender.d.ts +4 -4
  479. package/lib/node/tx/baseTxSender.d.ts.map +1 -1
  480. package/lib/node/tx/baseTxSender.js +5 -4
  481. package/lib/node/tx/fastSingleTxSender.d.ts +3 -3
  482. package/lib/node/tx/fastSingleTxSender.d.ts.map +1 -1
  483. package/lib/node/tx/fastSingleTxSender.js +9 -5
  484. package/lib/node/tx/reportTransactionError.d.ts +2 -2
  485. package/lib/node/tx/reportTransactionError.d.ts.map +1 -1
  486. package/lib/node/tx/reportTransactionError.js +5 -1
  487. package/lib/node/tx/retryTxSender.d.ts +1 -1
  488. package/lib/node/tx/retryTxSender.d.ts.map +1 -1
  489. package/lib/node/tx/retryTxSender.js +4 -2
  490. package/lib/node/tx/txHandler.d.ts +9 -3
  491. package/lib/node/tx/txHandler.d.ts.map +1 -1
  492. package/lib/node/tx/txHandler.js +54 -40
  493. package/lib/node/tx/txParamProcessor.d.ts +4 -1
  494. package/lib/node/tx/txParamProcessor.d.ts.map +1 -1
  495. package/lib/node/tx/txParamProcessor.js +6 -0
  496. package/lib/node/tx/types.d.ts +1 -1
  497. package/lib/node/tx/types.d.ts.map +1 -1
  498. package/lib/node/tx/whileValidTxSender.d.ts +1 -6
  499. package/lib/node/tx/whileValidTxSender.d.ts.map +1 -1
  500. package/lib/node/tx/whileValidTxSender.js +35 -13
  501. package/lib/node/types.d.ts +25 -68
  502. package/lib/node/types.d.ts.map +1 -1
  503. package/lib/node/types.js +2 -2
  504. package/lib/node/user.d.ts +21 -7
  505. package/lib/node/user.d.ts.map +1 -1
  506. package/lib/node/user.js +156 -132
  507. package/lib/node/userMap/WebsocketSubscription.d.ts +1 -1
  508. package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
  509. package/lib/node/userMap/grpcSubscription.d.ts +1 -1
  510. package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
  511. package/lib/node/userMap/referrerMap.d.ts.map +1 -1
  512. package/lib/node/userMap/referrerMap.js +10 -3
  513. package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
  514. package/lib/node/userMap/revenueShareEscrowMap.js +4 -0
  515. package/lib/node/userMap/userMap.d.ts +1 -1
  516. package/lib/node/userMap/userMap.d.ts.map +1 -1
  517. package/lib/node/userMap/userMap.js +36 -23
  518. package/lib/node/userMap/userStatsMap.d.ts +1 -1
  519. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  520. package/lib/node/userMap/userStatsMap.js +18 -13
  521. package/lib/node/userStats.d.ts +7 -2
  522. package/lib/node/userStats.d.ts.map +1 -1
  523. package/lib/node/userStats.js +18 -4
  524. package/lib/node/util/TransactionConfirmationManager.d.ts.map +1 -1
  525. package/lib/node/util/TransactionConfirmationManager.js +4 -2
  526. package/lib/node/util/chainClock.d.ts +1 -1
  527. package/lib/node/util/chainClock.d.ts.map +1 -1
  528. package/lib/node/util/computeUnits.d.ts +1 -1
  529. package/lib/node/util/computeUnits.d.ts.map +1 -1
  530. package/lib/node/util/computeUnits.js +6 -1
  531. package/lib/node/velocityClient.d.ts +93 -35
  532. package/lib/node/velocityClient.d.ts.map +1 -1
  533. package/lib/node/velocityClient.js +414 -280
  534. package/package.json +5 -3
  535. package/src/accounts/basicUserAccountSubscriber.ts +7 -5
  536. package/src/accounts/basicUserStatsAccountSubscriber.ts +9 -5
  537. package/src/accounts/bulkAccountLoader.ts +20 -7
  538. package/src/accounts/grpcAccountSubscriber.ts +11 -3
  539. package/src/accounts/grpcMultiAccountSubscriber.ts +24 -9
  540. package/src/accounts/grpcMultiUserAccountSubscriber.ts +16 -12
  541. package/src/accounts/grpcProgramAccountSubscriber.ts +11 -3
  542. package/src/accounts/grpcVelocityClientAccountSubscriber.ts +17 -7
  543. package/src/accounts/grpcVelocityClientAccountSubscriberV2.ts +66 -39
  544. package/src/accounts/laserProgramAccountSubscriber.ts +3 -0
  545. package/src/accounts/oneShotUserAccountSubscriber.ts +5 -3
  546. package/src/accounts/oneShotUserStatsAccountSubscriber.ts +8 -3
  547. package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +11 -5
  548. package/src/accounts/pollingOracleAccountSubscriber.ts +17 -10
  549. package/src/accounts/pollingTokenAccountSubscriber.ts +17 -10
  550. package/src/accounts/pollingUserAccountSubscriber.ts +26 -20
  551. package/src/accounts/pollingUserStatsAccountSubscriber.ts +12 -10
  552. package/src/accounts/pollingVelocityClientAccountSubscriber.ts +76 -30
  553. package/src/accounts/types.ts +6 -4
  554. package/src/accounts/utils.ts +10 -0
  555. package/src/accounts/webSocketAccountSubscriber.ts +23 -10
  556. package/src/accounts/webSocketAccountSubscriberV2.ts +23 -8
  557. package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +17 -2
  558. package/src/accounts/webSocketProgramAccountSubscriber.ts +29 -4
  559. package/src/accounts/webSocketProgramAccountSubscriberV2.ts +30 -4
  560. package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +29 -4
  561. package/src/accounts/webSocketUserAccountSubscriber.ts +11 -2
  562. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +15 -2
  563. package/src/accounts/webSocketVelocityClientAccountSubscriber.ts +76 -48
  564. package/src/accounts/webSocketVelocityClientAccountSubscriberV2.ts +74 -35
  565. package/src/accounts/websocketProgramUserAccountSubscriber.ts +1 -6
  566. package/src/addresses/marketAddresses.ts +3 -2
  567. package/src/addresses/pda.ts +0 -25
  568. package/src/adminClient.ts +273 -303
  569. package/src/auctionSubscriber/auctionSubscriber.ts +7 -5
  570. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +12 -5
  571. package/src/bankrun/bankrunConnection.ts +83 -39
  572. package/src/blockhashSubscriber/BlockhashSubscriber.ts +5 -4
  573. package/src/clock/clockSubscriber.ts +10 -9
  574. package/src/config.ts +8 -3
  575. package/src/constants/index.ts +1 -2
  576. package/src/constants/numericConstants.ts +3 -3
  577. package/src/constituentMap/constituentMap.ts +8 -1
  578. package/src/constituentMap/pollingConstituentAccountSubscriber.ts +4 -2
  579. package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +13 -4
  580. package/src/core/instructions/perpOrders.ts +14 -0
  581. package/src/core/remainingAccounts.ts +4 -4
  582. package/src/decode/user.ts +8 -1
  583. package/src/dlob/DLOB.ts +296 -172
  584. package/src/dlob/DLOBNode.ts +23 -3
  585. package/src/dlob/DLOBSubscriber.ts +51 -34
  586. package/src/dlob/NodeList.ts +8 -7
  587. package/src/dlob/orderBookLevels.ts +45 -25
  588. package/src/events/eventList.ts +4 -1
  589. package/src/events/eventSubscriber.ts +107 -49
  590. package/src/events/eventsServerLogProvider.ts +22 -13
  591. package/src/events/fetchLogs.ts +3 -3
  592. package/src/events/pollingLogProvider.ts +2 -2
  593. package/src/events/txEventCache.ts +8 -2
  594. package/src/events/types.ts +0 -8
  595. package/src/events/webSocketLogProvider.ts +5 -3
  596. package/src/factory/bigNum.ts +2 -2
  597. package/src/idl/velocity.json +1234 -1577
  598. package/src/idl/velocity.ts +1234 -1577
  599. package/src/index.ts +0 -2
  600. package/src/jupiter/jupiterClient.ts +30 -10
  601. package/src/marginCalculation.ts +1 -0
  602. package/src/math/amm.ts +188 -33
  603. package/src/math/bankruptcy.ts +1 -1
  604. package/src/math/funding.ts +7 -6
  605. package/src/math/insurance.ts +6 -8
  606. package/src/math/margin.ts +5 -112
  607. package/src/math/market.ts +6 -96
  608. package/src/math/oracles.ts +0 -17
  609. package/src/math/orders.ts +1 -110
  610. package/src/math/position.ts +4 -16
  611. package/src/math/repeg.ts +0 -29
  612. package/src/math/spotBalance.ts +14 -10
  613. package/src/math/spotMarket.ts +2 -28
  614. package/src/math/spotPosition.ts +4 -4
  615. package/src/math/state.ts +0 -8
  616. package/src/math/superStake.ts +19 -65
  617. package/src/math/trade.ts +2 -6
  618. package/src/memcmp.ts +0 -9
  619. package/src/oracles/prelaunchOracleClient.ts +7 -2
  620. package/src/oracles/pythClient.ts +12 -3
  621. package/src/oracles/pythLazerClient.ts +7 -2
  622. package/src/oracles/utils.ts +15 -0
  623. package/src/orderSubscriber/OrderSubscriber.ts +10 -4
  624. package/src/priorityFee/heliusPriorityFeeMethod.ts +1 -1
  625. package/src/priorityFee/priorityFeeSubscriber.ts +45 -9
  626. package/src/priorityFee/solanaPriorityFeeMethod.ts +1 -1
  627. package/src/pyth/types.ts +0 -2
  628. package/src/slot/SlotSubscriber.ts +3 -3
  629. package/src/slot/SlothashSubscriber.ts +17 -6
  630. package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +5 -6
  631. package/src/swift/signedMsgUserAccountSubscriber.ts +16 -8
  632. package/src/swift/swiftOrderSubscriber.ts +10 -9
  633. package/src/testClient.ts +2 -2
  634. package/src/tokenFaucet.ts +22 -3
  635. package/src/tx/baseTxSender.ts +10 -10
  636. package/src/tx/fastSingleTxSender.ts +12 -8
  637. package/src/tx/reportTransactionError.ts +12 -7
  638. package/src/tx/retryTxSender.ts +6 -4
  639. package/src/tx/txHandler.ts +88 -43
  640. package/src/tx/txParamProcessor.ts +18 -3
  641. package/src/tx/types.ts +1 -1
  642. package/src/tx/whileValidTxSender.ts +51 -22
  643. package/src/types.ts +39 -75
  644. package/src/user.ts +200 -152
  645. package/src/userMap/WebsocketSubscription.ts +1 -1
  646. package/src/userMap/grpcSubscription.ts +1 -1
  647. package/src/userMap/referrerMap.ts +13 -9
  648. package/src/userMap/revenueShareEscrowMap.ts +6 -1
  649. package/src/userMap/userMap.ts +43 -25
  650. package/src/userMap/userStatsMap.ts +32 -19
  651. package/src/userStats.ts +21 -8
  652. package/src/util/TransactionConfirmationManager.ts +10 -2
  653. package/src/util/chainClock.ts +1 -1
  654. package/src/util/computeUnits.ts +7 -3
  655. package/src/velocityClient.ts +536 -383
  656. package/tests/amm/test.ts +138 -0
  657. package/tests/dlob/helpers.ts +6 -1
  658. package/tsconfig.json +1 -0
  659. package/lib/browser/constants/insuranceFund.d.ts +0 -5
  660. package/lib/browser/constants/insuranceFund.js +0 -9
  661. package/lib/browser/tx/forwardOnlyTxSender.d.ts +0 -37
  662. package/lib/browser/tx/forwardOnlyTxSender.js +0 -92
  663. package/lib/browser/util/tps.d.ts +0 -2
  664. package/lib/browser/util/tps.js +0 -16
  665. package/lib/node/constants/insuranceFund.d.ts +0 -6
  666. package/lib/node/constants/insuranceFund.d.ts.map +0 -1
  667. package/lib/node/constants/insuranceFund.js +0 -9
  668. package/lib/node/tx/forwardOnlyTxSender.d.ts +0 -38
  669. package/lib/node/tx/forwardOnlyTxSender.d.ts.map +0 -1
  670. package/lib/node/tx/forwardOnlyTxSender.js +0 -92
  671. package/lib/node/util/tps.d.ts +0 -3
  672. package/lib/node/util/tps.d.ts.map +0 -1
  673. package/lib/node/util/tps.js +0 -16
  674. package/src/constants/insuranceFund.ts +0 -8
  675. package/src/tx/forwardOnlyTxSender.ts +0 -145
  676. package/src/util/tps.ts +0 -27
@@ -12,7 +12,7 @@ export declare class WebsocketSubscription {
12
12
  private includeIdle?;
13
13
  private additionalFilters?;
14
14
  private decodeFn;
15
- private subscriber;
15
+ private subscriber?;
16
16
  constructor({ userMap, commitment, skipInitialLoad, resubOpts, includeIdle, decodeFn, additionalFilters, }: {
17
17
  userMap: UserMap;
18
18
  commitment: Commitment;
@@ -12,7 +12,7 @@ export declare class grpcSubscription {
12
12
  private includeIdle?;
13
13
  private additionalFilters?;
14
14
  private decodeFn;
15
- private subscriber;
15
+ private subscriber?;
16
16
  constructor({ grpcConfigs, userMap, skipInitialLoad, resubOpts, includeIdle, decodeFn, additionalFilters, }: {
17
17
  grpcConfigs: GrpcConfigs;
18
18
  userMap: UserMap;
@@ -25,6 +25,7 @@ class ReferrerMap {
25
25
  * Will be undefined if the referrer is not in the map yet.
26
26
  */
27
27
  this.referrerReferrerInfoMap = new Map();
28
+ this.fetchPromiseResolver = () => { };
28
29
  this.velocityClient = velocityClient;
29
30
  this.parallelSync = parallelSync !== undefined ? parallelSync : true;
30
31
  }
@@ -50,7 +51,11 @@ class ReferrerMap {
50
51
  }
51
52
  else if (referrer === undefined) {
52
53
  const userStatsAccountPublicKey = (0, pda_1.getUserStatsAccountPublicKey)(this.velocityClient.program.programId, new web3_js_1.PublicKey(authority));
53
- const buffer = (await this.velocityClient.connection.getAccountInfo(userStatsAccountPublicKey, 'processed')).data;
54
+ const accountInfo = await this.velocityClient.connection.getAccountInfo(userStatsAccountPublicKey, 'processed');
55
+ if (!accountInfo) {
56
+ throw new Error(`ReferrerMap: UserStats account not found for authority ${authority}`);
57
+ }
58
+ const buffer = accountInfo.data;
54
59
  const referrer = bs58_1.default.encode(buffer.subarray(40, 72));
55
60
  this.addReferrer(authority, referrer);
56
61
  }
@@ -120,10 +125,11 @@ class ReferrerMap {
120
125
  }
121
126
  }
122
127
  async syncAll() {
128
+ var _a;
123
129
  const rpcRequestArgs = [
124
130
  this.velocityClient.program.programId.toBase58(),
125
131
  {
126
- commitment: this.velocityClient.opts.commitment,
132
+ commitment: (_a = this.velocityClient.opts) === null || _a === void 0 ? void 0 : _a.commitment,
127
133
  filters: [(0, memcmp_1.getUserStatsFilter)()],
128
134
  encoding: 'base64',
129
135
  dataSlice: {
@@ -146,10 +152,11 @@ class ReferrerMap {
146
152
  }
147
153
  }
148
154
  async syncReferrer(referrerFilter) {
155
+ var _a;
149
156
  const rpcRequestArgs = [
150
157
  this.velocityClient.program.programId.toBase58(),
151
158
  {
152
- commitment: this.velocityClient.opts.commitment,
159
+ commitment: (_a = this.velocityClient.opts) === null || _a === void 0 ? void 0 : _a.commitment,
153
160
  filters: [(0, memcmp_1.getUserStatsFilter)(), referrerFilter],
154
161
  encoding: 'base64',
155
162
  dataSlice: {
@@ -16,6 +16,7 @@ class RevenueShareEscrowMap {
16
16
  * map from authority pubkey to RevenueShareEscrow account data.
17
17
  */
18
18
  this.authorityEscrowMap = new Map();
19
+ this.fetchPromiseResolver = () => { };
19
20
  this.velocityClient = velocityClient;
20
21
  this.parallelSync = parallelSync !== undefined ? parallelSync : true;
21
22
  }
@@ -89,6 +90,9 @@ class RevenueShareEscrowMap {
89
90
  }
90
91
  for (const authority of this.authorityEscrowMap.keys()) {
91
92
  const accountInfo = await this.velocityClient.connection.getAccountInfo((0, pda_1.getRevenueShareEscrowAccountPublicKey)(this.velocityClient.program.programId, new web3_js_1.PublicKey(authority)), 'confirmed');
93
+ if (accountInfo === null) {
94
+ throw new Error(`RevenueShareEscrow account not found for authority ${authority} during slowSync`);
95
+ }
92
96
  const escrowNew = this.velocityClient.program.account.revenueShareEscrow.coder.accounts.decode('revenueShareEscrow', accountInfo.data);
93
97
  this.authorityEscrowMap.set(authority, escrowNew);
94
98
  }
@@ -37,7 +37,7 @@ export declare class UserMap implements UserMapInterface {
37
37
  private filterByPoolId?;
38
38
  private additionalFilters?;
39
39
  private disableSyncOnTotalAccountsChange;
40
- private lastNumberOfSubAccounts;
40
+ private lastNumberOfSubAccounts?;
41
41
  private subscription;
42
42
  private stateAccountUpdateCallback;
43
43
  private decode;
@@ -19,15 +19,17 @@ class UserMap {
19
19
  * Constructs a new UserMap instance.
20
20
  */
21
21
  constructor(config) {
22
- var _a, _b, _c, _d, _e, _f;
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
23
23
  this.userMap = new Map();
24
24
  this.stateAccountUpdateCallback = async (state) => {
25
- if (!state.numberOfSubAccounts.eq(this.lastNumberOfSubAccounts)) {
25
+ if (this.lastNumberOfSubAccounts === undefined ||
26
+ !state.numberOfSubAccounts.eq(this.lastNumberOfSubAccounts)) {
26
27
  await this.sync();
27
28
  this.lastNumberOfSubAccounts = state.numberOfSubAccounts;
28
29
  }
29
30
  };
30
31
  this.mostRecentSlot = 0;
32
+ this.syncPromiseResolver = () => { };
31
33
  // Type-system guarantees at least one of the two is supplied.
32
34
  this.velocityClient = config.velocityClient;
33
35
  if (config.connection) {
@@ -37,18 +39,18 @@ class UserMap {
37
39
  this.connection = this.velocityClient.connection;
38
40
  }
39
41
  this.commitment =
40
- config.subscriptionConfig.type === 'websocket' ||
42
+ (_d = (config.subscriptionConfig.type === 'websocket' ||
41
43
  config.subscriptionConfig.type === 'polling'
42
- ? (_a = config.subscriptionConfig.commitment) !== null && _a !== void 0 ? _a : this.velocityClient.opts.commitment
43
- : this.velocityClient.opts.commitment;
44
- this.includeIdle = (_b = config.includeIdle) !== null && _b !== void 0 ? _b : false;
44
+ ? (_a = config.subscriptionConfig.commitment) !== null && _a !== void 0 ? _a : (_b = this.velocityClient.opts) === null || _b === void 0 ? void 0 : _b.commitment
45
+ : (_c = this.velocityClient.opts) === null || _c === void 0 ? void 0 : _c.commitment)) !== null && _d !== void 0 ? _d : 'confirmed';
46
+ this.includeIdle = (_e = config.includeIdle) !== null && _e !== void 0 ? _e : false;
45
47
  this.filterByPoolId = config.filterByPoolId;
46
48
  this.additionalFilters = config.additionalFilters;
47
49
  this.disableSyncOnTotalAccountsChange =
48
- (_c = config.disableSyncOnTotalAccountsChange) !== null && _c !== void 0 ? _c : false;
50
+ (_f = config.disableSyncOnTotalAccountsChange) !== null && _f !== void 0 ? _f : false;
49
51
  let decodeFn;
50
- if ((_d = config.fastDecode) !== null && _d !== void 0 ? _d : true) {
51
- decodeFn = (name, buffer) => (0, user_2.decodeUser)(buffer);
52
+ if ((_g = config.fastDecode) !== null && _g !== void 0 ? _g : true) {
53
+ decodeFn = (_name, buffer) => (0, user_2.decodeUser)(buffer);
52
54
  }
53
55
  else {
54
56
  decodeFn = this.velocityClient.program.account.user.coder.accounts.decodeUnchecked.bind(this.velocityClient.program.account.user.coder.accounts);
@@ -85,11 +87,11 @@ class UserMap {
85
87
  decodeFn,
86
88
  });
87
89
  }
88
- this.syncConfig = (_e = config.syncConfig) !== null && _e !== void 0 ? _e : {
90
+ this.syncConfig = (_h = config.syncConfig) !== null && _h !== void 0 ? _h : {
89
91
  type: 'default',
90
92
  };
91
93
  // Whether to throw an error if the userMap fails to sync. Defaults to false.
92
- this.throwOnFailedSync = (_f = config.throwOnFailedSync) !== null && _f !== void 0 ? _f : false;
94
+ this.throwOnFailedSync = (_j = config.throwOnFailedSync) !== null && _j !== void 0 ? _j : false;
93
95
  this.eventEmitter = new events_1.EventEmitter();
94
96
  }
95
97
  async subscribe() {
@@ -116,9 +118,13 @@ class UserMap {
116
118
  },
117
119
  });
118
120
  await user.subscribe(userAccount);
121
+ const resolvedSlot = slot !== null && slot !== void 0 ? slot : (_a = user.getUserAccountAndSlot()) === null || _a === void 0 ? void 0 : _a.slot;
122
+ if (resolvedSlot === undefined) {
123
+ throw new Error('UserMap.addPubkey: no slot available after subscribing user account');
124
+ }
119
125
  this.userMap.set(userAccountPublicKey.toString(), {
120
126
  data: user,
121
- slot: slot !== null && slot !== void 0 ? slot : (_a = user.getUserAccountAndSlot()) === null || _a === void 0 ? void 0 : _a.slot,
127
+ slot: resolvedSlot,
122
128
  });
123
129
  this.eventEmitter.emit('userUpdate', user);
124
130
  }
@@ -146,17 +152,25 @@ class UserMap {
146
152
  if (!this.has(key)) {
147
153
  await this.addPubkey(new web3_js_1.PublicKey(key), undefined, undefined, accountSubscription);
148
154
  }
149
- return this.userMap.get(key).data;
155
+ const userWithSlot = this.userMap.get(key);
156
+ if (!userWithSlot) {
157
+ throw new Error(`UserMap.mustGet: no user found for ${key}`);
158
+ }
159
+ return userWithSlot.data;
150
160
  }
151
161
  async mustGetWithSlot(key, accountSubscription) {
152
162
  if (!this.has(key)) {
153
163
  await this.addPubkey(new web3_js_1.PublicKey(key), undefined, undefined, accountSubscription);
154
164
  }
155
- return this.userMap.get(key);
165
+ const userWithSlot = this.userMap.get(key);
166
+ if (!userWithSlot) {
167
+ throw new Error(`UserMap.mustGetWithSlot: no user found for ${key}`);
168
+ }
169
+ return userWithSlot;
156
170
  }
157
171
  async mustGetUserAccount(key) {
158
172
  const user = await this.mustGet(key);
159
- return user.getUserAccount();
173
+ return user.getUserAccountOrThrow();
160
174
  }
161
175
  /**
162
176
  * gets the Authority for a particular userAccountPublicKey, if no User exists, undefined is returned
@@ -164,11 +178,12 @@ class UserMap {
164
178
  * @returns authority PublicKey | undefined
165
179
  */
166
180
  getUserAuthority(key) {
181
+ var _a;
167
182
  const user = this.userMap.get(key);
168
183
  if (!user) {
169
184
  return undefined;
170
185
  }
171
- return user.data.getUserAccount().authority;
186
+ return (_a = user.data.getUserAccount()) === null || _a === void 0 ? void 0 : _a.authority;
172
187
  }
173
188
  /**
174
189
  * implements the {@link DLOBSource} interface
@@ -247,13 +262,13 @@ class UserMap {
247
262
  */
248
263
  getUniqueAuthorities(filterCriteria) {
249
264
  const usersMeetingCriteria = Array.from(this.values()).filter((user) => {
250
- let pass = true;
265
+ const userAccount = user.getUserAccountOrThrow();
251
266
  if (filterCriteria && filterCriteria.hasOpenOrders) {
252
- pass = pass && user.getUserAccount().hasOpenOrder;
267
+ return userAccount.hasOpenOrder;
253
268
  }
254
- return pass;
269
+ return true;
255
270
  });
256
- const userAuths = new Set(usersMeetingCriteria.map((user) => user.getUserAccount().authority.toBase58()));
271
+ const userAuths = new Set(usersMeetingCriteria.map((user) => user.getUserAccountOrThrow().authority.toBase58()));
257
272
  const userAuthKeys = Array.from(userAuths).map((userAuth) => new web3_js_1.PublicKey(userAuth));
258
273
  return userAuthKeys;
259
274
  }
@@ -441,9 +456,7 @@ class UserMap {
441
456
  }
442
457
  }
443
458
  finally {
444
- if (this.syncPromiseResolver) {
445
- this.syncPromiseResolver();
446
- }
459
+ this.syncPromiseResolver();
447
460
  this.syncPromise = undefined;
448
461
  }
449
462
  }
@@ -35,7 +35,7 @@ export declare class UserStatsMap {
35
35
  updateWithOrderRecord(record: OrderRecord, userMap: UserMap): Promise<void>;
36
36
  updateWithEventRecord(record: WrappedEvent<any>, userMap?: UserMap): Promise<void>;
37
37
  has(authorityPublicKey: string): boolean;
38
- get(authorityPublicKey: string): UserStats;
38
+ get(authorityPublicKey: string): UserStats | undefined;
39
39
  /**
40
40
  * Enforce that a UserStats will exist for the given authorityPublicKey,
41
41
  * reading one from the blockchain if necessary.
@@ -14,13 +14,15 @@ class UserStatsMap {
14
14
  * @param {BulkAccountLoader} [bulkAccountLoader] - If not provided, a new BulkAccountLoader with polling disabled will be created.
15
15
  */
16
16
  constructor(velocityClient, bulkAccountLoader, syncConfig) {
17
+ var _a, _b;
17
18
  /**
18
19
  * map from authority pubkey to UserStats
19
20
  */
20
21
  this.userStatsMap = new Map();
22
+ this.syncPromiseResolver = () => { };
21
23
  this.velocityClient = velocityClient;
22
24
  if (!bulkAccountLoader) {
23
- bulkAccountLoader = new bulkAccountLoader_1.BulkAccountLoader(velocityClient.connection, velocityClient.opts.commitment, 0);
25
+ bulkAccountLoader = new bulkAccountLoader_1.BulkAccountLoader(velocityClient.connection, (_b = (_a = velocityClient.opts) === null || _a === void 0 ? void 0 : _a.commitment) !== null && _b !== void 0 ? _b : 'confirmed', 0);
24
26
  }
25
27
  this.bulkAccountLoader = bulkAccountLoader;
26
28
  this.syncConfig = syncConfig !== null && syncConfig !== void 0 ? syncConfig : {
@@ -60,8 +62,8 @@ class UserStatsMap {
60
62
  }
61
63
  async updateWithOrderRecord(record, userMap) {
62
64
  const user = await userMap.mustGet(record.user.toString());
63
- if (!this.has(user.getUserAccount().authority.toString())) {
64
- await this.addUserStat(user.getUserAccount().authority, undefined, false);
65
+ if (!this.has(user.getUserAccountOrThrow().authority.toString())) {
66
+ await this.addUserStat(user.getUserAccountOrThrow().authority, undefined, false);
65
67
  }
66
68
  }
67
69
  async updateWithEventRecord(record, userMap) {
@@ -79,9 +81,9 @@ class UserStatsMap {
79
81
  }
80
82
  const liqRecord = record;
81
83
  const user = await userMap.mustGet(liqRecord.user.toString());
82
- await this.mustGet(user.getUserAccount().authority.toString());
84
+ await this.mustGet(user.getUserAccountOrThrow().authority.toString());
83
85
  const liquidatorUser = await userMap.mustGet(liqRecord.liquidator.toString());
84
- await this.mustGet(liquidatorUser.getUserAccount().authority.toString());
86
+ await this.mustGet(liquidatorUser.getUserAccountOrThrow().authority.toString());
85
87
  }
86
88
  else if (record.eventType === 'OrderRecord') {
87
89
  if (!userMap) {
@@ -97,11 +99,11 @@ class UserStatsMap {
97
99
  const actionRecord = record;
98
100
  if (actionRecord.taker) {
99
101
  const taker = await userMap.mustGet(actionRecord.taker.toString());
100
- await this.mustGet(taker.getUserAccount().authority.toString());
102
+ await this.mustGet(taker.getUserAccountOrThrow().authority.toString());
101
103
  }
102
104
  if (actionRecord.maker) {
103
105
  const maker = await userMap.mustGet(actionRecord.maker.toString());
104
- await this.mustGet(maker.getUserAccount().authority.toString());
106
+ await this.mustGet(maker.getUserAccountOrThrow().authority.toString());
105
107
  }
106
108
  }
107
109
  else if (record.eventType === 'SettlePnlRecord') {
@@ -110,7 +112,7 @@ class UserStatsMap {
110
112
  }
111
113
  const settlePnlRecord = record;
112
114
  const user = await userMap.mustGet(settlePnlRecord.user.toString());
113
- await this.mustGet(user.getUserAccount().authority.toString());
115
+ await this.mustGet(user.getUserAccountOrThrow().authority.toString());
114
116
  }
115
117
  else if (record.eventType === 'NewUserRecord') {
116
118
  const newUserRecord = record;
@@ -137,7 +139,11 @@ class UserStatsMap {
137
139
  if (!this.has(authorityPublicKey)) {
138
140
  await this.addUserStat(new web3_js_1.PublicKey(authorityPublicKey), undefined, false);
139
141
  }
140
- return this.get(authorityPublicKey);
142
+ const userStats = this.get(authorityPublicKey);
143
+ if (!userStats) {
144
+ throw new Error(`UserStatsMap: UserStats missing for authority ${authorityPublicKey} after addUserStat`);
145
+ }
146
+ return userStats;
141
147
  }
142
148
  values() {
143
149
  return this.userStatsMap.values();
@@ -216,8 +222,9 @@ class UserStatsMap {
216
222
  for (let i = 0; i < accountsToLoad.length; i += chunkSize) {
217
223
  const chunk = accountsToLoad.slice(i, i + chunkSize);
218
224
  tasks.push(async () => {
225
+ var _a;
219
226
  const accountInfos = await this.velocityClient.connection.getMultipleAccountsInfoAndContext(chunk, {
220
- commitment: this.velocityClient.opts.commitment,
227
+ commitment: (_a = this.velocityClient.opts) === null || _a === void 0 ? void 0 : _a.commitment,
221
228
  });
222
229
  for (let j = 0; j < accountInfos.value.length; j += 1) {
223
230
  const accountInfo = accountInfos.value[j];
@@ -250,9 +257,7 @@ class UserStatsMap {
250
257
  console.error(`Error in UserStatsMap.paginatedSync():`, err);
251
258
  }
252
259
  finally {
253
- if (this.syncPromiseResolver) {
254
- this.syncPromiseResolver();
255
- }
260
+ this.syncPromiseResolver();
256
261
  this.syncPromise = undefined;
257
262
  }
258
263
  }
@@ -17,8 +17,13 @@ export declare class UserStats {
17
17
  subscribe(userStatsAccount?: UserStatsAccount): Promise<boolean>;
18
18
  fetchAccounts(): Promise<void>;
19
19
  unsubscribe(): Promise<void>;
20
- getAccountAndSlot(): DataAndSlot<UserStatsAccount>;
21
- getAccount(): UserStatsAccount;
20
+ getAccountAndSlot(): DataAndSlot<UserStatsAccount> | undefined;
21
+ getAccount(): UserStatsAccount | undefined;
22
+ /**
23
+ * Like {@link getAccount} but throws a named error instead of returning
24
+ * `undefined` when the stats account has not been loaded yet.
25
+ */
26
+ getAccountOrThrow(): UserStatsAccount;
22
27
  getReferrerInfo(): ReferrerInfo | undefined;
23
28
  static getOldestActionTs(account: UserStatsAccount): number;
24
29
  }
@@ -9,6 +9,7 @@ const grpcUserStatsAccountSubscriber_1 = require("./accounts/grpcUserStatsAccoun
9
9
  class UserStats {
10
10
  constructor(config) {
11
11
  var _a, _b, _c, _d, _e, _f, _g, _h;
12
+ this.isSubscribed = false;
12
13
  // Type-system guarantees at least one of the two is supplied.
13
14
  const velocityClient = config.velocityClient;
14
15
  this.velocityClient = velocityClient;
@@ -52,16 +53,29 @@ class UserStats {
52
53
  return this.accountSubscriber.getUserStatsAccountAndSlot();
53
54
  }
54
55
  getAccount() {
55
- return this.accountSubscriber.getUserStatsAccountAndSlot().data;
56
+ var _a;
57
+ return (_a = this.accountSubscriber.getUserStatsAccountAndSlot()) === null || _a === void 0 ? void 0 : _a.data;
58
+ }
59
+ /**
60
+ * Like {@link getAccount} but throws a named error instead of returning
61
+ * `undefined` when the stats account has not been loaded yet.
62
+ */
63
+ getAccountOrThrow() {
64
+ const account = this.getAccount();
65
+ if (!account) {
66
+ throw new Error('UserStats account not loaded');
67
+ }
68
+ return account;
56
69
  }
57
70
  getReferrerInfo() {
58
- if (this.getAccount().referrer.equals(web3_js_1.PublicKey.default)) {
71
+ const account = this.getAccount();
72
+ if (!account || account.referrer.equals(web3_js_1.PublicKey.default)) {
59
73
  return undefined;
60
74
  }
61
75
  else {
62
76
  return {
63
- referrer: (0, pda_1.getUserAccountPublicKeySync)(this.velocityClient.program.programId, this.getAccount().referrer, 0),
64
- referrerStats: (0, pda_1.getUserStatsAccountPublicKey)(this.velocityClient.program.programId, this.getAccount().referrer),
77
+ referrer: (0, pda_1.getUserAccountPublicKeySync)(this.velocityClient.program.programId, account.referrer, 0),
78
+ referrerStats: (0, pda_1.getUserStatsAccountPublicKey)(this.velocityClient.program.programId, account.referrer),
65
79
  };
66
80
  }
67
81
  }
@@ -156,10 +156,12 @@ class TransactionConfirmationManager {
156
156
  }
157
157
  if (status.err) {
158
158
  this.pendingConfirmations.delete(request.txSig);
159
- request.reject(await (0, reportTransactionError_1.getTransactionErrorFromTxSig)(request.txSig, this.connection));
159
+ const txError = await (0, reportTransactionError_1.getTransactionErrorFromTxSig)(request.txSig, this.connection);
160
+ request.reject(txError !== null && txError !== void 0 ? txError : new Error(`Transaction failed but no error could be resolved for signature ${request.txSig}`));
160
161
  continue;
161
162
  }
162
- if (confirmationStatusValues[status.confirmationStatus] === undefined ||
163
+ if (status.confirmationStatus === undefined ||
164
+ confirmationStatusValues[status.confirmationStatus] === undefined ||
163
165
  confirmationStatusValues[request.desiredConfirmationStatus] ===
164
166
  undefined) {
165
167
  throw new Error(`Invalid confirmation status when awaiting confirmation: ${status.confirmationStatus}`);
@@ -13,5 +13,5 @@ export declare class ChainClock {
13
13
  private _state;
14
14
  constructor(props: ChainClickInitialisationProps);
15
15
  update(props: ChainClockUpdateProps): void;
16
- getState(commitment: Commitment): ChainClockProgress;
16
+ getState(commitment: Commitment): ChainClockProgress | undefined;
17
17
  }
@@ -1,5 +1,5 @@
1
1
  import { Connection, Finality, PublicKey, TransactionInstruction } from '@solana/web3.js';
2
- export declare function findComputeUnitConsumption(programId: PublicKey, connection: Connection, txSignature: string, commitment?: Finality): Promise<number[]>;
2
+ export declare function findComputeUnitConsumption(programId: PublicKey, connection: Connection, txSignature: string, commitment?: Finality): Promise<string[]>;
3
3
  export declare function isSetComputeUnitsIx(ix: TransactionInstruction): boolean;
4
4
  export declare function isSetComputeUnitPriceIx(ix: TransactionInstruction): boolean;
5
5
  export declare function containsComputeUnitIxs(ixs: TransactionInstruction[]): {
@@ -3,10 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.containsComputeUnitIxs = exports.isSetComputeUnitPriceIx = exports.isSetComputeUnitsIx = exports.findComputeUnitConsumption = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  async function findComputeUnitConsumption(programId, connection, txSignature, commitment = 'confirmed') {
6
+ var _a;
6
7
  const tx = await connection.getTransaction(txSignature, { commitment });
7
8
  const computeUnits = [];
9
+ const logMessages = (_a = tx === null || tx === void 0 ? void 0 : tx.meta) === null || _a === void 0 ? void 0 : _a.logMessages;
10
+ if (!logMessages) {
11
+ return computeUnits;
12
+ }
8
13
  const regex = new RegExp(`Program ${programId.toString()} consumed ([0-9]{0,6}) of ([0-9]{0,7}) compute units`);
9
- tx.meta.logMessages.forEach((logMessage) => {
14
+ logMessages.forEach((logMessage) => {
10
15
  const match = logMessage.match(regex);
11
16
  if (match && match[1]) {
12
17
  computeUnits.push(match[1]);