@drift-labs/sdk 2.130.0-beta.9 → 2.130.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 (416) hide show
  1. package/VERSION +1 -1
  2. package/lib/browser/accounts/{userAccount/basicUserAccountSubscriber.d.ts → basicUserAccountSubscriber.d.ts} +2 -2
  3. package/lib/browser/accounts/{bulkAccountLoader/bulkAccountLoader.d.ts → bulkAccountLoader.d.ts} +2 -2
  4. package/lib/browser/accounts/{bulkAccountLoader/bulkAccountLoader.js → bulkAccountLoader.js} +2 -2
  5. package/lib/browser/accounts/bulkUserStatsSubscription.d.ts +1 -1
  6. package/lib/browser/accounts/bulkUserSubscription.d.ts +1 -1
  7. package/lib/browser/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.js → customizedCadenceBulkAccountLoader.js} +1 -1
  8. package/lib/browser/accounts/{baseSubscribers/grpcAccountSubscriber.d.ts → grpcAccountSubscriber.d.ts} +2 -1
  9. package/lib/{node/accounts/baseSubscribers → browser/accounts}/grpcAccountSubscriber.js +17 -13
  10. package/lib/browser/accounts/{driftClientAccount/grpcDriftClientAccountSubscriber.d.ts → grpcDriftClientAccountSubscriber.d.ts} +2 -2
  11. package/lib/{node/accounts/driftClientAccount → browser/accounts}/grpcDriftClientAccountSubscriber.js +4 -4
  12. package/lib/browser/accounts/{insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.d.ts → grpcInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
  13. package/lib/{node/accounts/insuranceFundStakeAccount → browser/accounts}/grpcInsuranceFundStakeAccountSubscriber.js +1 -1
  14. package/lib/browser/accounts/{programAccount/grpcProgramAccountSubscriber.d.ts → grpcProgramAccountSubscriber.d.ts} +2 -1
  15. package/lib/browser/accounts/{programAccount/grpcProgramAccountSubscriber.js → grpcProgramAccountSubscriber.js} +17 -13
  16. package/lib/browser/accounts/{userAccount/grpcUserAccountSubscriber.d.ts → grpcUserAccountSubscriber.d.ts} +2 -2
  17. package/lib/browser/accounts/{userAccount/grpcUserAccountSubscriber.js → grpcUserAccountSubscriber.js} +1 -1
  18. package/lib/browser/accounts/{userStatsAccount/grpcUserStatsAccountSubscriber.d.ts → grpcUserStatsAccountSubscriber.d.ts} +2 -2
  19. package/lib/{node/accounts/userStatsAccount → browser/accounts}/grpcUserStatsAccountSubscriber.js +1 -1
  20. package/lib/browser/accounts/{userAccount/oneShotUserAccountSubscriber.d.ts → oneShotUserAccountSubscriber.d.ts} +2 -2
  21. package/lib/browser/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.d.ts → pollingDriftClientAccountSubscriber.d.ts} +5 -5
  22. package/lib/browser/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.js → pollingDriftClientAccountSubscriber.js} +8 -8
  23. package/lib/browser/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.d.ts → pollingHighLeverageModeConfigAccountSubscriber.d.ts} +3 -3
  24. package/lib/browser/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.js → pollingHighLeverageModeConfigAccountSubscriber.js} +1 -1
  25. package/lib/browser/accounts/{insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.d.ts → pollingInsuranceFundStakeAccountSubscriber.d.ts} +3 -3
  26. package/lib/{node/accounts/insuranceFundStakeAccount → browser/accounts}/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
  27. package/lib/browser/accounts/{oracleAccount/pollingOracleAccountSubscriber.d.ts → pollingOracleAccountSubscriber.d.ts} +3 -3
  28. package/lib/{node/accounts/oracleAccount → browser/accounts}/pollingOracleAccountSubscriber.js +1 -1
  29. package/lib/browser/accounts/{tokenAccount/pollingTokenAccountSubscriber.d.ts → pollingTokenAccountSubscriber.d.ts} +2 -2
  30. package/lib/browser/accounts/{tokenAccount/pollingTokenAccountSubscriber.js → pollingTokenAccountSubscriber.js} +2 -2
  31. package/lib/browser/accounts/{userAccount/pollingUserAccountSubscriber.d.ts → pollingUserAccountSubscriber.d.ts} +4 -4
  32. package/lib/browser/accounts/{userAccount/pollingUserAccountSubscriber.js → pollingUserAccountSubscriber.js} +1 -1
  33. package/lib/browser/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.d.ts → pollingUserStatsAccountSubscriber.d.ts} +3 -3
  34. package/lib/browser/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.js → pollingUserStatsAccountSubscriber.js} +1 -1
  35. package/lib/browser/accounts/types.d.ts +11 -0
  36. package/lib/browser/accounts/{baseSubscribers/webSocketAccountSubscriber.d.ts → webSocketAccountSubscriber.d.ts} +1 -1
  37. package/lib/{node/accounts/baseSubscribers → browser/accounts}/webSocketAccountSubscriber.js +1 -1
  38. package/lib/browser/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.d.ts → webSocketDriftClientAccountSubscriber.d.ts} +4 -4
  39. package/lib/browser/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.js → webSocketDriftClientAccountSubscriber.js} +9 -9
  40. package/lib/browser/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.d.ts → webSocketHighLeverageModeConfigAccountSubscriber.d.ts} +2 -2
  41. package/lib/browser/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.js → webSocketHighLeverageModeConfigAccountSubscriber.js} +2 -2
  42. package/lib/browser/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.d.ts → webSocketInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
  43. package/lib/browser/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.js → webSocketInsuranceFundStakeAccountSubscriber.js} +2 -2
  44. package/lib/browser/accounts/{programAccount/webSocketProgramAccountSubscriber.d.ts → webSocketProgramAccountSubscriber.d.ts} +1 -1
  45. package/lib/browser/accounts/{userAccount/webSocketUserAccountSubscriber.d.ts → webSocketUserAccountSubscriber.d.ts} +2 -2
  46. package/lib/{node/accounts/userAccount → browser/accounts}/webSocketUserAccountSubscriber.js +2 -2
  47. package/lib/browser/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.d.ts → webSocketUserStatsAccountSubsriber.d.ts} +2 -2
  48. package/lib/browser/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.js → webSocketUserStatsAccountSubsriber.js} +2 -2
  49. package/lib/browser/adminClient.d.ts +2 -2
  50. package/lib/browser/adminClient.js +14 -14
  51. package/lib/browser/auctionSubscriber/auctionSubscriber.js +1 -1
  52. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
  53. package/lib/browser/{config/index.d.ts → config.d.ts} +5 -5
  54. package/lib/{node/config/index.js → browser/config.js} +3 -3
  55. package/lib/browser/constants/perpMarkets.d.ts +1 -1
  56. package/lib/browser/constants/spotMarkets.d.ts +1 -1
  57. package/lib/browser/dlob/DLOB.d.ts +3 -3
  58. package/lib/browser/dlob/DLOB.js +18 -13
  59. package/lib/browser/dlob/DLOBNode.d.ts +5 -3
  60. package/lib/browser/dlob/DLOBNode.js +14 -13
  61. package/lib/browser/dlob/DLOBSubscriber.js +1 -1
  62. package/lib/browser/dlob/NodeList.d.ts +4 -1
  63. package/lib/browser/dlob/NodeList.js +11 -8
  64. package/lib/browser/dlob/orderBookLevels.d.ts +6 -0
  65. package/lib/browser/dlob/orderBookLevels.js +5 -2
  66. package/lib/browser/driftClient.d.ts +1 -1
  67. package/lib/browser/driftClient.js +18 -5
  68. package/lib/browser/driftClientConfig.d.ts +2 -2
  69. package/lib/browser/idl/drift.json +82 -11
  70. package/lib/browser/index.d.ts +14 -21
  71. package/lib/browser/index.js +14 -21
  72. package/lib/browser/math/amm.d.ts +4 -0
  73. package/lib/browser/math/amm.js +25 -9
  74. package/lib/browser/math/margin.js +1 -1
  75. package/lib/browser/math/market.d.ts +10 -0
  76. package/lib/browser/math/market.js +76 -1
  77. package/lib/browser/math/orders.d.ts +1 -0
  78. package/lib/browser/math/orders.js +13 -1
  79. package/lib/browser/math/state.d.ts +1 -0
  80. package/lib/browser/math/state.js +6 -1
  81. package/lib/browser/openbook/openbookV2Subscriber.d.ts +1 -1
  82. package/lib/browser/oracles/types.d.ts +1 -0
  83. package/lib/browser/oracles/utils.js +1 -3
  84. package/lib/browser/orderSubscriber/OrderSubscriber.d.ts +1 -1
  85. package/lib/browser/orderSubscriber/OrderSubscriber.js +10 -3
  86. package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
  87. package/lib/browser/orderSubscriber/grpcSubscription.js +1 -1
  88. package/lib/browser/phoenix/phoenixSubscriber.d.ts +1 -1
  89. package/lib/browser/serum/serumSubscriber.d.ts +1 -1
  90. package/lib/browser/serum/types.d.ts +1 -1
  91. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.d.ts +1 -1
  92. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
  93. package/lib/browser/swift/signedMsgUserAccountSubscriber.d.ts +1 -1
  94. package/lib/browser/swift/signedMsgUserAccountSubscriber.js +1 -1
  95. package/lib/browser/swift/swiftOrderSubscriber.d.ts +1 -1
  96. package/lib/browser/types.d.ts +7 -0
  97. package/lib/browser/types.js +6 -1
  98. package/lib/browser/user.js +3 -3
  99. package/lib/browser/userConfig.d.ts +1 -1
  100. package/lib/browser/userMap/PollingSubscription.d.ts +2 -2
  101. package/lib/browser/userMap/WebsocketSubscription.d.ts +2 -2
  102. package/lib/browser/userMap/WebsocketSubscription.js +1 -1
  103. package/lib/browser/userMap/grpcSubscription.d.ts +2 -2
  104. package/lib/browser/userMap/grpcSubscription.js +1 -1
  105. package/lib/browser/userMap/userMap.d.ts +18 -3
  106. package/lib/browser/userMap/userMap.js +1 -1
  107. package/lib/browser/userMap/userStatsMap.d.ts +1 -1
  108. package/lib/browser/userMap/userStatsMap.js +1 -1
  109. package/lib/browser/userStats.js +3 -3
  110. package/lib/browser/userStatsConfig.d.ts +1 -1
  111. package/lib/node/accounts/{userAccount/basicUserAccountSubscriber.d.ts → basicUserAccountSubscriber.d.ts} +2 -2
  112. package/lib/node/accounts/basicUserAccountSubscriber.d.ts.map +1 -0
  113. package/lib/node/accounts/{bulkAccountLoader/bulkAccountLoader.d.ts → bulkAccountLoader.d.ts} +2 -2
  114. package/lib/node/accounts/bulkAccountLoader.d.ts.map +1 -0
  115. package/lib/node/accounts/{bulkAccountLoader/bulkAccountLoader.js → bulkAccountLoader.js} +2 -2
  116. package/lib/node/accounts/bulkUserStatsSubscription.d.ts +1 -1
  117. package/lib/node/accounts/bulkUserStatsSubscription.d.ts.map +1 -1
  118. package/lib/node/accounts/bulkUserSubscription.d.ts +1 -1
  119. package/lib/node/accounts/bulkUserSubscription.d.ts.map +1 -1
  120. package/lib/node/accounts/customizedCadenceBulkAccountLoader.d.ts.map +1 -0
  121. package/lib/node/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.js → customizedCadenceBulkAccountLoader.js} +1 -1
  122. package/lib/node/accounts/{baseSubscribers/grpcAccountSubscriber.d.ts → grpcAccountSubscriber.d.ts} +2 -1
  123. package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -0
  124. package/lib/{browser/accounts/baseSubscribers → node/accounts}/grpcAccountSubscriber.js +17 -13
  125. package/lib/node/accounts/{driftClientAccount/grpcDriftClientAccountSubscriber.d.ts → grpcDriftClientAccountSubscriber.d.ts} +2 -2
  126. package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts.map +1 -0
  127. package/lib/{browser/accounts/driftClientAccount → node/accounts}/grpcDriftClientAccountSubscriber.js +4 -4
  128. package/lib/node/accounts/{insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.d.ts → grpcInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
  129. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -0
  130. package/lib/{browser/accounts/insuranceFundStakeAccount → node/accounts}/grpcInsuranceFundStakeAccountSubscriber.js +1 -1
  131. package/lib/node/accounts/{programAccount/grpcProgramAccountSubscriber.d.ts → grpcProgramAccountSubscriber.d.ts} +2 -1
  132. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -0
  133. package/lib/node/accounts/{programAccount/grpcProgramAccountSubscriber.js → grpcProgramAccountSubscriber.js} +17 -13
  134. package/lib/node/accounts/{userAccount/grpcUserAccountSubscriber.d.ts → grpcUserAccountSubscriber.d.ts} +2 -2
  135. package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -0
  136. package/lib/node/accounts/{userAccount/grpcUserAccountSubscriber.js → grpcUserAccountSubscriber.js} +1 -1
  137. package/lib/node/accounts/{userStatsAccount/grpcUserStatsAccountSubscriber.d.ts → grpcUserStatsAccountSubscriber.d.ts} +2 -2
  138. package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -0
  139. package/lib/{browser/accounts/userStatsAccount → node/accounts}/grpcUserStatsAccountSubscriber.js +1 -1
  140. package/lib/node/accounts/{userAccount/oneShotUserAccountSubscriber.d.ts → oneShotUserAccountSubscriber.d.ts} +2 -2
  141. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -0
  142. package/lib/node/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.d.ts → pollingDriftClientAccountSubscriber.d.ts} +5 -5
  143. package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts.map +1 -0
  144. package/lib/node/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.js → pollingDriftClientAccountSubscriber.js} +8 -8
  145. package/lib/node/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.d.ts → pollingHighLeverageModeConfigAccountSubscriber.d.ts} +3 -3
  146. package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts.map +1 -0
  147. package/lib/node/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.js → pollingHighLeverageModeConfigAccountSubscriber.js} +1 -1
  148. package/lib/node/accounts/{insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.d.ts → pollingInsuranceFundStakeAccountSubscriber.d.ts} +3 -3
  149. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -0
  150. package/lib/{browser/accounts/insuranceFundStakeAccount → node/accounts}/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
  151. package/lib/node/accounts/{oracleAccount/pollingOracleAccountSubscriber.d.ts → pollingOracleAccountSubscriber.d.ts} +3 -3
  152. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -0
  153. package/lib/{browser/accounts/oracleAccount → node/accounts}/pollingOracleAccountSubscriber.js +1 -1
  154. package/lib/node/accounts/{tokenAccount/pollingTokenAccountSubscriber.d.ts → pollingTokenAccountSubscriber.d.ts} +2 -2
  155. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -0
  156. package/lib/node/accounts/{tokenAccount/pollingTokenAccountSubscriber.js → pollingTokenAccountSubscriber.js} +2 -2
  157. package/lib/node/accounts/{userAccount/pollingUserAccountSubscriber.d.ts → pollingUserAccountSubscriber.d.ts} +4 -4
  158. package/lib/node/accounts/pollingUserAccountSubscriber.d.ts.map +1 -0
  159. package/lib/node/accounts/{userAccount/pollingUserAccountSubscriber.js → pollingUserAccountSubscriber.js} +1 -1
  160. package/lib/node/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.d.ts → pollingUserStatsAccountSubscriber.d.ts} +3 -3
  161. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -0
  162. package/lib/node/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.js → pollingUserStatsAccountSubscriber.js} +1 -1
  163. package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -0
  164. package/lib/node/accounts/types.d.ts +11 -0
  165. package/lib/node/accounts/types.d.ts.map +1 -1
  166. package/lib/node/accounts/{baseSubscribers/webSocketAccountSubscriber.d.ts → webSocketAccountSubscriber.d.ts} +1 -1
  167. package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -0
  168. package/lib/{browser/accounts/baseSubscribers → node/accounts}/webSocketAccountSubscriber.js +1 -1
  169. package/lib/node/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.d.ts → webSocketDriftClientAccountSubscriber.d.ts} +4 -4
  170. package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts.map +1 -0
  171. package/lib/node/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.js → webSocketDriftClientAccountSubscriber.js} +9 -9
  172. package/lib/node/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.d.ts → webSocketHighLeverageModeConfigAccountSubscriber.d.ts} +2 -2
  173. package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts.map +1 -0
  174. package/lib/node/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.js → webSocketHighLeverageModeConfigAccountSubscriber.js} +2 -2
  175. package/lib/node/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.d.ts → webSocketInsuranceFundStakeAccountSubscriber.d.ts} +2 -2
  176. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -0
  177. package/lib/node/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.js → webSocketInsuranceFundStakeAccountSubscriber.js} +2 -2
  178. package/lib/node/accounts/{programAccount/webSocketProgramAccountSubscriber.d.ts → webSocketProgramAccountSubscriber.d.ts} +1 -1
  179. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -0
  180. package/lib/node/accounts/{userAccount/webSocketUserAccountSubscriber.d.ts → webSocketUserAccountSubscriber.d.ts} +2 -2
  181. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -0
  182. package/lib/{browser/accounts/userAccount → node/accounts}/webSocketUserAccountSubscriber.js +2 -2
  183. package/lib/node/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.d.ts → webSocketUserStatsAccountSubsriber.d.ts} +2 -2
  184. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -0
  185. package/lib/node/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.js → webSocketUserStatsAccountSubsriber.js} +2 -2
  186. package/lib/node/adminClient.d.ts +2 -2
  187. package/lib/node/adminClient.d.ts.map +1 -1
  188. package/lib/node/adminClient.js +14 -14
  189. package/lib/node/auctionSubscriber/auctionSubscriber.js +1 -1
  190. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
  191. package/lib/node/{config/index.d.ts → config.d.ts} +6 -6
  192. package/lib/node/config.d.ts.map +1 -0
  193. package/lib/{browser/config/index.js → node/config.js} +3 -3
  194. package/lib/node/constants/perpMarkets.d.ts +1 -1
  195. package/lib/node/constants/perpMarkets.d.ts.map +1 -1
  196. package/lib/node/constants/spotMarkets.d.ts +1 -1
  197. package/lib/node/constants/spotMarkets.d.ts.map +1 -1
  198. package/lib/node/dlob/DLOB.d.ts +3 -3
  199. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  200. package/lib/node/dlob/DLOB.js +18 -13
  201. package/lib/node/dlob/DLOBNode.d.ts +5 -3
  202. package/lib/node/dlob/DLOBNode.d.ts.map +1 -1
  203. package/lib/node/dlob/DLOBNode.js +14 -13
  204. package/lib/node/dlob/DLOBSubscriber.d.ts.map +1 -1
  205. package/lib/node/dlob/DLOBSubscriber.js +1 -1
  206. package/lib/node/dlob/NodeList.d.ts +4 -1
  207. package/lib/node/dlob/NodeList.d.ts.map +1 -1
  208. package/lib/node/dlob/NodeList.js +11 -8
  209. package/lib/node/dlob/orderBookLevels.d.ts +6 -0
  210. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  211. package/lib/node/dlob/orderBookLevels.js +5 -2
  212. package/lib/node/driftClient.d.ts +1 -1
  213. package/lib/node/driftClient.d.ts.map +1 -1
  214. package/lib/node/driftClient.js +18 -5
  215. package/lib/node/driftClientConfig.d.ts +2 -2
  216. package/lib/node/driftClientConfig.d.ts.map +1 -1
  217. package/lib/node/idl/drift.json +82 -11
  218. package/lib/node/index.d.ts +14 -21
  219. package/lib/node/index.d.ts.map +1 -1
  220. package/lib/node/index.js +14 -21
  221. package/lib/node/math/amm.d.ts +4 -0
  222. package/lib/node/math/amm.d.ts.map +1 -1
  223. package/lib/node/math/amm.js +25 -9
  224. package/lib/node/math/margin.js +1 -1
  225. package/lib/node/math/market.d.ts +10 -0
  226. package/lib/node/math/market.d.ts.map +1 -1
  227. package/lib/node/math/market.js +76 -1
  228. package/lib/node/math/orders.d.ts +1 -0
  229. package/lib/node/math/orders.d.ts.map +1 -1
  230. package/lib/node/math/orders.js +13 -1
  231. package/lib/node/math/state.d.ts +1 -0
  232. package/lib/node/math/state.d.ts.map +1 -1
  233. package/lib/node/math/state.js +6 -1
  234. package/lib/node/openbook/openbookV2Subscriber.d.ts +1 -1
  235. package/lib/node/openbook/openbookV2Subscriber.d.ts.map +1 -1
  236. package/lib/node/oracles/types.d.ts +1 -0
  237. package/lib/node/oracles/types.d.ts.map +1 -1
  238. package/lib/node/oracles/utils.d.ts.map +1 -1
  239. package/lib/node/oracles/utils.js +1 -3
  240. package/lib/node/orderSubscriber/OrderSubscriber.d.ts +1 -1
  241. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  242. package/lib/node/orderSubscriber/OrderSubscriber.js +10 -3
  243. package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
  244. package/lib/node/orderSubscriber/grpcSubscription.js +1 -1
  245. package/lib/node/phoenix/phoenixSubscriber.d.ts +1 -1
  246. package/lib/node/phoenix/phoenixSubscriber.d.ts.map +1 -1
  247. package/lib/node/serum/serumSubscriber.d.ts +1 -1
  248. package/lib/node/serum/serumSubscriber.d.ts.map +1 -1
  249. package/lib/node/serum/types.d.ts +1 -1
  250. package/lib/node/serum/types.d.ts.map +1 -1
  251. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts +1 -1
  252. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.d.ts.map +1 -1
  253. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
  254. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts +1 -1
  255. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
  256. package/lib/node/swift/signedMsgUserAccountSubscriber.js +1 -1
  257. package/lib/node/swift/swiftOrderSubscriber.d.ts +1 -1
  258. package/lib/node/swift/swiftOrderSubscriber.d.ts.map +1 -1
  259. package/lib/node/types.d.ts +7 -0
  260. package/lib/node/types.d.ts.map +1 -1
  261. package/lib/node/types.js +6 -1
  262. package/lib/node/user.js +3 -3
  263. package/lib/node/userConfig.d.ts +1 -1
  264. package/lib/node/userConfig.d.ts.map +1 -1
  265. package/lib/node/userMap/PollingSubscription.d.ts +2 -2
  266. package/lib/node/userMap/PollingSubscription.d.ts.map +1 -1
  267. package/lib/node/userMap/WebsocketSubscription.d.ts +2 -2
  268. package/lib/node/userMap/WebsocketSubscription.d.ts.map +1 -1
  269. package/lib/node/userMap/WebsocketSubscription.js +1 -1
  270. package/lib/node/userMap/grpcSubscription.d.ts +2 -2
  271. package/lib/node/userMap/grpcSubscription.d.ts.map +1 -1
  272. package/lib/node/userMap/grpcSubscription.js +1 -1
  273. package/lib/node/userMap/userMap.d.ts +18 -3
  274. package/lib/node/userMap/userMap.d.ts.map +1 -1
  275. package/lib/node/userMap/userMap.js +1 -1
  276. package/lib/node/userMap/userStatsMap.d.ts +1 -1
  277. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  278. package/lib/node/userMap/userStatsMap.js +1 -1
  279. package/lib/node/userStats.js +3 -3
  280. package/lib/node/userStatsConfig.d.ts +1 -1
  281. package/lib/node/userStatsConfig.d.ts.map +1 -1
  282. package/package.json +1 -1
  283. package/src/accounts/{userAccount/basicUserAccountSubscriber.ts → basicUserAccountSubscriber.ts} +2 -6
  284. package/src/accounts/{bulkAccountLoader/bulkAccountLoader.ts → bulkAccountLoader.ts} +4 -4
  285. package/src/accounts/bulkUserStatsSubscription.ts +2 -2
  286. package/src/accounts/bulkUserSubscription.ts +2 -2
  287. package/src/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.ts → customizedCadenceBulkAccountLoader.ts} +1 -1
  288. package/src/accounts/{baseSubscribers/grpcAccountSubscriber.ts → grpcAccountSubscriber.ts} +26 -13
  289. package/src/accounts/{driftClientAccount/grpcDriftClientAccountSubscriber.ts → grpcDriftClientAccountSubscriber.ts} +7 -11
  290. package/src/accounts/{insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.ts → grpcInsuranceFundStakeAccountSubscriber.ts} +3 -3
  291. package/src/accounts/{programAccount/grpcProgramAccountSubscriber.ts → grpcProgramAccountSubscriber.ts} +28 -13
  292. package/src/accounts/{userAccount/grpcUserAccountSubscriber.ts → grpcUserAccountSubscriber.ts} +3 -3
  293. package/src/accounts/{userStatsAccount/grpcUserStatsAccountSubscriber.ts → grpcUserStatsAccountSubscriber.ts} +3 -3
  294. package/src/accounts/{userAccount/oneShotUserAccountSubscriber.ts → oneShotUserAccountSubscriber.ts} +2 -2
  295. package/src/accounts/{driftClientAccount/pollingDriftClientAccountSubscriber.ts → pollingDriftClientAccountSubscriber.ts} +10 -10
  296. package/src/accounts/{highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.ts → pollingHighLeverageModeConfigAccountSubscriber.ts} +3 -3
  297. package/src/accounts/{insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.ts → pollingInsuranceFundStakeAccountSubscriber.ts} +3 -3
  298. package/src/accounts/{oracleAccount/pollingOracleAccountSubscriber.ts → pollingOracleAccountSubscriber.ts} +3 -3
  299. package/src/accounts/{tokenAccount/pollingTokenAccountSubscriber.ts → pollingTokenAccountSubscriber.ts} +3 -3
  300. package/src/accounts/{userAccount/pollingUserAccountSubscriber.ts → pollingUserAccountSubscriber.ts} +4 -4
  301. package/src/accounts/{userStatsAccount/pollingUserStatsAccountSubscriber.ts → pollingUserStatsAccountSubscriber.ts} +3 -3
  302. package/src/accounts/types.ts +12 -0
  303. package/src/accounts/{baseSubscribers/webSocketAccountSubscriber.ts → webSocketAccountSubscriber.ts} +2 -2
  304. package/src/accounts/{driftClientAccount/webSocketDriftClientAccountSubscriber.ts → webSocketDriftClientAccountSubscriber.ts} +11 -15
  305. package/src/accounts/{highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.ts → webSocketHighLeverageModeConfigAccountSubscriber.ts} +3 -3
  306. package/src/accounts/{insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.ts → webSocketInsuranceFundStakeAccountSubscriber.ts} +3 -3
  307. package/src/accounts/{programAccount/webSocketProgramAccountSubscriber.ts → webSocketProgramAccountSubscriber.ts} +1 -1
  308. package/src/accounts/{userAccount/webSocketUserAccountSubscriber.ts → webSocketUserAccountSubscriber.ts} +3 -3
  309. package/src/accounts/{userStatsAccount/webSocketUserStatsAccountSubsriber.ts → webSocketUserStatsAccountSubsriber.ts} +3 -3
  310. package/src/adminClient.ts +29 -27
  311. package/src/auctionSubscriber/auctionSubscriber.ts +1 -1
  312. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +2 -2
  313. package/src/{config/index.ts → config.ts} +7 -6
  314. package/src/constants/perpMarkets.ts +1 -1
  315. package/src/constants/spotMarkets.ts +1 -1
  316. package/src/dlob/DLOB.ts +31 -8
  317. package/src/dlob/DLOBNode.ts +22 -11
  318. package/src/dlob/DLOBSubscriber.ts +2 -1
  319. package/src/dlob/NodeList.ts +12 -3
  320. package/src/dlob/orderBookLevels.ts +8 -2
  321. package/src/driftClient.ts +22 -8
  322. package/src/driftClientConfig.ts +2 -2
  323. package/src/idl/drift.json +83 -12
  324. package/src/index.ts +14 -26
  325. package/src/math/amm.ts +49 -10
  326. package/src/math/margin.ts +1 -1
  327. package/src/math/market.ts +105 -0
  328. package/src/math/orders.ts +18 -0
  329. package/src/math/state.ts +7 -1
  330. package/src/openbook/openbookV2Subscriber.ts +1 -1
  331. package/src/oracles/types.ts +1 -0
  332. package/src/oracles/utils.ts +1 -3
  333. package/src/orderSubscriber/OrderSubscriber.ts +16 -2
  334. package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
  335. package/src/orderSubscriber/grpcSubscription.ts +1 -1
  336. package/src/phoenix/phoenixSubscriber.ts +1 -1
  337. package/src/serum/serumSubscriber.ts +1 -1
  338. package/src/serum/types.ts +1 -1
  339. package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +1 -1
  340. package/src/swift/signedMsgUserAccountSubscriber.ts +1 -1
  341. package/src/swift/swiftOrderSubscriber.ts +1 -1
  342. package/src/testClient.ts +1 -1
  343. package/src/types.ts +9 -0
  344. package/src/user.ts +3 -3
  345. package/src/userConfig.ts +1 -1
  346. package/src/userMap/PollingSubscription.ts +3 -3
  347. package/src/userMap/WebsocketSubscription.ts +4 -4
  348. package/src/userMap/grpcSubscription.ts +5 -5
  349. package/src/userMap/userMap.ts +31 -4
  350. package/src/userMap/userStatsMap.ts +2 -2
  351. package/src/userStats.ts +3 -3
  352. package/src/userStatsConfig.ts +1 -1
  353. package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +1 -1
  354. package/lib/browser/config/types.d.ts +0 -1
  355. package/lib/browser/config/types.js +0 -2
  356. package/lib/browser/dlob/utils.d.ts +0 -1
  357. package/lib/browser/dlob/utils.js +0 -7
  358. package/lib/browser/userMap/events.d.ts +0 -6
  359. package/lib/browser/userMap/events.js +0 -2
  360. package/lib/browser/userMap/types.d.ts +0 -32
  361. package/lib/browser/userMap/types.js +0 -2
  362. package/lib/node/accounts/baseSubscribers/grpcAccountSubscriber.d.ts.map +0 -1
  363. package/lib/node/accounts/baseSubscribers/webSocketAccountSubscriber.d.ts.map +0 -1
  364. package/lib/node/accounts/bulkAccountLoader/bulkAccountLoader.d.ts.map +0 -1
  365. package/lib/node/accounts/bulkAccountLoader/customizedCadenceBulkAccountLoader.d.ts.map +0 -1
  366. package/lib/node/accounts/bulkAccountLoader/testBulkAccountLoader.d.ts.map +0 -1
  367. package/lib/node/accounts/driftClientAccount/grpcDriftClientAccountSubscriber.d.ts.map +0 -1
  368. package/lib/node/accounts/driftClientAccount/pollingDriftClientAccountSubscriber.d.ts.map +0 -1
  369. package/lib/node/accounts/driftClientAccount/webSocketDriftClientAccountSubscriber.d.ts.map +0 -1
  370. package/lib/node/accounts/highLeverageModeConfigAccount/pollingHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
  371. package/lib/node/accounts/highLeverageModeConfigAccount/webSocketHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
  372. package/lib/node/accounts/insuranceFundStakeAccount/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +0 -1
  373. package/lib/node/accounts/insuranceFundStakeAccount/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +0 -1
  374. package/lib/node/accounts/insuranceFundStakeAccount/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +0 -1
  375. package/lib/node/accounts/oracleAccount/pollingOracleAccountSubscriber.d.ts.map +0 -1
  376. package/lib/node/accounts/programAccount/grpcProgramAccountSubscriber.d.ts.map +0 -1
  377. package/lib/node/accounts/programAccount/webSocketProgramAccountSubscriber.d.ts.map +0 -1
  378. package/lib/node/accounts/tokenAccount/pollingTokenAccountSubscriber.d.ts.map +0 -1
  379. package/lib/node/accounts/userAccount/basicUserAccountSubscriber.d.ts.map +0 -1
  380. package/lib/node/accounts/userAccount/grpcUserAccountSubscriber.d.ts.map +0 -1
  381. package/lib/node/accounts/userAccount/oneShotUserAccountSubscriber.d.ts.map +0 -1
  382. package/lib/node/accounts/userAccount/pollingUserAccountSubscriber.d.ts.map +0 -1
  383. package/lib/node/accounts/userAccount/webSocketUserAccountSubscriber.d.ts.map +0 -1
  384. package/lib/node/accounts/userStatsAccount/grpcUserStatsAccountSubscriber.d.ts.map +0 -1
  385. package/lib/node/accounts/userStatsAccount/pollingUserStatsAccountSubscriber.d.ts.map +0 -1
  386. package/lib/node/accounts/userStatsAccount/webSocketUserStatsAccountSubsriber.d.ts.map +0 -1
  387. package/lib/node/config/index.d.ts.map +0 -1
  388. package/lib/node/config/types.d.ts +0 -2
  389. package/lib/node/config/types.d.ts.map +0 -1
  390. package/lib/node/config/types.js +0 -2
  391. package/lib/node/dlob/utils.d.ts +0 -2
  392. package/lib/node/dlob/utils.d.ts.map +0 -1
  393. package/lib/node/dlob/utils.js +0 -7
  394. package/lib/node/userMap/events.d.ts +0 -7
  395. package/lib/node/userMap/events.d.ts.map +0 -1
  396. package/lib/node/userMap/events.js +0 -2
  397. package/lib/node/userMap/types.d.ts +0 -33
  398. package/lib/node/userMap/types.d.ts.map +0 -1
  399. package/lib/node/userMap/types.js +0 -2
  400. package/src/config/types.ts +0 -1
  401. package/src/dlob/utils.ts +0 -6
  402. package/src/userMap/events.ts +0 -7
  403. package/src/userMap/types.ts +0 -47
  404. /package/lib/browser/accounts/{userAccount/basicUserAccountSubscriber.js → basicUserAccountSubscriber.js} +0 -0
  405. /package/lib/browser/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.d.ts → customizedCadenceBulkAccountLoader.d.ts} +0 -0
  406. /package/lib/browser/accounts/{userAccount/oneShotUserAccountSubscriber.js → oneShotUserAccountSubscriber.js} +0 -0
  407. /package/lib/browser/accounts/{bulkAccountLoader/testBulkAccountLoader.d.ts → testBulkAccountLoader.d.ts} +0 -0
  408. /package/lib/browser/accounts/{bulkAccountLoader/testBulkAccountLoader.js → testBulkAccountLoader.js} +0 -0
  409. /package/lib/browser/accounts/{programAccount/webSocketProgramAccountSubscriber.js → webSocketProgramAccountSubscriber.js} +0 -0
  410. /package/lib/node/accounts/{userAccount/basicUserAccountSubscriber.js → basicUserAccountSubscriber.js} +0 -0
  411. /package/lib/node/accounts/{bulkAccountLoader/customizedCadenceBulkAccountLoader.d.ts → customizedCadenceBulkAccountLoader.d.ts} +0 -0
  412. /package/lib/node/accounts/{userAccount/oneShotUserAccountSubscriber.js → oneShotUserAccountSubscriber.js} +0 -0
  413. /package/lib/node/accounts/{bulkAccountLoader/testBulkAccountLoader.d.ts → testBulkAccountLoader.d.ts} +0 -0
  414. /package/lib/node/accounts/{bulkAccountLoader/testBulkAccountLoader.js → testBulkAccountLoader.js} +0 -0
  415. /package/lib/node/accounts/{programAccount/webSocketProgramAccountSubscriber.js → webSocketProgramAccountSubscriber.js} +0 -0
  416. /package/src/accounts/{bulkAccountLoader/testBulkAccountLoader.ts → testBulkAccountLoader.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSignedMsgOrder = exports.isTakingOrder = exports.isRestingLimitOrder = exports.isTriggered = exports.mustBeTriggered = exports.isLimitOrder = exports.isMarketOrder = exports.isOrderExpired = exports.calculateBaseAssetAmountToFillUpToLimitPrice = exports.calculateBaseAssetAmountForAmmToFulfill = exports.isFillableByVAMM = exports.hasAuctionPrice = exports.hasLimitPrice = exports.applyProtectedMakerParams = exports.getLimitPrice = exports.standardizePrice = exports.standardizeBaseAssetAmount = exports.isOrderReduceOnly = exports.isOrderRiskIncreasingInSameDirection = exports.isOrderRiskIncreasing = void 0;
3
+ exports.calculateOrderBaseAssetAmount = exports.isSignedMsgOrder = exports.isTakingOrder = exports.isRestingLimitOrder = exports.isTriggered = exports.mustBeTriggered = exports.isLimitOrder = exports.isMarketOrder = exports.isOrderExpired = exports.calculateBaseAssetAmountToFillUpToLimitPrice = exports.calculateBaseAssetAmountForAmmToFulfill = exports.isFillableByVAMM = exports.hasAuctionPrice = exports.hasLimitPrice = exports.applyProtectedMakerParams = exports.getLimitPrice = exports.standardizePrice = exports.standardizeBaseAssetAmount = exports.isOrderReduceOnly = exports.isOrderRiskIncreasingInSameDirection = exports.isOrderRiskIncreasing = void 0;
4
4
  const types_1 = require("../types");
5
5
  const numericConstants_1 = require("../constants/numericConstants");
6
6
  const anchor_1 = require("@coral-xyz/anchor");
@@ -240,3 +240,15 @@ function isSignedMsgOrder(order) {
240
240
  return (order.bitFlags & FLAG_IS_SIGNED_MSG) !== 0;
241
241
  }
242
242
  exports.isSignedMsgOrder = isSignedMsgOrder;
243
+ function calculateOrderBaseAssetAmount(order, existingBaseAssetAmount) {
244
+ if (!order.reduceOnly) {
245
+ return order.baseAssetAmount;
246
+ }
247
+ if ((0, types_1.isVariant)(order.direction, 'long')) {
248
+ return anchor_1.BN.min(anchor_1.BN.min(existingBaseAssetAmount, numericConstants_1.ZERO).abs(), order.baseAssetAmount);
249
+ }
250
+ else {
251
+ return anchor_1.BN.min(anchor_1.BN.max(existingBaseAssetAmount, numericConstants_1.ZERO), order.baseAssetAmount);
252
+ }
253
+ }
254
+ exports.calculateOrderBaseAssetAmount = calculateOrderBaseAssetAmount;
@@ -3,3 +3,4 @@ import { BN } from '@coral-xyz/anchor';
3
3
  import { StateAccount } from '../types';
4
4
  export declare function calculateInitUserFee(stateAccount: StateAccount): BN;
5
5
  export declare function getMaxNumberOfSubAccounts(stateAccount: StateAccount): BN;
6
+ export declare function useMedianTriggerPrice(stateAccount: StateAccount): boolean;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMaxNumberOfSubAccounts = exports.calculateInitUserFee = void 0;
3
+ exports.useMedianTriggerPrice = exports.getMaxNumberOfSubAccounts = exports.calculateInitUserFee = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const numericConstants_1 = require("../constants/numericConstants");
6
+ const types_1 = require("../types");
6
7
  function calculateInitUserFee(stateAccount) {
7
8
  const maxInitFee = new anchor_1.BN(stateAccount.maxInitializeUserFee)
8
9
  .mul(numericConstants_1.LAMPORTS_PRECISION)
@@ -29,3 +30,7 @@ function getMaxNumberOfSubAccounts(stateAccount) {
29
30
  return new anchor_1.BN(stateAccount.maxNumberOfSubAccounts).muln(100);
30
31
  }
31
32
  exports.getMaxNumberOfSubAccounts = getMaxNumberOfSubAccounts;
33
+ function useMedianTriggerPrice(stateAccount) {
34
+ return ((stateAccount.featureBitFlags & types_1.FeatureBitFlags.MEDIAN_TRIGGER_PRICE) > 0);
35
+ }
36
+ exports.useMedianTriggerPrice = useMedianTriggerPrice;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { Connection, PublicKey } from '@solana/web3.js';
3
- import { BulkAccountLoader } from '../accounts/bulkAccountLoader/bulkAccountLoader';
3
+ import { BulkAccountLoader } from '../accounts/bulkAccountLoader';
4
4
  import { BN } from '@coral-xyz/anchor';
5
5
  import { L2Level, L2OrderBookGenerator } from '../dlob/orderBookLevels';
6
6
  import { Market, OpenBookV2Client } from '@openbook-dex/openbook-v2';
@@ -18,6 +18,7 @@ export type OraclePriceData = {
18
18
  twapConfidence?: BN;
19
19
  maxPrice?: BN;
20
20
  fetchedWithMMOracle?: boolean;
21
+ isMMOracleActive?: boolean;
21
22
  };
22
23
  export type OracleInfo = {
23
24
  publicKey: PublicKey;
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOracleConfidenceFromMMOracleData = void 0;
4
- const numericConstants_1 = require("../constants/numericConstants");
5
4
  function getOracleConfidenceFromMMOracleData(mmOracleData) {
6
5
  const mmOracleDiffPremium = mmOracleData.mmOraclePrice
7
6
  .sub(mmOracleData.oraclePriceData.price)
8
- .abs()
9
- .div(numericConstants_1.FIVE);
7
+ .abs();
10
8
  return mmOracleData.oraclePriceData.confidence.add(mmOracleDiffPremium);
11
9
  }
12
10
  exports.getOracleConfidenceFromMMOracleData = getOracleConfidenceFromMMOracleData;
@@ -11,7 +11,7 @@ import { PollingSubscription } from './PollingSubscription';
11
11
  import { WebsocketSubscription } from './WebsocketSubscription';
12
12
  import StrictEventEmitter from 'strict-event-emitter-types';
13
13
  import { EventEmitter } from 'events';
14
- import { ProtectMakerParamsMap } from '../index';
14
+ import { ProtectMakerParamsMap } from '../dlob/types';
15
15
  import { grpcSubscription } from './grpcSubscription';
16
16
  export declare class OrderSubscriber {
17
17
  driftClient: DriftClient;
@@ -9,6 +9,7 @@ const PollingSubscription_1 = require("./PollingSubscription");
9
9
  const WebsocketSubscription_1 = require("./WebsocketSubscription");
10
10
  const events_1 = require("events");
11
11
  const index_1 = require("../index");
12
+ const anchor_1 = require("@coral-xyz/anchor");
12
13
  const user_1 = require("../decode/user");
13
14
  const grpcSubscription_1 = require("./grpcSubscription");
14
15
  const userStatus_1 = require("../math/userStatus");
@@ -115,7 +116,7 @@ class OrderSubscriber {
115
116
  if (dataType === 'raw') {
116
117
  // @ts-ignore
117
118
  const buffer = buffer_1.Buffer.from(data[0], data[1]);
118
- const newLastActiveSlot = new index_1.BN(buffer.subarray(4328, 4328 + 8), undefined, 'le');
119
+ const newLastActiveSlot = new anchor_1.BN(buffer.subarray(4328, 4328 + 8), undefined, 'le');
119
120
  if (slotAndUserAccount &&
120
121
  slotAndUserAccount.userAccount.lastActiveSlot.gt(newLastActiveSlot)) {
121
122
  return;
@@ -124,7 +125,7 @@ class OrderSubscriber {
124
125
  }
125
126
  else if (dataType === 'buffer') {
126
127
  const buffer = data;
127
- const newLastActiveSlot = new index_1.BN(buffer.subarray(4328, 4328 + 8), undefined, 'le');
128
+ const newLastActiveSlot = new anchor_1.BN(buffer.subarray(4328, 4328 + 8), undefined, 'le');
128
129
  if (slotAndUserAccount &&
129
130
  slotAndUserAccount.userAccount.lastActiveSlot.gt(newLastActiveSlot)) {
130
131
  return;
@@ -155,11 +156,17 @@ class OrderSubscriber {
155
156
  return new DLOB_1.DLOB(protectedMakerParamsMap);
156
157
  }
157
158
  async getDLOB(slot, protectedMakerParamsMap) {
159
+ var _a;
158
160
  const dlob = this.createDLOB(protectedMakerParamsMap);
159
161
  for (const [key, { userAccount }] of this.usersAccounts.entries()) {
160
162
  const protectedMaker = (0, userStatus_1.isUserProtectedMaker)(userAccount);
161
163
  for (const order of userAccount.orders) {
162
- dlob.insertOrder(order, key, slot, protectedMaker);
164
+ let baseAssetAmount = order.baseAssetAmount;
165
+ if (order.reduceOnly) {
166
+ const existingBaseAmount = ((_a = userAccount.perpPositions.find((pos) => pos.marketIndex === order.marketIndex && pos.openOrders > 0)) === null || _a === void 0 ? void 0 : _a.baseAssetAmount) || index_1.ZERO;
167
+ baseAssetAmount = (0, index_1.calculateOrderBaseAssetAmount)(order, existingBaseAmount);
168
+ }
169
+ dlob.insertOrder(order, key, slot, protectedMaker, baseAssetAmount);
163
170
  }
164
171
  }
165
172
  return dlob;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WebsocketSubscription = void 0;
4
4
  const memcmp_1 = require("../memcmp");
5
- const webSocketProgramAccountSubscriber_1 = require("../accounts/programAccount/webSocketProgramAccountSubscriber");
5
+ const webSocketProgramAccountSubscriber_1 = require("../accounts/webSocketProgramAccountSubscriber");
6
6
  class WebsocketSubscription {
7
7
  constructor({ orderSubscriber, commitment, skipInitialLoad = false, resubOpts, resyncIntervalMs, decoded = true, }) {
8
8
  this.orderSubscriber = orderSubscriber;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.grpcSubscription = void 0;
4
- const grpcProgramAccountSubscriber_1 = require("../accounts/programAccount/grpcProgramAccountSubscriber");
4
+ const grpcProgramAccountSubscriber_1 = require("../accounts/grpcProgramAccountSubscriber");
5
5
  const memcmp_1 = require("../memcmp");
6
6
  class grpcSubscription {
7
7
  constructor({ grpcConfigs, orderSubscriber, skipInitialLoad = false, resubOpts, resyncIntervalMs, decoded = true, }) {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { Connection, PublicKey } from '@solana/web3.js';
3
- import { BulkAccountLoader } from '../accounts/bulkAccountLoader/bulkAccountLoader';
3
+ import { BulkAccountLoader } from '../accounts/bulkAccountLoader';
4
4
  import { Client, Market } from '@ellipsis-labs/phoenix-sdk';
5
5
  import { BN } from '@coral-xyz/anchor';
6
6
  import { L2Level, L2OrderBookGenerator } from '../dlob/orderBookLevels';
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { Connection, PublicKey } from '@solana/web3.js';
3
- import { BulkAccountLoader } from '../accounts/bulkAccountLoader/bulkAccountLoader';
3
+ import { BulkAccountLoader } from '../accounts/bulkAccountLoader';
4
4
  import { Market, Orderbook } from '@project-serum/serum';
5
5
  import { SerumMarketSubscriberConfig } from './types';
6
6
  import { BN } from '@coral-xyz/anchor';
@@ -1,5 +1,5 @@
1
1
  import { Connection, PublicKey } from '@solana/web3.js';
2
- import { BulkAccountLoader } from '../accounts/bulkAccountLoader/bulkAccountLoader';
2
+ import { BulkAccountLoader } from '../accounts/bulkAccountLoader';
3
3
  export type SerumMarketSubscriberConfig = {
4
4
  connection: Connection;
5
5
  programId: PublicKey;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { Commitment } from '@solana/web3.js';
4
- import { grpcProgramAccountSubscriber } from '../accounts/programAccount/grpcProgramAccountSubscriber';
4
+ import { grpcProgramAccountSubscriber } from '../accounts/grpcProgramAccountSubscriber';
5
5
  import { GrpcConfigs, ResubOpts } from '../accounts/types';
6
6
  import { SignedMsgUserOrdersAccount } from '../types';
7
7
  import { SignedMsgUserOrdersAccountSubscriber } from './signedMsgUserAccountSubscriber';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.grpcSignedMsgUserOrdersAccountSubscriber = void 0;
4
- const grpcProgramAccountSubscriber_1 = require("../accounts/programAccount/grpcProgramAccountSubscriber");
4
+ const grpcProgramAccountSubscriber_1 = require("../accounts/grpcProgramAccountSubscriber");
5
5
  const memcmp_1 = require("../memcmp");
6
6
  const signedMsgUserAccountSubscriber_1 = require("./signedMsgUserAccountSubscriber");
7
7
  class grpcSignedMsgUserOrdersAccountSubscriber extends signedMsgUserAccountSubscriber_1.SignedMsgUserOrdersAccountSubscriber {
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
- import { WebSocketProgramAccountSubscriber } from '../accounts/programAccount/webSocketProgramAccountSubscriber';
4
+ import { WebSocketProgramAccountSubscriber } from '../accounts/webSocketProgramAccountSubscriber';
5
5
  import { SignedMsgOrderId, SignedMsgUserOrdersAccount } from '../types';
6
6
  import { Commitment, PublicKey } from '@solana/web3.js';
7
7
  import { ResubOpts } from '../accounts/types';
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SignedMsgUserOrdersAccountSubscriber = void 0;
4
4
  const memcmp_1 = require("../memcmp");
5
- const webSocketProgramAccountSubscriber_1 = require("../accounts/programAccount/webSocketProgramAccountSubscriber");
5
+ const webSocketProgramAccountSubscriber_1 = require("../accounts/webSocketProgramAccountSubscriber");
6
6
  const events_1 = require("events");
7
7
  class SignedMsgUserOrdersAccountSubscriber {
8
8
  constructor({ driftClient, commitment, resubOpts, decodeFn, resyncIntervalMs, }) {
@@ -1,5 +1,5 @@
1
1
  import { DriftClient } from '../driftClient';
2
- import { DriftEnv } from '../config/types';
2
+ import { DriftEnv } from '../config';
3
3
  import { OptionalOrderParams, SignedMsgOrderParamsDelegateMessage, SignedMsgOrderParamsMessage, UserAccount } from '../types';
4
4
  import { Keypair, TransactionInstruction } from '@solana/web3.js';
5
5
  export interface AccountGetter {
@@ -18,6 +18,10 @@ export declare enum ExchangeStatus {
18
18
  AMM_IMMEDIATE_FILL_PAUSED = 128,
19
19
  PAUSED = 255
20
20
  }
21
+ export declare enum FeatureBitFlags {
22
+ MM_ORACLE_UPDATE = 1,
23
+ MEDIAN_TRIGGER_PRICE = 2
24
+ }
21
25
  export declare class MarketStatus {
22
26
  static readonly INITIALIZED: {
23
27
  initialized: {};
@@ -860,6 +864,7 @@ export type StateAccount = {
860
864
  initialPctToLiquidate: number;
861
865
  liquidationDuration: number;
862
866
  maxInitializeUserFee: number;
867
+ featureBitFlags: number;
863
868
  };
864
869
  export type PerpMarketAccount = {
865
870
  status: MarketStatus;
@@ -903,6 +908,7 @@ export type PerpMarketAccount = {
903
908
  highLeverageMarginRatioMaintenance: number;
904
909
  protectedMakerLimitPriceDivisor: number;
905
910
  protectedMakerDynamicDivisor: number;
911
+ lastFillPrice: BN;
906
912
  };
907
913
  export type HistoricalOracleData = {
908
914
  lastOraclePrice: BN;
@@ -1081,6 +1087,7 @@ export type AMM = {
1081
1087
  takerSpeedBumpOverride: number;
1082
1088
  ammSpreadAdjustment: number;
1083
1089
  ammInventorySpreadAdjustment: number;
1090
+ lastFundingOracleTwap: BN;
1084
1091
  };
1085
1092
  export type PerpPosition = {
1086
1093
  baseAssetAmount: BN;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SwapReduceOnly = exports.PlaceAndTakeOrderSuccessCondition = exports.FuelOverflowStatus = exports.ReferrerStatus = exports.DefaultOrderParams = exports.ModifyOrderPolicy = exports.OrderParamsBitFlag = exports.PostOnlyParams = exports.LiquidationType = exports.LPAction = exports.TradeSide = exports.getVariant = exports.isOneOfVariant = exports.isVariant = exports.SettlePnlMode = exports.StakeAction = exports.SpotFulfillmentConfigStatus = exports.SettlePnlExplanation = exports.DepositExplanation = exports.SpotFulfillmentStatus = exports.SpotFulfillmentType = exports.OrderTriggerCondition = exports.OrderActionExplanation = exports.OrderAction = exports.OrderBitFlag = exports.OrderStatus = exports.MarketType = exports.OrderType = exports.OracleSourceNum = exports.OracleSource = exports.DepositDirection = exports.PositionDirection = exports.SpotBalanceType = exports.SwapDirection = exports.TokenProgramFlag = exports.AssetTier = exports.ContractTier = exports.ContractType = exports.MarginMode = exports.UserStatus = exports.InsuranceFundOperation = exports.SpotOperation = exports.PerpOperation = exports.MarketStatus = exports.ExchangeStatus = void 0;
3
+ exports.SwapReduceOnly = exports.PlaceAndTakeOrderSuccessCondition = exports.FuelOverflowStatus = exports.ReferrerStatus = exports.DefaultOrderParams = exports.ModifyOrderPolicy = exports.OrderParamsBitFlag = exports.PostOnlyParams = exports.LiquidationType = exports.LPAction = exports.TradeSide = exports.getVariant = exports.isOneOfVariant = exports.isVariant = exports.SettlePnlMode = exports.StakeAction = exports.SpotFulfillmentConfigStatus = exports.SettlePnlExplanation = exports.DepositExplanation = exports.SpotFulfillmentStatus = exports.SpotFulfillmentType = exports.OrderTriggerCondition = exports.OrderActionExplanation = exports.OrderAction = exports.OrderBitFlag = exports.OrderStatus = exports.MarketType = exports.OrderType = exports.OracleSourceNum = exports.OracleSource = exports.DepositDirection = exports.PositionDirection = exports.SpotBalanceType = exports.SwapDirection = exports.TokenProgramFlag = exports.AssetTier = exports.ContractTier = exports.ContractType = exports.MarginMode = exports.UserStatus = exports.InsuranceFundOperation = exports.SpotOperation = exports.PerpOperation = exports.MarketStatus = exports.FeatureBitFlags = exports.ExchangeStatus = void 0;
4
4
  const numericConstants_1 = require("./constants/numericConstants");
5
5
  // # Utility Types / Enums / Constants
6
6
  var ExchangeStatus;
@@ -16,6 +16,11 @@ var ExchangeStatus;
16
16
  ExchangeStatus[ExchangeStatus["AMM_IMMEDIATE_FILL_PAUSED"] = 128] = "AMM_IMMEDIATE_FILL_PAUSED";
17
17
  ExchangeStatus[ExchangeStatus["PAUSED"] = 255] = "PAUSED";
18
18
  })(ExchangeStatus || (exports.ExchangeStatus = ExchangeStatus = {}));
19
+ var FeatureBitFlags;
20
+ (function (FeatureBitFlags) {
21
+ FeatureBitFlags[FeatureBitFlags["MM_ORACLE_UPDATE"] = 1] = "MM_ORACLE_UPDATE";
22
+ FeatureBitFlags[FeatureBitFlags["MEDIAN_TRIGGER_PRICE"] = 2] = "MEDIAN_TRIGGER_PRICE";
23
+ })(FeatureBitFlags || (exports.FeatureBitFlags = FeatureBitFlags = {}));
19
24
  class MarketStatus {
20
25
  }
21
26
  exports.MarketStatus = MarketStatus;
@@ -18,14 +18,14 @@ const orders_1 = require("./math/orders");
18
18
  const spotBalance_2 = require("./math/spotBalance");
19
19
  const amm_1 = require("./math/amm");
20
20
  const margin_2 = require("./math/margin");
21
- const pollingUserAccountSubscriber_1 = require("./accounts/userAccount/pollingUserAccountSubscriber");
22
- const webSocketUserAccountSubscriber_1 = require("./accounts/userAccount/webSocketUserAccountSubscriber");
21
+ const pollingUserAccountSubscriber_1 = require("./accounts/pollingUserAccountSubscriber");
22
+ const webSocketUserAccountSubscriber_1 = require("./accounts/webSocketUserAccountSubscriber");
23
23
  const spotPosition_1 = require("./math/spotPosition");
24
24
  const oracles_1 = require("./math/oracles");
25
25
  const tiers_1 = require("./math/tiers");
26
26
  const strictOraclePrice_1 = require("./oracles/strictOraclePrice");
27
27
  const fuel_1 = require("./math/fuel");
28
- const grpcUserAccountSubscriber_1 = require("./accounts/userAccount/grpcUserAccountSubscriber");
28
+ const grpcUserAccountSubscriber_1 = require("./accounts/grpcUserAccountSubscriber");
29
29
  class User {
30
30
  get isSubscribed() {
31
31
  return this._isSubscribed && this.accountSubscriber.isSubscribed;
@@ -1,6 +1,6 @@
1
1
  import { DriftClient } from './driftClient';
2
2
  import { Commitment, PublicKey } from '@solana/web3.js';
3
- import { BulkAccountLoader } from './accounts/bulkAccountLoader/bulkAccountLoader';
3
+ import { BulkAccountLoader } from './accounts/bulkAccountLoader';
4
4
  import { GrpcConfigs, UserAccountSubscriber } from './accounts/types';
5
5
  export type UserConfig = {
6
6
  accountSubscription?: UserSubscriptionConfig;
@@ -1,11 +1,11 @@
1
- import { UserMapInterface } from './types';
1
+ import { UserMap } from './userMap';
2
2
  export declare class PollingSubscription {
3
3
  private userMap;
4
4
  private frequency;
5
5
  private skipInitialLoad;
6
6
  intervalId?: ReturnType<typeof setTimeout>;
7
7
  constructor({ userMap, frequency, skipInitialLoad, }: {
8
- userMap: UserMapInterface;
8
+ userMap: UserMap;
9
9
  frequency: number;
10
10
  skipInitialLoad?: boolean;
11
11
  includeIdle?: boolean;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
+ import { UserMap } from './userMap';
3
4
  import { UserAccount } from '../types';
4
5
  import { Commitment, MemcmpFilter } from '@solana/web3.js';
5
6
  import { ResubOpts } from '../accounts/types';
6
- import { UserMapInterface } from './types';
7
7
  export declare class WebsocketSubscription {
8
8
  private userMap;
9
9
  private commitment;
@@ -14,7 +14,7 @@ export declare class WebsocketSubscription {
14
14
  private decodeFn;
15
15
  private subscriber;
16
16
  constructor({ userMap, commitment, skipInitialLoad, resubOpts, includeIdle, decodeFn, additionalFilters, }: {
17
- userMap: UserMapInterface;
17
+ userMap: UserMap;
18
18
  commitment: Commitment;
19
19
  skipInitialLoad?: boolean;
20
20
  resubOpts?: ResubOpts;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WebsocketSubscription = void 0;
4
4
  const memcmp_1 = require("../memcmp");
5
- const webSocketProgramAccountSubscriber_1 = require("../accounts/programAccount/webSocketProgramAccountSubscriber");
5
+ const webSocketProgramAccountSubscriber_1 = require("../accounts/webSocketProgramAccountSubscriber");
6
6
  class WebsocketSubscription {
7
7
  constructor({ userMap, commitment, skipInitialLoad = false, resubOpts, includeIdle = false, decodeFn, additionalFilters = undefined, }) {
8
8
  this.userMap = userMap;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
+ import { UserMap } from './userMap';
3
4
  import { UserAccount } from '../types';
4
5
  import { MemcmpFilter } from '@solana/web3.js';
5
6
  import { GrpcConfigs, ResubOpts } from '../accounts/types';
6
- import { UserMapInterface } from './types';
7
7
  export declare class grpcSubscription {
8
8
  private grpcConfigs;
9
9
  private userMap;
@@ -15,7 +15,7 @@ export declare class grpcSubscription {
15
15
  private subscriber;
16
16
  constructor({ grpcConfigs, userMap, skipInitialLoad, resubOpts, includeIdle, decodeFn, additionalFilters, }: {
17
17
  grpcConfigs: GrpcConfigs;
18
- userMap: UserMapInterface;
18
+ userMap: UserMap;
19
19
  skipInitialLoad?: boolean;
20
20
  resubOpts?: ResubOpts;
21
21
  includeIdle?: boolean;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.grpcSubscription = void 0;
4
4
  const memcmp_1 = require("../memcmp");
5
- const grpcProgramAccountSubscriber_1 = require("../accounts/programAccount/grpcProgramAccountSubscriber");
5
+ const grpcProgramAccountSubscriber_1 = require("../accounts/grpcProgramAccountSubscriber");
6
6
  class grpcSubscription {
7
7
  constructor({ grpcConfigs, userMap, skipInitialLoad = false, resubOpts, includeIdle = false, decodeFn, additionalFilters = undefined, }) {
8
8
  this.userMap = userMap;
@@ -5,14 +5,29 @@ import { UserAccount, OrderRecord } from '../types';
5
5
  import { WrappedEvent } from '../events/types';
6
6
  import { DLOB } from '../dlob/DLOB';
7
7
  import { UserSubscriptionConfig } from '../userConfig';
8
- import { DataAndSlot } from '../accounts/types';
8
+ import { DataAndSlot, UserEvents } from '../accounts/types';
9
9
  import { ProtectMakerParamsMap } from '../dlob/types';
10
10
  import { PublicKey } from '@solana/web3.js';
11
11
  import { UserAccountFilterCriteria as UserFilterCriteria, UserMapConfig } from './userMapConfig';
12
12
  import StrictEventEmitter from 'strict-event-emitter-types';
13
13
  import { EventEmitter } from 'events';
14
- import { UserEvents } from './events';
15
- import { UserMapInterface } from './types';
14
+ export interface UserMapInterface {
15
+ eventEmitter: StrictEventEmitter<EventEmitter, UserEvents>;
16
+ subscribe(): Promise<void>;
17
+ unsubscribe(): Promise<void>;
18
+ addPubkey(userAccountPublicKey: PublicKey, userAccount?: UserAccount, slot?: number, accountSubscription?: UserSubscriptionConfig): Promise<void>;
19
+ has(key: string): boolean;
20
+ get(key: string): User | undefined;
21
+ getWithSlot(key: string): DataAndSlot<User> | undefined;
22
+ mustGet(key: string, accountSubscription?: UserSubscriptionConfig): Promise<User>;
23
+ mustGetWithSlot(key: string, accountSubscription?: UserSubscriptionConfig): Promise<DataAndSlot<User>>;
24
+ getUserAuthority(key: string): PublicKey | undefined;
25
+ updateWithOrderRecord(record: OrderRecord): Promise<void>;
26
+ values(): IterableIterator<User>;
27
+ valuesWithSlot(): IterableIterator<DataAndSlot<User>>;
28
+ entries(): IterableIterator<[string, User]>;
29
+ entriesWithSlot(): IterableIterator<[string, DataAndSlot<User>]>;
30
+ }
16
31
  export declare class UserMap implements UserMapInterface {
17
32
  private userMap;
18
33
  driftClient: DriftClient;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserMap = void 0;
4
4
  const user_1 = require("../user");
5
5
  const DLOB_1 = require("../dlob/DLOB");
6
- const oneShotUserAccountSubscriber_1 = require("../accounts/userAccount/oneShotUserAccountSubscriber");
6
+ const oneShotUserAccountSubscriber_1 = require("../accounts/oneShotUserAccountSubscriber");
7
7
  const web3_js_1 = require("@solana/web3.js");
8
8
  const buffer_1 = require("buffer");
9
9
  const zstddec_1 = require("zstddec");
@@ -2,7 +2,7 @@ import { DriftClient } from '../driftClient';
2
2
  import { OrderRecord, UserStatsAccount } from '../types';
3
3
  import { UserStats } from '../userStats';
4
4
  import { WrappedEvent } from '../events/types';
5
- import { BulkAccountLoader } from '../accounts/bulkAccountLoader/bulkAccountLoader';
5
+ import { BulkAccountLoader } from '../accounts/bulkAccountLoader';
6
6
  import { SyncConfig } from './userMapConfig';
7
7
  import { PublicKey } from '@solana/web3.js';
8
8
  import { UserMap } from './userMap';
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserStatsMap = void 0;
4
4
  const pda_1 = require("../addresses/pda");
5
5
  const userStats_1 = require("../userStats");
6
- const bulkAccountLoader_1 = require("../accounts/bulkAccountLoader/bulkAccountLoader");
6
+ const bulkAccountLoader_1 = require("../accounts/bulkAccountLoader");
7
7
  const memcmp_1 = require("../memcmp");
8
8
  const web3_js_1 = require("@solana/web3.js");
9
9
  class UserStatsMap {
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserStats = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
- const pollingUserStatsAccountSubscriber_1 = require("./accounts/userStatsAccount/pollingUserStatsAccountSubscriber");
6
- const webSocketUserStatsAccountSubsriber_1 = require("./accounts/userStatsAccount/webSocketUserStatsAccountSubsriber");
5
+ const pollingUserStatsAccountSubscriber_1 = require("./accounts/pollingUserStatsAccountSubscriber");
6
+ const webSocketUserStatsAccountSubsriber_1 = require("./accounts/webSocketUserStatsAccountSubsriber");
7
7
  const pda_1 = require("./addresses/pda");
8
- const grpcUserStatsAccountSubscriber_1 = require("./accounts/userStatsAccount/grpcUserStatsAccountSubscriber");
8
+ const grpcUserStatsAccountSubscriber_1 = require("./accounts/grpcUserStatsAccountSubscriber");
9
9
  const numericConstants_1 = require("./constants/numericConstants");
10
10
  const numericConstants_2 = require("./constants/numericConstants");
11
11
  const numericConstants_3 = require("./constants/numericConstants");
@@ -1,6 +1,6 @@
1
1
  import { DriftClient } from './driftClient';
2
2
  import { Commitment, PublicKey } from '@solana/web3.js';
3
- import { BulkAccountLoader } from './accounts/bulkAccountLoader/bulkAccountLoader';
3
+ import { BulkAccountLoader } from './accounts/bulkAccountLoader';
4
4
  import { GrpcConfigs } from './accounts/types';
5
5
  export type UserStatsConfig = {
6
6
  accountSubscription?: UserStatsSubscriptionConfig;
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
- import { DataAndSlot, UserAccountEvents, UserAccountSubscriber } from '../types';
2
+ import { DataAndSlot, UserAccountEvents, UserAccountSubscriber } from './types';
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import StrictEventEmitter from 'strict-event-emitter-types';
5
5
  import { EventEmitter } from 'events';
6
- import { UserAccount } from '../../types';
6
+ import { UserAccount } from '../types';
7
7
  /**
8
8
  * Basic implementation of UserAccountSubscriber. It will only take in UserAccount
9
9
  * data during initialization and will not fetch or subscribe to updates.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicUserAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/accounts/basicUserAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,qBAAqB;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAClE,oBAAoB,EAAE,SAAS,CAAC;IAEhC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;gBAG9B,oBAAoB,EAAE,SAAS,EAC/B,IAAI,CAAC,EAAE,WAAW,EAClB,IAAI,CAAC,EAAE,MAAM;IAQR,SAAS,CAAC,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAEnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE5B,gBAAgB,IAAI,OAAO;IAIrB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAElC,kBAAkB,IAAI,IAAI;IAEnB,qBAAqB,IAAI,WAAW,CAAC,WAAW,CAAC;IAIjD,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAO/D"}
@@ -1,8 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { Commitment, PublicKey } from '@solana/web3.js';
4
- import { BufferAndSlot } from '../types';
5
- import { Connection } from '../../bankrun/bankrunConnection';
4
+ import { BufferAndSlot } from './types';
5
+ import { Connection } from '../bankrun/bankrunConnection';
6
6
  export type AccountToLoad = {
7
7
  publicKey: PublicKey;
8
8
  callbacks: Map<string, (buffer: Buffer, slot: number) => void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulkAccountLoader.d.ts","sourceRoot":"","sources":["../../../src/accounts/bulkAccountLoader.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,MAAM,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;CAC/D,CAAC;AAIF,qBAAa,iBAAiB;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,6BAAoC;IAClD,gBAAgB,6BAAoC;IACpD,cAAc,0BAA0B,IAAI,EAAI;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE3C,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,6BAA6B,SAAc;IAC3C,cAAc,SAAK;gBAGlB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,MAAM;IAOZ,UAAU,CACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC9C,OAAO,CAAC,MAAM,CAAC;IAkCX,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAe7D,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM;IAM3D,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIrD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE;IAOtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC5B,SAAS,CAAC,oBAAoB,EAAE,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsFvE,sBAAsB,CACrB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACV,IAAI;IAgBA,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS;IAIjE,OAAO,IAAI,MAAM;IAIjB,YAAY,IAAI,IAAI;IAYpB,WAAW,IAAI,IAAI;IAOnB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;CAO7D"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BulkAccountLoader = void 0;
4
4
  const uuid_1 = require("uuid");
5
- const promiseTimeout_1 = require("../../util/promiseTimeout");
6
- const numericConstants_1 = require("../../constants/numericConstants");
5
+ const promiseTimeout_1 = require("../util/promiseTimeout");
6
+ const numericConstants_1 = require("../constants/numericConstants");
7
7
  const oneMinute = 60 * 1000;
8
8
  class BulkAccountLoader {
9
9
  constructor(connection, commitment, pollingFrequency) {
@@ -1,5 +1,5 @@
1
1
  import { UserStats } from '../userStats';
2
- import { BulkAccountLoader } from './bulkAccountLoader/bulkAccountLoader';
2
+ import { BulkAccountLoader } from './bulkAccountLoader';
3
3
  /**
4
4
  * @param userStats
5
5
  * @param accountLoader
@@ -1 +1 @@
1
- {"version":3,"file":"bulkUserStatsSubscription.d.ts","sourceRoot":"","sources":["../../../src/accounts/bulkUserStatsSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E;;;GAGG;AACH,wBAAsB,6BAA6B,CAClD,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"bulkUserStatsSubscription.d.ts","sourceRoot":"","sources":["../../../src/accounts/bulkUserStatsSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;GAGG;AACH,wBAAsB,6BAA6B,CAClD,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -1,5 +1,5 @@
1
1
  import { User } from '../user';
2
- import { BulkAccountLoader } from './bulkAccountLoader/bulkAccountLoader';
2
+ import { BulkAccountLoader } from './bulkAccountLoader';
3
3
  /**
4
4
  * @param users
5
5
  * @param accountLoader
@@ -1 +1 @@
1
- {"version":3,"file":"bulkUserSubscription.d.ts","sourceRoot":"","sources":["../../../src/accounts/bulkUserSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG1E;;;GAGG;AACH,wBAAsB,wBAAwB,CAC7C,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqBf"}
1
+ {"version":3,"file":"bulkUserSubscription.d.ts","sourceRoot":"","sources":["../../../src/accounts/bulkUserSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC7C,KAAK,EAAE,IAAI,EAAE,EACb,aAAa,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customizedCadenceBulkAccountLoader.d.ts","sourceRoot":"","sources":["../../../src/accounts/customizedCadenceBulkAccountLoader.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGpE,qBAAa,kCAAmC,SAAQ,iBAAiB;IACxE,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,uBAAuB,CAAgB;IAC/C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,uBAAuB,CAAS;gBAGvC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,uBAAuB,EAAE,MAAM;IAUhC,OAAO,CAAC,iBAAiB;IAwBZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAIpB,oBAAoB;IAiBlC;;;;;OAKG;IACI,yBAAyB,CAC/B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,GAClB,IAAI;IAOP,OAAO,CAAC,sBAAsB;IAW9B;;;;;;;;;;;;;;OAcG;IACU,UAAU,CACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EAChD,sBAAsB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,MAAM,CAAC;IAmCX,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAuB7D,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI;IAKtD,YAAY,IAAI,IAAI;IAmBpB,WAAW,IAAI,IAAI;IAWnB,uBAAuB,IAAI,IAAI;CAGtC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomizedCadenceBulkAccountLoader = void 0;
4
- const numericConstants_1 = require("../../constants/numericConstants");
4
+ const numericConstants_1 = require("../constants/numericConstants");
5
5
  const bulkAccountLoader_1 = require("./bulkAccountLoader");
6
6
  const uuid_1 = require("uuid");
7
7
  class CustomizedCadenceBulkAccountLoader extends bulkAccountLoader_1.BulkAccountLoader {
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { ResubOpts, GrpcConfigs } from '../types';
3
+ import { ResubOpts, GrpcConfigs } from './types';
4
4
  import { Program } from '@coral-xyz/anchor';
5
5
  import { PublicKey } from '@solana/web3.js';
6
6
  import { WebSocketAccountSubscriber } from './webSocketAccountSubscriber';
@@ -9,6 +9,7 @@ export declare class grpcAccountSubscriber<T> extends WebSocketAccountSubscriber
9
9
  private stream;
10
10
  private commitmentLevel;
11
11
  listenerId?: number;
12
+ private enableReconnect;
12
13
  private constructor();
13
14
  static create<U>(grpcConfigs: GrpcConfigs, accountName: string, program: Program, accountPublicKey: PublicKey, decodeBuffer?: (buffer: Buffer) => U, resubOpts?: ResubOpts): Promise<grpcAccountSubscriber<U>>;
14
15
  subscribe(onChange: (data: T) => void): Promise<void>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpcAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/accounts/grpcAccountSubscriber.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAU1E,qBAAa,qBAAqB,CAAC,CAAC,CAAE,SAAQ,0BAA0B,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAwD;IACtE,OAAO,CAAC,eAAe,CAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO;WAgBa,MAAM,CAAC,CAAC,EAC3B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,SAAS,EAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EACpC,SAAS,CAAC,EAAE,SAAS,GACnB,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAsBrB,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsGrD,WAAW,CAAC,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC1D"}