@drift-labs/sdk-browser 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
package/src/config.ts CHANGED
@@ -14,11 +14,10 @@ import {
14
14
  } from './constants/spotMarkets';
15
15
  import { OracleInfo } from './oracles/types';
16
16
  import { Program, ProgramAccount } from '@coral-xyz/anchor';
17
- import {
18
- ON_DEMAND_DEVNET_PID,
19
- ON_DEMAND_MAINNET_PID,
20
- } from '@switchboard-xyz/on-demand';
21
17
  import { getOracleId } from './oracles/oracleId';
18
+ import { Drift } from './idl/drift';
19
+
20
+ export type DriftProgram = Program<Drift>;
22
21
 
23
22
  type DriftConfig = {
24
23
  ENV: DriftEnv;
@@ -26,7 +25,7 @@ type DriftConfig = {
26
25
  DRIFT_PROGRAM_ID: string;
27
26
  JIT_PROXY_PROGRAM_ID?: string;
28
27
  DRIFT_ORACLE_RECEIVER_ID: string;
29
- USDC_MINT_ADDRESS: string;
28
+ QUOTE_MINT_ADDRESS: string;
30
29
  SERUM_V3: string;
31
30
  PHOENIX: string;
32
31
  OPENBOOK: string;
@@ -37,17 +36,24 @@ type DriftConfig = {
37
36
  MARKET_LOOKUP_TABLE: string;
38
37
  MARKET_LOOKUP_TABLES: string[];
39
38
  SERUM_LOOKUP_TABLE?: string;
40
- PYTH_PULL_ORACLE_LOOKUP_TABLE?: string;
41
39
  SB_ON_DEMAND_PID: PublicKey;
42
40
  };
43
41
 
44
42
  export type DriftEnv = 'devnet' | 'mainnet-beta';
45
43
 
46
44
  export const DRIFT_PROGRAM_ID = 'dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH';
45
+ export const DRIFT_DEVNET_PROGRAM_ID =
46
+ 'FGXfSBCXqSTkBX6zTQyPo8JbC11pn5DGKYm9MSbLC7P2';
47
47
  export const DRIFT_ORACLE_RECEIVER_ID =
48
48
  'G6EoTTTgpkNBtVXo96EQp2m6uwwVh2Kt6YidjkmQqoha';
49
49
  export const PTYH_LAZER_PROGRAM_ID =
50
50
  'pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt';
51
+ export const SB_ON_DEMAND_DEVNET_PID = new PublicKey(
52
+ 'Aio4gaXjXzJNVLtzwtNVmSqGKpANtXhybbkhtAC94ji2'
53
+ );
54
+ export const SB_ON_DEMAND_MAINNET_PID = new PublicKey(
55
+ 'SBondMDrcV3K4kxZR1HNVT7osZxAHVHgYXL5Ze1oMUv'
56
+ );
51
57
  export const PYTH_LAZER_STORAGE_ACCOUNT_KEY = new PublicKey(
52
58
  '3rdJbqfnagQ4yx9HXJViD4zc4xpiSqmFsKpPuSCQVyQL'
53
59
  );
@@ -61,9 +67,9 @@ export const configs: { [key in DriftEnv]: DriftConfig } = {
61
67
  devnet: {
62
68
  ENV: 'devnet',
63
69
  PYTH_ORACLE_MAPPING_ADDRESS: 'BmA9Z6FjioHJPpjT39QazZyhDRUdZy2ezwx4GiDdE2u2',
64
- DRIFT_PROGRAM_ID,
70
+ DRIFT_PROGRAM_ID: DRIFT_DEVNET_PROGRAM_ID,
65
71
  JIT_PROXY_PROGRAM_ID: 'J1TnP8zvVxbtF5KFp5xRmWuvG9McnhzmBd9XGfCyuxFP',
66
- USDC_MINT_ADDRESS: '8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2',
72
+ QUOTE_MINT_ADDRESS: '8FfvSRKMZRDHrCBy142XMUXrKEkXnxDQ4YmJv7xbAw8Q',
67
73
  SERUM_V3: 'DESVgJVGajEgKGXhb6XmqDHGz3VjdgP7rEVESBgxmroY',
68
74
  PHOENIX: 'PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY',
69
75
  OPENBOOK: 'opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb',
@@ -75,14 +81,14 @@ export const configs: { [key in DriftEnv]: DriftConfig } = {
75
81
  MARKET_LOOKUP_TABLE: 'FaMS3U4uBojvGn5FSDEPimddcXsCfwkKsFgMVVnDdxGb',
76
82
  MARKET_LOOKUP_TABLES: ['FaMS3U4uBojvGn5FSDEPimddcXsCfwkKsFgMVVnDdxGb'],
77
83
  DRIFT_ORACLE_RECEIVER_ID,
78
- SB_ON_DEMAND_PID: ON_DEMAND_DEVNET_PID,
84
+ SB_ON_DEMAND_PID: SB_ON_DEMAND_DEVNET_PID,
79
85
  },
80
86
  'mainnet-beta': {
81
87
  ENV: 'mainnet-beta',
82
88
  PYTH_ORACLE_MAPPING_ADDRESS: 'AHtgzX45WTKfkPG53L6WYhGEXwQkN1BVknET3sVsLL8J',
83
89
  DRIFT_PROGRAM_ID,
84
90
  JIT_PROXY_PROGRAM_ID: 'J1TnP8zvVxbtF5KFp5xRmWuvG9McnhzmBd9XGfCyuxFP',
85
- USDC_MINT_ADDRESS: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
91
+ QUOTE_MINT_ADDRESS: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
86
92
  SERUM_V3: 'srmqPvymJeFKQ4zGQed1GFppgkRHL9kaELCbyksJtPX',
87
93
  PHOENIX: 'PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY',
88
94
  OPENBOOK: 'opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb',
@@ -98,7 +104,7 @@ export const configs: { [key in DriftEnv]: DriftConfig } = {
98
104
  ],
99
105
  SERUM_LOOKUP_TABLE: 'GPZkp76cJtNL2mphCvT6FXkJCVPpouidnacckR6rzKDN',
100
106
  DRIFT_ORACLE_RECEIVER_ID,
101
- SB_ON_DEMAND_PID: ON_DEMAND_MAINNET_PID,
107
+ SB_ON_DEMAND_PID: SB_ON_DEMAND_MAINNET_PID,
102
108
  },
103
109
  };
104
110
 
@@ -167,7 +173,7 @@ export function getMarketsAndOraclesForSubscription(
167
173
  };
168
174
  }
169
175
 
170
- export async function findAllMarketAndOracles(program: Program): Promise<{
176
+ export async function findAllMarketAndOracles(program: DriftProgram): Promise<{
171
177
  perpMarketIndexes: number[];
172
178
  perpMarketAccounts: PerpMarketAccount[];
173
179
  spotMarketIndexes: number[];
@@ -178,10 +184,12 @@ export async function findAllMarketAndOracles(program: Program): Promise<{
178
184
  const spotMarketIndexes = [];
179
185
  const oracleInfos = new Map<string, OracleInfo>();
180
186
 
181
- const perpMarketProgramAccounts =
182
- (await program.account.perpMarket.all()) as ProgramAccount<PerpMarketAccount>[];
183
- const spotMarketProgramAccounts =
184
- (await program.account.spotMarket.all()) as ProgramAccount<SpotMarketAccount>[];
187
+ const perpMarketProgramAccounts = (await (
188
+ program.account as any
189
+ ).perpMarket.all()) as ProgramAccount<PerpMarketAccount>[];
190
+ const spotMarketProgramAccounts = (await (
191
+ program.account as any
192
+ ).spotMarket.all()) as ProgramAccount<SpotMarketAccount>[];
185
193
 
186
194
  for (const perpMarketProgramAccount of perpMarketProgramAccounts) {
187
195
  const perpMarket = perpMarketProgramAccount.account as PerpMarketAccount;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Protocol constants: numeric precision bases, market indices, transaction size limits,
3
+ * insurance fund parameters, and perp/spot market config arrays.
4
+ * Import specific submodules to avoid pulling in unused market lists.
5
+ */
1
6
  export * from './insuranceFund';
2
7
  export * from './numericConstants';
3
8
  export * from './perpMarkets';
@@ -84,7 +84,8 @@ export const AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO =
84
84
  export const MARGIN_PRECISION = TEN_THOUSAND;
85
85
  export const BID_ASK_SPREAD_PRECISION = new BN(1000000); // 10^6
86
86
  export const LIQUIDATION_PCT_PRECISION = TEN_THOUSAND;
87
- export const FUNDING_RATE_OFFSET_DENOMINATOR = new BN(5000);
87
+ export const FUNDING_RATE_OFFSET_DENOMINATOR = new BN(3333);
88
+ export const FUNDING_RATE_CLAMP_DENOMINATOR = new BN(2000);
88
89
  export const PRICE_TIMES_AMM_TO_QUOTE_PRECISION_RATIO = PRICE_PRECISION.mul(
89
90
  AMM_TO_QUOTE_PRECISION_RATIO
90
91
  );
@@ -114,8 +115,6 @@ export const DUST_POSITION_SIZE = QUOTE_PRECISION.divn(100); // Dust position is
114
115
  export const FUEL_WINDOW = new BN(60 * 60 * 24 * 28); // 28 days
115
116
  export const FUEL_START_TS = new BN(1723147200); // unix timestamp
116
117
 
117
- export const MAX_PREDICTION_PRICE = PRICE_PRECISION;
118
-
119
118
  export const GET_MULTIPLE_ACCOUNTS_CHUNK_SIZE = 99;
120
119
 
121
120
  // integer constants
@@ -16,6 +16,8 @@ export type PerpMarketConfig = {
16
16
  marketStatus?: MarketStatus;
17
17
  };
18
18
 
19
+ // Reflects what is actually deployed on devnet (per on-chain enumeration of
20
+ // State.numberOfMarkets). Update when devnet adds/changes a perp market.
19
21
  export const DevnetPerpMarkets: PerpMarketConfig[] = [
20
22
  {
21
23
  fullName: 'Solana',
@@ -23,377 +25,11 @@ export const DevnetPerpMarkets: PerpMarketConfig[] = [
23
25
  symbol: 'SOL-PERP',
24
26
  baseAssetSymbol: 'SOL',
25
27
  marketIndex: 0,
26
- oracle: new PublicKey('3m6i4RFWEDw2Ft4tFHPJtYgmpPe21k56M3FHeWYrgGBz'),
28
+ oracle: new PublicKey('57ZE6W8mGWPQokUHjyfTAexvVLK8xuMbWn9HGg6fG7oW'),
27
29
  launchTs: 1655751353000,
28
30
  oracleSource: OracleSource.PYTH_LAZER,
29
- pythFeedId:
30
- '0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d',
31
31
  pythLazerId: 6,
32
32
  },
33
- {
34
- fullName: 'Bitcoin',
35
- category: ['L1', 'Payment'],
36
- symbol: 'BTC-PERP',
37
- baseAssetSymbol: 'BTC',
38
- marketIndex: 1,
39
- oracle: new PublicKey('35MbvS1Juz2wf7GsyHrkCw8yfKciRLxVpEhfZDZFrB4R'),
40
- launchTs: 1655751353000,
41
- oracleSource: OracleSource.PYTH_LAZER,
42
- pythFeedId:
43
- '0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43',
44
- pythLazerId: 1,
45
- },
46
- {
47
- fullName: 'Ethereum',
48
- category: ['L1', 'Infra'],
49
- symbol: 'ETH-PERP',
50
- baseAssetSymbol: 'ETH',
51
- marketIndex: 2,
52
- oracle: new PublicKey('93FG52TzNKCnMiasV14Ba34BYcHDb9p4zK4GjZnLwqWR'),
53
- launchTs: 1637691133472,
54
- oracleSource: OracleSource.PYTH_LAZER,
55
- pythFeedId:
56
- '0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace',
57
- pythLazerId: 2,
58
- },
59
- {
60
- fullName: 'Aptos',
61
- category: ['L1', 'Infra'],
62
- symbol: 'APT-PERP',
63
- baseAssetSymbol: 'APT',
64
- marketIndex: 3,
65
- oracle: new PublicKey('79EWaCYU9jiQN8SbvVzGFAhAncUZYp3PjNg7KxmN5cLE'),
66
- launchTs: 1675610186000,
67
- oracleSource: OracleSource.PYTH_PULL,
68
- pythFeedId:
69
- '0x03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5',
70
- pythLazerId: 28,
71
- },
72
- {
73
- fullName: 'Bonk',
74
- category: ['Meme', 'Dog'],
75
- symbol: '1MBONK-PERP',
76
- baseAssetSymbol: '1MBONK',
77
- marketIndex: 4,
78
- oracle: new PublicKey('BERaNi6cpEresbq6HC1EQGaB1H1UjvEo4NGnmYSSJof4'),
79
- launchTs: 1677068931000,
80
- oracleSource: OracleSource.PYTH_LAZER_1M,
81
- pythFeedId:
82
- '0x72b021217ca3fe68922a19aaf990109cb9d84e9ad004b4d2025ad6f529314419',
83
- pythLazerId: 9,
84
- },
85
- {
86
- fullName: 'Polygon',
87
- category: ['L2', 'Infra'],
88
- symbol: 'POL-PERP',
89
- baseAssetSymbol: 'POL',
90
- marketIndex: 5,
91
- oracle: new PublicKey('BrzyDgwELy4jjjsqLQpBeUxzrsueYyMhuWpYBaUYcXvi'),
92
- launchTs: 1677690149000, //todo
93
- oracleSource: OracleSource.PYTH_PULL,
94
- pythFeedId:
95
- '0xffd11c5a1cfd42f80afb2df4d9f264c15f956d68153335374ec10722edd70472',
96
- pythLazerId: 32,
97
- },
98
- {
99
- fullName: 'Arbitrum',
100
- category: ['L2', 'Infra'],
101
- symbol: 'ARB-PERP',
102
- baseAssetSymbol: 'ARB',
103
- marketIndex: 6,
104
- oracle: new PublicKey('8ocfAdqVRnzvfdubQaTxar4Kz5HJhNbPNmkLxswqiHUD'),
105
- launchTs: 1679501812000, //todo
106
- oracleSource: OracleSource.PYTH_PULL,
107
- pythFeedId:
108
- '0x3fa4252848f9f0a1480be62745a4629d9eb1322aebab8a791e344b3b9c1adcf5',
109
- pythLazerId: 37,
110
- },
111
- {
112
- fullName: 'Doge',
113
- category: ['Meme', 'Dog'],
114
- symbol: 'DOGE-PERP',
115
- baseAssetSymbol: 'DOGE',
116
- marketIndex: 7,
117
- oracle: new PublicKey('23y63pHVwKfYSCDFdiGRaGbTYWoyr8UzhUE7zukyf6gK'),
118
- launchTs: 1680808053000,
119
- oracleSource: OracleSource.PYTH_PULL,
120
- pythFeedId:
121
- '0xdcef50dd0a4cd2dcc17e45df1676dcb336a11a61c69df7a0299b0150c672d25c',
122
- pythLazerId: 13,
123
- },
124
- {
125
- fullName: 'Binance Coin',
126
- category: ['Exchange'],
127
- symbol: 'BNB-PERP',
128
- baseAssetSymbol: 'BNB',
129
- marketIndex: 8,
130
- oracle: new PublicKey('Dk8eWjuQHMbxJAwB9Sg7pXQPH4kgbg8qZGcUrWcD9gTm'),
131
- launchTs: 1680808053000,
132
- oracleSource: OracleSource.PYTH_PULL,
133
- pythFeedId:
134
- '0x2f95862b045670cd22bee3114c39763a4a08beeb663b145d283c31d7d1101c4f',
135
- pythLazerId: 15,
136
- },
137
- {
138
- fullName: 'Sui',
139
- category: ['L1'],
140
- symbol: 'SUI-PERP',
141
- baseAssetSymbol: 'SUI',
142
- marketIndex: 9,
143
- oracle: new PublicKey('HBordkz5YxjzNURmKUY4vfEYFG9fZyZNeNF1VDLMoemT'),
144
- launchTs: 1683125906000,
145
- oracleSource: OracleSource.PYTH_PULL,
146
- pythFeedId:
147
- '0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744',
148
- pythLazerId: 11,
149
- },
150
- {
151
- fullName: 'Pepe',
152
- category: ['Meme'],
153
- symbol: '1MPEPE-PERP',
154
- baseAssetSymbol: '1MPEPE',
155
- marketIndex: 10,
156
- oracle: new PublicKey('CLxofhtzvLiErpn25wvUzpZXEqBhuZ6WMEckEraxyuGt'),
157
- launchTs: 1683781239000,
158
- oracleSource: OracleSource.PYTH_1M_PULL,
159
- pythFeedId:
160
- '0xd69731a2e74ac1ce884fc3890f7ee324b6deb66147055249568869ed700882e4',
161
- pythLazerId: 4,
162
- },
163
- {
164
- fullName: 'OP',
165
- category: ['L2', 'Infra'],
166
- symbol: 'OP-PERP',
167
- baseAssetSymbol: 'OP',
168
- marketIndex: 11,
169
- oracle: new PublicKey('C9Zi2Y3Mt6Zt6pcFvobN3N29HcrzKujPAPBDDTDRcUa2'),
170
- launchTs: 1686091480000,
171
- oracleSource: OracleSource.PYTH_PULL,
172
- pythFeedId:
173
- '0x385f64d993f7b77d8182ed5003d97c60aa3361f3cecfe711544d2d59165e9bdf',
174
- pythLazerId: 41,
175
- },
176
- {
177
- fullName: 'RENDER',
178
- category: ['Infra'],
179
- symbol: 'RENDER-PERP',
180
- baseAssetSymbol: 'RENDER',
181
- marketIndex: 12,
182
- oracle: new PublicKey('8TQztfGcNjHGRusX4ejQQtPZs3Ypczt9jWF6pkgQMqUX'),
183
- launchTs: 1687201081000,
184
- oracleSource: OracleSource.PYTH_PULL,
185
- pythFeedId:
186
- '0x3d4a2bd9535be6ce8059d75eadeba507b043257321aa544717c56fa19b49e35d',
187
- pythLazerId: 34,
188
- },
189
- {
190
- fullName: 'XRP',
191
- category: ['Payments'],
192
- symbol: 'XRP-PERP',
193
- baseAssetSymbol: 'XRP',
194
- marketIndex: 13,
195
- oracle: new PublicKey('9757epAjXWCWQH98kyK9vzgehd1XDVEf7joNHUaKk3iV'),
196
- launchTs: 1689270550000,
197
- oracleSource: OracleSource.PYTH_PULL,
198
- pythFeedId:
199
- '0xec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8',
200
- pythLazerId: 14,
201
- },
202
- {
203
- fullName: 'HNT',
204
- category: ['IoT'],
205
- symbol: 'HNT-PERP',
206
- baseAssetSymbol: 'HNT',
207
- marketIndex: 14,
208
- oracle: new PublicKey('9b1rcK9RUPK2vAqwNYCYEG34gUVpS2WGs2YCZZy2X5Tb'),
209
- launchTs: 1692294955000,
210
- oracleSource: OracleSource.PYTH_PULL,
211
- pythFeedId:
212
- '0x649fdd7ec08e8e2a20f425729854e90293dcbe2376abc47197a14da6ff339756',
213
- },
214
- {
215
- fullName: 'INJ',
216
- category: ['L1', 'Exchange'],
217
- symbol: 'INJ-PERP',
218
- baseAssetSymbol: 'INJ',
219
- marketIndex: 15,
220
- oracle: new PublicKey('BfXcyDWJmYADa5eZD7gySSDd6giqgjvm7xsAhQ239SUD'),
221
- launchTs: 1698074659000,
222
- oracleSource: OracleSource.PYTH_PULL,
223
- pythFeedId:
224
- '0x7a5bc1d2b56ad029048cd63964b3ad2776eadf812edc1a43a31406cb54bff592',
225
- pythLazerId: 46,
226
- },
227
- {
228
- fullName: 'LINK',
229
- category: ['Oracle'],
230
- symbol: 'LINK-PERP',
231
- baseAssetSymbol: 'LINK',
232
- marketIndex: 16,
233
- oracle: new PublicKey('Gwvob7yoLMgQRVWjScCRyQFMsgpRKrSAYisYEyjDJwEp'),
234
- launchTs: 1698074659000,
235
- oracleSource: OracleSource.PYTH_PULL,
236
- pythFeedId:
237
- '0x8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221',
238
- pythLazerId: 19,
239
- },
240
- {
241
- fullName: 'Rollbit',
242
- category: ['Exchange'],
243
- symbol: 'RLB-PERP',
244
- baseAssetSymbol: 'RLB',
245
- marketIndex: 17,
246
- oracle: new PublicKey('4CyhPqyVK3UQHFWhEpk91Aw4WbBsN3JtyosXH6zjoRqG'),
247
- launchTs: 1699265968000,
248
- oracleSource: OracleSource.PYTH_PULL,
249
- pythFeedId:
250
- '0x2f2d17abbc1e781bd87b4a5d52c8b2856886f5c482fa3593cebf6795040ab0b6',
251
- },
252
- {
253
- fullName: 'Pyth',
254
- category: ['Oracle'],
255
- symbol: 'PYTH-PERP',
256
- baseAssetSymbol: 'PYTH',
257
- marketIndex: 18,
258
- oracle: new PublicKey('GqkCu7CbsPVz1H6W6AAHuReqbJckYG59TXz7Y5HDV7hr'),
259
- launchTs: 1700542800000,
260
- oracleSource: OracleSource.PYTH_PULL,
261
- pythFeedId:
262
- '0x0bbf28e9a841a1cc788f6a361b17ca072d0ea3098a1e5df1c3922d06719579ff',
263
- pythLazerId: 3,
264
- },
265
- {
266
- fullName: 'Celestia',
267
- category: ['Data'],
268
- symbol: 'TIA-PERP',
269
- baseAssetSymbol: 'TIA',
270
- marketIndex: 19,
271
- oracle: new PublicKey('C6LHPUrgjrgo5eNUitC8raNEdEttfoRhmqdJ3BHVBJhi'),
272
- launchTs: 1701880540000,
273
- oracleSource: OracleSource.PYTH_PULL,
274
- pythFeedId:
275
- '0x09f7c1d7dfbb7df2b8fe3d3d87ee94a2259d212da4f30c1f0540d066dfa44723',
276
- pythLazerId: 48,
277
- },
278
- {
279
- fullName: 'Jito',
280
- category: ['MEV'],
281
- symbol: 'JTO-PERP',
282
- baseAssetSymbol: 'JTO',
283
- marketIndex: 20,
284
- oracle: new PublicKey('Ffq6ACJ17NAgaxC6ocfMzVXL3K61qxB2xHg6WUawWPfP'),
285
- launchTs: 1701967240000,
286
- oracleSource: OracleSource.PYTH_PULL,
287
- pythFeedId:
288
- '0xb43660a5f790c69354b0729a5ef9d50d68f1df92107540210b9cccba1f947cc2',
289
- pythLazerId: 91,
290
- },
291
- {
292
- fullName: 'SEI',
293
- category: ['L1'],
294
- symbol: 'SEI-PERP',
295
- baseAssetSymbol: 'SEI',
296
- marketIndex: 21,
297
- oracle: new PublicKey('EVyoxFo5jWpv1vV7p6KVjDWwVqtTqvrZ4JMFkieVkVsD'),
298
- launchTs: 1703173331000,
299
- oracleSource: OracleSource.PYTH_PULL,
300
- pythFeedId:
301
- '0x53614f1cb0c031d4af66c04cb9c756234adad0e1cee85303795091499a4084eb',
302
- pythLazerId: 51,
303
- },
304
- {
305
- fullName: 'AVAX',
306
- category: ['Rollup', 'Infra'],
307
- symbol: 'AVAX-PERP',
308
- baseAssetSymbol: 'AVAX',
309
- marketIndex: 22,
310
- oracle: new PublicKey('FgBGHNex4urrBmNbSj8ntNQDGqeHcWewKtkvL6JE6dEX'),
311
- launchTs: 1704209558000,
312
- oracleSource: OracleSource.PYTH_PULL,
313
- pythFeedId:
314
- '0x93da3352f9f1d105fdfe4971cfa80e9dd777bfc5d0f683ebb6e1294b92137bb7',
315
- pythLazerId: 18,
316
- },
317
- {
318
- fullName: 'Wormhole',
319
- category: ['Bridge'],
320
- symbol: 'W-PERP',
321
- baseAssetSymbol: 'W',
322
- marketIndex: 23,
323
- oracle: new PublicKey('J9nrFWjDUeDVZ4BhhxsbQXWgLcLEgQyNBrCbwSADmJdr'),
324
- launchTs: 1709852537000,
325
- oracleSource: OracleSource.SWITCHBOARD_ON_DEMAND,
326
- pythFeedId:
327
- '0xeff7446475e218517566ea99e72a4abec2e1bd8498b43b7d8331e29dcb059389',
328
- pythLazerId: 102,
329
- },
330
- {
331
- fullName: 'Kamino',
332
- category: ['Lending'],
333
- symbol: 'KMNO-PERP',
334
- baseAssetSymbol: 'KMNO',
335
- marketIndex: 24,
336
- oracle: new PublicKey('7aqj2wH1BH8XT3QQ3MWtvt3My7RAGf5Stm3vx5fiysJz'),
337
- launchTs: 1711475936000,
338
- oracleSource: OracleSource.PYTH_PULL,
339
- pythFeedId:
340
- '0xb17e5bc5de742a8a378b54c9c75442b7d51e30ada63f28d9bd28d3c0e26511a0',
341
- },
342
- {
343
- fullName: 'Wen',
344
- category: ['Solana', 'Meme'],
345
- symbol: '1KWEN-PERP',
346
- baseAssetSymbol: '1KWEN',
347
- marketIndex: 25,
348
- oracle: new PublicKey('F47c7aJgYkfKXQ9gzrJaEpsNwUKHprysregTWXrtYLFp'),
349
- launchTs: 1720572064000,
350
- oracleSource: OracleSource.PYTH_1K_PULL,
351
- pythFeedId:
352
- '0x5169491cd7e2a44c98353b779d5eb612e4ac32e073f5cc534303d86307c2f1bc',
353
- },
354
- {
355
- fullName: 'TRUMP-WIN-2024',
356
- category: ['Prediction', 'Election'],
357
- symbol: 'TRUMP-WIN-2024-PREDICT',
358
- baseAssetSymbol: 'TRUMP-WIN-2024',
359
- marketIndex: 26,
360
- oracle: new PublicKey('3TVuLmEGBRfVgrmFRtYTheczXaaoRBwcHw1yibZHSeNA'),
361
- launchTs: 1722214583000,
362
- oracleSource: OracleSource.Prelaunch,
363
- },
364
- {
365
- fullName: 'KAMALA-POPULAR-VOTE-2024',
366
- category: ['Prediction', 'Election'],
367
- symbol: 'KAMALA-POPULAR-VOTE-2024-PREDICT',
368
- baseAssetSymbol: 'KAMALA-POPULAR-VOTE',
369
- marketIndex: 27,
370
- oracle: new PublicKey('GU6CA7a2KCyhpfqZNb36UAfc9uzKBM8jHjGdt245QhYX'),
371
- launchTs: 1722214583000,
372
- oracleSource: OracleSource.Prelaunch,
373
- },
374
- {
375
- fullName: 'RANDOM-2024',
376
- category: ['Prediction'],
377
- symbol: 'RANDOM-2024-PREDICT',
378
- baseAssetSymbol: 'RANDOM-2024',
379
- marketIndex: 28,
380
- oracle: new PublicKey('sDAQaZQJQ4RXAxH3x526mbEXyQZT15ktkL84d7hmk7M'),
381
- launchTs: 1729622442000,
382
- oracleSource: OracleSource.Prelaunch,
383
- },
384
- {
385
- fullName: 'Nvidia',
386
- category: ['Equity'],
387
- symbol: 'NVDA-PERP',
388
- baseAssetSymbol: 'NVDA',
389
- marketIndex: 29,
390
- oracle: new PublicKey('9LBDN399ErNzSzErinpnmeoZcsqNMSCyQ6WP4pynuQKz'),
391
- launchTs: 1772563593000,
392
- oracleSource: OracleSource.PYTH_LAZER,
393
- pythFeedId:
394
- '0xb1073854ed24cbc755dc527418f52b7d271f6cc967bbf8d8129112b18860a593',
395
- pythLazerId: 1314,
396
- },
397
33
  ];
398
34
 
399
35
  export const MainnetPerpMarkets: PerpMarketConfig[] = [
@@ -618,19 +254,6 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
618
254
  '0x8ac0c70fff57e9aefdf5edf44b51d62c2d433653cbb2cf5cc06bb115af04d221',
619
255
  pythLazerId: 19,
620
256
  },
621
- {
622
- fullName: 'Rollbit',
623
- category: ['Exchange'],
624
- symbol: 'RLB-PERP',
625
- baseAssetSymbol: 'RLB',
626
- marketIndex: 17,
627
- oracle: new PublicKey('4CyhPqyVK3UQHFWhEpk91Aw4WbBsN3JtyosXH6zjoRqG'),
628
- launchTs: 1699265968000,
629
- oracleSource: OracleSource.PYTH_PULL,
630
- pythFeedId:
631
- '0x2f2d17abbc1e781bd87b4a5d52c8b2856886f5c482fa3593cebf6795040ab0b6',
632
- marketStatus: MarketStatus.DELISTED,
633
- },
634
257
  {
635
258
  fullName: 'Pyth',
636
259
  category: ['Oracle', 'Solana'],
@@ -828,19 +451,6 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
828
451
  pythLazerId: 90,
829
452
  marketStatus: MarketStatus.DELISTED,
830
453
  },
831
- {
832
- fullName: 'ZEX',
833
- category: ['DEX', 'Solana'],
834
- symbol: 'ZEX-PERP',
835
- baseAssetSymbol: 'ZEX',
836
- marketIndex: 33,
837
- oracle: new PublicKey('HVwBCaR4GEB1fHrp7xCTzbYoZXL3V8b1aek2swPrmGx3'),
838
- launchTs: 1719415157000,
839
- oracleSource: OracleSource.PYTH_PULL,
840
- pythFeedId:
841
- '0x3d63be09d1b88f6dffe6585d0170670592124fd9fa4e0fe8a09ff18464f05e3a',
842
- marketStatus: MarketStatus.DELISTED,
843
- },
844
454
  {
845
455
  fullName: 'POPCAT',
846
456
  category: ['Meme', 'Solana'],
@@ -854,19 +464,6 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
854
464
  '0xb9312a7ee50e189ef045aa3c7842e099b061bd9bdc99ac645956c3b660dc8cce',
855
465
  pythLazerId: 130,
856
466
  },
857
- {
858
- fullName: 'Wen',
859
- category: ['Solana', 'Meme'],
860
- symbol: '1KWEN-PERP',
861
- baseAssetSymbol: '1KWEN',
862
- marketIndex: 35,
863
- oracle: new PublicKey('F47c7aJgYkfKXQ9gzrJaEpsNwUKHprysregTWXrtYLFp'),
864
- launchTs: 1720633344000,
865
- oracleSource: OracleSource.PYTH_1K_PULL,
866
- pythFeedId:
867
- '0x5169491cd7e2a44c98353b779d5eb612e4ac32e073f5cc534303d86307c2f1bc',
868
- marketStatus: MarketStatus.DELISTED,
869
- },
870
467
  {
871
468
  fullName: 'TRUMP-WIN-2024-BET',
872
469
  category: ['Prediction', 'Election'],
@@ -996,19 +593,6 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
996
593
  oracleSource: OracleSource.Prelaunch,
997
594
  marketStatus: MarketStatus.DELISTED,
998
595
  },
999
- {
1000
- fullName: 'DeBridge',
1001
- category: ['Bridge'],
1002
- symbol: 'DBR-PERP',
1003
- baseAssetSymbol: 'DBR',
1004
- marketIndex: 47,
1005
- oracle: new PublicKey('53j4mz7cQV7mAZekKbV3n2L4bY7jY6eXdgaTkWDLYxq4'),
1006
- launchTs: 1728574493000,
1007
- oracleSource: OracleSource.PYTH_PULL,
1008
- pythFeedId:
1009
- '0xf788488fe2df341b10a498e0a789f03209c0938d9ed04bc521f8224748d6d236',
1010
- marketStatus: MarketStatus.DELISTED,
1011
- },
1012
596
  {
1013
597
  fullName: 'WLF-5B-1W',
1014
598
  category: ['Prediction'],
@@ -1056,19 +640,6 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
1056
640
  pythLazerId: 137,
1057
641
  marketStatus: MarketStatus.DELISTED,
1058
642
  },
1059
- {
1060
- fullName: 'MICHI',
1061
- category: ['Meme'],
1062
- symbol: 'MICHI-PERP',
1063
- baseAssetSymbol: 'MICHI',
1064
- marketIndex: 52,
1065
- oracle: new PublicKey('GHzvsMDMSiuyZoWhEAuM27MKFdN2Y4fA4wSDuSd6dLMA'),
1066
- launchTs: 1730402722000,
1067
- oracleSource: OracleSource.PYTH_PULL,
1068
- pythFeedId:
1069
- '0x63a45218d6b13ffd28ca04748615511bf70eff80a3411c97d96b8ed74a6decab',
1070
- marketStatus: MarketStatus.DELISTED,
1071
- },
1072
643
  {
1073
644
  fullName: 'GOAT',
1074
645
  category: ['Meme'],
@@ -1083,19 +654,6 @@ export const MainnetPerpMarkets: PerpMarketConfig[] = [
1083
654
  pythLazerId: 437,
1084
655
  marketStatus: MarketStatus.DELISTED,
1085
656
  },
1086
- {
1087
- fullName: 'FWOG',
1088
- category: ['Meme'],
1089
- symbol: 'FWOG-PERP',
1090
- baseAssetSymbol: 'FWOG',
1091
- marketIndex: 54,
1092
- oracle: new PublicKey('5Z7uvkAsHNN6qqkQkwcKcEPYZqiMbFE9E24p7SpvfSrv'),
1093
- launchTs: 1731443152000,
1094
- oracleSource: OracleSource.PYTH_PULL,
1095
- pythFeedId:
1096
- '0x656cc2a39dd795bdecb59de810d4f4d1e74c25fe4c42d0bf1c65a38d74df48e9',
1097
- marketStatus: MarketStatus.DELISTED,
1098
- },
1099
657
  {
1100
658
  fullName: 'PNUT',
1101
659
  category: ['Meme'],