@reflectmoney/stable.ts 2.9.1 → 3.0.1

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 +79 -60
  9. package/dist/classes/ReflectKeeper.js +192 -163
  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
@@ -1,222 +1,188 @@
1
- import { AccountMeta, Connection, Keypair, PublicKey, TransactionInstruction } from "@solana/web3.js";
1
+ import { Address, TransactionSigner, Rpc, SolanaRpcApi, Instruction } from "@solana/kit";
2
2
  import BN from "bn.js";
3
- import { DriftClient } from "@drift-labs/sdk";
4
- import { Action, Strategy } from "../generated/reflect_main";
5
- import { RawMint } from "@solana/spl-token";
6
- import { StablecoinMetadata, Collateral, Controller, MintContext, PythResponse } from "../types";
3
+ import { Collateral, PythResponse } from "../types";
4
+ import { Controller } from "../types";
5
+ /**
6
+ * Strategy interface - common fields for all strategy controllers.
7
+ * This maps to the generated Base type but with Address for mint.
8
+ */
9
+ export interface Strategy {
10
+ mint: Address;
11
+ bump: number;
12
+ index: number;
13
+ cap: bigint;
14
+ }
7
15
  /**
8
16
  * Abstract base class for all stablecoin implementations in the Reflect protocol.
9
17
  * Provides common functionality for managing stablecoins including initialization,
10
18
  * minting, redemption, rebalancing, and administrative operations.
11
- *
12
- * This class serves as the foundation for different stablecoins:
13
- * - USDC+ (Index 0): Stablecoin backed by USDC deployed in money markets
14
- * - JLP Hedged (Index 1): JLP token hedged with perpetual positions
15
- * - LST Delta-Neutral (Index 2): Stablecoin backed by LSTs and delta-neutral strategies
16
19
  */
17
20
  export declare abstract class Stablecoin<T extends Controller> {
18
21
  /** Unique index identifier for the stablecoin */
19
22
  index: number;
20
23
  /** Human-readable name of the stablecoin */
21
24
  name: string;
22
- /** Solana connection instance for communication */
23
- connection: Connection;
24
- /** Public key of the controller account for this stablecoin */
25
- controllerKey: PublicKey;
26
- /** Public key of the controller account for this stablecoin */
27
- controller: T;
28
- /** Public key of the controller account for this stablecoin */
29
- strategy: Strategy;
25
+ /** Solana RPC instance for communication */
26
+ rpc: Rpc<SolanaRpcApi>;
27
+ /** Address of the controller account for this stablecoin */
28
+ controllerKey: Address | null;
29
+ /** Controller account data */
30
+ controller: T | null;
30
31
  /** Array of collateral assets backing this stablecoin */
31
32
  collaterals: Collateral[];
32
- /** Public key of the stablecoin mint */
33
- stablecoinMint: PublicKey;
33
+ /** Address of the stablecoin mint */
34
+ stablecoinMint: Address | null;
34
35
  /** Data of the stablecoin mint */
35
- stablecoinMintData: RawMint;
36
- /** Optional Drift client instance for DeFi operations */
37
- driftClient?: DriftClient;
36
+ stablecoinMintSupply: bigint;
37
+ stablecoinMintDecimals: number;
38
38
  /** Lookup table with stablecoin-specific accounts. */
39
- lookupTable: PublicKey;
39
+ lookupTable: Address;
40
40
  isPermissioned: boolean;
41
- devnet?: boolean;
41
+ /** Whether to use devnet program */
42
+ devnet: boolean;
43
+ /** Whether to use mock program on mainnet (only applies when devnet=false) */
44
+ mock: boolean;
42
45
  /**
43
- * Loads the controller account for this stablecoin.
44
- *
45
- * @returns Promise resolving to void, sets the controller and strategy fields
46
+ * Get the program address based on network configuration.
47
+ * - devnet=true → devnet program
48
+ * - devnet=false, mock=true mock program on mainnet
49
+ * - devnet=false, mock=false → production mainnet program
50
+ */
51
+ get programAddress(): Address;
52
+ /**
53
+ * Initialize the stablecoin by deriving the controller key
46
54
  */
47
- load(schema?: {
48
- fromAccountAddress: (connection: Connection, key: PublicKey) => Promise<T>;
49
- }): Promise<void>;
50
- loadMint(): Promise<void>;
51
- get programId(): PublicKey;
52
- buildLookupTables<T extends MintContext>(signer: PublicKey): Promise<{
53
- instructions: TransactionInstruction[];
54
- lookupTable: PublicKey;
55
- }>;
56
- setLookupTable(address: PublicKey): void;
55
+ initializeKeys(): Promise<void>;
57
56
  getController(): T;
58
- getStrategy(): Strategy;
59
- getStablecoinMint(): PublicKey;
60
- getStablecoinMintData(): RawMint;
61
- getLookupTable(): PublicKey;
57
+ getStablecoinMint(): Address;
58
+ getLookupTable(): Address;
59
+ setLookupTable(addressVal: Address): void;
62
60
  /**
63
61
  * Creates a new Stablecoin instance.
64
62
  *
65
- * @param index - Unique strategy index (0: USDC+, 1: JLP, 2: LST)
63
+ * @param index - Unique strategy index (0: USDC+, 1: USDT+)
66
64
  * @param name - Human-readable name for the stablecoin
67
- * @param connection - Solana connection instance
65
+ * @param rpc - Solana RPC instance
66
+ * @param lookupTable - Address of the lookup table
67
+ * @param devnet - Whether to use devnet program
68
+ * @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
68
69
  */
69
- constructor(index: number, name: string, connection: Connection, lookupTable: PublicKey, devnet?: boolean);
70
- /**
71
- * Initializes token accounts for the specified owner and mints.
72
- * Creates associated token accounts if they don't exist.
73
- *
74
- * @param owner - Public key of the token account owner
75
- * @param mints - Array of mint public keys to create accounts for
76
- * @param signer - Public key of the transaction signer
77
- * @returns Promise resolving to an array of TransactionInstruction objects
78
- */
79
- initializeTokenAccounts(owner: PublicKey, mints: PublicKey[], signer: PublicKey): Promise<TransactionInstruction[]>;
70
+ constructor(index: number, name: string, rpc: Rpc<SolanaRpcApi>, lookupTable: Address, devnet?: boolean, mock?: boolean);
80
71
  /**
81
72
  * Updates the supply cap for this stablecoin strategy.
82
73
  *
83
- * @param signer - Public key of the admin signer
84
- * @param newCap - New maximum supply cap as BN or number
85
- * @returns Promise resolving to a TransactionInstruction
74
+ * @param admin - TransactionSigner of the admin
75
+ * @param newCap - New maximum supply cap
76
+ * @returns Instruction
86
77
  */
87
- updateCap(signer: PublicKey, newCap: BN | number): Promise<TransactionInstruction>;
78
+ updateCap(admin: TransactionSigner, newCap: bigint | number): Promise<import("../generated/reflect_main").UpdateCapInstruction<Address, string, string, string, string, string, []>>;
88
79
  /**
89
80
  * Updates the recipient addresses and their fee cuts for this stablecoin.
90
81
  *
91
- * @param signer - Public key of the admin signer
92
- * @param recipients - Map of recipient public keys to their fee (in basepoints)
93
- * @returns Promise resolving to a TransactionInstruction
82
+ * @param admin - TransactionSigner of the admin
83
+ * @param recipientAddresses - Array of recipient addresses for fee distribution
84
+ * @param recipientCuts - Array of recipient cuts (u16 values, total must equal 10000)
85
+ * @returns Instruction
94
86
  */
95
- updateRecipients(signer: PublicKey, recipients: Map<PublicKey, number>): Promise<TransactionInstruction>;
87
+ updateRecipients(admin: TransactionSigner, recipientAddresses: Address[], recipientCuts: number[]): Promise<import("../generated/reflect_main").UpdateRecipientsInstruction<Address, string, string, string, string, string, []>>;
96
88
  /**
97
- * Initializes a Drift sub-account for this stablecoin controller.
89
+ * Initializes a Drift user account for this stablecoin controller.
98
90
  *
99
- * @param signer - Public key of the admin signer
91
+ * @param admin - TransactionSigner of the admin
100
92
  * @param subAccountId - Sub-account identifier (default: 0)
101
- * @returns Promise resolving to a TransactionInstruction
93
+ * @returns Instruction
102
94
  */
103
- initializeStablecoinDriftAccount(signer: PublicKey, subAccountId?: number): Promise<TransactionInstruction>;
95
+ initializeStablecoinDriftAccount(admin: TransactionSigner, subAccountId?: number): Promise<import("../generated/reflect_main").CreateDriftUserAccountInstruction<Address, string, string, string, string, string, string, string, string, string, string, []>>;
104
96
  /**
105
97
  * Initializes the Drift user stats account for this stablecoin controller.
106
98
  *
107
- * @param signer - Public key of the admin signer
108
- * @returns Promise resolving to a TransactionInstruction
99
+ * @param admin - TransactionSigner of the admin
100
+ * @returns Instruction
109
101
  */
110
- initializeStablecoinDriftStatsAccount(signer: PublicKey): Promise<TransactionInstruction>;
102
+ initializeStablecoinDriftStatsAccount(admin: TransactionSigner): Promise<import("../generated/reflect_main").CreateDriftUserStatsAccountInstruction<Address, string, string, string, string, string, string, string, string, string, []>>;
111
103
  /**
112
104
  * Freezes or unfreezes a specific action for this stablecoin strategy.
113
105
  *
114
- * @param signer - Public key of the admin signer
106
+ * @param admin - TransactionSigner of the admin
115
107
  * @param freeze - Whether to freeze (true) or unfreeze (false) the action
116
- * @param action - The action to freeze/unfreeze
117
- * @returns Promise resolving to a TransactionInstruction
118
- */
119
- freeze(signer: PublicKey, freeze: boolean, action: Action): Promise<TransactionInstruction>;
120
- /**
121
- * Initializes the stablecoin mint with optional metadata.
122
- *
123
- * @param signer - Public key of the admin signer
124
- * @param tokenKeypair - Keypair for the new mint account
125
- * @param metadata - Optional metadata for the stablecoin
126
- * @returns Promise resolving to an array of TransactionInstruction objects
108
+ * @param action - The action to freeze/unfreeze (as u8)
109
+ * @returns Instruction
127
110
  */
128
- initializeStablecoin(signer: PublicKey, tokenKeypair: Keypair, metadata?: StablecoinMetadata): Promise<TransactionInstruction[]>;
111
+ freeze(admin: TransactionSigner, freeze: boolean, action: number): Promise<import("../generated/reflect_main").FreezeStrategyActionInstruction<Address, string, string, string, string, string, []>>;
129
112
  /**
130
113
  * Fetches the current price of a collateral asset from Pyth oracle.
131
114
  *
132
- * @param mint - Public key of the collateral mint
115
+ * @param mint - Address of the collateral mint
133
116
  * @returns Promise resolving to the collateral price data
134
117
  */
135
- getCollateralPrice(mint: PublicKey): Promise<import("axios").AxiosResponse<PythResponse, any, {}>>;
118
+ getCollateralPrice(mint: Address): Promise<import("axios").AxiosResponse<PythResponse, any, {}>>;
136
119
  /**
137
120
  * Converts a stablecoin amount to the equivalent collateral amount, factoring in slippage (in bips).
138
- * All math is done using BN for safety.
139
121
  * @param amount Amount of stablecoin (BN)
140
- * @param collateralMint Collateral mint PublicKey
122
+ * @param collateralMint Collateral mint Address
141
123
  * @param slippageBips Slippage in bips (1 bip = 0.01%, e.g. 50 = 0.5%)
142
124
  * @returns Promise resolving to the collateral amount (BN)
143
125
  */
144
- stablecoinToCollateralWithSlippage(amount: BN, collateralMint: PublicKey, slippageBips: number): Promise<BN>;
126
+ stablecoinToCollateralWithSlippage(amount: BN, collateralMint: Address, slippageBips: number): Promise<BN>;
145
127
  /**
146
128
  * Converts a collateral amount to the equivalent stablecoin amount, factoring in slippage (in bips).
147
- * All math is done using BN for safety.
148
129
  * @param amount Amount of collateral (BN)
149
- * @param collateralMint Collateral mint PublicKey
130
+ * @param collateralMint Collateral mint Address
150
131
  * @param slippageBips Slippage in bips (1 bip = 0.01%, e.g. 50 = 0.5%)
151
132
  * @returns Promise resolving to the stablecoin amount (BN)
152
133
  */
153
- collateralToStablecoinWithSlippage(amount: BN, collateralMint: PublicKey, slippageBips: number): Promise<BN>;
134
+ collateralToStablecoinWithSlippage(amount: BN, collateralMint: Address, slippageBips: number): Promise<BN>;
154
135
  /**
155
- * Abstract method to construct required accounts for transactions.
156
- * Must be implemented by concrete stablecoin classes.
157
- *
158
- * @param signer - Public key of the transaction signer
159
- * @param args - Additional arguments specific to the stablecoin implementation
160
- * @returns Promise resolving to the constructed accounts object of type T
161
- */
162
- abstract constructAccounts<T extends MintContext>(signer: PublicKey, ...args: any[]): Promise<T>;
163
- /**
164
- * Abstract method to construct remaining accounts for transactions.
136
+ * Loads the controller account for this stablecoin.
165
137
  * Must be implemented by concrete stablecoin classes.
166
- *
167
- * @returns Promise resolving to an array of AccountMeta objects
168
138
  */
169
- abstract constructRemainingAccounts(): Promise<AccountMeta[]>;
139
+ abstract load(): Promise<void>;
170
140
  /**
171
141
  * Abstract method to initialize the stablecoin strategy.
172
142
  * Must be implemented by concrete stablecoin classes.
173
143
  *
174
- * @param signer - Public key of the admin signer
144
+ * @param admin - TransactionSigner of the admin
175
145
  * @param args - Additional arguments specific to the stablecoin implementation
176
- * @returns Promise resolving to an array of TransactionInstruction objects
146
+ * @returns Promise resolving to an array of Instructions
177
147
  */
178
- abstract initialize(signer: PublicKey, ...args: any[]): Promise<TransactionInstruction[]>;
148
+ abstract initialize(admin: TransactionSigner, ...args: any[]): Promise<Instruction[]>;
179
149
  /**
180
150
  * Abstract method to create mint instructions for the stablecoin.
181
151
  * Must be implemented by concrete stablecoin classes.
182
152
  *
183
- * @param signer - Public key of the user minting stablecoins
184
- * @param amount - Amount of stablecoins to mint
153
+ * @param user - TransactionSigner of the user minting stablecoins
154
+ * @param amount - Amount of collateral to deposit
185
155
  * @param minimumReceived - Minimum amount of stablecoins to receive (slippage protection)
186
156
  * @param args - Additional arguments specific to the stablecoin implementation
187
- * @returns Promise resolving to an array of TransactionInstruction objects
157
+ * @returns Promise resolving to an array of Instructions
188
158
  */
189
- abstract mint(signer: PublicKey, amount: BN | number, minimumReceived: BN | number, ...args: any[]): Promise<TransactionInstruction[]>;
159
+ abstract mint(user: TransactionSigner, amount: bigint | number, minimumReceived: bigint | number, ...args: any[]): Promise<Instruction[]>;
190
160
  /**
191
161
  * Abstract method to create redeem instructions for the stablecoin.
192
162
  * Must be implemented by concrete stablecoin classes.
193
163
  *
194
- * @param signer - Public key of the user redeeming stablecoins
164
+ * @param user - TransactionSigner of the user redeeming stablecoins
195
165
  * @param amount - Amount of stablecoins to redeem
196
166
  * @param minimumReceived - Minimum amount of collateral to receive (slippage protection)
197
167
  * @param args - Additional arguments specific to the stablecoin implementation
198
- * @returns Promise resolving to an array of TransactionInstruction objects
168
+ * @returns Promise resolving to an array of Instructions
199
169
  */
200
- abstract redeem(signer: PublicKey, amount: BN | number, minimumReceived: BN | number, ...args: any[]): Promise<TransactionInstruction[]>;
170
+ abstract redeem(user: TransactionSigner, amount: bigint | number, minimumReceived: bigint | number, ...args: any[]): Promise<Instruction[]>;
201
171
  /**
202
172
  * Abstract method to create rebalance instructions for the stablecoin.
203
173
  * Must be implemented by concrete stablecoin classes.
204
174
  *
205
- * @param signer - Public key of the admin signer
206
- * @returns Promise resolving to an array of TransactionInstruction objects
175
+ * @param admin - TransactionSigner of the admin
176
+ * @returns Promise resolving to an array of Instructions
207
177
  */
208
- abstract rebalance(signer: PublicKey): Promise<TransactionInstruction[]>;
178
+ abstract rebalance(admin: TransactionSigner): Promise<Instruction[]>;
209
179
  /**
210
- * Abstract method to get the USD exchange rate for the base collateral of the stablecoin.
211
- * Must be implemented by concrete stablecoin classes.
212
- *
180
+ * Abstract method to get the USD exchange rate for the base collateral.
213
181
  * @returns Promise resolving to the USD exchange rate as a number
214
182
  */
215
183
  abstract getBaseUsdExchangeRate(): Promise<number>;
216
184
  /**
217
- * Abstract method to get the USD exchange rate for the receipt token of the stablecoin.
218
- * Must be implemented by concrete stablecoin classes.
219
- *
185
+ * Abstract method to get the USD exchange rate for the receipt token.
220
186
  * @returns Promise resolving to the USD exchange rate as a number
221
187
  */
222
188
  abstract getReceiptUsdExchangeRate(): Promise<number>;
@@ -232,25 +198,19 @@ export declare abstract class Stablecoin<T extends Controller> {
232
198
  abstract getReceiptToCollateralExchangeRate(): Promise<number>;
233
199
  /**
234
200
  * Abstract method to simulate mint math and get the quote for a mint operation.
235
- * Must be implemented by concrete stablecoin classes.
236
- *
237
- * @param amount - Amount of base tokens (e.g., USDC) to deposit
201
+ * @param amount - Amount of base tokens to deposit
238
202
  * @returns Promise resolving to the amount of receipt tokens that would be minted
239
203
  */
240
204
  abstract simulateMintMath(amount: BN): Promise<BN>;
241
205
  /**
242
206
  * Abstract method to simulate redeem math and get the quote for a redeem operation.
243
- * Must be implemented by concrete stablecoin classes.
244
- *
245
207
  * @param amount - Amount of receipt tokens to redeem
246
208
  * @returns Promise resolving to the amount of base tokens that would be returned
247
209
  */
248
210
  abstract simulateRedeemMath(amount: BN): Promise<BN>;
249
211
  /**
250
212
  * Abstract method to cleanup the stablecoin.
251
- * Must be implemented by concrete stablecoin classes.
252
213
  * Used to unsubscribe all connections to websockets.
253
- *
254
214
  * @returns Promise resolving to void
255
215
  */
256
216
  abstract cleanup(): Promise<void>;