@drift-labs/sdk 2.162.0-beta.2 → 2.163.0-beta.9

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 (500) hide show
  1. package/.prettierignore +1 -0
  2. package/.yarn/install-state.gz +0 -0
  3. package/README.md +2 -2
  4. package/VERSION +1 -1
  5. package/bun.lock +47 -79
  6. package/lib/browser/accounts/fetch.d.ts +6 -6
  7. package/lib/browser/accounts/fetch.js +4 -4
  8. package/lib/browser/accounts/grpcAccountSubscriber.d.ts +2 -2
  9. package/lib/browser/accounts/grpcDriftClientAccountSubscriber.d.ts +2 -2
  10. package/lib/browser/accounts/grpcDriftClientAccountSubscriberV2.d.ts +3 -3
  11. package/lib/browser/accounts/grpcDriftClientAccountSubscriberV2.js +2 -2
  12. package/lib/browser/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +2 -2
  13. package/lib/browser/accounts/grpcMultiAccountSubscriber.d.ts +2 -2
  14. package/lib/browser/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -2
  15. package/lib/browser/accounts/grpcProgramAccountSubscriber.d.ts +2 -2
  16. package/lib/browser/accounts/grpcUserAccountSubscriber.d.ts +2 -2
  17. package/lib/browser/accounts/grpcUserStatsAccountSubscriber.d.ts +2 -2
  18. package/lib/browser/accounts/laserProgramAccountSubscriber.d.ts +2 -2
  19. package/lib/browser/accounts/oneShotUserAccountSubscriber.d.ts +3 -3
  20. package/lib/browser/accounts/oneShotUserStatsAccountSubscriber.d.ts +3 -3
  21. package/lib/browser/accounts/pollingDriftClientAccountSubscriber.d.ts +3 -3
  22. package/lib/browser/accounts/pollingDriftClientAccountSubscriber.js +2 -2
  23. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +3 -3
  24. package/lib/browser/accounts/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
  25. package/lib/browser/accounts/pollingOracleAccountSubscriber.d.ts +2 -2
  26. package/lib/browser/accounts/pollingTokenAccountSubscriber.d.ts +2 -2
  27. package/lib/browser/accounts/pollingUserAccountSubscriber.js +2 -2
  28. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.d.ts +3 -3
  29. package/lib/browser/accounts/pollingUserStatsAccountSubscriber.js +1 -1
  30. package/lib/browser/accounts/testBulkAccountLoader.js +3 -5
  31. package/lib/browser/accounts/types.d.ts +11 -14
  32. package/lib/browser/accounts/webSocketAccountSubscriber.d.ts +3 -3
  33. package/lib/browser/accounts/webSocketAccountSubscriber.js +1 -2
  34. package/lib/browser/accounts/webSocketAccountSubscriberV2.d.ts +3 -3
  35. package/lib/browser/accounts/webSocketDriftClientAccountSubscriber.d.ts +5 -5
  36. package/lib/browser/accounts/webSocketDriftClientAccountSubscriber.js +2 -2
  37. package/lib/browser/accounts/webSocketDriftClientAccountSubscriberV2.d.ts +3 -3
  38. package/lib/browser/accounts/webSocketDriftClientAccountSubscriberV2.js +2 -2
  39. package/lib/browser/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +3 -3
  40. package/lib/browser/accounts/webSocketProgramAccountSubscriber.d.ts +3 -3
  41. package/lib/browser/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -3
  42. package/lib/browser/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -3
  43. package/lib/browser/accounts/webSocketUserAccountSubscriber.d.ts +3 -3
  44. package/lib/browser/accounts/webSocketUserStatsAccountSubsriber.d.ts +3 -3
  45. package/lib/browser/accounts/websocketProgramUserAccountSubscriber.d.ts +2 -2
  46. package/lib/browser/addresses/pda.d.ts +6 -2
  47. package/lib/browser/addresses/pda.js +7 -12
  48. package/lib/browser/adminClient.d.ts +11 -9
  49. package/lib/browser/adminClient.js +30 -72
  50. package/lib/browser/auctionSubscriber/auctionSubscriber.js +1 -1
  51. package/lib/browser/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
  52. package/lib/browser/config.d.ts +7 -3
  53. package/lib/browser/config.js +9 -7
  54. package/lib/browser/constants/index.d.ts +5 -0
  55. package/lib/browser/constants/index.js +5 -0
  56. package/lib/browser/constants/numericConstants.d.ts +1 -1
  57. package/lib/browser/constants/numericConstants.js +3 -3
  58. package/lib/browser/constants/perpMarkets.js +3 -412
  59. package/lib/browser/constants/spotMarkets.js +7 -91
  60. package/lib/browser/constituentMap/constituentMap.js +2 -2
  61. package/lib/browser/constituentMap/pollingConstituentAccountSubscriber.d.ts +3 -3
  62. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.d.ts +3 -3
  63. package/lib/browser/constituentMap/webSocketConstituentAccountSubscriber.js +1 -1
  64. package/lib/browser/decode/customCoder.d.ts +7 -9
  65. package/lib/browser/decode/customCoder.js +17 -28
  66. package/lib/browser/decode/user.js +7 -25
  67. package/lib/browser/dlob/DLOB.d.ts +12 -0
  68. package/lib/browser/dlob/DLOB.js +12 -0
  69. package/lib/browser/dlob/orderBookLevels.js +1 -1
  70. package/lib/browser/driftClient.d.ts +32 -59
  71. package/lib/browser/driftClient.js +85 -562
  72. package/lib/browser/driftClientConfig.d.ts +7 -0
  73. package/lib/browser/events/eventSubscriber.d.ts +8 -0
  74. package/lib/browser/events/eventSubscriber.js +5 -2
  75. package/lib/browser/events/parse.d.ts +1 -1
  76. package/lib/browser/factory/oracleClient.d.ts +2 -2
  77. package/lib/browser/factory/oracleClient.js +9 -21
  78. package/lib/browser/idl/drift.d.ts +25708 -0
  79. package/lib/browser/idl/drift.js +2 -0
  80. package/lib/browser/idl/drift.json +20850 -15287
  81. package/lib/browser/idl/pyth.d.ts +97 -0
  82. package/lib/browser/idl/pyth.js +2 -0
  83. package/lib/browser/idl/token_faucet.d.ts +197 -0
  84. package/lib/browser/idl/token_faucet.js +2 -0
  85. package/lib/browser/idl/token_faucet.json +148 -61
  86. package/lib/browser/index.d.ts +13 -6
  87. package/lib/browser/index.js +12 -5
  88. package/lib/browser/marinade/index.d.ts +1 -1
  89. package/lib/browser/marinade/index.js +2 -2
  90. package/lib/browser/math/amm.d.ts +4 -5
  91. package/lib/browser/math/amm.js +8 -35
  92. package/lib/browser/math/funding.js +6 -1
  93. package/lib/browser/math/margin.d.ts +3 -4
  94. package/lib/browser/math/margin.js +16 -47
  95. package/lib/browser/math/market.d.ts +2 -2
  96. package/lib/browser/math/market.js +10 -42
  97. package/lib/browser/math/oracles.js +14 -19
  98. package/lib/browser/math/position.js +1 -1
  99. package/lib/browser/math/trade.js +4 -4
  100. package/lib/browser/memcmp.js +8 -8
  101. package/lib/browser/openbook/openbookV2Subscriber.d.ts +1 -1
  102. package/lib/browser/openbook/openbookV2Subscriber.js +3 -3
  103. package/lib/browser/oracles/oracleClientCache.d.ts +2 -2
  104. package/lib/browser/oracles/prelaunchOracleClient.d.ts +2 -2
  105. package/lib/browser/oracles/prelaunchOracleClient.js +1 -1
  106. package/lib/browser/oracles/pythLazerClient.js +3 -5
  107. package/lib/browser/oracles/types.d.ts +6 -0
  108. package/lib/browser/orderParams.d.ts +0 -1
  109. package/lib/browser/orderParams.js +1 -5
  110. package/lib/browser/orderSubscriber/OrderSubscriber.js +3 -4
  111. package/lib/browser/orderSubscriber/WebsocketSubscription.js +1 -1
  112. package/lib/browser/orderSubscriber/grpcSubscription.js +2 -2
  113. package/lib/browser/orderSubscriber/index.d.ts +5 -0
  114. package/lib/browser/orderSubscriber/index.js +5 -0
  115. package/lib/browser/priorityFee/index.d.ts +5 -0
  116. package/lib/browser/priorityFee/index.js +5 -0
  117. package/lib/browser/pyth/index.d.ts +2 -2
  118. package/lib/browser/pyth/types.d.ts +1 -1
  119. package/lib/browser/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
  120. package/lib/browser/swift/index.d.ts +7 -0
  121. package/lib/browser/swift/index.js +7 -0
  122. package/lib/browser/swift/signedMsgUserAccountSubscriber.js +4 -3
  123. package/lib/browser/tokenFaucet.d.ts +2 -2
  124. package/lib/browser/tokenFaucet.js +4 -4
  125. package/lib/browser/tx/txHandler.d.ts +12 -0
  126. package/lib/browser/tx/txHandler.js +12 -0
  127. package/lib/browser/types.d.ts +19 -31
  128. package/lib/browser/types.js +6 -11
  129. package/lib/browser/user.d.ts +27 -18
  130. package/lib/browser/user.js +64 -100
  131. package/lib/browser/userMap/WebsocketSubscription.js +1 -1
  132. package/lib/browser/userMap/grpcSubscription.js +1 -1
  133. package/lib/browser/userMap/revenueShareEscrowMap.js +4 -4
  134. package/lib/browser/userMap/userMap.js +4 -5
  135. package/lib/browser/userMap/userStatsMap.js +2 -3
  136. package/lib/browser/userStats.d.ts +5 -0
  137. package/lib/node/accounts/fetch.d.ts +6 -6
  138. package/lib/node/accounts/fetch.d.ts.map +1 -1
  139. package/lib/node/accounts/fetch.js +4 -4
  140. package/lib/node/accounts/grpcAccountSubscriber.d.ts +2 -2
  141. package/lib/node/accounts/grpcAccountSubscriber.d.ts.map +1 -1
  142. package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts +2 -2
  143. package/lib/node/accounts/grpcDriftClientAccountSubscriber.d.ts.map +1 -1
  144. package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.d.ts +3 -3
  145. package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.d.ts.map +1 -1
  146. package/lib/node/accounts/grpcDriftClientAccountSubscriberV2.js +2 -2
  147. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts +2 -2
  148. package/lib/node/accounts/grpcInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  149. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts +2 -2
  150. package/lib/node/accounts/grpcMultiAccountSubscriber.d.ts.map +1 -1
  151. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts +2 -2
  152. package/lib/node/accounts/grpcMultiUserAccountSubscriber.d.ts.map +1 -1
  153. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts +2 -2
  154. package/lib/node/accounts/grpcProgramAccountSubscriber.d.ts.map +1 -1
  155. package/lib/node/accounts/grpcUserAccountSubscriber.d.ts +2 -2
  156. package/lib/node/accounts/grpcUserAccountSubscriber.d.ts.map +1 -1
  157. package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts +2 -2
  158. package/lib/node/accounts/grpcUserStatsAccountSubscriber.d.ts.map +1 -1
  159. package/lib/node/accounts/laserProgramAccountSubscriber.d.ts +2 -2
  160. package/lib/node/accounts/laserProgramAccountSubscriber.d.ts.map +1 -1
  161. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts +3 -3
  162. package/lib/node/accounts/oneShotUserAccountSubscriber.d.ts.map +1 -1
  163. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts +3 -3
  164. package/lib/node/accounts/oneShotUserStatsAccountSubscriber.d.ts.map +1 -1
  165. package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts +3 -3
  166. package/lib/node/accounts/pollingDriftClientAccountSubscriber.d.ts.map +1 -1
  167. package/lib/node/accounts/pollingDriftClientAccountSubscriber.js +2 -2
  168. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts +3 -3
  169. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  170. package/lib/node/accounts/pollingInsuranceFundStakeAccountSubscriber.js +1 -1
  171. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts +2 -2
  172. package/lib/node/accounts/pollingOracleAccountSubscriber.d.ts.map +1 -1
  173. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts +2 -2
  174. package/lib/node/accounts/pollingTokenAccountSubscriber.d.ts.map +1 -1
  175. package/lib/node/accounts/pollingUserAccountSubscriber.js +2 -2
  176. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts +3 -3
  177. package/lib/node/accounts/pollingUserStatsAccountSubscriber.d.ts.map +1 -1
  178. package/lib/node/accounts/pollingUserStatsAccountSubscriber.js +1 -1
  179. package/lib/node/accounts/testBulkAccountLoader.d.ts.map +1 -1
  180. package/lib/node/accounts/testBulkAccountLoader.js +3 -5
  181. package/lib/node/accounts/types.d.ts +11 -14
  182. package/lib/node/accounts/types.d.ts.map +1 -1
  183. package/lib/node/accounts/webSocketAccountSubscriber.d.ts +3 -3
  184. package/lib/node/accounts/webSocketAccountSubscriber.d.ts.map +1 -1
  185. package/lib/node/accounts/webSocketAccountSubscriber.js +1 -2
  186. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts +3 -3
  187. package/lib/node/accounts/webSocketAccountSubscriberV2.d.ts.map +1 -1
  188. package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts +5 -5
  189. package/lib/node/accounts/webSocketDriftClientAccountSubscriber.d.ts.map +1 -1
  190. package/lib/node/accounts/webSocketDriftClientAccountSubscriber.js +2 -2
  191. package/lib/node/accounts/webSocketDriftClientAccountSubscriberV2.d.ts +3 -3
  192. package/lib/node/accounts/webSocketDriftClientAccountSubscriberV2.d.ts.map +1 -1
  193. package/lib/node/accounts/webSocketDriftClientAccountSubscriberV2.js +2 -2
  194. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts +3 -3
  195. package/lib/node/accounts/webSocketInsuranceFundStakeAccountSubscriber.d.ts.map +1 -1
  196. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts +3 -3
  197. package/lib/node/accounts/webSocketProgramAccountSubscriber.d.ts.map +1 -1
  198. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts +3 -3
  199. package/lib/node/accounts/webSocketProgramAccountSubscriberV2.d.ts.map +1 -1
  200. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts +3 -3
  201. package/lib/node/accounts/webSocketProgramAccountsSubscriberV2.d.ts.map +1 -1
  202. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts +3 -3
  203. package/lib/node/accounts/webSocketUserAccountSubscriber.d.ts.map +1 -1
  204. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts +3 -3
  205. package/lib/node/accounts/webSocketUserStatsAccountSubsriber.d.ts.map +1 -1
  206. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts +2 -2
  207. package/lib/node/accounts/websocketProgramUserAccountSubscriber.d.ts.map +1 -1
  208. package/lib/node/addresses/pda.d.ts +6 -2
  209. package/lib/node/addresses/pda.d.ts.map +1 -1
  210. package/lib/node/addresses/pda.js +7 -12
  211. package/lib/node/adminClient.d.ts +11 -9
  212. package/lib/node/adminClient.d.ts.map +1 -1
  213. package/lib/node/adminClient.js +30 -72
  214. package/lib/node/auctionSubscriber/auctionSubscriber.d.ts.map +1 -1
  215. package/lib/node/auctionSubscriber/auctionSubscriber.js +1 -1
  216. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.d.ts.map +1 -1
  217. package/lib/node/auctionSubscriber/auctionSubscriberGrpc.js +1 -1
  218. package/lib/node/config.d.ts +7 -3
  219. package/lib/node/config.d.ts.map +1 -1
  220. package/lib/node/config.js +9 -7
  221. package/lib/node/constants/index.d.ts +5 -0
  222. package/lib/node/constants/index.d.ts.map +1 -1
  223. package/lib/node/constants/index.js +5 -0
  224. package/lib/node/constants/numericConstants.d.ts +1 -1
  225. package/lib/node/constants/numericConstants.d.ts.map +1 -1
  226. package/lib/node/constants/numericConstants.js +3 -3
  227. package/lib/node/constants/perpMarkets.d.ts.map +1 -1
  228. package/lib/node/constants/perpMarkets.js +3 -412
  229. package/lib/node/constants/spotMarkets.d.ts.map +1 -1
  230. package/lib/node/constants/spotMarkets.js +7 -91
  231. package/lib/node/constituentMap/constituentMap.d.ts.map +1 -1
  232. package/lib/node/constituentMap/constituentMap.js +2 -2
  233. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts +3 -3
  234. package/lib/node/constituentMap/pollingConstituentAccountSubscriber.d.ts.map +1 -1
  235. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts +3 -3
  236. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.d.ts.map +1 -1
  237. package/lib/node/constituentMap/webSocketConstituentAccountSubscriber.js +1 -1
  238. package/lib/node/decode/customCoder.d.ts +7 -9
  239. package/lib/node/decode/customCoder.d.ts.map +1 -1
  240. package/lib/node/decode/customCoder.js +17 -28
  241. package/lib/node/decode/user.d.ts.map +1 -1
  242. package/lib/node/decode/user.js +7 -25
  243. package/lib/node/dlob/DLOB.d.ts +12 -0
  244. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  245. package/lib/node/dlob/DLOB.js +12 -0
  246. package/lib/node/dlob/orderBookLevels.d.ts.map +1 -1
  247. package/lib/node/dlob/orderBookLevels.js +1 -1
  248. package/lib/node/driftClient.d.ts +32 -59
  249. package/lib/node/driftClient.d.ts.map +1 -1
  250. package/lib/node/driftClient.js +85 -562
  251. package/lib/node/driftClientConfig.d.ts +7 -0
  252. package/lib/node/driftClientConfig.d.ts.map +1 -1
  253. package/lib/node/events/eventSubscriber.d.ts +8 -0
  254. package/lib/node/events/eventSubscriber.d.ts.map +1 -1
  255. package/lib/node/events/eventSubscriber.js +5 -2
  256. package/lib/node/events/parse.d.ts +1 -1
  257. package/lib/node/events/parse.d.ts.map +1 -1
  258. package/lib/node/factory/oracleClient.d.ts +2 -2
  259. package/lib/node/factory/oracleClient.d.ts.map +1 -1
  260. package/lib/node/factory/oracleClient.js +9 -21
  261. package/lib/node/idl/drift.d.ts +25709 -0
  262. package/lib/node/idl/drift.d.ts.map +1 -0
  263. package/lib/node/idl/drift.js +2 -0
  264. package/lib/node/idl/drift.json +20850 -15287
  265. package/lib/node/idl/pyth.d.ts +98 -0
  266. package/lib/node/idl/pyth.d.ts.map +1 -0
  267. package/lib/node/idl/pyth.js +2 -0
  268. package/lib/node/idl/token_faucet.d.ts +198 -0
  269. package/lib/node/idl/token_faucet.d.ts.map +1 -0
  270. package/lib/node/idl/token_faucet.js +2 -0
  271. package/lib/node/idl/token_faucet.json +148 -61
  272. package/lib/node/index.d.ts +13 -6
  273. package/lib/node/index.d.ts.map +1 -1
  274. package/lib/node/index.js +12 -5
  275. package/lib/node/marinade/index.d.ts +1 -1
  276. package/lib/node/marinade/index.d.ts.map +1 -1
  277. package/lib/node/marinade/index.js +2 -2
  278. package/lib/node/math/amm.d.ts +4 -5
  279. package/lib/node/math/amm.d.ts.map +1 -1
  280. package/lib/node/math/amm.js +8 -35
  281. package/lib/node/math/funding.d.ts.map +1 -1
  282. package/lib/node/math/funding.js +6 -1
  283. package/lib/node/math/margin.d.ts +3 -4
  284. package/lib/node/math/margin.d.ts.map +1 -1
  285. package/lib/node/math/margin.js +16 -47
  286. package/lib/node/math/market.d.ts +2 -2
  287. package/lib/node/math/market.d.ts.map +1 -1
  288. package/lib/node/math/market.js +10 -42
  289. package/lib/node/math/oracles.d.ts.map +1 -1
  290. package/lib/node/math/oracles.js +14 -19
  291. package/lib/node/math/position.d.ts.map +1 -1
  292. package/lib/node/math/position.js +1 -1
  293. package/lib/node/math/trade.d.ts.map +1 -1
  294. package/lib/node/math/trade.js +4 -4
  295. package/lib/node/memcmp.js +8 -8
  296. package/lib/node/openbook/openbookV2Subscriber.d.ts +1 -1
  297. package/lib/node/openbook/openbookV2Subscriber.d.ts.map +1 -1
  298. package/lib/node/openbook/openbookV2Subscriber.js +3 -3
  299. package/lib/node/oracles/oracleClientCache.d.ts +2 -2
  300. package/lib/node/oracles/oracleClientCache.d.ts.map +1 -1
  301. package/lib/node/oracles/prelaunchOracleClient.d.ts +2 -2
  302. package/lib/node/oracles/prelaunchOracleClient.d.ts.map +1 -1
  303. package/lib/node/oracles/prelaunchOracleClient.js +1 -1
  304. package/lib/node/oracles/pythLazerClient.d.ts.map +1 -1
  305. package/lib/node/oracles/pythLazerClient.js +3 -5
  306. package/lib/node/oracles/types.d.ts +6 -0
  307. package/lib/node/oracles/types.d.ts.map +1 -1
  308. package/lib/node/orderParams.d.ts +0 -1
  309. package/lib/node/orderParams.d.ts.map +1 -1
  310. package/lib/node/orderParams.js +1 -5
  311. package/lib/node/orderSubscriber/OrderSubscriber.d.ts.map +1 -1
  312. package/lib/node/orderSubscriber/OrderSubscriber.js +3 -4
  313. package/lib/node/orderSubscriber/WebsocketSubscription.js +1 -1
  314. package/lib/node/orderSubscriber/grpcSubscription.js +2 -2
  315. package/lib/node/orderSubscriber/index.d.ts +5 -0
  316. package/lib/node/orderSubscriber/index.d.ts.map +1 -1
  317. package/lib/node/orderSubscriber/index.js +5 -0
  318. package/lib/node/priorityFee/index.d.ts +5 -0
  319. package/lib/node/priorityFee/index.d.ts.map +1 -1
  320. package/lib/node/priorityFee/index.js +5 -0
  321. package/lib/node/pyth/index.d.ts +2 -2
  322. package/lib/node/pyth/index.d.ts.map +1 -1
  323. package/lib/node/pyth/types.d.ts +1 -1
  324. package/lib/node/pyth/types.d.ts.map +1 -1
  325. package/lib/node/swift/grpcSignedMsgUserAccountSubscriber.js +1 -1
  326. package/lib/node/swift/index.d.ts +7 -0
  327. package/lib/node/swift/index.d.ts.map +1 -1
  328. package/lib/node/swift/index.js +7 -0
  329. package/lib/node/swift/signedMsgUserAccountSubscriber.d.ts.map +1 -1
  330. package/lib/node/swift/signedMsgUserAccountSubscriber.js +4 -3
  331. package/lib/node/tokenFaucet.d.ts +2 -2
  332. package/lib/node/tokenFaucet.d.ts.map +1 -1
  333. package/lib/node/tokenFaucet.js +4 -4
  334. package/lib/node/tx/txHandler.d.ts +12 -0
  335. package/lib/node/tx/txHandler.d.ts.map +1 -1
  336. package/lib/node/tx/txHandler.js +12 -0
  337. package/lib/node/types.d.ts +19 -31
  338. package/lib/node/types.d.ts.map +1 -1
  339. package/lib/node/types.js +6 -11
  340. package/lib/node/user.d.ts +27 -18
  341. package/lib/node/user.d.ts.map +1 -1
  342. package/lib/node/user.js +64 -100
  343. package/lib/node/userMap/WebsocketSubscription.js +1 -1
  344. package/lib/node/userMap/grpcSubscription.js +1 -1
  345. package/lib/node/userMap/revenueShareEscrowMap.d.ts.map +1 -1
  346. package/lib/node/userMap/revenueShareEscrowMap.js +4 -4
  347. package/lib/node/userMap/userMap.d.ts.map +1 -1
  348. package/lib/node/userMap/userMap.js +4 -5
  349. package/lib/node/userMap/userStatsMap.d.ts.map +1 -1
  350. package/lib/node/userMap/userStatsMap.js +2 -3
  351. package/lib/node/userStats.d.ts +5 -0
  352. package/lib/node/userStats.d.ts.map +1 -1
  353. package/package.json +5 -7
  354. package/src/accounts/fetch.ts +18 -17
  355. package/src/accounts/grpcAccountSubscriber.ts +3 -3
  356. package/src/accounts/grpcDriftClientAccountSubscriber.ts +2 -3
  357. package/src/accounts/grpcDriftClientAccountSubscriberV2.ts +5 -6
  358. package/src/accounts/grpcInsuranceFundStakeAccountSubscriber.ts +2 -2
  359. package/src/accounts/grpcMultiAccountSubscriber.ts +4 -4
  360. package/src/accounts/grpcMultiUserAccountSubscriber.ts +4 -4
  361. package/src/accounts/grpcProgramAccountSubscriber.ts +3 -3
  362. package/src/accounts/grpcUserAccountSubscriber.ts +2 -2
  363. package/src/accounts/grpcUserStatsAccountSubscriber.ts +2 -2
  364. package/src/accounts/laserProgramAccountSubscriber.ts +3 -3
  365. package/src/accounts/oneShotUserAccountSubscriber.ts +6 -7
  366. package/src/accounts/oneShotUserStatsAccountSubscriber.ts +10 -9
  367. package/src/accounts/pollingDriftClientAccountSubscriber.ts +12 -11
  368. package/src/accounts/pollingInsuranceFundStakeAccountSubscriber.ts +11 -10
  369. package/src/accounts/pollingOracleAccountSubscriber.ts +2 -2
  370. package/src/accounts/pollingTokenAccountSubscriber.ts +2 -2
  371. package/src/accounts/pollingUserAccountSubscriber.ts +2 -2
  372. package/src/accounts/pollingUserStatsAccountSubscriber.ts +14 -14
  373. package/src/accounts/testBulkAccountLoader.ts +3 -5
  374. package/src/accounts/types.ts +10 -25
  375. package/src/accounts/webSocketAccountSubscriber.ts +5 -5
  376. package/src/accounts/webSocketAccountSubscriberV2.ts +4 -3
  377. package/src/accounts/webSocketDriftClientAccountSubscriber.ts +9 -10
  378. package/src/accounts/webSocketDriftClientAccountSubscriberV2.ts +13 -10
  379. package/src/accounts/webSocketInsuranceFundStakeAccountSubscriber.ts +3 -3
  380. package/src/accounts/webSocketProgramAccountSubscriber.ts +4 -3
  381. package/src/accounts/webSocketProgramAccountSubscriberV2.ts +4 -3
  382. package/src/accounts/webSocketProgramAccountsSubscriberV2.ts +4 -3
  383. package/src/accounts/webSocketUserAccountSubscriber.ts +3 -3
  384. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +3 -3
  385. package/src/accounts/websocketProgramUserAccountSubscriber.ts +4 -4
  386. package/src/addresses/pda.ts +6 -22
  387. package/src/adminClient.ts +154 -239
  388. package/src/auctionSubscriber/auctionSubscriber.ts +5 -3
  389. package/src/auctionSubscriber/auctionSubscriberGrpc.ts +5 -3
  390. package/src/config.ts +24 -16
  391. package/src/constants/index.ts +5 -0
  392. package/src/constants/numericConstants.ts +2 -3
  393. package/src/constants/perpMarkets.ts +3 -445
  394. package/src/constants/spotMarkets.ts +7 -102
  395. package/src/constituentMap/constituentMap.ts +5 -6
  396. package/src/constituentMap/pollingConstituentAccountSubscriber.ts +3 -3
  397. package/src/constituentMap/webSocketConstituentAccountSubscriber.ts +6 -6
  398. package/src/decode/customCoder.ts +26 -35
  399. package/src/decode/user.ts +7 -25
  400. package/src/dlob/DLOB.ts +12 -0
  401. package/src/dlob/orderBookLevels.ts +0 -1
  402. package/src/driftClient.ts +245 -1091
  403. package/src/driftClientConfig.ts +7 -0
  404. package/src/events/eventSubscriber.ts +14 -2
  405. package/src/events/parse.ts +2 -2
  406. package/src/factory/oracleClient.ts +17 -28
  407. package/src/idl/drift.json +20850 -15287
  408. package/src/idl/drift.ts +25708 -0
  409. package/src/idl/pyth.ts +97 -0
  410. package/src/idl/token_faucet.json +148 -61
  411. package/src/idl/token_faucet.ts +197 -0
  412. package/src/index.ts +13 -12
  413. package/src/margin/README.md +0 -1
  414. package/src/marinade/index.ts +2 -2
  415. package/src/math/amm.ts +2 -48
  416. package/src/math/funding.ts +8 -3
  417. package/src/math/margin.ts +12 -67
  418. package/src/math/market.ts +15 -69
  419. package/src/math/oracles.ts +14 -30
  420. package/src/math/position.ts +0 -1
  421. package/src/math/trade.ts +0 -4
  422. package/src/memcmp.ts +1 -1
  423. package/src/openbook/openbookV2Subscriber.ts +1 -1
  424. package/src/oracles/oracleClientCache.ts +2 -2
  425. package/src/oracles/prelaunchOracleClient.ts +9 -8
  426. package/src/oracles/pythLazerClient.ts +10 -12
  427. package/src/oracles/types.ts +6 -0
  428. package/src/orderParams.ts +0 -5
  429. package/src/orderSubscriber/OrderSubscriber.ts +7 -6
  430. package/src/orderSubscriber/WebsocketSubscription.ts +1 -1
  431. package/src/orderSubscriber/grpcSubscription.ts +2 -2
  432. package/src/orderSubscriber/index.ts +5 -0
  433. package/src/priorityFee/index.ts +5 -0
  434. package/src/pyth/index.ts +4 -4
  435. package/src/pyth/types.ts +1 -1
  436. package/src/swift/grpcSignedMsgUserAccountSubscriber.ts +1 -1
  437. package/src/swift/index.ts +7 -0
  438. package/src/swift/signedMsgUserAccountSubscriber.ts +7 -4
  439. package/src/tokenFaucet.ts +8 -4
  440. package/src/tx/txHandler.ts +12 -0
  441. package/src/types.ts +16 -20
  442. package/src/user.ts +66 -144
  443. package/src/userMap/WebsocketSubscription.ts +1 -1
  444. package/src/userMap/grpcSubscription.ts +1 -1
  445. package/src/userMap/revenueShareEscrowMap.ts +24 -20
  446. package/src/userMap/userMap.ts +8 -7
  447. package/src/userMap/userStatsMap.ts +6 -5
  448. package/src/userStats.ts +5 -0
  449. package/tests/accounts/customizedCadenceBulkAccountLoader.test.ts +5 -4
  450. package/tests/amm/test.ts +45 -64
  451. package/tests/ci/verifyConstants.ts +23 -26
  452. package/tests/decode/test.ts +2 -4
  453. package/tests/dlob/helpers.ts +8 -15
  454. package/tests/user/helpers.ts +0 -2
  455. package/tests/user/marginCalculations.test.ts +2 -3
  456. package/tests/user/test.ts +18 -15
  457. package/lib/browser/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts +0 -29
  458. package/lib/browser/accounts/pollingHighLeverageModeConfigAccountSubscriber.js +0 -111
  459. package/lib/browser/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts +0 -23
  460. package/lib/browser/accounts/webSocketHighLeverageModeConfigAccountSubscriber.js +0 -69
  461. package/lib/browser/idl/pyth_solana_receiver.json +0 -628
  462. package/lib/browser/idl/switchboard.json +0 -8354
  463. package/lib/browser/idl/switchboard_on_demand_30.json +0 -5849
  464. package/lib/browser/oracles/pythPullClient.d.ts +0 -19
  465. package/lib/browser/oracles/pythPullClient.js +0 -65
  466. package/lib/browser/oracles/switchboardClient.d.ts +0 -12
  467. package/lib/browser/oracles/switchboardClient.js +0 -40
  468. package/lib/browser/oracles/switchboardOnDemandClient.d.ts +0 -12
  469. package/lib/browser/oracles/switchboardOnDemandClient.js +0 -33
  470. package/lib/browser/util/pythOracleUtils.d.ts +0 -2
  471. package/lib/browser/util/pythOracleUtils.js +0 -15
  472. package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts +0 -30
  473. package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
  474. package/lib/node/accounts/pollingHighLeverageModeConfigAccountSubscriber.js +0 -111
  475. package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts +0 -24
  476. package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.d.ts.map +0 -1
  477. package/lib/node/accounts/webSocketHighLeverageModeConfigAccountSubscriber.js +0 -69
  478. package/lib/node/idl/pyth_solana_receiver.json +0 -628
  479. package/lib/node/idl/switchboard.json +0 -8354
  480. package/lib/node/idl/switchboard_on_demand_30.json +0 -5849
  481. package/lib/node/oracles/pythPullClient.d.ts +0 -20
  482. package/lib/node/oracles/pythPullClient.d.ts.map +0 -1
  483. package/lib/node/oracles/pythPullClient.js +0 -65
  484. package/lib/node/oracles/switchboardClient.d.ts +0 -13
  485. package/lib/node/oracles/switchboardClient.d.ts.map +0 -1
  486. package/lib/node/oracles/switchboardClient.js +0 -40
  487. package/lib/node/oracles/switchboardOnDemandClient.d.ts +0 -13
  488. package/lib/node/oracles/switchboardOnDemandClient.d.ts.map +0 -1
  489. package/lib/node/oracles/switchboardOnDemandClient.js +0 -33
  490. package/lib/node/util/pythOracleUtils.d.ts +0 -3
  491. package/lib/node/util/pythOracleUtils.d.ts.map +0 -1
  492. package/lib/node/util/pythOracleUtils.js +0 -15
  493. package/src/accounts/pollingHighLeverageModeConfigAccountSubscriber.ts +0 -189
  494. package/src/accounts/webSocketHighLeverageModeConfigAccountSubscriber.ts +0 -131
  495. package/src/idl/switchboard.json +0 -8354
  496. package/src/idl/switchboard_on_demand_30.json +0 -5849
  497. package/src/oracles/pythPullClient.ts +0 -112
  498. package/src/oracles/switchboardClient.ts +0 -77
  499. package/src/oracles/switchboardOnDemandClient.ts +0 -64
  500. package/src/util/pythOracleUtils.ts +0 -11
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { ConstituentAccountEvents, ConstituentAccountSubscriber } from '../accounts/types';
3
- import { Program } from '@coral-xyz/anchor';
3
+ import { DriftProgram } from '../config';
4
4
  import StrictEventEmitter from 'strict-event-emitter-types';
5
5
  import { EventEmitter } from 'events';
6
6
  import { Commitment, MemcmpFilter } from '@solana/web3.js';
@@ -11,12 +11,12 @@ export declare class WebSocketConstituentAccountSubscriber implements Constituen
11
11
  isSubscribed: boolean;
12
12
  resubTimeoutMs?: number;
13
13
  commitment?: Commitment;
14
- program: Program;
14
+ program: DriftProgram;
15
15
  eventEmitter: StrictEventEmitter<EventEmitter, ConstituentAccountEvents>;
16
16
  constituentDataAccountSubscriber: WebSocketProgramAccountSubscriber<ConstituentAccount>;
17
17
  constituentMap: ConstituentMap;
18
18
  private additionalFilters?;
19
- constructor(constituentMap: ConstituentMap, program: Program, resubTimeoutMs?: number, commitment?: Commitment, additionalFilters?: MemcmpFilter[]);
19
+ constructor(constituentMap: ConstituentMap, program: DriftProgram, resubTimeoutMs?: number, commitment?: Commitment, additionalFilters?: MemcmpFilter[]);
20
20
  subscribe(): Promise<boolean>;
21
21
  sync(): Promise<void>;
22
22
  unsubscribe(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"webSocketConstituentAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/constituentMap/webSocketConstituentAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EAEN,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAW,YAAY,EAAa,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,qCACZ,YAAW,4BAA4B;IAEvC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAEzE,gCAAgC,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,CAAC;IACxF,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAiB;gBAG1C,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,UAAU,EACvB,iBAAiB,CAAC,EAAE,YAAY,EAAE;IAW7B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAuC7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlC,kBAAkB,IAAI,IAAI;CAO1B"}
1
+ {"version":3,"file":"webSocketConstituentAccountSubscriber.d.ts","sourceRoot":"","sources":["../../../src/constituentMap/webSocketConstituentAccountSubscriber.ts"],"names":[],"mappings":";AAAA,OAAO,EAEN,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAW,YAAY,EAAa,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,qCACZ,YAAW,4BAA4B;IAEvC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IAEzE,gCAAgC,EAAE,iCAAiC,CAAC,kBAAkB,CAAC,CAAC;IACxF,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAiB;gBAG1C,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,YAAY,EACrB,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,UAAU,EACvB,iBAAiB,CAAC,EAAE,YAAY,EAAE;IAW7B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAuC7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlC,kBAAkB,IAAI,IAAI;CAO1B"}
@@ -20,7 +20,7 @@ class WebSocketConstituentAccountSubscriber {
20
20
  return true;
21
21
  }
22
22
  this.constituentDataAccountSubscriber =
23
- new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('LpPoolConstituent', 'Constituent', this.program, this.program.account.constituent.coder.accounts.decode.bind(this.program.account.constituent.coder.accounts), {
23
+ new webSocketProgramAccountSubscriber_1.WebSocketProgramAccountSubscriber('LpPoolConstituent', 'constituent', this.program, this.program.account.constituent.coder.accounts.decode.bind(this.program.account.constituent.coder.accounts), {
24
24
  filters: [(0, memcmp_1.getConstituentFilter)(), ...(this.additionalFilters || [])],
25
25
  commitment: this.commitment,
26
26
  });
@@ -1,10 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { Buffer } from 'buffer';
4
- import { Idl, IdlTypeDef } from '@coral-xyz/anchor/dist/cjs/idl';
5
- import { AccountsCoder, BorshEventCoder, BorshInstructionCoder, Coder } from '@coral-xyz/anchor/dist/cjs/coder';
6
- import { BorshTypesCoder } from '@coral-xyz/anchor/dist/cjs/coder/borsh/types';
7
- export declare class CustomBorshCoder<A extends string = string, T extends string = string> implements Coder {
4
+ import { Idl, BorshEventCoder, BorshInstructionCoder } from '@coral-xyz/anchor';
5
+ export declare class CustomBorshCoder<A extends string = string, _T extends string = string> {
8
6
  readonly idl: Idl;
9
7
  /**
10
8
  * Instruction coder.
@@ -21,13 +19,13 @@ export declare class CustomBorshCoder<A extends string = string, T extends strin
21
19
  /**
22
20
  * Coder for user-defined types.
23
21
  */
24
- readonly types: BorshTypesCoder<T>;
22
+ readonly types: any;
25
23
  constructor(idl: Idl);
26
24
  }
27
25
  /**
28
26
  * Custom accounts coder that wraps BorshAccountsCoder to fix encode buffer sizing.
29
27
  */
30
- export declare class CustomBorshAccountsCoder<A extends string = string> implements AccountsCoder {
28
+ export declare class CustomBorshAccountsCoder<A extends string = string> {
31
29
  private baseCoder;
32
30
  private idl;
33
31
  constructor(idl: Idl);
@@ -36,12 +34,12 @@ export declare class CustomBorshAccountsCoder<A extends string = string> impleme
36
34
  decodeAny<T = any>(data: Buffer): T;
37
35
  decodeUnchecked<T = any>(accountName: A, ix: Buffer): T;
38
36
  memcmp(accountName: A, appendData?: Buffer): any;
39
- size(idlAccount: IdlTypeDef): number;
37
+ size(accountName: A | string): number;
40
38
  /**
41
39
  * Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
42
40
  *
43
- * @param name The name of the account to calculate the discriminator.
41
+ * @param name The name of the account to get the discriminator of.
44
42
  */
45
- static accountDiscriminator(name: string): Buffer;
43
+ static accountDiscriminator(_name: string): Buffer;
46
44
  }
47
45
  //# sourceMappingURL=customCoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"customCoder.d.ts","sourceRoot":"","sources":["../../../src/decode/customCoder.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACN,aAAa,EAEb,eAAe,EACf,qBAAqB,EACrB,KAAK,EACL,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAG/E,qBAAa,gBAAgB,CAC5B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,MAAM,GAAG,MAAM,CACxB,YAAW,KAAK;IAEjB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;gBAEvB,GAAG,EAAE,GAAG;CAOpB;AAED;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC9D,YAAW,aAAa;IAExB,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,GAAG,CAAM;gBAEE,GAAG,EAAE,GAAG;IAKd,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAIhD,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAInC,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAIvD,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG;IAIhD,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAI3C;;;;OAIG;WACW,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAOxD"}
1
+ {"version":3,"file":"customCoder.d.ts","sourceRoot":"","sources":["../../../src/decode/customCoder.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACN,GAAG,EAEH,eAAe,EACf,qBAAqB,EAErB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,gBAAgB,CAC5B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,EAAE,SAAS,MAAM,GAAG,MAAM;IAE1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;gBAER,GAAG,EAAE,GAAG;CAQpB;AAED;;GAEG;AACH,qBAAa,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC9D,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,GAAG,CAAM;gBAEE,GAAG,EAAE,GAAG;IAKd,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBlE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAIhD,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAInC,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAIvD,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG;IAIhD,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM;IAI5C;;;;OAIG;WACW,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAMzD"}
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.CustomBorshAccountsCoder = exports.CustomBorshCoder = void 0;
7
4
  const buffer_1 = require("buffer");
8
- const camelcase_1 = __importDefault(require("camelcase"));
9
- const coder_1 = require("@coral-xyz/anchor/dist/cjs/coder");
10
- const types_1 = require("@coral-xyz/anchor/dist/cjs/coder/borsh/types");
11
- const discriminator_1 = require("@coral-xyz/anchor/dist/cjs/coder/borsh/discriminator");
5
+ const anchor_1 = require("@coral-xyz/anchor");
12
6
  class CustomBorshCoder {
13
7
  constructor(idl) {
14
- this.instruction = new coder_1.BorshInstructionCoder(idl);
8
+ const baseCoder = new anchor_1.BorshCoder(idl);
9
+ this.instruction = baseCoder.instruction;
15
10
  this.accounts = new CustomBorshAccountsCoder(idl);
16
- this.events = new coder_1.BorshEventCoder(idl);
17
- this.types = new types_1.BorshTypesCoder(idl);
11
+ this.events = baseCoder.events;
12
+ this.types = baseCoder.types;
18
13
  this.idl = idl;
19
14
  }
20
15
  }
@@ -24,23 +19,20 @@ exports.CustomBorshCoder = CustomBorshCoder;
24
19
  */
25
20
  class CustomBorshAccountsCoder {
26
21
  constructor(idl) {
27
- this.baseCoder = new coder_1.BorshAccountsCoder(idl);
22
+ this.baseCoder = new anchor_1.BorshAccountsCoder(idl);
28
23
  this.idl = idl;
29
24
  }
30
25
  async encode(accountName, account) {
31
- var _a;
32
- const idlAcc = (_a = this.idl.accounts) === null || _a === void 0 ? void 0 : _a.find((acc) => acc.name === accountName);
33
- if (!idlAcc) {
34
- throw new Error(`Unknown account not found in idl: ${accountName}`);
35
- }
36
- const buffer = buffer_1.Buffer.alloc(this.size(idlAcc)); // fix encode issue - use proper size instead of fixed 1000
37
26
  const layout = this.baseCoder['accountLayouts'].get(accountName);
38
27
  if (!layout) {
39
28
  throw new Error(`Unknown account: ${accountName}`);
40
29
  }
41
- const len = layout.encode(account, buffer);
30
+ // Fix: compute proper buffer size instead of the hardcoded 1000 bytes
31
+ const size = this.baseCoder.size(accountName);
32
+ const buffer = buffer_1.Buffer.alloc(Math.max(size, 1000));
33
+ const len = layout.layout.encode(account, buffer);
42
34
  const accountData = buffer.slice(0, len);
43
- const discriminator = coder_1.BorshAccountsCoder.accountDiscriminator(accountName);
35
+ const discriminator = buffer_1.Buffer.from(layout.discriminator);
44
36
  return buffer_1.Buffer.concat([discriminator, accountData]);
45
37
  }
46
38
  // Delegate all other methods to the base coder
@@ -56,20 +48,17 @@ class CustomBorshAccountsCoder {
56
48
  memcmp(accountName, appendData) {
57
49
  return this.baseCoder.memcmp(accountName, appendData);
58
50
  }
59
- size(idlAccount) {
60
- return this.baseCoder.size(idlAccount);
51
+ size(accountName) {
52
+ return this.baseCoder.size(accountName);
61
53
  }
62
54
  /**
63
55
  * Calculates and returns a unique 8 byte discriminator prepended to all anchor accounts.
64
56
  *
65
- * @param name The name of the account to calculate the discriminator.
57
+ * @param name The name of the account to get the discriminator of.
66
58
  */
67
- static accountDiscriminator(name) {
68
- const discriminatorPreimage = `account:${(0, camelcase_1.default)(name, {
69
- pascalCase: true,
70
- preserveConsecutiveUppercase: true,
71
- })}`;
72
- return (0, discriminator_1.discriminator)(discriminatorPreimage);
59
+ static accountDiscriminator(_name) {
60
+ // Delegate to an instance method since anchor 0.32 uses IDL discriminators
61
+ throw new Error('accountDiscriminator requires an instance; use coder.accountDiscriminator(name)');
73
62
  }
74
63
  }
75
64
  exports.CustomBorshAccountsCoder = CustomBorshAccountsCoder;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/decode/user.ts"],"names":[],"mappings":";;AACA,OAAO,EAYN,WAAW,EACX,MAAM,UAAU,CAAC;AAkBlB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CA+WtD"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/decode/user.ts"],"names":[],"mappings":";;AACA,OAAO,EAWN,WAAW,EACX,MAAM,UAAU,CAAC;AAkBlB,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CA8VtD"}
@@ -70,7 +70,7 @@ function decodeUser(buffer) {
70
70
  const baseAssetAmount = readSignedBigInt64LE(buffer, offset + 8);
71
71
  const quoteAssetAmount = readSignedBigInt64LE(buffer, offset + 16);
72
72
  const lpShares = readUnsignedBigInt64LE(buffer, offset + 64);
73
- const isolatedPositionScaledBalance = readSignedBigInt64LE(buffer, offset + 72);
73
+ const isolatedPositionScaledBalance = readUnsignedBigInt64LE(buffer, offset + 72);
74
74
  const openOrders = buffer.readUInt8(offset + 94);
75
75
  const positionFlag = buffer.readUInt8(offset + 95);
76
76
  if (baseAssetAmount.eq(numericConstants_1.ZERO) &&
@@ -98,12 +98,11 @@ function decodeUser(buffer) {
98
98
  offset += 24;
99
99
  const lastQuoteAssetAmountPerLp = readSignedBigInt64LE(buffer, offset);
100
100
  offset += 8;
101
- const maxMarginRatio = buffer.readUInt16LE(offset);
102
- offset += 4;
103
- const marketIndex = buffer.readUInt16LE(offset);
104
- offset += 3;
105
- const perLpBase = buffer.readUInt8(offset);
106
- offset += 1;
101
+ offset += 2; // skip padding[u8; 2]
102
+ const maxMarginRatio = buffer.readUInt16LE(offset); // offset+90
103
+ offset += 2;
104
+ const marketIndex = buffer.readUInt16LE(offset); // offset+92
105
+ offset += 4; // advance past marketIndex(2) + openOrders(1) + positionFlag(1)
107
106
  perpPositions.push({
108
107
  lastCumulativeFundingRate,
109
108
  baseAssetAmount,
@@ -118,7 +117,6 @@ function decodeUser(buffer) {
118
117
  lastQuoteAssetAmountPerLp,
119
118
  marketIndex,
120
119
  openOrders,
121
- perLpBase,
122
120
  maxMarginRatio,
123
121
  positionFlag,
124
122
  isolatedPositionScaledBalance,
@@ -308,22 +306,7 @@ function decodeUser(buffer) {
308
306
  offset += 1;
309
307
  const hasOpenAuction = buffer.readUInt8(offset) === 1;
310
308
  offset += 1;
311
- let marginMode;
312
- const marginModeNum = buffer.readUInt8(offset);
313
- if (marginModeNum === 0) {
314
- marginMode = types_1.MarginMode.DEFAULT;
315
- }
316
- else if (marginModeNum === 1) {
317
- marginMode = types_1.MarginMode.HIGH_LEVERAGE;
318
- }
319
- else if (marginModeNum === 2) {
320
- marginMode = types_1.MarginMode.HIGH_LEVERAGE_MAINTENANCE;
321
- }
322
- else {
323
- console.error(`Detected unknown margin mode: ${marginModeNum}. Please update @drift-labs/sdk for latest IDL.`);
324
- marginMode = types_1.MarginMode.DEFAULT;
325
- }
326
- offset += 1;
309
+ offset += 1; // marginMode (removed)
327
310
  const poolId = buffer.readUint8(offset);
328
311
  offset += 1;
329
312
  offset += 3; // padding
@@ -356,7 +339,6 @@ function decodeUser(buffer) {
356
339
  hasOpenOrder,
357
340
  openAuctions,
358
341
  hasOpenAuction,
359
- marginMode,
360
342
  poolId,
361
343
  lastFuelBonusUpdateTs,
362
344
  };
@@ -1,4 +1,16 @@
1
1
  /// <reference types="bn.js" />
2
+ /**
3
+ * DLOB — Decentralized Limit Order Book.
4
+ *
5
+ * Maintains an in-memory order book built from on-chain `User` accounts.
6
+ * Used by keeper bots to identify the best maker orders to match against taker fills.
7
+ *
8
+ * Key types:
9
+ * {@link DLOBNode} — a single order node with price/size/user info (DLOBNode.ts)
10
+ * {@link DLOBSubscriber} — subscribes to on-chain accounts and keeps the DLOB live (DLOBSubscriber.ts)
11
+ * {@link NodeList} — sorted linked list of DLOBNodes per side/market (NodeList.ts)
12
+ * `orderBookLevels.ts` — aggregated L2/L3 book level construction for quoting
13
+ */
2
14
  import { NodeList } from './NodeList';
3
15
  import { BN } from '@coral-xyz/anchor';
4
16
  import { DLOBNode, DLOBNodeType, TriggerOrderNode } from './DLOBNode';
@@ -1 +1 @@
1
- {"version":3,"file":"DLOB.d.ts","sourceRoot":"","sources":["../../../src/dlob/DLOB.ts"],"names":[],"mappings":";AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AASvC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,OAAO,EAIN,UAAU,EACV,aAAa,EACb,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,iBAAiB,EACjB,YAAY,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAGN,WAAW,EACX,oBAAoB,EAEpB,WAAW,EAEX,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE;QACb,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9B,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC9B,CAAC;IACF,aAAa,EAAE;QACd,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/B,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;KAC/B,CAAC;IACF,sBAAsB,EAAE;QACvB,GAAG,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACxC,GAAG,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;KACxC,CAAC;IACF,WAAW,EAAE;QACZ,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7B,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACP,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACR,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC3B,CAAC;IACF,SAAS,EAAE;QACV,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3B,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,KAAK,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB,CAAC;CACvB,CAAC;AAUF,qBAAa,IAAI;IAChB,UAAU,kCAAyC;IACnD,UAAU,mDAA0D;IACpE,4BAA4B,SAAK;IAEjC,WAAW,UAAS;IAEpB,uBAAuB,EAAE,qBAAqB,CAAC;gBAE5B,uBAAuB,CAAC,EAAE,qBAAqB;IAQlE,OAAO,CAAC,IAAI;IAOL,KAAK;IAyBZ;;;;OAIG;IACU,eAAe,CAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC;IAwCZ,WAAW,CACjB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,eAAe,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,iBAAiB,GAC1B,IAAI;IAmCA,oBAAoB,CAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,OAAO,EAC7B,eAAe,CAAC,EAAE,EAAE,EACpB,QAAQ,CAAC,EAAE,iBAAiB,GAC1B,IAAI;IA0BP,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAiC3D,MAAM,CACZ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,CAAC,EAAE,iBAAiB,GAC1B,IAAI;IAiBA,sBAAsB,CAC5B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,OAAO,GACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS;IAoCrB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYnD,qCAAqC,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC1B,IAAI;IAyCA,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;IAYpE,eAAe,CAAC,CAAC,SAAS,UAAU,EAC1C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,GAClB,UAAU,EAAE;IAiEf,cAAc,CACb,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,GAAG,iBAAiB,GAClD;QAAE,oBAAoB,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE;IAwBnE,gBAAgB,CACf,4BAA4B,EAAE,UAAU,EAAE,EAC1C,sBAAsB,EAAE,UAAU,EAAE,GAClC,UAAU,EAAE;IA+BR,gCAAgC,CAAC,CAAC,SAAS,UAAU,EAC3D,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,EACpB,oBAAoB,EAAE,MAAM,EAC5B,sBAAsB,EAAE,MAAM,EAC9B,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,WAAW,EAAE,EAAE,GAAG,SAAS,GACzB,UAAU,EAAE;IA2ER,qBAAqB,CAAC,CAAC,SAAS,UAAU,EAChD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,EACpB,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,WAAW,CAAC,EAAE,EAAE,GAAG,SAAS,GAC1B,UAAU,EAAE;IAuHR,iCAAiC,CAAC,CAAC,SAAS,UAAU,EAC5D,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,kBAAkB,EAAE,SAAS,CAAC,QAAQ,CAAC,EACvC,oBAAoB,EAAE,CACrB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,KAChB,SAAS,CAAC,QAAQ,CAAC,EACxB,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,OAAO,GAChE,UAAU,EAAE;IAmFR,kCAAkC,CAAC,CAAC,SAAS,UAAU,EAC7D,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,EAClC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,SAAS,KAAK,OAAO,EACjD,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,GAClB,UAAU,EAAE;IAyCR,sBAAsB,CAC5B,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,EAAE,GACP,UAAU,EAAE;IAoER,sCAAsC,CAC5C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,EAAE,GACV,UAAU,EAAE;IA0Cd,aAAa,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA6BrB,aAAa,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA6BtB,SAAS,CAAE,kBAAkB,CAC5B,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAAC,EACzC,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,OAAO,GAC9B,SAAS,CAAC,QAAQ,CAAC;IAQtB,SAAS,CAAE,WAAW,CAAC,CAAC,SAAS,aAAa,EAC7C,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACzC,eAAe,EAAE,CAAC,SAAS,MAAM,GAAG,eAAe,GAAG,iBAAiB,EACvE,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CACX,YAAY,EAAE,QAAQ,EACtB,eAAe,EAAE,QAAQ,EACzB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS,MAAM,GAAG,eAAe,GAAG,iBAAiB,KACnE,OAAO,EACZ,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IAiDrB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IAoCrB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IAoCtB;;;;;;;;OAQG;IACF,OAAO,CAAC,CAAC,SAAS,UAAU,EAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,EAAE,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA6BtB;;;;;;;;OAQG;IACF,OAAO,CAAC,CAAC,SAAS,UAAU,EAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,EAAE,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA8BtB,8BAA8B,CAAC,CAAC,SAAS,UAAU,EAClD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,GAClB,UAAU,EAAE;IAqFf,sBAAsB,CACrB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,GACf;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,QAAQ,CAAA;KAAE,GAAG,SAAS;IAiCpD,UAAU,CAAC,CAAC,SAAS,UAAU,EACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,GAClB,EAAE,GAAG,SAAS;IAcV,UAAU,CAAC,CAAC,SAAS,UAAU,EACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,GAClB,EAAE,GAAG,SAAS;IAcT,aAAa,CACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAmBd,kBAAkB,CACzB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAQd,iBAAiB,CACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAQd,cAAc,CACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAmBd,oBAAoB,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAYd,mBAAmB,CAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAYf,kBAAkB,CACxB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,EAAE,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,GACxB,aAAa,EAAE;IA0CX,QAAQ,CACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU;IA+FhB,aAAa,IAAI,UAAU;IAejC,YAAY,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAgClD;;;;;;;;;OASG;IACI,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,EAClC,WAAW,EACX,UAAU,EACV,IAAI,EACJ,eAAe,EACf,KAAK,EACL,oBAAyB,GACzB,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC9C,GAAG,WAAW;IAgDf;;;;;;;OAOG;IACI,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,EAClC,WAAW,EACX,UAAU,EACV,IAAI,EACJ,eAAe,GACf,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;KACrB,GAAG,WAAW;IA2Cf,OAAO,CAAC,oCAAoC;IA6B5C;;;;;;;;;OASG;IACI,+BAA+B,CAAC,CAAC,SAAS,UAAU,EAAE,EAC5D,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,IAAI,EACJ,eAAe,GACf,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,EAAE,CAAC;QACf,cAAc,EAAE,iBAAiB,CAAC;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;KACrB,GAAG,EAAE;IAkBC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,EAC1C,WAAW,EACX,UAAU,EACV,SAAS,EACT,IAAI,EACJ,eAAe,EACf,SAAS,GACT,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,SAAS,EAAE,iBAAiB,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KAClB,GAAG,SAAS,EAAE;CA0Bf"}
1
+ {"version":3,"file":"DLOB.d.ts","sourceRoot":"","sources":["../../../src/dlob/DLOB.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAqB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AASvC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,OAAO,EAIN,UAAU,EACV,aAAa,EACb,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EAEjB,iBAAiB,EACjB,YAAY,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAGN,WAAW,EACX,oBAAoB,EAEpB,WAAW,EAEX,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAC1D,MAAM,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE;QACb,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9B,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC9B,CAAC;IACF,aAAa,EAAE;QACd,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC/B,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;KAC/B,CAAC;IACF,sBAAsB,EAAE;QACvB,GAAG,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACxC,GAAG,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;KACxC,CAAC;IACF,WAAW,EAAE;QACZ,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7B,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;KAC7B,CAAC;IACF,MAAM,EAAE;QACP,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACR,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC3B,CAAC;IACF,SAAS,EAAE;QACV,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3B,GAAG,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,KAAK,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,QAAQ,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,gBAAgB,CAAC;CACvB,CAAC;AAUF,qBAAa,IAAI;IAChB,UAAU,kCAAyC;IACnD,UAAU,mDAA0D;IACpE,4BAA4B,SAAK;IAEjC,WAAW,UAAS;IAEpB,uBAAuB,EAAE,qBAAqB,CAAC;gBAE5B,uBAAuB,CAAC,EAAE,qBAAqB;IAQlE,OAAO,CAAC,IAAI;IAOL,KAAK;IAyBZ;;;;OAIG;IACU,eAAe,CAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC;IAwCZ,WAAW,CACjB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,eAAe,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,iBAAiB,GAC1B,IAAI;IAmCA,oBAAoB,CAC1B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,OAAO,EAC7B,eAAe,CAAC,EAAE,EAAE,EACpB,QAAQ,CAAC,EAAE,iBAAiB,GAC1B,IAAI;IA0BP,YAAY,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAiC3D,MAAM,CACZ,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,CAAC,EAAE,iBAAiB,GAC1B,IAAI;IAiBA,sBAAsB,CAC5B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,OAAO,GACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS;IAoCrB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAYnD,qCAAqC,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,GAC1B,IAAI;IAyCA,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;IAYpE,eAAe,CAAC,CAAC,SAAS,UAAU,EAC1C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,GAClB,UAAU,EAAE;IAiEf,cAAc,CACb,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,iBAAiB,GAAG,iBAAiB,GAClD;QAAE,oBAAoB,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,MAAM,CAAA;KAAE;IAwBnE,gBAAgB,CACf,4BAA4B,EAAE,UAAU,EAAE,EAC1C,sBAAsB,EAAE,UAAU,EAAE,GAClC,UAAU,EAAE;IA+BR,gCAAgC,CAAC,CAAC,SAAS,UAAU,EAC3D,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,EACpB,oBAAoB,EAAE,MAAM,EAC5B,sBAAsB,EAAE,MAAM,EAC9B,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,WAAW,EAAE,EAAE,GAAG,SAAS,GACzB,UAAU,EAAE;IA2ER,qBAAqB,CAAC,CAAC,SAAS,UAAU,EAChD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,WAAW,EAAE,OAAO,EACpB,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,EACpB,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,WAAW,CAAC,EAAE,EAAE,GAAG,SAAS,GAC1B,UAAU,EAAE;IAuHR,iCAAiC,CAAC,CAAC,SAAS,UAAU,EAC5D,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,kBAAkB,EAAE,SAAS,CAAC,QAAQ,CAAC,EACvC,oBAAoB,EAAE,CACrB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,KAChB,SAAS,CAAC,QAAQ,CAAC,EACxB,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,OAAO,GAChE,UAAU,EAAE;IAmFR,kCAAkC,CAAC,CAAC,SAAS,UAAU,EAC7D,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,EAClC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,SAAS,KAAK,OAAO,EACjD,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACvC,iBAAiB,GACjB,iBAAiB,GAClB,UAAU,EAAE;IAyCR,sBAAsB,CAC5B,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,EAAE,GACP,UAAU,EAAE;IAoER,sCAAsC,CAC5C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,EAAE,GACV,UAAU,EAAE;IA0Cd,aAAa,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA6BrB,aAAa,CAAC,CAAC,SAAS,UAAU,EAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA6BtB,SAAS,CAAE,kBAAkB,CAC5B,kBAAkB,EAAE,QAAQ,CAAC,WAAW,CAAC,EACzC,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,OAAO,GAC9B,SAAS,CAAC,QAAQ,CAAC;IAQtB,SAAS,CAAE,WAAW,CAAC,CAAC,SAAS,aAAa,EAC7C,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EACzC,eAAe,EAAE,CAAC,SAAS,MAAM,GAAG,eAAe,GAAG,iBAAiB,EACvE,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CACX,YAAY,EAAE,QAAQ,EACtB,eAAe,EAAE,QAAQ,EACzB,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,CAAC,SAAS,MAAM,GAAG,eAAe,GAAG,iBAAiB,KACnE,OAAO,EACZ,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IAiDrB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IAoCrB,mBAAmB,CAAC,CAAC,SAAS,UAAU,EACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IAoCtB;;;;;;;;OAQG;IACF,OAAO,CAAC,CAAC,SAAS,UAAU,EAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,EAAE,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA6BtB;;;;;;;;OAQG;IACF,OAAO,CAAC,CAAC,SAAS,UAAU,EAC5B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,EAAE,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,EACpB,SAAS,CAAC,EAAE,aAAa,GACvB,SAAS,CAAC,QAAQ,CAAC;IA8BtB,8BAA8B,CAAC,CAAC,SAAS,UAAU,EAClD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,GAClB,UAAU,EAAE;IAqFf,sBAAsB,CACrB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,GACf;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,QAAQ,CAAA;KAAE,GAAG,SAAS;IAiCpD,UAAU,CAAC,CAAC,SAAS,UAAU,EACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,GAClB,EAAE,GAAG,SAAS;IAcV,UAAU,CAAC,CAAC,SAAS,UAAU,EACrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EACb,eAAe,EAAE,CAAC,SAAS;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GACzC,eAAe,GACf,iBAAiB,GAClB,EAAE,GAAG,SAAS;IAcT,aAAa,CACpB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAmBd,kBAAkB,CACzB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAQd,iBAAiB,CACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAQd,cAAc,CACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAmBd,oBAAoB,CAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAYd,mBAAmB,CAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,iBAAiB,GAC1B,SAAS,CAAC,QAAQ,CAAC;IAYf,kBAAkB,CACxB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,EAAE,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,GACxB,aAAa,EAAE;IA0CX,QAAQ,CACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU;IA+FhB,aAAa,IAAI,UAAU;IAejC,YAAY,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAgClD;;;;;;;;;OASG;IACI,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,EAClC,WAAW,EACX,UAAU,EACV,IAAI,EACJ,eAAe,EACf,KAAK,EACL,oBAAyB,GACzB,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAC9C,GAAG,WAAW;IAgDf;;;;;;;OAOG;IACI,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,EAClC,WAAW,EACX,UAAU,EACV,IAAI,EACJ,eAAe,GACf,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;KACrB,GAAG,WAAW;IA2Cf,OAAO,CAAC,oCAAoC;IA6B5C;;;;;;;;;OASG;IACI,+BAA+B,CAAC,CAAC,SAAS,UAAU,EAAE,EAC5D,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,IAAI,EACJ,eAAe,GACf,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,EAAE,CAAC;QACf,cAAc,EAAE,iBAAiB,CAAC;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;KACrB,GAAG,EAAE;IAkBC,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,EAC1C,WAAW,EACX,UAAU,EACV,SAAS,EACT,IAAI,EACJ,eAAe,EACf,SAAS,GACT,EAAE;QACF,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,CAAC,CAAC;QACd,SAAS,EAAE,iBAAiB,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,CAAC,SAAS;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,GACzC,eAAe,GACf,iBAAiB,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KAClB,GAAG,SAAS,EAAE;CA0Bf"}
@@ -1,6 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DLOB = void 0;
4
+ /**
5
+ * DLOB — Decentralized Limit Order Book.
6
+ *
7
+ * Maintains an in-memory order book built from on-chain `User` accounts.
8
+ * Used by keeper bots to identify the best maker orders to match against taker fills.
9
+ *
10
+ * Key types:
11
+ * {@link DLOBNode} — a single order node with price/size/user info (DLOBNode.ts)
12
+ * {@link DLOBSubscriber} — subscribes to on-chain accounts and keeps the DLOB live (DLOBSubscriber.ts)
13
+ * {@link NodeList} — sorted linked list of DLOBNodes per side/market (NodeList.ts)
14
+ * `orderBookLevels.ts` — aggregated L2/L3 book level construction for quoting
15
+ */
4
16
  const NodeList_1 = require("./NodeList");
5
17
  const anchor_1 = require("@coral-xyz/anchor");
6
18
  const numericConstants_1 = require("../constants/numericConstants");
@@ -1 +1 @@
1
- {"version":3,"file":"orderBookLevels.d.ts","sourceRoot":"","sources":["../../../src/dlob/orderBookLevels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orderBookLevels.d.ts","sourceRoot":"","sources":["../../../src/dlob/orderBookLevels.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@ function getVammL2Generator({ marketAccount, mmOraclePriceData, numOrders, now =
111
111
  openBids = numericConstants_1.ZERO;
112
112
  if (openAsks.abs().lt(marketAccount.amm.minOrderSize.muln(2)))
113
113
  openAsks = numericConstants_1.ZERO;
114
- const [bidReserves, askReserves] = (0, amm_1.calculateSpreadReserves)(updatedAmm, mmOraclePriceData, now, (0, types_1.isVariant)(marketAccount.contractType, 'prediction'), latestSlot);
114
+ const [bidReserves, askReserves] = (0, amm_1.calculateSpreadReserves)(updatedAmm, mmOraclePriceData, now, latestSlot);
115
115
  const numBaseOrders = Math.max(1, numOrders - topOfBookQuoteAmounts.length);
116
116
  const commonOpts = {
117
117
  numOrders,
@@ -2,10 +2,23 @@
2
2
  /// <reference types="bn.js" />
3
3
  /// <reference types="node" />
4
4
  /// <reference types="node" />
5
+ /**
6
+ * DriftClient — main SDK entry point for all trading and keeper operations.
7
+ *
8
+ * Responsibilities:
9
+ * - Builds and sends all on-chain instructions (place/cancel/fill orders, deposits, withdrawals,
10
+ * settle PnL, update funding rate, liquidations).
11
+ * - Manages the program account subscription lifecycle (markets, oracles, user accounts).
12
+ * - Provides oracle price reads, market config lookups, and PDA derivation helpers.
13
+ *
14
+ * Admin operations (market init, fee updates, oracle config) live in {@link AdminClient} (adminClient.ts).
15
+ * Read-only user account queries (margin, positions, PnL) live in {@link User} (user.ts).
16
+ *
17
+ * Instruction → on-chain handler mapping: see ARCHITECTURE.md § SDK↔Instruction Mapping.
18
+ */
5
19
  import * as anchor from '@coral-xyz/anchor';
6
- import { AnchorProvider, BN, Program, ProgramAccount } from '@coral-xyz/anchor';
7
- import { Idl as Idl30, Program as Program30 } from '@coral-xyz/anchor-30';
8
- import { DriftClientMetricsEvents, HighLeverageModeConfig, IWallet, MakerInfo, MappedRecord, MarketType, ModifyOrderPolicy, OpenbookV2FulfillmentConfigAccount, OptionalOrderParams, OracleSource, Order, OrderParams, OrderTriggerCondition, PerpMarketAccount, PerpMarketExtendedInfo, PhoenixV1FulfillmentConfigAccount, PlaceAndTakeOrderSuccessCondition, PositionDirection, ReferrerInfo, ReferrerNameAccount, ScaleOrderParams, SerumV3FulfillmentConfigAccount, SettlePnlMode, SignedTxData, SpotMarketAccount, SpotPosition, StateAccount, SwapReduceOnly, SignedMsgOrderParamsMessage, TxParams, UserAccount, UserStatsAccount, ProtectedMakerModeConfig, SignedMsgOrderParamsDelegateMessage, PostOnlyParams, LPPoolAccount, ConstituentAccount, ConstituentTargetBaseAccount, AmmCache } from './types';
20
+ import { AnchorProvider, BN, ProgramAccount } from '@coral-xyz/anchor';
21
+ import { DriftClientMetricsEvents, IWallet, MakerInfo, MappedRecord, MarketType, ModifyOrderPolicy, OpenbookV2FulfillmentConfigAccount, OptionalOrderParams, OracleSource, Order, OrderParams, OrderTriggerCondition, PerpMarketAccount, PerpMarketExtendedInfo, PhoenixV1FulfillmentConfigAccount, PlaceAndTakeOrderSuccessCondition, PositionDirection, ReferrerInfo, ReferrerNameAccount, ScaleOrderParams, SerumV3FulfillmentConfigAccount, SettlePnlMode, SignedTxData, SpotMarketAccount, SpotPosition, StateAccount, SwapReduceOnly, SignedMsgOrderParamsMessage, TxParams, UserAccount, UserStatsAccount, ProtectedMakerModeConfig, SignedMsgOrderParamsDelegateMessage, PostOnlyParams, LPPoolAccount, ConstituentAccount, ConstituentTargetBaseAccount, AmmCache } from './types';
9
22
  import { AccountMeta, AddressLookupTableAccount, BlockhashWithExpiryBlockHeight, ConfirmOptions, Connection, Keypair, PublicKey, Signer, Transaction, TransactionInstruction, TransactionSignature, TransactionVersion, VersionedTransaction } from '@solana/web3.js';
10
23
  import { TokenFaucet } from './tokenFaucet';
11
24
  import { EventEmitter } from 'events';
@@ -16,20 +29,18 @@ import { MMOraclePriceData, OraclePriceData } from './oracles/types';
16
29
  import { DriftClientConfig } from './driftClientConfig';
17
30
  import { User } from './user';
18
31
  import { UserSubscriptionConfig } from './userConfig';
19
- import { DriftEnv } from './config';
32
+ import { DriftEnv, DriftProgram } from './config';
20
33
  import { UserStats } from './userStats';
21
34
  import { JupiterClient, QuoteResponse } from './jupiter/jupiterClient';
22
35
  import { SwapMode, UnifiedQuoteResponse } from './swap/UnifiedSwapClient';
23
36
  import { UserStatsSubscriptionConfig } from './userStatsConfig';
24
37
  import { TxHandler } from './tx/txHandler';
25
- import { Slothash } from './slot/SlothashSubscriber';
26
38
  import { SignedMsgOrderParams } from './types';
27
39
  import { TakerInfo } from './types';
28
40
  import { ConstituentMap } from './constituentMap/constituentMap';
29
41
  import { RevenueShareEscrowMap } from './userMap/revenueShareEscrowMap';
30
42
  import { TitanClient } from './titan/titanClient';
31
43
  import { UnifiedSwapClient } from './swap/UnifiedSwapClient';
32
- import { WormholeCoreBridgeSolana, PythSolanaReceiver } from './pyth';
33
44
  /**
34
45
  * Union type for swap clients (Titan and Jupiter) - Legacy type
35
46
  * @deprecated Use UnifiedSwapClient class instead
@@ -50,7 +61,7 @@ type RemainingAccountParams = {
50
61
  export declare class DriftClient {
51
62
  connection: Connection;
52
63
  wallet: IWallet;
53
- program: Program;
64
+ program: DriftProgram;
54
65
  provider: AnchorProvider;
55
66
  env: DriftEnv;
56
67
  opts?: ConfirmOptions;
@@ -83,11 +94,6 @@ export declare class DriftClient {
83
94
  txParams: TxParams;
84
95
  enableMetricsEvents?: boolean;
85
96
  txHandler: TxHandler;
86
- receiverProgram?: Program<PythSolanaReceiver>;
87
- wormholeProgram?: Program<WormholeCoreBridgeSolana>;
88
- sbOnDemandProgramdId: PublicKey;
89
- sbOnDemandProgram?: Program30<Idl30>;
90
- sbProgramFeedConfigs?: Map<string, any>;
91
97
  get isSubscribed(): boolean;
92
98
  private getPrePlaceOrderIxs;
93
99
  set isSubscribed(val: boolean);
@@ -252,7 +258,7 @@ export declare class DriftClient {
252
258
  authority?: PublicKey;
253
259
  signingAuthority?: PublicKey;
254
260
  }): Promise<TransactionInstruction>;
255
- updateUserPerpPositionCustomMarginRatio(perpMarketIndex: number, marginRatio: number, subAccountId?: number, txParams?: TxParams, enterHighLeverageMode?: boolean): Promise<TransactionSignature>;
261
+ updateUserPerpPositionCustomMarginRatio(perpMarketIndex: number, marginRatio: number, subAccountId?: number, txParams?: TxParams): Promise<TransactionSignature>;
256
262
  getUpdateUserMarginTradingEnabledIx(marginTradingEnabled: boolean, subAccountId?: number, userAccountPublicKey?: PublicKey): Promise<TransactionInstruction>;
257
263
  updateUserMarginTradingEnabled(updates: {
258
264
  marginTradingEnabled: boolean;
@@ -268,7 +274,7 @@ export declare class DriftClient {
268
274
  advancedLp: boolean;
269
275
  subAccountId: number;
270
276
  }[]): Promise<TransactionSignature>;
271
- getUpdateAdvancedDlpIx(advancedLp: boolean, subAccountId: number): Promise<anchor.web3.TransactionInstruction>;
277
+ getUpdateAdvancedDlpIx(advancedLp: boolean, subAccountId: number): Promise<any>;
272
278
  updateUserReduceOnly(updates: {
273
279
  reduceOnly: boolean;
274
280
  subAccountId: number;
@@ -290,7 +296,7 @@ export declare class DriftClient {
290
296
  forceDeleteUser(userAccountPublicKey: PublicKey, userAccount: UserAccount, txParams?: TxParams): Promise<TransactionSignature>;
291
297
  getForceDeleteUserIx(userAccountPublicKey: PublicKey, userAccount: UserAccount): Promise<anchor.web3.TransactionInstruction>;
292
298
  deleteSignedMsgUserOrders(txParams?: TxParams): Promise<TransactionSignature>;
293
- getSignedMsgUserOrdersDeletionIx(authority: PublicKey): Promise<anchor.web3.TransactionInstruction>;
299
+ getSignedMsgUserOrdersDeletionIx(authority: PublicKey): Promise<any>;
294
300
  /**
295
301
  * Checks if a SignedMsg User Orders account exists for the given authority.
296
302
  * The account pubkey is derived using the program ID and authority as seeds.
@@ -593,15 +599,13 @@ export declare class DriftClient {
593
599
  fillPerpOrder(userAccountPublicKey: PublicKey, user: UserAccount, order?: Pick<Order, 'marketIndex' | 'orderId'>, makerInfo?: MakerInfo | MakerInfo[], referrerInfo?: ReferrerInfo, txParams?: TxParams, fillerSubAccountId?: number, fillerAuthority?: PublicKey, hasBuilderFee?: boolean): Promise<TransactionSignature>;
594
600
  getFillPerpOrderIx(userAccountPublicKey: PublicKey, userAccount: UserAccount, order: Pick<Order, 'marketIndex' | 'orderId'>, makerInfo?: MakerInfo | MakerInfo[], referrerInfo?: ReferrerInfo, fillerSubAccountId?: number, isSignedMsg?: boolean, fillerAuthority?: PublicKey, hasBuilderFee?: boolean): Promise<TransactionInstruction>;
595
601
  getRevertFillIx(fillerPublicKey?: PublicKey): Promise<TransactionInstruction>;
596
- placeSpotOrder(orderParams: OptionalOrderParams, txParams?: TxParams, subAccountId?: number): Promise<TransactionSignature>;
597
- preparePlaceSpotOrderTx(orderParams: OptionalOrderParams, txParams?: TxParams, subAccountId?: number): Promise<{
598
- placeSpotOrderTx: anchor.web3.Transaction | anchor.web3.VersionedTransaction;
599
- }>;
600
- getPlaceSpotOrderIx(orderParams: OptionalOrderParams, subAccountId?: number, overrides?: {
602
+ placeSpotOrder(_orderParams: OptionalOrderParams, _txParams?: TxParams, _subAccountId?: number): Promise<TransactionSignature>;
603
+ preparePlaceSpotOrderTx(_orderParams: OptionalOrderParams, _txParams?: TxParams, _subAccountId?: number): Promise<void>;
604
+ getPlaceSpotOrderIx(_orderParams: OptionalOrderParams, _subAccountId?: number, _overrides?: {
601
605
  authority?: PublicKey;
602
606
  }): Promise<TransactionInstruction>;
603
- fillSpotOrder(userAccountPublicKey: PublicKey, user: UserAccount, order?: Pick<Order, 'marketIndex' | 'orderId'>, fulfillmentConfig?: SerumV3FulfillmentConfigAccount | PhoenixV1FulfillmentConfigAccount | OpenbookV2FulfillmentConfigAccount, makerInfo?: MakerInfo | MakerInfo[], referrerInfo?: ReferrerInfo, txParams?: TxParams): Promise<TransactionSignature>;
604
- getFillSpotOrderIx(userAccountPublicKey: PublicKey, userAccount: UserAccount, order?: Pick<Order, 'marketIndex' | 'orderId'>, fulfillmentConfig?: SerumV3FulfillmentConfigAccount | PhoenixV1FulfillmentConfigAccount | OpenbookV2FulfillmentConfigAccount, makerInfo?: MakerInfo | MakerInfo[], referrerInfo?: ReferrerInfo, fillerPublicKey?: PublicKey): Promise<TransactionInstruction>;
607
+ fillSpotOrder(_userAccountPublicKey: PublicKey, _user: UserAccount, _order?: Pick<Order, 'marketIndex' | 'orderId'>, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount | PhoenixV1FulfillmentConfigAccount | OpenbookV2FulfillmentConfigAccount, _makerInfo?: MakerInfo | MakerInfo[], _referrerInfo?: ReferrerInfo, _txParams?: TxParams): Promise<TransactionSignature>;
608
+ getFillSpotOrderIx(_userAccountPublicKey: PublicKey, _userAccount: UserAccount, _order?: Pick<Order, 'marketIndex' | 'orderId'>, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount | PhoenixV1FulfillmentConfigAccount | OpenbookV2FulfillmentConfigAccount, _makerInfo?: MakerInfo | MakerInfo[], _referrerInfo?: ReferrerInfo, _fillerPublicKey?: PublicKey): Promise<TransactionInstruction>;
605
609
  addSpotFulfillmentAccounts(marketIndex: number, remainingAccounts: AccountMeta[], fulfillmentConfig?: SerumV3FulfillmentConfigAccount | PhoenixV1FulfillmentConfigAccount | OpenbookV2FulfillmentConfigAccount): void;
606
610
  addSerumRemainingAccounts(marketIndex: number, remainingAccounts: AccountMeta[], fulfillmentConfig: SerumV3FulfillmentConfigAccount): void;
607
611
  addPhoenixRemainingAccounts(marketIndex: number, remainingAccounts: AccountMeta[], fulfillmentConfig: PhoenixV1FulfillmentConfigAccount): void;
@@ -798,13 +802,11 @@ export declare class DriftClient {
798
802
  takerUserAccount: UserAccount;
799
803
  signingAuthority: PublicKey;
800
804
  }, orderParams: OptionalOrderParams, referrerInfo?: ReferrerInfo, subAccountId?: number, precedingIxs?: TransactionInstruction[], overrideCustomIxIndex?: number): Promise<TransactionInstruction[]>;
801
- preparePlaceAndTakeSpotOrder(orderParams: OptionalOrderParams, fulfillmentConfig?: SerumV3FulfillmentConfigAccount, makerInfo?: MakerInfo, referrerInfo?: ReferrerInfo, txParams?: TxParams, subAccountId?: number): Promise<{
802
- placeAndTakeSpotOrderTx: anchor.web3.Transaction | anchor.web3.VersionedTransaction;
803
- }>;
804
- placeAndTakeSpotOrder(orderParams: OptionalOrderParams, fulfillmentConfig?: SerumV3FulfillmentConfigAccount, makerInfo?: MakerInfo, referrerInfo?: ReferrerInfo, txParams?: TxParams, subAccountId?: number): Promise<TransactionSignature>;
805
- getPlaceAndTakeSpotOrderIx(orderParams: OptionalOrderParams, fulfillmentConfig?: SerumV3FulfillmentConfigAccount, makerInfo?: MakerInfo, referrerInfo?: ReferrerInfo, subAccountId?: number): Promise<TransactionInstruction>;
806
- placeAndMakeSpotOrder(orderParams: OptionalOrderParams, takerInfo: TakerInfo, fulfillmentConfig?: SerumV3FulfillmentConfigAccount, referrerInfo?: ReferrerInfo, txParams?: TxParams, subAccountId?: number): Promise<TransactionSignature>;
807
- getPlaceAndMakeSpotOrderIx(orderParams: OptionalOrderParams, takerInfo: TakerInfo, fulfillmentConfig?: SerumV3FulfillmentConfigAccount, referrerInfo?: ReferrerInfo, subAccountId?: number): Promise<TransactionInstruction>;
805
+ preparePlaceAndTakeSpotOrder(_orderParams: OptionalOrderParams, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount, _makerInfo?: MakerInfo, _referrerInfo?: ReferrerInfo, _txParams?: TxParams, _subAccountId?: number): Promise<void>;
806
+ placeAndTakeSpotOrder(_orderParams: OptionalOrderParams, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount, _makerInfo?: MakerInfo, _referrerInfo?: ReferrerInfo, _txParams?: TxParams, _subAccountId?: number): Promise<TransactionSignature>;
807
+ getPlaceAndTakeSpotOrderIx(_orderParams: OptionalOrderParams, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount, _makerInfo?: MakerInfo, _referrerInfo?: ReferrerInfo, _subAccountId?: number): Promise<TransactionInstruction>;
808
+ placeAndMakeSpotOrder(_orderParams: OptionalOrderParams, _takerInfo: TakerInfo, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount, _referrerInfo?: ReferrerInfo, _txParams?: TxParams, _subAccountId?: number): Promise<TransactionSignature>;
809
+ getPlaceAndMakeSpotOrderIx(_orderParams: OptionalOrderParams, _takerInfo: TakerInfo, _fulfillmentConfig?: SerumV3FulfillmentConfigAccount, _referrerInfo?: ReferrerInfo, _subAccountId?: number): Promise<TransactionInstruction>;
808
810
  /**
809
811
  * @deprecated use {@link placePerpOrder} or {@link placeAndTakePerpOrder} instead
810
812
  */
@@ -1118,7 +1120,7 @@ export declare class DriftClient {
1118
1120
  * @param positionMarketIndex
1119
1121
  * @returns : {takerFee: number, makerFee: number} Precision None
1120
1122
  */
1121
- getMarketFees(marketType: MarketType, marketIndex?: number, user?: User, enteringHighLeverageMode?: boolean): {
1123
+ getMarketFees(marketType: MarketType, marketIndex?: number, user?: User): {
1122
1124
  takerFee: number;
1123
1125
  makerFee: number;
1124
1126
  };
@@ -1132,37 +1134,8 @@ export declare class DriftClient {
1132
1134
  marketIndex: number;
1133
1135
  marketType: MarketType;
1134
1136
  } | undefined;
1135
- getReceiverProgram(): Program<PythSolanaReceiver>;
1136
- getSwitchboardOnDemandProgram(): Promise<Program30<Idl30>>;
1137
- postPythPullOracleUpdateAtomic(vaaString: string, feedId: string): Promise<TransactionSignature>;
1138
- postMultiPythPullOracleUpdatesAtomic(vaaString: string, feedIds: string[]): Promise<TransactionSignature>;
1139
- getPostPythPullOracleUpdateAtomicIxs(vaaString: string, feedIds: string | string[], numSignatures?: number): Promise<TransactionInstruction[]>;
1140
- private getSinglePostPythPullOracleAtomicIx;
1141
- updatePythPullOracle(vaaString: string, feedId: string): Promise<TransactionSignature>;
1142
- getUpdatePythPullOracleIxs(params: {
1143
- merklePriceUpdate: {
1144
- message: Buffer;
1145
- proof: number[][];
1146
- };
1147
- }, feedId: string, encodedVaaAddress: PublicKey): Promise<TransactionInstruction>;
1148
1137
  postPythLazerOracleUpdate(feedIds: number[], pythMessageHex: string): Promise<string>;
1149
1138
  getPostPythLazerOracleUpdateIxs(feedIds: number[], pythMessageHex: string, precedingIxs?: TransactionInstruction[], overrideCustomIxIndex?: number): Promise<TransactionInstruction[]>;
1150
- getPostManySwitchboardOnDemandUpdatesAtomicIxs(feeds: PublicKey[], recentSlothash?: Slothash, numSignatures?: number): Promise<TransactionInstruction[] | undefined>;
1151
- getPostSwitchboardOnDemandUpdateAtomicIx(feed: PublicKey, recentSlothash?: Slothash, numSignatures?: number): Promise<TransactionInstruction | undefined>;
1152
- postSwitchboardOnDemandUpdate(feed: PublicKey, recentSlothash?: Slothash, numSignatures?: number): Promise<TransactionSignature>;
1153
- private getBuildEncodedVaaIxs;
1154
- enableUserHighLeverageMode(subAccountId: number, txParams?: TxParams): Promise<TransactionSignature>;
1155
- getEnableHighLeverageModeIx(subAccountId: number, depositToTradeArgs?: {
1156
- isMakingNewAccount: boolean;
1157
- depositMarketIndex: number;
1158
- orderMarketIndex: number;
1159
- }, overrides?: {
1160
- user?: User;
1161
- signingAuthority?: PublicKey;
1162
- }): Promise<TransactionInstruction>;
1163
- disableUserHighLeverageMode(user: PublicKey, userAccount?: UserAccount, txParams?: TxParams): Promise<TransactionSignature>;
1164
- getDisableHighLeverageModeIx(user: PublicKey, userAccount?: UserAccount, maintenance?: boolean): Promise<TransactionInstruction>;
1165
- fetchHighLeverageModeConfig(): Promise<HighLeverageModeConfig>;
1166
1139
  fetchProtectedMakerModeConfig(): Promise<ProtectedMakerModeConfig>;
1167
1140
  updateUserProtectedMakerOrders(subAccountId: number, protectedOrders: boolean, authority?: PublicKey, txParams?: TxParams): Promise<TransactionSignature>;
1168
1141
  getUpdateUserProtectedMakerOrdersIx(subAccountId: number, protectedOrders: boolean, authority?: PublicKey): Promise<TransactionInstruction>;