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

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 +21406 -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 +21407 -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 +21406 -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,3 +1,11 @@
1
+ /**
2
+ * AdminClient — governance and protocol administration instruction builders.
3
+ * Extends {@link DriftClient}; all trading/keeper methods are also available.
4
+ *
5
+ * Covers: perp/spot market initialization and updates, oracle guard rail config,
6
+ * fee structure updates, insurance fund operations, vault management, IF rebalancing,
7
+ * pause/unpause exchange, and all ~126 admin instruction handlers in `instructions/admin.rs`.
8
+ */
1
9
  import {
2
10
  AddressLookupTableAccount,
3
11
  Keypair,
@@ -24,6 +32,7 @@ import {
24
32
  InitializeConstituentParams,
25
33
  ConstituentStatus,
26
34
  LPPoolAccount,
35
+ TransferFeeAndPnlPoolDirection,
27
36
  } from './types';
28
37
  import { DEFAULT_MARKET_NAME, encodeName } from './userName';
29
38
  import { BN } from '@coral-xyz/anchor';
@@ -41,7 +50,6 @@ import {
41
50
  getPrelaunchOraclePublicKey,
42
51
  getOpenbookV2FulfillmentConfigPublicKey,
43
52
  getUserStatsAccountPublicKey,
44
- getHighLeverageModeConfigPublicKey,
45
53
  getPythLazerOraclePublicKey,
46
54
  getProtectedMakerModeConfigPublicKey,
47
55
  getFuelOverflowAccountPublicKey,
@@ -538,7 +546,7 @@ export class AdminClient extends DriftClient {
538
546
  quoteAssetReserve: BN,
539
547
  periodicity: BN,
540
548
  pegMultiplier: BN = PEG_PRECISION,
541
- oracleSource: OracleSource = OracleSource.PYTH,
549
+ oracleSource: OracleSource = OracleSource.PYTH_LAZER,
542
550
  contractTier: ContractTier = ContractTier.SPECULATIVE,
543
551
  marginRatioInitial = 2000,
544
552
  marginRatioMaintenance = 500,
@@ -616,7 +624,7 @@ export class AdminClient extends DriftClient {
616
624
  quoteAssetReserve: BN,
617
625
  periodicity: BN,
618
626
  pegMultiplier: BN = PEG_PRECISION,
619
- oracleSource: OracleSource = OracleSource.PYTH,
627
+ oracleSource: OracleSource = OracleSource.PYTH_LAZER,
620
628
  contractTier: ContractTier = ContractTier.SPECULATIVE,
621
629
  marginRatioInitial = 2000,
622
630
  marginRatioMaintenance = 500,
@@ -881,7 +889,7 @@ export class AdminClient extends DriftClient {
881
889
  }
882
890
 
883
891
  public async getResetAmmCacheIx(): Promise<TransactionInstruction> {
884
- return this.program.instruction.resetAmmCache({
892
+ return (this.program.instruction as any).resetAmmCache({
885
893
  accounts: {
886
894
  state: await this.getStatePublicKey(),
887
895
  admin: this.useHotWalletAdmin
@@ -893,36 +901,6 @@ export class AdminClient extends DriftClient {
893
901
  });
894
902
  }
895
903
 
896
- public async initializePredictionMarket(
897
- perpMarketIndex: number
898
- ): Promise<TransactionSignature> {
899
- const updatePerpMarketConcentrationCoefIx =
900
- await this.getInitializePredictionMarketIx(perpMarketIndex);
901
-
902
- const tx = await this.buildTransaction(updatePerpMarketConcentrationCoefIx);
903
-
904
- const { txSig } = await this.sendTransaction(tx, [], this.opts);
905
-
906
- return txSig;
907
- }
908
-
909
- public async getInitializePredictionMarketIx(
910
- perpMarketIndex: number
911
- ): Promise<TransactionInstruction> {
912
- return await this.program.instruction.initializePredictionMarket({
913
- accounts: {
914
- state: await this.getStatePublicKey(),
915
- admin: this.isSubscribed
916
- ? this.getStateAccount().admin
917
- : this.wallet.publicKey,
918
- perpMarket: await getPerpMarketPublicKey(
919
- this.program.programId,
920
- perpMarketIndex
921
- ),
922
- },
923
- });
924
- }
925
-
926
904
  public async deleteInitializedPerpMarket(
927
905
  marketIndex: number
928
906
  ): Promise<TransactionSignature> {
@@ -1723,21 +1701,20 @@ export class AdminClient extends DriftClient {
1723
1701
  perpMarketIndex: number,
1724
1702
  targetBaseAssetAmountPerLP: number
1725
1703
  ): Promise<TransactionInstruction> {
1726
- return await this.program.instruction.updatePerpMarketTargetBaseAssetAmountPerLp(
1727
- targetBaseAssetAmountPerLP,
1728
- {
1729
- accounts: {
1730
- admin: this.isSubscribed
1731
- ? this.getStateAccount().admin
1732
- : this.wallet.publicKey,
1733
- state: await this.getStatePublicKey(),
1734
- perpMarket: await getPerpMarketPublicKey(
1735
- this.program.programId,
1736
- perpMarketIndex
1737
- ),
1738
- },
1739
- }
1740
- );
1704
+ return await (
1705
+ this.program.instruction as any
1706
+ ).updatePerpMarketTargetBaseAssetAmountPerLp(targetBaseAssetAmountPerLP, {
1707
+ accounts: {
1708
+ admin: this.isSubscribed
1709
+ ? this.getStateAccount().admin
1710
+ : this.wallet.publicKey,
1711
+ state: await this.getStatePublicKey(),
1712
+ perpMarket: await getPerpMarketPublicKey(
1713
+ this.program.programId,
1714
+ perpMarketIndex
1715
+ ),
1716
+ },
1717
+ });
1741
1718
  }
1742
1719
 
1743
1720
  public async updatePerpMarketMarginRatio(
@@ -1782,50 +1759,6 @@ export class AdminClient extends DriftClient {
1782
1759
  );
1783
1760
  }
1784
1761
 
1785
- public async updatePerpMarketHighLeverageMarginRatio(
1786
- perpMarketIndex: number,
1787
- marginRatioInitial: number,
1788
- marginRatioMaintenance: number
1789
- ): Promise<TransactionSignature> {
1790
- const updatePerpMarketHighLeverageMarginRatioIx =
1791
- await this.getUpdatePerpMarketHighLeverageMarginRatioIx(
1792
- perpMarketIndex,
1793
- marginRatioInitial,
1794
- marginRatioMaintenance
1795
- );
1796
-
1797
- const tx = await this.buildTransaction(
1798
- updatePerpMarketHighLeverageMarginRatioIx
1799
- );
1800
-
1801
- const { txSig } = await this.sendTransaction(tx, [], this.opts);
1802
-
1803
- return txSig;
1804
- }
1805
-
1806
- public async getUpdatePerpMarketHighLeverageMarginRatioIx(
1807
- perpMarketIndex: number,
1808
- marginRatioInitial: number,
1809
- marginRatioMaintenance: number
1810
- ): Promise<TransactionInstruction> {
1811
- return await this.program.instruction.updatePerpMarketHighLeverageMarginRatio(
1812
- marginRatioInitial,
1813
- marginRatioMaintenance,
1814
- {
1815
- accounts: {
1816
- admin: this.isSubscribed
1817
- ? this.getStateAccount().admin
1818
- : this.wallet.publicKey,
1819
- state: await this.getStatePublicKey(),
1820
- perpMarket: await getPerpMarketPublicKey(
1821
- this.program.programId,
1822
- perpMarketIndex
1823
- ),
1824
- },
1825
- }
1826
- );
1827
- }
1828
-
1829
1762
  public async updatePerpMarketImfFactor(
1830
1763
  perpMarketIndex: number,
1831
1764
  imfFactor: number,
@@ -2067,15 +2000,18 @@ export class AdminClient extends DriftClient {
2067
2000
  perpMarketIndex
2068
2001
  );
2069
2002
 
2070
- return await this.program.instruction.updatePerpMarketPerLpBase(perLpBase, {
2071
- accounts: {
2072
- admin: this.isSubscribed
2073
- ? this.getStateAccount().admin
2074
- : this.wallet.publicKey,
2075
- state: await this.getStatePublicKey(),
2076
- perpMarket: perpMarketPublicKey,
2077
- },
2078
- });
2003
+ return await (this.program.instruction as any).updatePerpMarketPerLpBase(
2004
+ perLpBase,
2005
+ {
2006
+ accounts: {
2007
+ admin: this.isSubscribed
2008
+ ? this.getStateAccount().admin
2009
+ : this.wallet.publicKey,
2010
+ state: await this.getStatePublicKey(),
2011
+ perpMarket: perpMarketPublicKey,
2012
+ },
2013
+ }
2014
+ );
2079
2015
  }
2080
2016
 
2081
2017
  public async updatePerpMarketMaxSpread(
@@ -2667,14 +2603,17 @@ export class AdminClient extends DriftClient {
2667
2603
  public async getUpdateLpCooldownTimeIx(
2668
2604
  cooldownTime: BN
2669
2605
  ): Promise<TransactionInstruction> {
2670
- return await this.program.instruction.updateLpCooldownTime(cooldownTime, {
2671
- accounts: {
2672
- admin: this.isSubscribed
2673
- ? this.getStateAccount().admin
2674
- : this.wallet.publicKey,
2675
- state: await this.getStatePublicKey(),
2676
- },
2677
- });
2606
+ return await (this.program.instruction as any).updateLpCooldownTime(
2607
+ cooldownTime,
2608
+ {
2609
+ accounts: {
2610
+ admin: this.isSubscribed
2611
+ ? this.getStateAccount().admin
2612
+ : this.wallet.publicKey,
2613
+ state: await this.getStatePublicKey(),
2614
+ },
2615
+ }
2616
+ );
2678
2617
  }
2679
2618
 
2680
2619
  public async updatePerpMarketOracle(
@@ -3180,14 +3119,17 @@ export class AdminClient extends DriftClient {
3180
3119
  public async getUpdateWhitelistMintIx(
3181
3120
  whitelistMint?: PublicKey
3182
3121
  ): Promise<TransactionInstruction> {
3183
- return await this.program.instruction.updateWhitelistMint(whitelistMint, {
3184
- accounts: {
3185
- admin: this.isSubscribed
3186
- ? this.getStateAccount().admin
3187
- : this.wallet.publicKey,
3188
- state: await this.getStatePublicKey(),
3189
- },
3190
- });
3122
+ return await (this.program.instruction as any).updateWhitelistMint(
3123
+ whitelistMint,
3124
+ {
3125
+ accounts: {
3126
+ admin: this.isSubscribed
3127
+ ? this.getStateAccount().admin
3128
+ : this.wallet.publicKey,
3129
+ state: await this.getStatePublicKey(),
3130
+ },
3131
+ }
3132
+ );
3191
3133
  }
3192
3134
 
3193
3135
  public async updateDiscountMint(
@@ -3518,7 +3460,7 @@ export class AdminClient extends DriftClient {
3518
3460
  perpMarketIndex: number,
3519
3461
  contractTier: ContractTier
3520
3462
  ): Promise<TransactionInstruction> {
3521
- return await this.program.instruction.updatePerpMarketContractTier(
3463
+ return await (this.program.instruction as any).updatePerpMarketContractTier(
3522
3464
  contractTier,
3523
3465
  {
3524
3466
  accounts: {
@@ -3681,7 +3623,7 @@ export class AdminClient extends DriftClient {
3681
3623
  perpMarketIndex: number,
3682
3624
  maxSlippageRatio: number
3683
3625
  ): Promise<TransactionInstruction> {
3684
- return await this.program.instruction.updateMaxSlippageRatio(
3626
+ return await (this.program.instruction as any).updateMaxSlippageRatio(
3685
3627
  maxSlippageRatio,
3686
3628
  {
3687
3629
  accounts: {
@@ -3956,7 +3898,7 @@ export class AdminClient extends DriftClient {
3956
3898
  public async getUpdateSerumVaultIx(
3957
3899
  srmVault: PublicKey
3958
3900
  ): Promise<TransactionInstruction> {
3959
- return await this.program.instruction.updateSerumVault(srmVault, {
3901
+ return await (this.program.instruction as any).updateSerumVault(srmVault, {
3960
3902
  accounts: {
3961
3903
  admin: this.isSubscribed
3962
3904
  ? this.getStateAccount().admin
@@ -4065,20 +4007,20 @@ export class AdminClient extends DriftClient {
4065
4007
  }
4066
4008
 
4067
4009
  public async getInitializeProtocolIfSharesTransferConfigIx(): Promise<TransactionInstruction> {
4068
- return await this.program.instruction.initializeProtocolIfSharesTransferConfig(
4069
- {
4070
- accounts: {
4071
- admin: this.isSubscribed
4072
- ? this.getStateAccount().admin
4073
- : this.wallet.publicKey,
4074
- state: await this.getStatePublicKey(),
4075
- rent: SYSVAR_RENT_PUBKEY,
4076
- systemProgram: anchor.web3.SystemProgram.programId,
4077
- protocolIfSharesTransferConfig:
4078
- getProtocolIfSharesTransferConfigPublicKey(this.program.programId),
4079
- },
4080
- }
4081
- );
4010
+ return await (
4011
+ this.program.instruction as any
4012
+ ).initializeProtocolIfSharesTransferConfig({
4013
+ accounts: {
4014
+ admin: this.isSubscribed
4015
+ ? this.getStateAccount().admin
4016
+ : this.wallet.publicKey,
4017
+ state: await this.getStatePublicKey(),
4018
+ rent: SYSVAR_RENT_PUBKEY,
4019
+ systemProgram: anchor.web3.SystemProgram.programId,
4020
+ protocolIfSharesTransferConfig:
4021
+ getProtocolIfSharesTransferConfigPublicKey(this.program.programId),
4022
+ },
4023
+ });
4082
4024
  }
4083
4025
 
4084
4026
  public async updateProtocolIfSharesTransferConfig(
@@ -4104,7 +4046,9 @@ export class AdminClient extends DriftClient {
4104
4046
  whitelistedSigners?: PublicKey[],
4105
4047
  maxTransferPerEpoch?: BN
4106
4048
  ): Promise<TransactionInstruction> {
4107
- return await this.program.instruction.updateProtocolIfSharesTransferConfig(
4049
+ return await (
4050
+ this.program.instruction as any
4051
+ ).updateProtocolIfSharesTransferConfig(
4108
4052
  whitelistedSigners || null,
4109
4053
  maxTransferPerEpoch,
4110
4054
  {
@@ -4413,7 +4357,7 @@ export class AdminClient extends DriftClient {
4413
4357
  spotMarketIndex
4414
4358
  );
4415
4359
 
4416
- return await this.program.instruction.updateSpotMarketFuel(
4360
+ return await (this.program.instruction as any).updateSpotMarketFuel(
4417
4361
  fuelBoostDeposits ?? null,
4418
4362
  fuelBoostBorrows ?? null,
4419
4363
  fuelBoostTaker ?? null,
@@ -4461,7 +4405,7 @@ export class AdminClient extends DriftClient {
4461
4405
  perpMarketIndex
4462
4406
  );
4463
4407
 
4464
- return await this.program.instruction.updatePerpMarketFuel(
4408
+ return await (this.program.instruction as any).updatePerpMarketFuel(
4465
4409
  fuelBoostTaker ?? null,
4466
4410
  fuelBoostMaker ?? null,
4467
4411
  fuelBoostPosition ?? null,
@@ -4721,7 +4665,7 @@ export class AdminClient extends DriftClient {
4721
4665
  authority
4722
4666
  );
4723
4667
 
4724
- return await this.program.instruction.initUserFuel(
4668
+ return await (this.program.instruction as any).initUserFuel(
4725
4669
  fuelBonusDeposits || null,
4726
4670
  fuelBonusBorrows || null,
4727
4671
  fuelBonusTaker || null,
@@ -4773,7 +4717,7 @@ export class AdminClient extends DriftClient {
4773
4717
  isWritable: true,
4774
4718
  });
4775
4719
  }
4776
- return this.program.instruction.resetFuelSeason({
4720
+ return (this.program.instruction as any).resetFuelSeason({
4777
4721
  accounts: {
4778
4722
  userStats: getUserStatsAccountPublicKey(
4779
4723
  this.program.programId,
@@ -4820,82 +4764,6 @@ export class AdminClient extends DriftClient {
4820
4764
  });
4821
4765
  }
4822
4766
 
4823
- public async initializeHighLeverageModeConfig(
4824
- maxUsers: number
4825
- ): Promise<TransactionSignature> {
4826
- const initializeHighLeverageModeConfigIx =
4827
- await this.getInitializeHighLeverageModeConfigIx(maxUsers);
4828
-
4829
- const tx = await this.buildTransaction(initializeHighLeverageModeConfigIx);
4830
-
4831
- const { txSig } = await this.sendTransaction(tx, [], this.opts);
4832
-
4833
- return txSig;
4834
- }
4835
-
4836
- public async getInitializeHighLeverageModeConfigIx(
4837
- maxUsers: number
4838
- ): Promise<TransactionInstruction> {
4839
- return await this.program.instruction.initializeHighLeverageModeConfig(
4840
- maxUsers,
4841
- {
4842
- accounts: {
4843
- admin: this.isSubscribed
4844
- ? this.getStateAccount().admin
4845
- : this.wallet.publicKey,
4846
- state: await this.getStatePublicKey(),
4847
- rent: SYSVAR_RENT_PUBKEY,
4848
- systemProgram: anchor.web3.SystemProgram.programId,
4849
- highLeverageModeConfig: getHighLeverageModeConfigPublicKey(
4850
- this.program.programId
4851
- ),
4852
- },
4853
- }
4854
- );
4855
- }
4856
-
4857
- public async updateUpdateHighLeverageModeConfig(
4858
- maxUsers: number,
4859
- reduceOnly: boolean,
4860
- currentUsers?: number
4861
- ): Promise<TransactionSignature> {
4862
- const updateHighLeverageModeConfigIx =
4863
- await this.getUpdateHighLeverageModeConfigIx(
4864
- maxUsers,
4865
- reduceOnly,
4866
- currentUsers
4867
- );
4868
-
4869
- const tx = await this.buildTransaction(updateHighLeverageModeConfigIx);
4870
-
4871
- const { txSig } = await this.sendTransaction(tx, [], this.opts);
4872
-
4873
- return txSig;
4874
- }
4875
-
4876
- public async getUpdateHighLeverageModeConfigIx(
4877
- maxUsers: number,
4878
- reduceOnly: boolean,
4879
- currentUsers?: number
4880
- ): Promise<TransactionInstruction> {
4881
- return await this.program.instruction.updateHighLeverageModeConfig(
4882
- maxUsers,
4883
- reduceOnly,
4884
- currentUsers,
4885
- {
4886
- accounts: {
4887
- admin: this.isSubscribed
4888
- ? this.getStateAccount().admin
4889
- : this.wallet.publicKey,
4890
- state: await this.getStatePublicKey(),
4891
- highLeverageModeConfig: getHighLeverageModeConfigPublicKey(
4892
- this.program.programId
4893
- ),
4894
- },
4895
- }
4896
- );
4897
- }
4898
-
4899
4767
  public async initializeProtectedMakerModeConfig(
4900
4768
  maxUsers: number,
4901
4769
  stateAdmin?: boolean
@@ -5129,17 +4997,16 @@ export class AdminClient extends DriftClient {
5129
4997
  public async getUpdateFeatureBitFlagsBuilderReferralIx(
5130
4998
  enable: boolean
5131
4999
  ): Promise<TransactionInstruction> {
5132
- return this.program.instruction.updateFeatureBitFlagsBuilderReferral(
5133
- enable,
5134
- {
5135
- accounts: {
5136
- admin: this.useHotWalletAdmin
5137
- ? this.wallet.publicKey
5138
- : this.getStateAccount().admin,
5139
- state: await this.getStatePublicKey(),
5140
- },
5141
- }
5142
- );
5000
+ return (
5001
+ this.program.instruction as any
5002
+ ).updateFeatureBitFlagsBuilderReferral(enable, {
5003
+ accounts: {
5004
+ admin: this.useHotWalletAdmin
5005
+ ? this.wallet.publicKey
5006
+ : this.getStateAccount().admin,
5007
+ state: await this.getStatePublicKey(),
5008
+ },
5009
+ });
5143
5010
  }
5144
5011
 
5145
5012
  public async updateFeatureBitFlagsMedianTriggerPrice(
@@ -5205,17 +5072,18 @@ export class AdminClient extends DriftClient {
5205
5072
  authority
5206
5073
  );
5207
5074
 
5208
- const ix =
5209
- this.program.instruction.getUpdateDelegateUserGovTokenInsuranceStakeIx({
5210
- accounts: {
5211
- state: await this.getStatePublicKey(),
5212
- spotMarket: spotMarket.pubkey,
5213
- insuranceFundStake: ifStakeAccountPublicKey,
5214
- userStats: userStatsPublicKey,
5215
- signer: this.wallet.publicKey,
5216
- insuranceFundVault: spotMarket.insuranceFund.vault,
5217
- },
5218
- });
5075
+ const ix = (
5076
+ this.program.instruction as any
5077
+ ).getUpdateDelegateUserGovTokenInsuranceStakeIx({
5078
+ accounts: {
5079
+ state: await this.getStatePublicKey(),
5080
+ spotMarket: spotMarket.pubkey,
5081
+ insuranceFundStake: ifStakeAccountPublicKey,
5082
+ userStats: userStatsPublicKey,
5083
+ signer: this.wallet.publicKey,
5084
+ insuranceFundVault: spotMarket.insuranceFund.vault,
5085
+ },
5086
+ });
5219
5087
 
5220
5088
  return ix;
5221
5089
  }
@@ -5810,7 +5678,7 @@ export class AdminClient extends DriftClient {
5810
5678
  lpPool
5811
5679
  );
5812
5680
  return [
5813
- this.program.instruction.addAmmConstituentMappingData(
5681
+ (this.program.instruction as any).addAmmConstituentMappingData(
5814
5682
  addAmmConstituentMappingData,
5815
5683
  {
5816
5684
  accounts: {
@@ -6637,4 +6505,51 @@ export class AdminClient extends DriftClient {
6637
6505
  },
6638
6506
  });
6639
6507
  }
6508
+
6509
+ public async transferFeeAndPnlPool(
6510
+ perpMarketIndexWithFeePool: number,
6511
+ perpMarketIndexWithPnlPool: number,
6512
+ amount: BN,
6513
+ direction: TransferFeeAndPnlPoolDirection
6514
+ ): Promise<TransactionSignature> {
6515
+ const transferFeeAndPnlPoolIx = await this.getTransferFeeAndPnlPoolIx(
6516
+ perpMarketIndexWithFeePool,
6517
+ perpMarketIndexWithPnlPool,
6518
+ amount,
6519
+ direction
6520
+ );
6521
+ const tx = await this.buildTransaction(transferFeeAndPnlPoolIx);
6522
+ const { txSig } = await this.sendTransaction(tx, [], this.opts);
6523
+ return txSig;
6524
+ }
6525
+
6526
+ public async getTransferFeeAndPnlPoolIx(
6527
+ perpMarketIndexWithFeePool: number,
6528
+ perpMarketIndexWithPnlPool: number,
6529
+ amount: BN,
6530
+ direction: TransferFeeAndPnlPoolDirection
6531
+ ): Promise<TransactionInstruction> {
6532
+ return await this.program.instruction.transferFeeAndPnlPool(
6533
+ amount,
6534
+ direction,
6535
+ {
6536
+ accounts: {
6537
+ admin: this.isSubscribed
6538
+ ? this.getStateAccount().admin
6539
+ : this.wallet.publicKey,
6540
+ state: await this.getStatePublicKey(),
6541
+ perpMarketWithFeePool: await getPerpMarketPublicKey(
6542
+ this.program.programId,
6543
+ perpMarketIndexWithFeePool
6544
+ ),
6545
+ perpMarketWithPnlPool: await getPerpMarketPublicKey(
6546
+ this.program.programId,
6547
+ perpMarketIndexWithPnlPool
6548
+ ),
6549
+ spotMarket: this.getQuoteSpotMarketAccount().pubkey,
6550
+ spotMarketVault: this.getQuoteSpotMarketAccount().vault,
6551
+ },
6552
+ }
6553
+ );
6554
+ }
6640
6555
  }
@@ -32,10 +32,12 @@ export class AuctionSubscriber {
32
32
  if (!this.subscriber) {
33
33
  this.subscriber = new WebSocketProgramAccountSubscriber<UserAccount>(
34
34
  'AuctionSubscriber',
35
- 'User',
35
+ 'user',
36
36
  this.driftClient.program,
37
- this.driftClient.program.account.user.coder.accounts.decode.bind(
38
- this.driftClient.program.account.user.coder.accounts
37
+ (
38
+ this.driftClient.program.account as any
39
+ ).user.coder.accounts.decode.bind(
40
+ (this.driftClient.program.account as any).user.coder.accounts
39
41
  ),
40
42
  {
41
43
  filters: [getUserFilter(), getUserWithAuctionFilter()],
@@ -37,10 +37,12 @@ export class AuctionSubscriberGrpc {
37
37
  this.subscriber = await grpcProgramAccountSubscriber.create<UserAccount>(
38
38
  this.grpcConfigs,
39
39
  'AuctionSubscriber',
40
- 'User',
40
+ 'user',
41
41
  this.driftClient.program,
42
- this.driftClient.program.account.user.coder.accounts.decode.bind(
43
- this.driftClient.program.account.user.coder.accounts
42
+ (
43
+ this.driftClient.program.account as any
44
+ ).user.coder.accounts.decode.bind(
45
+ (this.driftClient.program.account as any).user.coder.accounts
44
46
  ),
45
47
  {
46
48
  filters: [getUserFilter(), getUserWithAuctionFilter()],