@reflectmoney/stable.ts 2.9.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/README.md +257 -126
  2. package/dist/classes/Migration.d.ts +66 -0
  3. package/dist/classes/Migration.js +95 -0
  4. package/dist/classes/PdaClient.d.ts +46 -68
  5. package/dist/classes/PdaClient.js +161 -141
  6. package/dist/classes/Reflect.d.ts +19 -5
  7. package/dist/classes/Reflect.js +23 -6
  8. package/dist/classes/ReflectKeeper.d.ts +73 -60
  9. package/dist/classes/ReflectKeeper.js +181 -164
  10. package/dist/classes/ReflectTokenisedBond.d.ts +37 -50
  11. package/dist/classes/ReflectTokenisedBond.js +70 -130
  12. package/dist/classes/Stablecoin.d.ts +90 -130
  13. package/dist/classes/Stablecoin.js +134 -247
  14. package/dist/classes/index.d.ts +1 -0
  15. package/dist/classes/index.js +1 -0
  16. package/dist/constants/devnet.d.ts +4 -4
  17. package/dist/constants/devnet.js +5 -5
  18. package/dist/constants/drift.d.ts +8 -6
  19. package/dist/constants/drift.js +12 -12
  20. package/dist/constants/index.d.ts +4 -2
  21. package/dist/constants/index.js +4 -2
  22. package/dist/constants/jupiter.d.ts +12 -4
  23. package/dist/constants/jupiter.js +17 -6
  24. package/dist/constants/kamino.d.ts +14 -0
  25. package/dist/constants/kamino.js +39 -0
  26. package/dist/constants/lookupTables.d.ts +3 -4
  27. package/dist/constants/lookupTables.js +5 -5
  28. package/dist/constants/mock.d.ts +2 -0
  29. package/dist/constants/mock.js +5 -0
  30. package/dist/constants/usdc.d.ts +6 -7
  31. package/dist/constants/usdc.js +8 -9
  32. package/dist/constants/usdt.d.ts +6 -0
  33. package/dist/constants/usdt.js +9 -0
  34. package/dist/constants/wsol.d.ts +6 -6
  35. package/dist/constants/wsol.js +6 -6
  36. package/dist/generated/reflect_main/accounts/driftUsdcController.d.ts +31 -0
  37. package/dist/generated/reflect_main/accounts/driftUsdcController.js +77 -0
  38. package/dist/generated/reflect_main/accounts/index.d.ts +11 -38
  39. package/dist/generated/reflect_main/accounts/index.js +11 -39
  40. package/dist/generated/reflect_main/accounts/main.d.ts +62 -0
  41. package/dist/generated/reflect_main/accounts/main.js +91 -0
  42. package/dist/generated/reflect_main/accounts/strategyController.d.ts +31 -0
  43. package/dist/generated/reflect_main/accounts/strategyController.js +77 -0
  44. package/dist/generated/reflect_main/accounts/userPermissions.d.ts +44 -0
  45. package/dist/generated/reflect_main/accounts/userPermissions.js +89 -0
  46. package/dist/generated/reflect_main/errors/index.d.ts +5 -966
  47. package/dist/generated/reflect_main/errors/index.js +21 -1663
  48. package/dist/generated/reflect_main/errors/reflectMain.d.ts +215 -0
  49. package/dist/generated/reflect_main/errors/reflectMain.js +323 -0
  50. package/dist/generated/reflect_main/index.d.ts +9 -16
  51. package/dist/generated/reflect_main/index.js +8 -16
  52. package/dist/generated/reflect_main/instructions/addLstDrift.d.ts +62 -45
  53. package/dist/generated/reflect_main/instructions/addLstDrift.js +155 -104
  54. package/dist/generated/reflect_main/instructions/addSubAccount.d.ts +74 -50
  55. package/dist/generated/reflect_main/instructions/addSubAccount.js +166 -119
  56. package/dist/generated/reflect_main/instructions/captureSpreadDrift.d.ts +70 -59
  57. package/dist/generated/reflect_main/instructions/captureSpreadDrift.js +167 -115
  58. package/dist/generated/reflect_main/instructions/createAdminAccount.d.ts +53 -46
  59. package/dist/generated/reflect_main/instructions/createAdminAccount.js +135 -91
  60. package/dist/generated/reflect_main/instructions/createDriftUserAccount.d.ts +78 -0
  61. package/dist/generated/reflect_main/instructions/createDriftUserAccount.js +184 -0
  62. package/dist/generated/reflect_main/instructions/createDriftUserStatsAccount.d.ts +74 -0
  63. package/dist/generated/reflect_main/instructions/createDriftUserStatsAccount.js +173 -0
  64. package/dist/generated/reflect_main/instructions/createKaminoUserAccounts.d.ts +144 -0
  65. package/dist/generated/reflect_main/instructions/createKaminoUserAccounts.js +395 -0
  66. package/dist/generated/reflect_main/instructions/depositDrift.d.ts +96 -66
  67. package/dist/generated/reflect_main/instructions/depositDrift.js +190 -139
  68. package/dist/generated/reflect_main/instructions/freezeProgram.d.ts +56 -47
  69. package/dist/generated/reflect_main/instructions/freezeProgram.js +139 -94
  70. package/dist/generated/reflect_main/instructions/freezeProtocolAction.d.ts +57 -48
  71. package/dist/generated/reflect_main/instructions/freezeProtocolAction.js +140 -95
  72. package/dist/generated/reflect_main/instructions/freezeStrategyAction.d.ts +61 -51
  73. package/dist/generated/reflect_main/instructions/freezeStrategyAction.js +145 -101
  74. package/dist/generated/reflect_main/instructions/increaseAdminSize.d.ts +40 -45
  75. package/dist/generated/reflect_main/instructions/increaseAdminSize.js +81 -90
  76. package/dist/generated/reflect_main/instructions/index.d.ts +45 -33
  77. package/dist/generated/reflect_main/instructions/index.js +19 -7
  78. package/dist/generated/reflect_main/instructions/initDriftControllerS1.d.ts +70 -53
  79. package/dist/generated/reflect_main/instructions/initDriftControllerS1.js +163 -100
  80. package/dist/generated/reflect_main/instructions/initDriftControllerS2.d.ts +75 -0
  81. package/dist/generated/reflect_main/instructions/initDriftControllerS2.js +176 -0
  82. package/dist/generated/reflect_main/instructions/initDriftControllerS3.d.ts +70 -53
  83. package/dist/generated/reflect_main/instructions/initDriftControllerS3.js +163 -100
  84. package/dist/generated/reflect_main/instructions/initMain.d.ts +50 -39
  85. package/dist/generated/reflect_main/instructions/initMain.js +136 -91
  86. package/dist/generated/reflect_main/instructions/migrateS1.d.ts +58 -0
  87. package/dist/generated/reflect_main/instructions/migrateS1.js +145 -0
  88. package/dist/generated/reflect_main/instructions/mintDriftS1.d.ts +118 -81
  89. package/dist/generated/reflect_main/instructions/mintDriftS1.js +244 -169
  90. package/dist/generated/reflect_main/instructions/mintDriftS3.d.ts +118 -81
  91. package/dist/generated/reflect_main/instructions/mintDriftS3.js +244 -169
  92. package/dist/generated/reflect_main/instructions/mintStrategy1.d.ts +95 -0
  93. package/dist/generated/reflect_main/instructions/mintStrategy1.js +236 -0
  94. package/dist/generated/reflect_main/instructions/mintStrategy2.d.ts +95 -0
  95. package/dist/generated/reflect_main/instructions/mintStrategy2.js +236 -0
  96. package/dist/generated/reflect_main/instructions/rebalanceS1.d.ts +74 -0
  97. package/dist/generated/reflect_main/instructions/rebalanceS1.js +211 -0
  98. package/dist/generated/reflect_main/instructions/rebalanceS2.d.ts +74 -0
  99. package/dist/generated/reflect_main/instructions/rebalanceS2.js +211 -0
  100. package/dist/generated/reflect_main/instructions/redeemDriftS1.d.ts +121 -81
  101. package/dist/generated/reflect_main/instructions/redeemDriftS1.js +246 -170
  102. package/dist/generated/reflect_main/instructions/redeemDriftS3.d.ts +121 -81
  103. package/dist/generated/reflect_main/instructions/redeemDriftS3.js +246 -170
  104. package/dist/generated/reflect_main/instructions/redeemStrategy1.d.ts +95 -0
  105. package/dist/generated/reflect_main/instructions/redeemStrategy1.js +236 -0
  106. package/dist/generated/reflect_main/instructions/redeemStrategy2.d.ts +95 -0
  107. package/dist/generated/reflect_main/instructions/redeemStrategy2.js +236 -0
  108. package/dist/generated/reflect_main/instructions/settlePnl.d.ts +62 -46
  109. package/dist/generated/reflect_main/instructions/settlePnl.js +135 -104
  110. package/dist/generated/reflect_main/instructions/suspendSplProtocol.d.ts +57 -48
  111. package/dist/generated/reflect_main/instructions/suspendSplProtocol.js +139 -95
  112. package/dist/generated/reflect_main/instructions/suspendSplStrategy.d.ts +61 -50
  113. package/dist/generated/reflect_main/instructions/suspendSplStrategy.js +144 -100
  114. package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.d.ts +60 -50
  115. package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.js +142 -98
  116. package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.d.ts +64 -52
  117. package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.js +147 -103
  118. package/dist/generated/reflect_main/instructions/updateAttenuation.d.ts +65 -51
  119. package/dist/generated/reflect_main/instructions/updateAttenuation.js +146 -100
  120. package/dist/generated/reflect_main/instructions/updateCap.d.ts +58 -50
  121. package/dist/generated/reflect_main/instructions/updateCap.js +142 -98
  122. package/dist/generated/reflect_main/instructions/updateCapitalConductor.d.ts +79 -0
  123. package/dist/generated/reflect_main/instructions/updateCapitalConductor.js +161 -0
  124. package/dist/generated/reflect_main/instructions/updateRecipients.d.ts +62 -51
  125. package/dist/generated/reflect_main/instructions/updateRecipients.js +144 -100
  126. package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.d.ts +65 -53
  127. package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.js +154 -104
  128. package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.d.ts +65 -53
  129. package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.js +154 -104
  130. package/dist/generated/reflect_main/programs/index.d.ts +8 -0
  131. package/dist/generated/reflect_main/programs/index.js +24 -0
  132. package/dist/generated/reflect_main/programs/reflectMain.d.ts +139 -0
  133. package/dist/generated/reflect_main/programs/reflectMain.js +190 -0
  134. package/dist/generated/reflect_main/shared/index.d.ts +49 -0
  135. package/dist/generated/reflect_main/shared/index.js +90 -0
  136. package/dist/generated/reflect_main/types/accessControl.d.ts +24 -0
  137. package/dist/generated/reflect_main/types/accessControl.js +29 -0
  138. package/dist/generated/reflect_main/types/accessMap.d.ts +24 -0
  139. package/dist/generated/reflect_main/types/accessMap.js +35 -0
  140. package/dist/generated/reflect_main/types/action.d.ts +32 -0
  141. package/dist/generated/reflect_main/types/action.js +44 -0
  142. package/dist/generated/reflect_main/types/actionMapping.d.ts +22 -0
  143. package/dist/generated/reflect_main/types/actionMapping.js +31 -0
  144. package/dist/generated/reflect_main/types/addedProtocolActionRole.d.ts +20 -0
  145. package/dist/generated/reflect_main/types/addedProtocolActionRole.js +29 -0
  146. package/dist/generated/reflect_main/types/addedProtocolRoleHolder.d.ts +20 -0
  147. package/dist/generated/reflect_main/types/addedProtocolRoleHolder.js +29 -0
  148. package/dist/generated/reflect_main/types/addedStrategyActionRole.d.ts +22 -0
  149. package/dist/generated/reflect_main/types/addedStrategyActionRole.js +31 -0
  150. package/dist/generated/reflect_main/types/addedStrategyRoleHolder.d.ts +22 -0
  151. package/dist/generated/reflect_main/types/addedStrategyRoleHolder.js +31 -0
  152. package/dist/generated/reflect_main/types/attenuation.d.ts +16 -0
  153. package/dist/generated/reflect_main/types/attenuation.js +28 -0
  154. package/dist/generated/reflect_main/types/attenuationUpdated.d.ts +23 -0
  155. package/dist/generated/reflect_main/types/attenuationUpdated.js +32 -0
  156. package/dist/generated/reflect_main/types/autoCompound.d.ts +23 -0
  157. package/dist/generated/reflect_main/types/autoCompound.js +32 -0
  158. package/dist/generated/reflect_main/types/base.d.ts +38 -0
  159. package/dist/generated/reflect_main/types/base.js +47 -0
  160. package/dist/generated/reflect_main/types/capitalConductorComponent.d.ts +28 -0
  161. package/dist/generated/reflect_main/types/capitalConductorComponent.js +43 -0
  162. package/dist/generated/reflect_main/types/capture.d.ts +24 -0
  163. package/dist/generated/reflect_main/types/capture.js +33 -0
  164. package/dist/generated/reflect_main/types/component.d.ts +24 -0
  165. package/dist/generated/reflect_main/types/component.js +33 -0
  166. package/dist/generated/reflect_main/types/componentType.d.ts +24 -0
  167. package/dist/generated/reflect_main/types/componentType.js +36 -0
  168. package/dist/generated/reflect_main/types/currentProtocolBalance.d.ts +20 -0
  169. package/dist/generated/reflect_main/types/currentProtocolBalance.js +29 -0
  170. package/dist/generated/reflect_main/types/currentProtocolRatio.d.ts +24 -0
  171. package/dist/generated/reflect_main/types/currentProtocolRatio.js +33 -0
  172. package/dist/generated/reflect_main/types/driftSpotData.d.ts +17 -0
  173. package/dist/generated/reflect_main/types/driftSpotData.js +30 -0
  174. package/dist/generated/reflect_main/types/driftSpotMarketsComponent.d.ts +20 -0
  175. package/dist/generated/reflect_main/types/driftSpotMarketsComponent.js +29 -0
  176. package/dist/generated/reflect_main/types/driftSubAccountsComponent.d.ts +18 -0
  177. package/dist/generated/reflect_main/types/driftSubAccountsComponent.js +23 -0
  178. package/dist/generated/reflect_main/types/driftSubs.d.ts +17 -0
  179. package/dist/generated/reflect_main/types/driftSubs.js +30 -0
  180. package/dist/generated/reflect_main/types/dustThresholdUpdated.d.ts +21 -0
  181. package/dist/generated/reflect_main/types/dustThresholdUpdated.js +30 -0
  182. package/dist/generated/reflect_main/types/externals.d.ts +18 -0
  183. package/dist/generated/reflect_main/types/externals.js +23 -0
  184. package/dist/generated/reflect_main/types/flowControl.d.ts +20 -0
  185. package/dist/generated/reflect_main/types/flowControl.js +29 -0
  186. package/dist/generated/reflect_main/types/index.d.ts +76 -81
  187. package/dist/generated/reflect_main/types/index.js +76 -81
  188. package/dist/generated/reflect_main/types/issue.d.ts +39 -0
  189. package/dist/generated/reflect_main/types/issue.js +36 -0
  190. package/dist/generated/reflect_main/types/killSwitch.d.ts +20 -0
  191. package/dist/generated/reflect_main/types/killSwitch.js +22 -0
  192. package/dist/generated/reflect_main/types/levelRoles.d.ts +23 -0
  193. package/dist/generated/reflect_main/types/levelRoles.js +23 -0
  194. package/dist/generated/reflect_main/types/maxDeviationBpsUpdated.d.ts +17 -0
  195. package/dist/generated/reflect_main/types/maxDeviationBpsUpdated.js +30 -0
  196. package/dist/generated/reflect_main/types/minPerLegTransferUpdated.d.ts +21 -0
  197. package/dist/generated/reflect_main/types/minPerLegTransferUpdated.js +30 -0
  198. package/dist/generated/reflect_main/types/newAdminAccount.d.ts +15 -0
  199. package/dist/generated/reflect_main/types/newAdminAccount.js +22 -0
  200. package/dist/generated/reflect_main/types/penaltyScaleFactorUpdated.d.ts +17 -0
  201. package/dist/generated/reflect_main/types/penaltyScaleFactorUpdated.js +30 -0
  202. package/dist/generated/reflect_main/types/program.d.ts +22 -0
  203. package/dist/generated/reflect_main/types/program.js +31 -0
  204. package/dist/generated/reflect_main/types/programStatus.d.ts +16 -0
  205. package/dist/generated/reflect_main/types/programStatus.js +28 -0
  206. package/dist/generated/reflect_main/types/programStatusUpdate.d.ts +20 -0
  207. package/dist/generated/reflect_main/types/programStatusUpdate.js +29 -0
  208. package/dist/generated/reflect_main/types/protocolActionUpdate.d.ts +20 -0
  209. package/dist/generated/reflect_main/types/protocolActionUpdate.js +29 -0
  210. package/dist/generated/reflect_main/types/protocolRatiosUpdated.d.ts +22 -0
  211. package/dist/generated/reflect_main/types/protocolRatiosUpdated.js +31 -0
  212. package/dist/generated/reflect_main/types/rack.d.ts +18 -0
  213. package/dist/generated/reflect_main/types/rack.js +27 -0
  214. package/dist/generated/reflect_main/types/recipient.d.ts +19 -0
  215. package/dist/generated/reflect_main/types/recipient.js +28 -0
  216. package/dist/generated/reflect_main/types/recipients.d.ts +20 -0
  217. package/dist/generated/reflect_main/types/recipients.js +29 -0
  218. package/dist/generated/reflect_main/types/redeem.d.ts +39 -0
  219. package/dist/generated/reflect_main/types/redeem.js +36 -0
  220. package/dist/generated/reflect_main/types/removedProtocolActionRole.d.ts +20 -0
  221. package/dist/generated/reflect_main/types/removedProtocolActionRole.js +29 -0
  222. package/dist/generated/reflect_main/types/removedProtocolRoleHolder.d.ts +20 -0
  223. package/dist/generated/reflect_main/types/removedProtocolRoleHolder.js +29 -0
  224. package/dist/generated/reflect_main/types/removedStrategyActionRole.d.ts +22 -0
  225. package/dist/generated/reflect_main/types/removedStrategyActionRole.js +31 -0
  226. package/dist/generated/reflect_main/types/removedStrategyRoleHolder.d.ts +22 -0
  227. package/dist/generated/reflect_main/types/removedStrategyRoleHolder.js +31 -0
  228. package/dist/generated/reflect_main/types/role.d.ts +22 -0
  229. package/dist/generated/reflect_main/types/role.js +34 -0
  230. package/dist/generated/reflect_main/types/settlement.d.ts +17 -0
  231. package/dist/generated/reflect_main/types/settlement.js +30 -0
  232. package/dist/generated/reflect_main/types/splBase.d.ts +17 -0
  233. package/dist/generated/reflect_main/types/splBase.js +30 -0
  234. package/dist/generated/reflect_main/types/splMain.d.ts +43 -0
  235. package/dist/generated/reflect_main/types/splMain.js +44 -0
  236. package/dist/generated/reflect_main/types/splSupport.d.ts +15 -0
  237. package/dist/generated/reflect_main/types/splSupport.js +22 -0
  238. package/dist/generated/reflect_main/types/splSupportStrategy.d.ts +16 -0
  239. package/dist/generated/reflect_main/types/splSupportStrategy.js +28 -0
  240. package/dist/generated/reflect_main/types/splSuspendProtocol.d.ts +16 -0
  241. package/dist/generated/reflect_main/types/splSuspendProtocol.js +28 -0
  242. package/dist/generated/reflect_main/types/splSuspendStrategy.d.ts +17 -0
  243. package/dist/generated/reflect_main/types/splSuspendStrategy.js +30 -0
  244. package/dist/generated/reflect_main/types/spls.d.ts +20 -0
  245. package/dist/generated/reflect_main/types/spls.js +29 -0
  246. package/dist/generated/reflect_main/types/spotDepositDrift.d.ts +19 -0
  247. package/dist/generated/reflect_main/types/spotDepositDrift.js +28 -0
  248. package/dist/generated/reflect_main/types/spreadCapture.d.ts +27 -0
  249. package/dist/generated/reflect_main/types/spreadCapture.js +30 -0
  250. package/dist/generated/reflect_main/types/status.d.ts +17 -0
  251. package/dist/generated/reflect_main/types/status.js +29 -0
  252. package/dist/generated/reflect_main/types/strategyActionUpdate.d.ts +22 -0
  253. package/dist/generated/reflect_main/types/strategyActionUpdate.js +31 -0
  254. package/dist/generated/reflect_main/types/strategyNegative.d.ts +21 -0
  255. package/dist/generated/reflect_main/types/strategyNegative.js +28 -0
  256. package/dist/generated/reflect_main/types/strategyPadding.d.ts +15 -0
  257. package/dist/generated/reflect_main/types/strategyPadding.js +26 -0
  258. package/dist/generated/reflect_main/types/strategyRoleEntry.d.ts +24 -0
  259. package/dist/generated/reflect_main/types/strategyRoleEntry.js +29 -0
  260. package/dist/generated/reflect_main/types/subsVec.d.ts +20 -0
  261. package/dist/generated/reflect_main/types/subsVec.js +29 -0
  262. package/dist/generated/reflect_main/types/update.d.ts +16 -0
  263. package/dist/generated/reflect_main/types/update.js +28 -0
  264. package/dist/generated/reflect_main/types/updateCap.d.ts +21 -0
  265. package/dist/generated/reflect_main/types/updateCap.js +30 -0
  266. package/dist/generated/reflect_main/types/updateRebalanceSlippage.d.ts +17 -0
  267. package/dist/generated/reflect_main/types/updateRebalanceSlippage.js +30 -0
  268. package/dist/generated/reflect_main/types/updateRecipients.d.ts +20 -0
  269. package/dist/generated/reflect_main/types/updateRecipients.js +29 -0
  270. package/dist/generated/reflect_main/types/yieldDistribution.d.ts +16 -0
  271. package/dist/generated/reflect_main/types/yieldDistribution.js +28 -0
  272. package/dist/generated/reflect_main/types/yieldVenue.d.ts +17 -0
  273. package/dist/generated/reflect_main/types/yieldVenue.js +29 -0
  274. package/dist/generated/reflect_main/types/yieldVenueAllocation.d.ts +25 -0
  275. package/dist/generated/reflect_main/types/yieldVenueAllocation.js +29 -0
  276. package/dist/generated/reflect_tokenised_bonds/accounts/Config.d.ts +1 -1
  277. package/dist/generated/reflect_tokenised_bonds/accounts/Vault.d.ts +1 -1
  278. package/dist/helpers/drift/accounts/spotMarket.d.ts +1 -1
  279. package/dist/helpers/drift/accounts/user.d.ts +1 -1
  280. package/dist/helpers/drift/accounts/userStats.d.ts +1 -1
  281. package/dist/index.d.ts +3 -2
  282. package/dist/index.js +6 -3
  283. package/dist/stablecoins/UsdcPlusStablecoin.d.ts +115 -70
  284. package/dist/stablecoins/UsdcPlusStablecoin.js +575 -238
  285. package/dist/stablecoins/UsdcPlusStablecoinLegacy.d.ts +97 -0
  286. package/dist/stablecoins/UsdcPlusStablecoinLegacy.js +386 -0
  287. package/dist/stablecoins/UsdtPlusStablecoin.d.ts +120 -0
  288. package/dist/stablecoins/UsdtPlusStablecoin.js +428 -0
  289. package/dist/stablecoins/index.d.ts +2 -2
  290. package/dist/stablecoins/index.js +2 -2
  291. package/dist/tsconfig.tsbuildinfo +1 -1
  292. package/dist/types/index.d.ts +6 -18
  293. package/dist/utils/getProgramAddress.d.ts +22 -0
  294. package/dist/utils/getProgramAddress.js +27 -0
  295. package/dist/utils/index.d.ts +1 -0
  296. package/dist/utils/index.js +43 -0
  297. package/package.json +8 -3
  298. package/dist/classes/ApiClient.d.ts +0 -84
  299. package/dist/classes/ApiClient.js +0 -139
  300. package/dist/constants/lst.d.ts +0 -3
  301. package/dist/constants/lst.js +0 -6
  302. package/dist/generated/reflect_main/accounts/DriftJlpController.d.ts +0 -110
  303. package/dist/generated/reflect_main/accounts/DriftJlpController.js +0 -175
  304. package/dist/generated/reflect_main/accounts/DriftLstController.d.ts +0 -104
  305. package/dist/generated/reflect_main/accounts/DriftLstController.js +0 -171
  306. package/dist/generated/reflect_main/accounts/DriftUsdcController.d.ts +0 -102
  307. package/dist/generated/reflect_main/accounts/DriftUsdcController.js +0 -168
  308. package/dist/generated/reflect_main/accounts/Main.d.ts +0 -110
  309. package/dist/generated/reflect_main/accounts/Main.js +0 -175
  310. package/dist/generated/reflect_main/accounts/PerpMarket.d.ts +0 -226
  311. package/dist/generated/reflect_main/accounts/PerpMarket.js +0 -317
  312. package/dist/generated/reflect_main/accounts/PrelaunchOracle.d.ts +0 -130
  313. package/dist/generated/reflect_main/accounts/PrelaunchOracle.js +0 -234
  314. package/dist/generated/reflect_main/accounts/PythLazerOracle.d.ts +0 -124
  315. package/dist/generated/reflect_main/accounts/PythLazerOracle.js +0 -220
  316. package/dist/generated/reflect_main/accounts/RebalanceLst.d.ts +0 -111
  317. package/dist/generated/reflect_main/accounts/RebalanceLst.js +0 -185
  318. package/dist/generated/reflect_main/accounts/SpotMarket.d.ts +0 -377
  319. package/dist/generated/reflect_main/accounts/SpotMarket.js +0 -611
  320. package/dist/generated/reflect_main/accounts/User.d.ts +0 -221
  321. package/dist/generated/reflect_main/accounts/User.js +0 -341
  322. package/dist/generated/reflect_main/accounts/UserPermissions.d.ts +0 -106
  323. package/dist/generated/reflect_main/accounts/UserPermissions.js +0 -171
  324. package/dist/generated/reflect_main/accounts/UserStats.d.ts +0 -211
  325. package/dist/generated/reflect_main/accounts/UserStats.js +0 -333
  326. package/dist/generated/reflect_main/instructions/createUserStatsAccount.d.ts +0 -52
  327. package/dist/generated/reflect_main/instructions/createUserStatsAccount.js +0 -126
  328. package/dist/generated/reflect_main/instructions/initDriftAccountsS1.d.ts +0 -54
  329. package/dist/generated/reflect_main/instructions/initDriftAccountsS1.js +0 -131
  330. package/dist/generated/reflect_main/instructions/processSwapDeposit.d.ts +0 -69
  331. package/dist/generated/reflect_main/instructions/processSwapDeposit.js +0 -165
  332. package/dist/generated/reflect_main/instructions/processSwapWithdraw.d.ts +0 -69
  333. package/dist/generated/reflect_main/instructions/processSwapWithdraw.js +0 -165
  334. package/dist/generated/reflect_main/instructions/settlePnlMulti.d.ts +0 -60
  335. package/dist/generated/reflect_main/instructions/settlePnlMulti.js +0 -118
  336. package/dist/generated/reflect_main/instructions/swapOrca.d.ts +0 -81
  337. package/dist/generated/reflect_main/instructions/swapOrca.js +0 -166
  338. package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.d.ts +0 -101
  339. package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.js +0 -213
  340. package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.d.ts +0 -55
  341. package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.js +0 -109
  342. package/dist/generated/reflect_main/types/AMM.d.ts +0 -102
  343. package/dist/generated/reflect_main/types/AMM.js +0 -137
  344. package/dist/generated/reflect_main/types/AccKey.d.ts +0 -15
  345. package/dist/generated/reflect_main/types/AccKey.js +0 -48
  346. package/dist/generated/reflect_main/types/AccessControl.d.ts +0 -18
  347. package/dist/generated/reflect_main/types/AccessControl.js +0 -53
  348. package/dist/generated/reflect_main/types/AccessMap.d.ts +0 -17
  349. package/dist/generated/reflect_main/types/AccessMap.js +0 -52
  350. package/dist/generated/reflect_main/types/Action.d.ts +0 -35
  351. package/dist/generated/reflect_main/types/Action.js +0 -72
  352. package/dist/generated/reflect_main/types/ActionMapping.d.ts +0 -19
  353. package/dist/generated/reflect_main/types/ActionMapping.js +0 -54
  354. package/dist/generated/reflect_main/types/AssetTier.d.ts +0 -23
  355. package/dist/generated/reflect_main/types/AssetTier.js +0 -60
  356. package/dist/generated/reflect_main/types/Attenuation.d.ts +0 -16
  357. package/dist/generated/reflect_main/types/Attenuation.js +0 -51
  358. package/dist/generated/reflect_main/types/AutoCompound.d.ts +0 -18
  359. package/dist/generated/reflect_main/types/AutoCompound.js +0 -53
  360. package/dist/generated/reflect_main/types/BalanceType.d.ts +0 -20
  361. package/dist/generated/reflect_main/types/BalanceType.js +0 -57
  362. package/dist/generated/reflect_main/types/Capture.d.ts +0 -19
  363. package/dist/generated/reflect_main/types/Capture.js +0 -54
  364. package/dist/generated/reflect_main/types/ContractTier.d.ts +0 -24
  365. package/dist/generated/reflect_main/types/ContractTier.js +0 -61
  366. package/dist/generated/reflect_main/types/ContractType.d.ts +0 -20
  367. package/dist/generated/reflect_main/types/ContractType.js +0 -57
  368. package/dist/generated/reflect_main/types/CorpAction.d.ts +0 -19
  369. package/dist/generated/reflect_main/types/CorpAction.js +0 -56
  370. package/dist/generated/reflect_main/types/CustodyInfo.d.ts +0 -20
  371. package/dist/generated/reflect_main/types/CustodyInfo.js +0 -55
  372. package/dist/generated/reflect_main/types/DirectionCollateral.d.ts +0 -20
  373. package/dist/generated/reflect_main/types/DirectionCollateral.js +0 -57
  374. package/dist/generated/reflect_main/types/DirectionPosition.d.ts +0 -20
  375. package/dist/generated/reflect_main/types/DirectionPosition.js +0 -57
  376. package/dist/generated/reflect_main/types/DriftControllerBase.d.ts +0 -15
  377. package/dist/generated/reflect_main/types/DriftControllerBase.js +0 -48
  378. package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.d.ts +0 -18
  379. package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.js +0 -53
  380. package/dist/generated/reflect_main/types/DriftLstData.d.ts +0 -17
  381. package/dist/generated/reflect_main/types/DriftLstData.js +0 -52
  382. package/dist/generated/reflect_main/types/Ema.d.ts +0 -17
  383. package/dist/generated/reflect_main/types/Ema.js +0 -52
  384. package/dist/generated/reflect_main/types/Externals.d.ts +0 -16
  385. package/dist/generated/reflect_main/types/Externals.js +0 -49
  386. package/dist/generated/reflect_main/types/FlowControl.d.ts +0 -17
  387. package/dist/generated/reflect_main/types/FlowControl.js +0 -52
  388. package/dist/generated/reflect_main/types/HistoricalIndexData.d.ts +0 -19
  389. package/dist/generated/reflect_main/types/HistoricalIndexData.js +0 -54
  390. package/dist/generated/reflect_main/types/HistoricalOracleData.d.ts +0 -20
  391. package/dist/generated/reflect_main/types/HistoricalOracleData.js +0 -55
  392. package/dist/generated/reflect_main/types/Holding.d.ts +0 -21
  393. package/dist/generated/reflect_main/types/Holding.js +0 -56
  394. package/dist/generated/reflect_main/types/Holdings.d.ts +0 -17
  395. package/dist/generated/reflect_main/types/Holdings.js +0 -52
  396. package/dist/generated/reflect_main/types/InsuranceClaim.d.ts +0 -19
  397. package/dist/generated/reflect_main/types/InsuranceClaim.js +0 -54
  398. package/dist/generated/reflect_main/types/InsuranceFund.d.ts +0 -24
  399. package/dist/generated/reflect_main/types/InsuranceFund.js +0 -59
  400. package/dist/generated/reflect_main/types/JlpRebalanceSettings.d.ts +0 -15
  401. package/dist/generated/reflect_main/types/JlpRebalanceSettings.js +0 -48
  402. package/dist/generated/reflect_main/types/KillSwitch.d.ts +0 -15
  403. package/dist/generated/reflect_main/types/KillSwitch.js +0 -48
  404. package/dist/generated/reflect_main/types/LevelRoles.d.ts +0 -16
  405. package/dist/generated/reflect_main/types/LevelRoles.js +0 -49
  406. package/dist/generated/reflect_main/types/MarketStatus.d.ts +0 -27
  407. package/dist/generated/reflect_main/types/MarketStatus.js +0 -64
  408. package/dist/generated/reflect_main/types/MarketType.d.ts +0 -20
  409. package/dist/generated/reflect_main/types/MarketType.js +0 -57
  410. package/dist/generated/reflect_main/types/ModifyOrderParams.d.ts +0 -32
  411. package/dist/generated/reflect_main/types/ModifyOrderParams.js +0 -67
  412. package/dist/generated/reflect_main/types/ModifyOrderPolicy.d.ts +0 -20
  413. package/dist/generated/reflect_main/types/ModifyOrderPolicy.js +0 -57
  414. package/dist/generated/reflect_main/types/Movements.d.ts +0 -19
  415. package/dist/generated/reflect_main/types/Movements.js +0 -54
  416. package/dist/generated/reflect_main/types/OracleGuardRails.d.ts +0 -18
  417. package/dist/generated/reflect_main/types/OracleGuardRails.js +0 -53
  418. package/dist/generated/reflect_main/types/OracleSource.d.ts +0 -34
  419. package/dist/generated/reflect_main/types/OracleSource.js +0 -71
  420. package/dist/generated/reflect_main/types/OracleValidity.d.ts +0 -25
  421. package/dist/generated/reflect_main/types/OracleValidity.js +0 -62
  422. package/dist/generated/reflect_main/types/Order.d.ts +0 -43
  423. package/dist/generated/reflect_main/types/Order.js +0 -78
  424. package/dist/generated/reflect_main/types/OrderDirection.d.ts +0 -20
  425. package/dist/generated/reflect_main/types/OrderDirection.js +0 -57
  426. package/dist/generated/reflect_main/types/OrderParams.d.ts +0 -36
  427. package/dist/generated/reflect_main/types/OrderParams.js +0 -71
  428. package/dist/generated/reflect_main/types/OrderStatus.d.ts +0 -22
  429. package/dist/generated/reflect_main/types/OrderStatus.js +0 -59
  430. package/dist/generated/reflect_main/types/OrderTriggerCondition.d.ts +0 -22
  431. package/dist/generated/reflect_main/types/OrderTriggerCondition.js +0 -59
  432. package/dist/generated/reflect_main/types/OrderType.d.ts +0 -23
  433. package/dist/generated/reflect_main/types/OrderType.js +0 -60
  434. package/dist/generated/reflect_main/types/PermissionLevel.d.ts +0 -45
  435. package/dist/generated/reflect_main/types/PermissionLevel.js +0 -58
  436. package/dist/generated/reflect_main/types/PerpHedge.d.ts +0 -17
  437. package/dist/generated/reflect_main/types/PerpHedge.js +0 -52
  438. package/dist/generated/reflect_main/types/PerpPosition.d.ts +0 -29
  439. package/dist/generated/reflect_main/types/PerpPosition.js +0 -64
  440. package/dist/generated/reflect_main/types/PoolBalance.d.ts +0 -17
  441. package/dist/generated/reflect_main/types/PoolBalance.js +0 -52
  442. package/dist/generated/reflect_main/types/Position.d.ts +0 -20
  443. package/dist/generated/reflect_main/types/Position.js +0 -55
  444. package/dist/generated/reflect_main/types/PositionDirection.d.ts +0 -20
  445. package/dist/generated/reflect_main/types/PositionDirection.js +0 -57
  446. package/dist/generated/reflect_main/types/PositionDrift.d.ts +0 -18
  447. package/dist/generated/reflect_main/types/PositionDrift.js +0 -53
  448. package/dist/generated/reflect_main/types/PostOnlyParam.d.ts +0 -22
  449. package/dist/generated/reflect_main/types/PostOnlyParam.js +0 -59
  450. package/dist/generated/reflect_main/types/Price.d.ts +0 -41
  451. package/dist/generated/reflect_main/types/Price.js +0 -76
  452. package/dist/generated/reflect_main/types/PriceComp.d.ts +0 -19
  453. package/dist/generated/reflect_main/types/PriceComp.js +0 -54
  454. package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.d.ts +0 -16
  455. package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.js +0 -51
  456. package/dist/generated/reflect_main/types/PriceInfo.d.ts +0 -21
  457. package/dist/generated/reflect_main/types/PriceInfo.js +0 -56
  458. package/dist/generated/reflect_main/types/PriceStatus.d.ts +0 -22
  459. package/dist/generated/reflect_main/types/PriceStatus.js +0 -59
  460. package/dist/generated/reflect_main/types/PriceType.d.ts +0 -20
  461. package/dist/generated/reflect_main/types/PriceType.js +0 -57
  462. package/dist/generated/reflect_main/types/Program.d.ts +0 -19
  463. package/dist/generated/reflect_main/types/Program.js +0 -54
  464. package/dist/generated/reflect_main/types/ProgramStatus.d.ts +0 -20
  465. package/dist/generated/reflect_main/types/ProgramStatus.js +0 -57
  466. package/dist/generated/reflect_main/types/Recipient.d.ts +0 -17
  467. package/dist/generated/reflect_main/types/Recipient.js +0 -52
  468. package/dist/generated/reflect_main/types/Recipients.d.ts +0 -17
  469. package/dist/generated/reflect_main/types/Recipients.js +0 -52
  470. package/dist/generated/reflect_main/types/Role.d.ts +0 -25
  471. package/dist/generated/reflect_main/types/Role.js +0 -62
  472. package/dist/generated/reflect_main/types/ShiftCollateral.d.ts +0 -19
  473. package/dist/generated/reflect_main/types/ShiftCollateral.js +0 -54
  474. package/dist/generated/reflect_main/types/ShiftPosition.d.ts +0 -17
  475. package/dist/generated/reflect_main/types/ShiftPosition.js +0 -52
  476. package/dist/generated/reflect_main/types/ShortHolding.d.ts +0 -17
  477. package/dist/generated/reflect_main/types/ShortHolding.js +0 -52
  478. package/dist/generated/reflect_main/types/SplBase.d.ts +0 -17
  479. package/dist/generated/reflect_main/types/SplBase.js +0 -52
  480. package/dist/generated/reflect_main/types/SplMain.d.ts +0 -22
  481. package/dist/generated/reflect_main/types/SplMain.js +0 -57
  482. package/dist/generated/reflect_main/types/Spls.d.ts +0 -17
  483. package/dist/generated/reflect_main/types/Spls.js +0 -52
  484. package/dist/generated/reflect_main/types/SpotBalanceType.d.ts +0 -20
  485. package/dist/generated/reflect_main/types/SpotBalanceType.js +0 -57
  486. package/dist/generated/reflect_main/types/SpotPosition.d.ts +0 -23
  487. package/dist/generated/reflect_main/types/SpotPosition.js +0 -58
  488. package/dist/generated/reflect_main/types/Status.d.ts +0 -21
  489. package/dist/generated/reflect_main/types/Status.js +0 -58
  490. package/dist/generated/reflect_main/types/Strategy.d.ts +0 -33
  491. package/dist/generated/reflect_main/types/Strategy.js +0 -68
  492. package/dist/generated/reflect_main/types/StrategyPadding.d.ts +0 -15
  493. package/dist/generated/reflect_main/types/StrategyPadding.js +0 -48
  494. package/dist/generated/reflect_main/types/StrategyRoleEntry.d.ts +0 -17
  495. package/dist/generated/reflect_main/types/StrategyRoleEntry.js +0 -52
  496. package/dist/generated/reflect_main/types/SubAccount.d.ts +0 -17
  497. package/dist/generated/reflect_main/types/SubAccount.js +0 -52
  498. package/dist/generated/reflect_main/types/Update.d.ts +0 -20
  499. package/dist/generated/reflect_main/types/Update.js +0 -57
  500. package/dist/generated/reflect_main/types/UserFees.d.ts +0 -20
  501. package/dist/generated/reflect_main/types/UserFees.js +0 -55
  502. package/dist/generated/reflect_main/types/ValidityGuardRails.d.ts +0 -18
  503. package/dist/generated/reflect_main/types/ValidityGuardRails.js +0 -53
  504. package/dist/generated/reflect_main/types/YieldDistribution.d.ts +0 -20
  505. package/dist/generated/reflect_main/types/YieldDistribution.js +0 -57
  506. package/dist/helpers/getOrcaQuote.d.ts +0 -3
  507. package/dist/helpers/getOrcaQuote.js +0 -27
  508. package/dist/stablecoins/LstStablecoin.d.ts +0 -108
  509. package/dist/stablecoins/LstStablecoin.js +0 -354
  510. package/dist/stablecoins/UsdjStablecoin.d.ts +0 -1
  511. package/dist/stablecoins/UsdjStablecoin.js +0 -44
  512. package/dist/types/api.d.ts +0 -1384
  513. package/dist/types/api.js +0 -6
@@ -13,352 +13,241 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Stablecoin = void 0;
16
- const web3_js_1 = require("@solana/web3.js");
16
+ const kit_1 = require("@solana/kit");
17
17
  const bn_js_1 = __importDefault(require("bn.js"));
18
- const sdk_1 = require("@drift-labs/sdk");
19
18
  const reflect_main_1 = require("../generated/reflect_main");
20
19
  const PdaClient_1 = require("./PdaClient");
21
- const spl_token_1 = require("@solana/spl-token");
22
20
  const constants_1 = require("../constants");
23
- const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
21
+ const getProgramAddress_1 = require("../utils/getProgramAddress");
24
22
  const axios_1 = __importDefault(require("axios"));
23
+ const sdk_1 = require("@drift-labs/sdk");
24
+ const web3_js_1 = require("@solana/web3.js");
25
+ // System Program and Rent Sysvar addresses
26
+ const SYSTEM_PROGRAM = (0, kit_1.address)("11111111111111111111111111111111");
27
+ const SYSVAR_RENT = (0, kit_1.address)("SysvarRent111111111111111111111111111111111");
25
28
  /**
26
29
  * Abstract base class for all stablecoin implementations in the Reflect protocol.
27
30
  * Provides common functionality for managing stablecoins including initialization,
28
31
  * minting, redemption, rebalancing, and administrative operations.
29
- *
30
- * This class serves as the foundation for different stablecoins:
31
- * - USDC+ (Index 0): Stablecoin backed by USDC deployed in money markets
32
- * - JLP Hedged (Index 1): JLP token hedged with perpetual positions
33
- * - LST Delta-Neutral (Index 2): Stablecoin backed by LSTs and delta-neutral strategies
34
32
  */
35
33
  class Stablecoin {
36
34
  /**
37
- * Loads the controller account for this stablecoin.
38
- *
39
- * @returns Promise resolving to void, sets the controller and strategy fields
35
+ * Get the program address based on network configuration.
36
+ * - devnet=true → devnet program
37
+ * - devnet=false, mock=true mock program on mainnet
38
+ * - devnet=false, mock=false → production mainnet program
40
39
  */
41
- load(schema) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- if (!schema)
44
- throw new Error("Schema has not been provided.");
45
- const controller = yield schema
46
- .fromAccountAddress(this.connection, this.controllerKey);
47
- this.controller = controller;
48
- this.strategy = controller.baseStrategy;
49
- this.stablecoinMint = this.strategy.mint;
50
- if (this.driftClient) {
51
- yield this.driftClient.subscribe();
52
- }
53
- yield this.loadMint();
54
- });
55
- }
56
- loadMint() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const { data } = yield this.connection.getAccountInfo(this.stablecoinMint);
59
- this.stablecoinMintData = spl_token_1.MintLayout.decode(data);
60
- });
61
- }
62
- get programId() {
63
- return this.devnet ? constants_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID;
40
+ get programAddress() {
41
+ return (0, getProgramAddress_1.getProgramAddress)({ devnet: this.devnet, mock: this.mock });
64
42
  }
65
- buildLookupTables(signer) {
43
+ /**
44
+ * Initialize the stablecoin by deriving the controller key
45
+ */
46
+ initializeKeys() {
66
47
  return __awaiter(this, void 0, void 0, function* () {
67
- const accounts = yield this.constructAccounts(signer);
68
- const keysWithMetas = Object.values(accounts);
69
- const keys = [];
70
- keysWithMetas
71
- .filter(key => !!key) // skip nulls, optional accounts
72
- .forEach(key => {
73
- if (key instanceof web3_js_1.PublicKey) {
74
- keys.push(key);
75
- }
76
- else if (Array.isArray(key)) {
77
- keys.push(...key.map(k => k.pubkey));
78
- }
79
- });
80
- const currentSlot = yield this.connection.getSlot();
81
- const slots = yield this.connection.getBlocks(currentSlot - 200);
82
- if (slots.length < 10) {
83
- throw new Error(`Could find only ${slots.length} ${slots} on the main fork. Failed to create lookup table.`);
84
- }
85
- const [initializeIx, lookupTablePubkey] = web3_js_1.AddressLookupTableProgram
86
- .createLookupTable({
87
- authority: signer,
88
- payer: signer,
89
- recentSlot: slots[0],
90
- });
91
- const updateIx = web3_js_1.AddressLookupTableProgram
92
- .extendLookupTable({
93
- authority: signer,
94
- payer: signer,
95
- addresses: keys,
96
- lookupTable: lookupTablePubkey,
97
- });
98
- return {
99
- instructions: [initializeIx, updateIx],
100
- lookupTable: lookupTablePubkey,
101
- };
48
+ this.controllerKey = yield PdaClient_1.PdaClient.deriveController(this.index, this.devnet, this.mock);
102
49
  });
103
50
  }
104
- setLookupTable(address) {
105
- this.lookupTable = address;
106
- }
107
51
  getController() {
108
52
  return this.controller;
109
53
  }
110
- getStrategy() {
111
- return this.strategy;
112
- }
113
54
  getStablecoinMint() {
114
55
  return this.stablecoinMint;
115
56
  }
116
- getStablecoinMintData() {
117
- return this.stablecoinMintData;
118
- }
119
57
  getLookupTable() {
120
58
  return this.lookupTable;
121
59
  }
60
+ setLookupTable(addressVal) {
61
+ this.lookupTable = addressVal;
62
+ }
122
63
  /**
123
64
  * Creates a new Stablecoin instance.
124
65
  *
125
- * @param index - Unique strategy index (0: USDC+, 1: JLP, 2: LST)
66
+ * @param index - Unique strategy index (0: USDC+, 1: USDT+)
126
67
  * @param name - Human-readable name for the stablecoin
127
- * @param connection - Solana connection instance
68
+ * @param rpc - Solana RPC instance
69
+ * @param lookupTable - Address of the lookup table
70
+ * @param devnet - Whether to use devnet program
71
+ * @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
128
72
  */
129
- constructor(index, name, connection, lookupTable, devnet) {
73
+ constructor(index, name, rpc, lookupTable, devnet = false, mock = false) {
74
+ /** Address of the controller account for this stablecoin */
75
+ this.controllerKey = null;
76
+ /** Controller account data */
77
+ this.controller = null;
78
+ /** Address of the stablecoin mint */
79
+ this.stablecoinMint = null;
80
+ /** Data of the stablecoin mint */
81
+ this.stablecoinMintSupply = BigInt(0);
82
+ this.stablecoinMintDecimals = 6;
83
+ this.isPermissioned = false;
130
84
  this.index = index;
131
85
  this.name = name;
132
- this.connection = connection;
133
- this.controllerKey = PdaClient_1.PdaClient.deriveController(this.index, devnet);
86
+ this.rpc = rpc;
134
87
  this.lookupTable = lookupTable;
135
88
  this.devnet = devnet;
136
- }
137
- /**
138
- * Initializes token accounts for the specified owner and mints.
139
- * Creates associated token accounts if they don't exist.
140
- *
141
- * @param owner - Public key of the token account owner
142
- * @param mints - Array of mint public keys to create accounts for
143
- * @param signer - Public key of the transaction signer
144
- * @returns Promise resolving to an array of TransactionInstruction objects
145
- */
146
- initializeTokenAccounts(owner, mints, signer) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- const instructions = [];
149
- for (const mint of mints) {
150
- const ata = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, owner, true);
151
- let isInitialized = false;
152
- try {
153
- let account = yield this.connection.getAccountInfo(ata);
154
- isInitialized = account !== null;
155
- }
156
- catch (err) {
157
- isInitialized = false;
158
- }
159
- if (!isInitialized) {
160
- instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(signer, ata, owner, mint));
161
- }
162
- }
163
- return instructions;
164
- });
89
+ this.mock = mock;
90
+ this.collaterals = [];
165
91
  }
166
92
  /**
167
93
  * Updates the supply cap for this stablecoin strategy.
168
94
  *
169
- * @param signer - Public key of the admin signer
170
- * @param newCap - New maximum supply cap as BN or number
171
- * @returns Promise resolving to a TransactionInstruction
95
+ * @param admin - TransactionSigner of the admin
96
+ * @param newCap - New maximum supply cap
97
+ * @returns Instruction
172
98
  */
173
- updateCap(signer, newCap) {
99
+ updateCap(admin, newCap) {
174
100
  return __awaiter(this, void 0, void 0, function* () {
175
- const ix = (0, reflect_main_1.createUpdateCapInstruction)({
176
- admin: signer,
177
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
178
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
179
- systemProgram: web3_js_1.SystemProgram.programId,
180
- strategy: this.controllerKey
181
- }, {
182
- newCap,
183
- }, this.programId);
101
+ if (!this.controllerKey)
102
+ yield this.initializeKeys();
103
+ const main = yield PdaClient_1.PdaClient.deriveMain(this.devnet, this.mock);
104
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
105
+ const ix = (0, reflect_main_1.getUpdateCapInstruction)({
106
+ admin,
107
+ main,
108
+ adminPermissions,
109
+ strategy: this.controllerKey,
110
+ newCap: BigInt(newCap),
111
+ }, { programAddress: this.programAddress });
184
112
  return ix;
185
113
  });
186
114
  }
187
115
  /**
188
116
  * Updates the recipient addresses and their fee cuts for this stablecoin.
189
117
  *
190
- * @param signer - Public key of the admin signer
191
- * @param recipients - Map of recipient public keys to their fee (in basepoints)
192
- * @returns Promise resolving to a TransactionInstruction
118
+ * @param admin - TransactionSigner of the admin
119
+ * @param recipientAddresses - Array of recipient addresses for fee distribution
120
+ * @param recipientCuts - Array of recipient cuts (u16 values, total must equal 10000)
121
+ * @returns Instruction
193
122
  */
194
- updateRecipients(signer, recipients) {
123
+ updateRecipients(admin, recipientAddresses, recipientCuts) {
195
124
  return __awaiter(this, void 0, void 0, function* () {
196
- const ix = (0, reflect_main_1.createUpdateRecipientsInstruction)({
197
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
198
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
199
- systemProgram: web3_js_1.SystemProgram.programId,
200
- admin: signer,
201
- strategy: this.controllerKey
202
- }, {
203
- recipientAddresses: Array.from(recipients.keys()),
204
- recipientCuts: Array.from(recipients.values()),
205
- }, this.programId);
125
+ if (!this.controllerKey)
126
+ yield this.initializeKeys();
127
+ const main = yield PdaClient_1.PdaClient.deriveMain(this.devnet, this.mock);
128
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
129
+ const ix = (0, reflect_main_1.getUpdateRecipientsInstruction)({
130
+ main,
131
+ adminPermissions,
132
+ admin,
133
+ strategy: this.controllerKey,
134
+ recipientAddresses,
135
+ recipientCuts,
136
+ }, { programAddress: this.programAddress });
206
137
  return ix;
207
138
  });
208
139
  }
209
140
  /**
210
- * Initializes a Drift sub-account for this stablecoin controller.
141
+ * Initializes a Drift user account for this stablecoin controller.
211
142
  *
212
- * @param signer - Public key of the admin signer
143
+ * @param admin - TransactionSigner of the admin
213
144
  * @param subAccountId - Sub-account identifier (default: 0)
214
- * @returns Promise resolving to a TransactionInstruction
145
+ * @returns Instruction
215
146
  */
216
- initializeStablecoinDriftAccount(signer_1) {
217
- return __awaiter(this, arguments, void 0, function* (signer, subAccountId = 0) {
218
- const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controllerKey, subAccountId);
219
- const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controllerKey);
220
- const anchorRemainingAccounts = [
221
- constants_1.REFERRAL_USER,
222
- constants_1.REFERRAL_USER_STATS
223
- ].map(account => ({
224
- isSigner: false,
225
- isWritable: true,
226
- pubkey: account
227
- }));
228
- const ix = (0, reflect_main_1.createAddSubAccountInstruction)({
229
- admin: signer,
147
+ initializeStablecoinDriftAccount(admin_1) {
148
+ return __awaiter(this, arguments, void 0, function* (admin, subAccountId = 0) {
149
+ if (!this.controllerKey)
150
+ yield this.initializeKeys();
151
+ const main = yield PdaClient_1.PdaClient.deriveMain(this.devnet, this.mock);
152
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
153
+ const controllerPubkey = new web3_js_1.PublicKey(this.controllerKey);
154
+ const driftProgramPubkey = new web3_js_1.PublicKey(constants_1.DRIFT_PROGRAM_ID);
155
+ const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(driftProgramPubkey, controllerPubkey, subAccountId);
156
+ const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(driftProgramPubkey, controllerPubkey);
157
+ const driftState = yield (0, sdk_1.getDriftStateAccountPublicKey)(driftProgramPubkey);
158
+ const ix = (0, reflect_main_1.getCreateDriftUserAccountInstruction)({
159
+ admin,
230
160
  drift: constants_1.DRIFT_PROGRAM_ID,
231
- state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
232
- userStats,
233
- userAccount,
234
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
235
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
236
- rent: web3_js_1.SYSVAR_RENT_PUBKEY,
237
- systemProgram: web3_js_1.SystemProgram.programId,
238
- lstController: this.controllerKey,
239
- anchorRemainingAccounts
240
- }, this.programId);
161
+ state: (0, kit_1.address)(driftState.toBase58()),
162
+ userStats: (0, kit_1.address)(userStats.toBase58()),
163
+ userAccount: (0, kit_1.address)(userAccount.toBase58()),
164
+ adminPermissions,
165
+ main,
166
+ strategyController: this.controllerKey,
167
+ }, { programAddress: this.programAddress });
241
168
  return ix;
242
169
  });
243
170
  }
244
171
  /**
245
172
  * Initializes the Drift user stats account for this stablecoin controller.
246
173
  *
247
- * @param signer - Public key of the admin signer
248
- * @returns Promise resolving to a TransactionInstruction
174
+ * @param admin - TransactionSigner of the admin
175
+ * @returns Instruction
249
176
  */
250
- initializeStablecoinDriftStatsAccount(signer) {
177
+ initializeStablecoinDriftStatsAccount(admin) {
251
178
  return __awaiter(this, void 0, void 0, function* () {
252
- const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controllerKey, 0);
253
- const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controllerKey);
254
- const ix = (0, reflect_main_1.createCreateUserStatsAccountInstruction)({
255
- admin: signer,
256
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
179
+ if (!this.controllerKey)
180
+ yield this.initializeKeys();
181
+ const main = yield PdaClient_1.PdaClient.deriveMain(this.devnet, this.mock);
182
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
183
+ const controllerPubkey = new web3_js_1.PublicKey(this.controllerKey);
184
+ const driftProgramPubkey = new web3_js_1.PublicKey(constants_1.DRIFT_PROGRAM_ID);
185
+ const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(driftProgramPubkey, controllerPubkey);
186
+ const driftState = yield (0, sdk_1.getDriftStateAccountPublicKey)(driftProgramPubkey);
187
+ const ix = (0, reflect_main_1.getCreateDriftUserStatsAccountInstruction)({
188
+ admin,
189
+ main,
257
190
  drift: constants_1.DRIFT_PROGRAM_ID,
258
- userStats,
259
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
191
+ userStats: (0, kit_1.address)(userStats.toBase58()),
192
+ adminPermissions,
260
193
  controller: this.controllerKey,
261
- rent: web3_js_1.SYSVAR_RENT_PUBKEY,
262
- state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
263
- systemProgram: web3_js_1.SystemProgram.programId,
264
- }, this.programId);
194
+ rent: SYSVAR_RENT,
195
+ state: (0, kit_1.address)(driftState.toBase58()),
196
+ }, { programAddress: this.programAddress });
265
197
  return ix;
266
198
  });
267
199
  }
268
200
  /**
269
201
  * Freezes or unfreezes a specific action for this stablecoin strategy.
270
202
  *
271
- * @param signer - Public key of the admin signer
203
+ * @param admin - TransactionSigner of the admin
272
204
  * @param freeze - Whether to freeze (true) or unfreeze (false) the action
273
- * @param action - The action to freeze/unfreeze
274
- * @returns Promise resolving to a TransactionInstruction
205
+ * @param action - The action to freeze/unfreeze (as u8)
206
+ * @returns Instruction
275
207
  */
276
- freeze(signer, freeze, action) {
208
+ freeze(admin, freeze, action) {
277
209
  return __awaiter(this, void 0, void 0, function* () {
278
- const ix = (0, reflect_main_1.createFreezeStrategyActionInstruction)({
279
- admin: signer,
280
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
281
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
282
- systemProgram: web3_js_1.SystemProgram.programId,
210
+ if (!this.controllerKey)
211
+ yield this.initializeKeys();
212
+ const main = yield PdaClient_1.PdaClient.deriveMain(this.devnet, this.mock);
213
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
214
+ const ix = (0, reflect_main_1.getFreezeStrategyActionInstruction)({
215
+ admin,
216
+ main,
217
+ adminPermissions,
283
218
  strategy: this.controllerKey,
284
- }, {
285
219
  freeze,
286
220
  action,
287
- strategyId: this.index
288
- });
221
+ }, { programAddress: this.programAddress });
289
222
  return ix;
290
223
  });
291
224
  }
292
- /**
293
- * Initializes the stablecoin mint with optional metadata.
294
- *
295
- * @param signer - Public key of the admin signer
296
- * @param tokenKeypair - Keypair for the new mint account
297
- * @param metadata - Optional metadata for the stablecoin
298
- * @returns Promise resolving to an array of TransactionInstruction objects
299
- */
300
- initializeStablecoin(signer, tokenKeypair, metadata) {
301
- return __awaiter(this, void 0, void 0, function* () {
302
- const instructions = [];
303
- const createAccountInstruction = web3_js_1.SystemProgram.createAccount({
304
- lamports: yield this.connection.getMinimumBalanceForRentExemption(spl_token_1.MINT_SIZE),
305
- space: spl_token_1.MINT_SIZE,
306
- fromPubkey: signer,
307
- newAccountPubkey: tokenKeypair.publicKey,
308
- programId: spl_token_1.TOKEN_PROGRAM_ID
309
- });
310
- instructions.push(createAccountInstruction);
311
- const initializeMintInstruction = (0, spl_token_1.createInitializeMint2Instruction)(tokenKeypair.publicKey, 6, signer, signer);
312
- instructions.push(initializeMintInstruction);
313
- if (metadata) {
314
- const createMetadataInstruction = (0, mpl_token_metadata_1.createCreateMetadataAccountV3Instruction)({
315
- metadata: PdaClient_1.PdaClient.deriveMetadataAccount(tokenKeypair.publicKey),
316
- mint: tokenKeypair.publicKey,
317
- mintAuthority: signer,
318
- payer: signer,
319
- updateAuthority: signer
320
- }, {
321
- createMetadataAccountArgsV3: {
322
- data: metadata,
323
- isMutable: true,
324
- collectionDetails: null
325
- }
326
- });
327
- instructions.push(createMetadataInstruction);
328
- }
329
- const setAuthorityInstruction = (0, spl_token_1.createSetAuthorityInstruction)(tokenKeypair.publicKey, signer, spl_token_1.AuthorityType.MintTokens, this.controllerKey);
330
- instructions.push(setAuthorityInstruction);
331
- return instructions;
332
- });
333
- }
334
225
  /**
335
226
  * Fetches the current price of a collateral asset from Pyth oracle.
336
227
  *
337
- * @param mint - Public key of the collateral mint
228
+ * @param mint - Address of the collateral mint
338
229
  * @returns Promise resolving to the collateral price data
339
230
  */
340
231
  getCollateralPrice(mint) {
341
232
  return __awaiter(this, void 0, void 0, function* () {
342
233
  var _a;
343
- const oracle = (_a = this.collaterals.find(({ mint: collateralMint }) => collateralMint.equals(mint))) === null || _a === void 0 ? void 0 : _a.oracle;
234
+ const oracle = (_a = this.collaterals.find(({ mint: collateralMint }) => collateralMint === mint)) === null || _a === void 0 ? void 0 : _a.oracle;
344
235
  if (!oracle) {
345
- throw new Error(`Oracle not found for collateral ${mint.toBase58()}`);
236
+ throw new Error(`Oracle not found for collateral ${mint}`);
346
237
  }
347
238
  return axios_1.default.get(`${constants_1.PYTH_API_URL}${oracle}`);
348
239
  });
349
240
  }
350
241
  /**
351
242
  * Converts a stablecoin amount to the equivalent collateral amount, factoring in slippage (in bips).
352
- * All math is done using BN for safety.
353
243
  * @param amount Amount of stablecoin (BN)
354
- * @param collateralMint Collateral mint PublicKey
244
+ * @param collateralMint Collateral mint Address
355
245
  * @param slippageBips Slippage in bips (1 bip = 0.01%, e.g. 50 = 0.5%)
356
246
  * @returns Promise resolving to the collateral amount (BN)
357
247
  */
358
248
  stablecoinToCollateralWithSlippage(amount, collateralMint, slippageBips) {
359
249
  return __awaiter(this, void 0, void 0, function* () {
360
- // Use receipt-to-collateral exchange rate (already accounts for decimals)
361
- const rate = new bn_js_1.default(yield this.getReceiptToCollateralExchangeRate()); // scaled by EXCHANGE_RATE_PRECISION
250
+ const rate = new bn_js_1.default(yield this.getReceiptToCollateralExchangeRate());
362
251
  const collateralAmount = new bn_js_1.default(amount)
363
252
  .mul(rate)
364
253
  .mul(new bn_js_1.default(10000 - slippageBips))
@@ -369,16 +258,14 @@ class Stablecoin {
369
258
  }
370
259
  /**
371
260
  * Converts a collateral amount to the equivalent stablecoin amount, factoring in slippage (in bips).
372
- * All math is done using BN for safety.
373
261
  * @param amount Amount of collateral (BN)
374
- * @param collateralMint Collateral mint PublicKey
262
+ * @param collateralMint Collateral mint Address
375
263
  * @param slippageBips Slippage in bips (1 bip = 0.01%, e.g. 50 = 0.5%)
376
264
  * @returns Promise resolving to the stablecoin amount (BN)
377
265
  */
378
266
  collateralToStablecoinWithSlippage(amount, collateralMint, slippageBips) {
379
267
  return __awaiter(this, void 0, void 0, function* () {
380
- // Invert the receipt-to-collateral exchange rate
381
- const receiptToCollateralRate = new bn_js_1.default(yield this.getReceiptToCollateralExchangeRate()); // scaled
268
+ const receiptToCollateralRate = new bn_js_1.default(yield this.getReceiptToCollateralExchangeRate());
382
269
  const stablecoinAmount = new bn_js_1.default(amount)
383
270
  .mul(new bn_js_1.default(constants_1.EXCHANGE_RATE_PRECISION))
384
271
  .mul(new bn_js_1.default(10000 - slippageBips))
@@ -3,3 +3,4 @@ export * from "./PdaClient";
3
3
  export * from "./Stablecoin";
4
4
  export * from "./Reflect";
5
5
  export * from "./ReflectTokenisedBond";
6
+ export * from "./Migration";
@@ -19,3 +19,4 @@ __exportStar(require("./PdaClient"), exports);
19
19
  __exportStar(require("./Stablecoin"), exports);
20
20
  __exportStar(require("./Reflect"), exports);
21
21
  __exportStar(require("./ReflectTokenisedBond"), exports);
22
+ __exportStar(require("./Migration"), exports);
@@ -1,4 +1,4 @@
1
- import { PublicKey } from "@solana/web3.js";
2
- export declare const DEVNET_PROGRAM_ID: PublicKey;
3
- export declare const USDC_MINT_DEVNET: PublicKey;
4
- export declare const USDC_PLUS_LOOKUP_TABLE_DEVNET: PublicKey;
1
+ import { Address } from "@solana/kit";
2
+ export declare const DEVNET_PROGRAM_ADDRESS: Address;
3
+ export declare const USDC_MINT_DEVNET: Address;
4
+ export declare const USDC_PLUS_LOOKUP_TABLE_DEVNET: Address;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USDC_PLUS_LOOKUP_TABLE_DEVNET = exports.USDC_MINT_DEVNET = exports.DEVNET_PROGRAM_ID = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- exports.DEVNET_PROGRAM_ID = new web3_js_1.PublicKey("Pexq7ANUtGrKs6fDKwcwutqeAEw7ic1q74tR7b1p4NG");
6
- exports.USDC_MINT_DEVNET = new web3_js_1.PublicKey("8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2");
7
- exports.USDC_PLUS_LOOKUP_TABLE_DEVNET = new web3_js_1.PublicKey("DBW59DEuJdM2aM48kBy3ugmFD7acvbCJmU9hxhJfieVL");
3
+ exports.USDC_PLUS_LOOKUP_TABLE_DEVNET = exports.USDC_MINT_DEVNET = exports.DEVNET_PROGRAM_ADDRESS = void 0;
4
+ const kit_1 = require("@solana/kit");
5
+ exports.DEVNET_PROGRAM_ADDRESS = (0, kit_1.address)("Pexq7ANUtGrKs6fDKwcwutqeAEw7ic1q74tR7b1p4NG");
6
+ exports.USDC_MINT_DEVNET = (0, kit_1.address)("8zGuJQqwhZafTah7Uc7Z4tXRnguqkn5KLFAP8oV6PHe2");
7
+ exports.USDC_PLUS_LOOKUP_TABLE_DEVNET = (0, kit_1.address)("DBW59DEuJdM2aM48kBy3ugmFD7acvbCJmU9hxhJfieVL");
@@ -1,6 +1,8 @@
1
- import { PublicKey } from "@solana/web3.js";
2
- declare const DRIFT_VAULT: PublicKey;
3
- declare const DRIFT_PROGRAM_ID: PublicKey;
4
- declare const REFERRAL_USER: PublicKey;
5
- declare const REFERRAL_USER_STATS: PublicKey;
6
- export { DRIFT_VAULT, REFERRAL_USER, REFERRAL_USER_STATS, DRIFT_PROGRAM_ID };
1
+ import { Address } from "@solana/kit";
2
+ export declare const DRIFT_PROGRAM_ID: Address;
3
+ export declare const DRIFT_VAULT: Address;
4
+ export declare const REFERRAL_USER: Address;
5
+ export declare const REFERRAL_USER_STATS: Address;
6
+ export declare const DRIFT_STATE: Address;
7
+ export declare const USDC_SPOT_MARKET_VAULT: Address;
8
+ export declare const USDC_LAZER_ORACLE: Address;
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DRIFT_PROGRAM_ID = exports.REFERRAL_USER_STATS = exports.REFERRAL_USER = exports.DRIFT_VAULT = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const sdk_1 = require("@drift-labs/sdk");
6
- // No devnet?
7
- const DRIFT_VAULT = new web3_js_1.PublicKey("JCNCMFXo5M5qwUPg2Utu1u6YWp3MbygxqBsBeXXJfrw");
8
- exports.DRIFT_VAULT = DRIFT_VAULT;
9
- const DRIFT_PROGRAM_ID = new web3_js_1.PublicKey(sdk_1.DRIFT_PROGRAM_ID);
10
- exports.DRIFT_PROGRAM_ID = DRIFT_PROGRAM_ID;
11
- const REFERRAL_USER = new web3_js_1.PublicKey("9XuTCfYKnecKCw4sSYZXdnR85miLuVWETZSMBRMTNVrj");
12
- exports.REFERRAL_USER = REFERRAL_USER;
13
- const REFERRAL_USER_STATS = new web3_js_1.PublicKey("6zKsm3xy9CRwTaBsgRkoYkgSaVarZuaDApfqYq1EanTu");
14
- exports.REFERRAL_USER_STATS = REFERRAL_USER_STATS;
3
+ exports.USDC_LAZER_ORACLE = exports.USDC_SPOT_MARKET_VAULT = exports.DRIFT_STATE = exports.REFERRAL_USER_STATS = exports.REFERRAL_USER = exports.DRIFT_VAULT = exports.DRIFT_PROGRAM_ID = void 0;
4
+ const kit_1 = require("@solana/kit");
5
+ exports.DRIFT_PROGRAM_ID = (0, kit_1.address)("dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH");
6
+ exports.DRIFT_VAULT = (0, kit_1.address)("JCNCMFXo5M5qwUPg2Utu1u6YWp3MbygxqBsBeXXJfrw");
7
+ exports.REFERRAL_USER = (0, kit_1.address)("9XuTCfYKnecKCw4sSYZXdnR85miLuVWETZSMBRMTNVrj");
8
+ exports.REFERRAL_USER_STATS = (0, kit_1.address)("6zKsm3xy9CRwTaBsgRkoYkgSaVarZuaDApfqYq1EanTu");
9
+ // Drift state account (mainnet)
10
+ exports.DRIFT_STATE = (0, kit_1.address)("5zpq7DvB6UdFFvpmBPspGPNfUGoBRRCE2HHg5u3gxcsN");
11
+ // USDC Spot Market Vault (mainnet)
12
+ exports.USDC_SPOT_MARKET_VAULT = (0, kit_1.address)("GXWqPpjQpdz7KZw9p7f5PX2eGxHAhvpNXiviFkAB8zXg");
13
+ // USDC Lazer Oracle (mainnet)
14
+ exports.USDC_LAZER_ORACLE = (0, kit_1.address)("9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV");
@@ -1,9 +1,11 @@
1
1
  export * from "./usdc";
2
+ export * from "./usdt";
2
3
  export * from "./drift";
3
4
  export * from "./wsol";
4
- export * from "./jupiter";
5
5
  export * from "./pyth";
6
- export * from "./lst";
7
6
  export * from "./lookupTables";
8
7
  export * from "./devnet";
8
+ export * from "./mock";
9
+ export * from "./kamino";
10
+ export * from "./jupiter";
9
11
  export declare const EXCHANGE_RATE_PRECISION = 1000000000;
@@ -16,11 +16,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.EXCHANGE_RATE_PRECISION = void 0;
18
18
  __exportStar(require("./usdc"), exports);
19
+ __exportStar(require("./usdt"), exports);
19
20
  __exportStar(require("./drift"), exports);
20
21
  __exportStar(require("./wsol"), exports);
21
- __exportStar(require("./jupiter"), exports);
22
22
  __exportStar(require("./pyth"), exports);
23
- __exportStar(require("./lst"), exports);
24
23
  __exportStar(require("./lookupTables"), exports);
25
24
  __exportStar(require("./devnet"), exports);
25
+ __exportStar(require("./mock"), exports);
26
+ __exportStar(require("./kamino"), exports);
27
+ __exportStar(require("./jupiter"), exports);
26
28
  exports.EXCHANGE_RATE_PRECISION = 1000000000;
@@ -1,4 +1,12 @@
1
- import { PublicKey } from "@solana/web3.js";
2
- declare const JUPITER_PROGRAM_ID: PublicKey;
3
- declare const JLP_MINT: PublicKey;
4
- export { JUPITER_PROGRAM_ID, JLP_MINT };
1
+ export declare const JUPITER_LENDING_PROGRAM_ID: import("@solana/kit").Address<"jup3YeL8QhtSx1e253b2FDvsMNC87fDrgQZivbrndc9">;
2
+ export declare const JUPITER_LIQUIDITY_PROGRAM_ID: import("@solana/kit").Address<"jupeiUmn818Jg1ekPURTpr4mFo29p46vygyykFJ3wZC">;
3
+ export declare const JUPITER_LENDING_ADMIN: import("@solana/kit").Address<"5nmGjA4s7ATzpBQXC5RNceRpaJ7pYw2wKsNBWyuSAZV6">;
4
+ export declare const JUPITER_LIQUIDITY_OWNER: import("@solana/kit").Address<"7s1da8DduuBFqGra5bJBjpnvL5E9mGzCuMk1Qkh4or2Z">;
5
+ export declare const JUPITER_USDC_LENDING: import("@solana/kit").Address<"2vVYHYM8VYnvZqQWpTJSj8o8DBf1wM8pVs3bsTgYZiqJ">;
6
+ export declare const JUPITER_USDC_SUPPLY_TOKEN_RESERVES_LIQUIDITY: import("@solana/kit").Address<"94vK29npVbyRHXH63rRcTiSr26SFhrQTzbpNJuhQEDu">;
7
+ export declare const JUPITER_USDC_LENDING_SUPPLY_POSITION: import("@solana/kit").Address<"Hf9gtkM4dpVBahVSzEXSVCAPpKzBsBcns3s8As3z77oF">;
8
+ export declare const JUPITER_USDC_RATE_MODEL: import("@solana/kit").Address<"5pjzT5dFTsXcwixoab1QDLvZQvpYJxJeBphkyfHGn688">;
9
+ export declare const JUPITER_USDC_VAULT: import("@solana/kit").Address<"BmkUoKMFYBxNSzWXyUjyMJjMAaVz4d8ZnxwwmhDCUXFB">;
10
+ export declare const JUPITER_USDC_REWARDS_RATE_MODEL: import("@solana/kit").Address<"5xSPBiD3TibamAnwHDhZABdB4z4F9dcj5PnbteroBTTd">;
11
+ export declare const JUPITER_USDC_CLAIM_ACCOUNT: import("@solana/kit").Address<"HN1r4VfkDn53xQQfeGDYrNuDKFdemAhZsHYRwBrFhsW">;
12
+ export declare const JUPITER_USDC_F_TOKEN_MINT: import("@solana/kit").Address<"9BEcn9aPEmhSPbPQeFGjidRiEKki46fVQDyPpSQXPA2D">;