@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,5 +1,4 @@
1
- import { Connection, PublicKey } from "@solana/web3.js";
2
- import { Action, Role, Update, UserPermissions } from "../generated/reflect_main";
1
+ import { Address, TransactionSigner, Rpc, SolanaRpcApi } from "@solana/kit";
3
2
  /**
4
3
  * Administrative client for the Reflect protocol.
5
4
  * Provides functionality for protocol-level administration including:
@@ -10,110 +9,130 @@ import { Action, Role, Update, UserPermissions } from "../generated/reflect_main
10
9
  *
11
10
  * This class is used by protocol administrators to manage global settings,
12
11
  * user permissions, and protocol-wide configurations.
12
+ *
13
+ * Environment handling:
14
+ * - devnet=true → Uses devnet program
15
+ * - devnet=false, mock=true → Uses mock program on mainnet
16
+ * - devnet=false, mock=false → Uses production mainnet program
13
17
  */
14
18
  export declare class ReflectKeeper {
15
- /** Public key of the admin user */
19
+ /** Address of the admin user */
16
20
  private admin;
17
- /** Public key of the main program account */
21
+ /** Address of the main program account */
18
22
  private main;
19
- /** Solana connection instance for RPC communication */
20
- private connection;
23
+ /** Solana RPC instance for communication */
24
+ private rpc;
25
+ /** Whether to use devnet program */
21
26
  private devnet;
27
+ /** Whether to use mock program on mainnet (only applies when devnet=false) */
28
+ private mock;
22
29
  /**
23
30
  * Creates a new ReflectKeeper instance.
24
31
  *
25
- * @param admin - Public key of the admin user
26
- * @param connection - Solana connection instance
32
+ * @param admin - Address of the admin user
33
+ * @param rpc - Solana RPC instance
34
+ * @param devnet - Whether to use devnet program
35
+ * @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
27
36
  */
28
- constructor({ admin, connection, devnet, }: {
29
- admin: PublicKey;
30
- connection: Connection;
37
+ constructor({ admin, rpc, devnet, mock, }: {
38
+ admin: Address;
39
+ rpc: Rpc<SolanaRpcApi>;
31
40
  devnet?: boolean;
41
+ mock?: boolean;
32
42
  });
43
+ /**
44
+ * Initialize the keeper by deriving necessary PDAs
45
+ */
46
+ initialize(): Promise<void>;
47
+ /**
48
+ * Get the program address based on network configuration.
49
+ * - devnet=true → devnet program
50
+ * - devnet=false, mock=true → mock program on mainnet
51
+ * - devnet=false, mock=false → production mainnet program
52
+ */
53
+ get programAddress(): Address;
54
+ /**
55
+ * Fetches the permission account for the admin.
56
+ *
57
+ * @returns The permission account if it exists, or a MaybeAccount with exists=false
58
+ */
59
+ getPermissionAccount(): Promise<import("@solana/kit").MaybeAccount<import("../generated/reflect_main").UserPermissions, string>>;
33
60
  /**
34
61
  * Creates the main program account. This is the initial step of protocol setup.
35
62
  *
36
- * @param admin - Public key of the initial admin
37
- * @returns TransactionInstruction for initializing the main account
63
+ * @param admin - TransactionSigner of the initial admin
64
+ * @param devnet - Whether to use devnet program
65
+ * @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
66
+ * @returns Instruction for initializing the main account
38
67
  */
39
- static initializeMain(admin: PublicKey, devnet?: boolean): import("@solana/web3.js").TransactionInstruction;
40
- getPermissionAccount(): Promise<UserPermissions>;
68
+ static initializeMain(admin: TransactionSigner, devnet?: boolean, mock?: boolean): Promise<import("../generated/reflect_main").InitMainInstruction<Address, string, string, string, string, []>>;
41
69
  /**
42
70
  * Freezes or unfreezes a specific protocol action.
43
71
  *
72
+ * @param admin - TransactionSigner of the admin
44
73
  * @param freeze - Whether to freeze (true) or unfreeze (false) the action
45
- * @param action - The action to freeze/unfreeze
46
- * @returns TransactionInstruction
74
+ * @param action - The action to freeze/unfreeze (as u8)
75
+ * @returns Instruction
47
76
  */
48
- freezeProtocolAction(freeze: boolean, action: Action): import("@solana/web3.js").TransactionInstruction;
77
+ freezeProtocolAction(admin: TransactionSigner, freeze: boolean, action: number): Promise<import("../generated/reflect_main").FreezeProtocolActionInstruction<Address, string, string, string, string, []>>;
49
78
  /**
50
79
  * Freezes or unfreezes a specific DEX program.
51
80
  *
81
+ * @param admin - TransactionSigner of the admin
52
82
  * @param freeze - Whether to freeze (true) or unfreeze (false) the program
53
83
  * @param programIndex - Index of the program to freeze/unfreeze
54
- * @returns TransactionInstruction
84
+ * @returns Instruction
55
85
  */
56
- freezeDex(freeze: boolean, programIndex: number): import("@solana/web3.js").TransactionInstruction;
86
+ freezeDex(admin: TransactionSigner, freeze: boolean, programIndex: number): Promise<import("../generated/reflect_main").FreezeProgramInstruction<Address, string, string, string, string, []>>;
57
87
  /**
58
88
  * Creates a new admin account with specified permissions.
59
89
  *
60
- * @param signer - Public key of the caller (must be existing admin)
61
- * @param newAdmin - Public key of the new admin to create
62
- * @returns TransactionInstruction
90
+ * @param caller - TransactionSigner of the caller (must be existing admin)
91
+ * @param newAdmin - Address of the new admin to create
92
+ * @param roles - Number of roles to allocate
93
+ * @returns Instruction
63
94
  */
64
- createAdminAccount(signer: PublicKey, newAdmin: PublicKey, roles?: number): import("@solana/web3.js").TransactionInstruction;
95
+ createAdminAccount(caller: TransactionSigner, newAdmin: Address, roles?: number): Promise<import("../generated/reflect_main").CreateAdminAccountInstruction<Address, string, string, string, []>>;
65
96
  /**
66
97
  * Updates role holder permissions at the protocol level.
67
98
  *
68
- * @param signer - Public key of the admin signer
69
- * @param adminToUpdate - Public key of the admin whose permissions are being updated
70
- * @param affectedRole - The role being modified
71
- * @param update - The type of update (Grant or Revoke)
72
- * @returns TransactionInstruction
99
+ * @param admin - TransactionSigner of the admin
100
+ * @param adminToUpdate - Address of the admin whose permissions are being updated
101
+ * @param accessLevel - The role being modified (as u8)
102
+ * @param update - The type of update: 0 = Add, 1 = Remove
103
+ * @returns Instruction
73
104
  */
74
- updateRoleHolderProtocol(signer: PublicKey, adminToUpdate: PublicKey, affectedRole: Role, update: Update): import("@solana/web3.js").TransactionInstruction;
105
+ updateRoleHolderProtocol(admin: TransactionSigner, adminToUpdate: Address, accessLevel: number, update: number): Promise<import("../generated/reflect_main").UpdateRoleHolderProtocolInstruction<Address, string, string, string, string, string, string, []>>;
75
106
  /**
76
107
  * Updates role holder permissions for a specific strategy.
77
108
  *
78
- * @param signer - Public key of the admin signer
109
+ * @param admin - TransactionSigner of the admin
79
110
  * @param strategyId - ID of the strategy to update permissions for
80
- * @param adminToUpdate - Public key of the admin whose permissions are being updated
81
- * @param affectedRole - The role being modified
82
- * @param update - The type of update (Grant or Revoke)
83
- * @returns TransactionInstruction
111
+ * @param adminToUpdate - Address of the admin whose permissions are being updated
112
+ * @param role - The role being modified (as u8)
113
+ * @param update - The type of update: 0 = Add, 1 = Remove
114
+ * @returns Instruction
84
115
  */
85
- updateRoleHolderStrategy(signer: PublicKey, strategyId: number, adminToUpdate: PublicKey, affectedRole: Role, update: Update): import("@solana/web3.js").TransactionInstruction;
116
+ updateRoleHolderStrategy(admin: TransactionSigner, strategyId: number, adminToUpdate: Address, role: number, update: number): Promise<import("../generated/reflect_main").UpdateRoleHolderStrategyInstruction<Address, string, string, string, string, string, string, []>>;
86
117
  /**
87
118
  * Updates action role permissions for a specific strategy.
88
119
  *
89
- * @param signer - Public key of the admin signer
120
+ * @param admin - TransactionSigner of the admin
90
121
  * @param strategyId - ID of the strategy to update permissions for
91
- * @param action - The action being modified
92
- * @param affectedRole - The role being modified
93
- * @param update - The type of update (Grant or Revoke)
94
- * @returns TransactionInstruction
122
+ * @param action - The action being modified (as u8)
123
+ * @param role - The role being modified (as u8)
124
+ * @param update - The type of update: 0 = Add, 1 = Remove
125
+ * @returns Instruction
95
126
  */
96
- updateActionRoleStrategy(signer: PublicKey, strategyId: number, action: Action, affectedRole: Role, update: Update): import("@solana/web3.js").TransactionInstruction;
127
+ updateActionRoleStrategy(admin: TransactionSigner, strategyId: number, action: number, role: number, update: number): Promise<import("../generated/reflect_main").UpdateActionRoleStrategyInstruction<Address, string, string, string, string, string, []>>;
97
128
  /**
98
129
  * Updates action role permissions at the protocol level.
99
130
  *
100
- * @param signer - Public key of the admin signer
101
- * @param action - The action being modified
102
- * @param affectedRole - The role being modified
103
- * @param update - The type of update (Grant or Revoke)
104
- * @returns TransactionInstruction
131
+ * @param admin - TransactionSigner of the admin
132
+ * @param action - The action being modified (as u8)
133
+ * @param role - The role being modified (as u8)
134
+ * @param update - The type of update: 0 = Add, 1 = Remove
135
+ * @returns Instruction
105
136
  */
106
- updateActionRoleProtocol(signer: PublicKey, action: Action, affectedRole: Role, update: Update): import("@solana/web3.js").TransactionInstruction;
107
- fetchAllAdminAccounts(): Promise<{
108
- pubkey: PublicKey;
109
- account: UserPermissions;
110
- }[]>;
111
- fetchAdminByRole(role: Role): Promise<{
112
- pubkey: PublicKey;
113
- account: UserPermissions;
114
- }[]>;
115
- fetchAdminByStrategyRole(strategy: number, role: Role): Promise<{
116
- pubkey: PublicKey;
117
- account: UserPermissions;
118
- }[]>;
137
+ updateActionRoleProtocol(admin: TransactionSigner, action: number, role: number, update: number): Promise<import("../generated/reflect_main").UpdateActionRoleProtocolInstruction<Address, string, string, string, string, []>>;
119
138
  }
@@ -10,10 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ReflectKeeper = void 0;
13
- const web3_js_1 = require("@solana/web3.js");
14
13
  const reflect_main_1 = require("../generated/reflect_main");
14
+ const getProgramAddress_1 = require("../utils/getProgramAddress");
15
15
  const PdaClient_1 = require("./PdaClient");
16
- const devnet_1 = require("../constants/devnet");
17
16
  /**
18
17
  * Administrative client for the Reflect protocol.
19
18
  * Provides functionality for protocol-level administration including:
@@ -24,224 +23,254 @@ const devnet_1 = require("../constants/devnet");
24
23
  *
25
24
  * This class is used by protocol administrators to manage global settings,
26
25
  * user permissions, and protocol-wide configurations.
26
+ *
27
+ * Environment handling:
28
+ * - devnet=true → Uses devnet program
29
+ * - devnet=false, mock=true → Uses mock program on mainnet
30
+ * - devnet=false, mock=false → Uses production mainnet program
27
31
  */
28
32
  class ReflectKeeper {
29
33
  /**
30
34
  * Creates a new ReflectKeeper instance.
31
35
  *
32
- * @param admin - Public key of the admin user
33
- * @param connection - Solana connection instance
36
+ * @param admin - Address of the admin user
37
+ * @param rpc - Solana RPC instance
38
+ * @param devnet - Whether to use devnet program
39
+ * @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
34
40
  */
35
- constructor({ admin, connection, devnet = false, }) {
41
+ constructor({ admin, rpc, devnet = false, mock = false, }) {
42
+ /** Address of the main program account */
43
+ this.main = null;
36
44
  this.admin = admin;
37
- this.connection = connection;
45
+ this.rpc = rpc;
38
46
  this.devnet = devnet;
39
- this.main = PdaClient_1.PdaClient.deriveMain(devnet);
47
+ this.mock = mock;
40
48
  }
41
49
  /**
42
- * Creates the main program account. This is the initial step of protocol setup.
43
- *
44
- * @param admin - Public key of the initial admin
45
- * @returns TransactionInstruction for initializing the main account
50
+ * Initialize the keeper by deriving necessary PDAs
46
51
  */
47
- static initializeMain(admin, devnet) {
48
- const [main] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("main")], devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
49
- const ix = (0, reflect_main_1.createInitMainInstruction)({
50
- main,
51
- admin,
52
- systemProgram: web3_js_1.SystemProgram.programId,
53
- creds: PdaClient_1.PdaClient.derivePermissions(admin, devnet),
54
- }, devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
55
- return ix;
52
+ initialize() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ this.main = yield PdaClient_1.PdaClient.deriveMain(this.devnet, this.mock);
55
+ });
56
56
  }
57
+ /**
58
+ * Get the program address based on network configuration.
59
+ * - devnet=true → devnet program
60
+ * - devnet=false, mock=true → mock program on mainnet
61
+ * - devnet=false, mock=false → production mainnet program
62
+ */
63
+ get programAddress() {
64
+ return (0, getProgramAddress_1.getProgramAddress)({ devnet: this.devnet, mock: this.mock });
65
+ }
66
+ /**
67
+ * Fetches the permission account for the admin.
68
+ *
69
+ * @returns The permission account if it exists, or a MaybeAccount with exists=false
70
+ */
57
71
  getPermissionAccount() {
58
72
  return __awaiter(this, void 0, void 0, function* () {
59
- const permissions = PdaClient_1.PdaClient.derivePermissions(this.admin, this.devnet);
60
- const permissionsAccount = yield reflect_main_1.UserPermissions.fromAccountAddress(this.connection, permissions);
73
+ const permissions = yield PdaClient_1.PdaClient.derivePermissions(this.admin, this.devnet, this.mock);
74
+ const permissionsAccount = yield (0, reflect_main_1.fetchMaybeUserPermissions)(this.rpc, permissions);
61
75
  return permissionsAccount;
62
76
  });
63
77
  }
78
+ /**
79
+ * Creates the main program account. This is the initial step of protocol setup.
80
+ *
81
+ * @param admin - TransactionSigner of the initial admin
82
+ * @param devnet - Whether to use devnet program
83
+ * @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
84
+ * @returns Instruction for initializing the main account
85
+ */
86
+ static initializeMain(admin, devnet, mock) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ const main = yield PdaClient_1.PdaClient.deriveMain(devnet, mock);
89
+ const creds = yield PdaClient_1.PdaClient.derivePermissions(admin.address, devnet, mock);
90
+ const programAddress = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
91
+ const ix = (0, reflect_main_1.getInitMainInstruction)({
92
+ main,
93
+ admin,
94
+ creds,
95
+ }, { programAddress });
96
+ return ix;
97
+ });
98
+ }
64
99
  /**
65
100
  * Freezes or unfreezes a specific protocol action.
66
101
  *
102
+ * @param admin - TransactionSigner of the admin
67
103
  * @param freeze - Whether to freeze (true) or unfreeze (false) the action
68
- * @param action - The action to freeze/unfreeze
69
- * @returns TransactionInstruction
104
+ * @param action - The action to freeze/unfreeze (as u8)
105
+ * @returns Instruction
70
106
  */
71
- freezeProtocolAction(freeze, action) {
72
- const ix = (0, reflect_main_1.createFreezeProtocolActionInstruction)({
73
- admin: this.admin,
74
- main: this.main,
75
- systemProgram: web3_js_1.SystemProgram.programId,
76
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(this.admin, this.devnet),
77
- }, {
78
- freeze,
79
- action,
80
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
81
- return ix;
107
+ freezeProtocolAction(admin, freeze, action) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ if (!this.main)
110
+ yield this.initialize();
111
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
112
+ const ix = (0, reflect_main_1.getFreezeProtocolActionInstruction)({
113
+ admin,
114
+ main: this.main,
115
+ adminPermissions,
116
+ freeze,
117
+ action,
118
+ }, { programAddress: this.programAddress });
119
+ return ix;
120
+ });
82
121
  }
83
122
  /**
84
123
  * Freezes or unfreezes a specific DEX program.
85
124
  *
125
+ * @param admin - TransactionSigner of the admin
86
126
  * @param freeze - Whether to freeze (true) or unfreeze (false) the program
87
127
  * @param programIndex - Index of the program to freeze/unfreeze
88
- * @returns TransactionInstruction
128
+ * @returns Instruction
89
129
  */
90
- freezeDex(freeze, programIndex) {
91
- const ix = (0, reflect_main_1.createFreezeProgramInstruction)({
92
- admin: this.admin,
93
- main: this.main,
94
- systemProgram: web3_js_1.SystemProgram.programId,
95
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(this.admin, this.devnet),
96
- }, {
97
- freeze,
98
- programIndex,
99
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
100
- return ix;
130
+ freezeDex(admin, freeze, programIndex) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ if (!this.main)
133
+ yield this.initialize();
134
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
135
+ const ix = (0, reflect_main_1.getFreezeProgramInstruction)({
136
+ admin,
137
+ main: this.main,
138
+ adminPermissions,
139
+ freeze,
140
+ programIndex,
141
+ }, { programAddress: this.programAddress });
142
+ return ix;
143
+ });
101
144
  }
102
145
  /**
103
146
  * Creates a new admin account with specified permissions.
104
147
  *
105
- * @param signer - Public key of the caller (must be existing admin)
106
- * @param newAdmin - Public key of the new admin to create
107
- * @returns TransactionInstruction
148
+ * @param caller - TransactionSigner of the caller (must be existing admin)
149
+ * @param newAdmin - Address of the new admin to create
150
+ * @param roles - Number of roles to allocate
151
+ * @returns Instruction
108
152
  */
109
- createAdminAccount(signer, newAdmin, roles = 18) {
110
- const ix = (0, reflect_main_1.createCreateAdminAccountInstruction)({
111
- caller: signer,
112
- newCreds: PdaClient_1.PdaClient.derivePermissions(newAdmin, this.devnet),
113
- systemProgram: web3_js_1.SystemProgram.programId,
114
- }, {
115
- newAdmin,
116
- roles,
117
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
118
- return ix;
153
+ createAdminAccount(caller_1, newAdmin_1) {
154
+ return __awaiter(this, arguments, void 0, function* (caller, newAdmin, roles = 18) {
155
+ const newCreds = yield PdaClient_1.PdaClient.derivePermissions(newAdmin, this.devnet, this.mock);
156
+ const ix = (0, reflect_main_1.getCreateAdminAccountInstruction)({
157
+ caller,
158
+ newCreds,
159
+ newAdmin,
160
+ roles,
161
+ }, { programAddress: this.programAddress });
162
+ return ix;
163
+ });
119
164
  }
120
165
  /**
121
166
  * Updates role holder permissions at the protocol level.
122
167
  *
123
- * @param signer - Public key of the admin signer
124
- * @param adminToUpdate - Public key of the admin whose permissions are being updated
125
- * @param affectedRole - The role being modified
126
- * @param update - The type of update (Grant or Revoke)
127
- * @returns TransactionInstruction
168
+ * @param admin - TransactionSigner of the admin
169
+ * @param adminToUpdate - Address of the admin whose permissions are being updated
170
+ * @param accessLevel - The role being modified (as u8)
171
+ * @param update - The type of update: 0 = Add, 1 = Remove
172
+ * @returns Instruction
128
173
  */
129
- updateRoleHolderProtocol(signer, adminToUpdate, affectedRole, update) {
130
- const ix = (0, reflect_main_1.createUpdateRoleHolderProtocolInstruction)({
131
- admin: signer,
132
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
133
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
134
- systemProgram: web3_js_1.SystemProgram.programId,
135
- updateAdminPermissions: PdaClient_1.PdaClient.derivePermissions(adminToUpdate, this.devnet),
136
- // Dummy strategy account.
137
- strategy: PdaClient_1.PdaClient.deriveController(0, this.devnet),
138
- }, {
139
- update,
140
- accessLevel: affectedRole,
141
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
142
- return ix;
174
+ updateRoleHolderProtocol(admin, adminToUpdate, accessLevel, update) {
175
+ return __awaiter(this, void 0, void 0, function* () {
176
+ if (!this.main)
177
+ yield this.initialize();
178
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
179
+ const updateAdminPermissions = yield PdaClient_1.PdaClient.derivePermissions(adminToUpdate, this.devnet, this.mock);
180
+ // Dummy strategy account
181
+ const strategy = yield PdaClient_1.PdaClient.deriveController(0, this.devnet, this.mock);
182
+ const ix = (0, reflect_main_1.getUpdateRoleHolderProtocolInstruction)({
183
+ admin,
184
+ adminPermissions,
185
+ main: this.main,
186
+ updateAdminPermissions,
187
+ strategy,
188
+ accessLevel,
189
+ update,
190
+ }, { programAddress: this.programAddress });
191
+ return ix;
192
+ });
143
193
  }
144
194
  /**
145
195
  * Updates role holder permissions for a specific strategy.
146
196
  *
147
- * @param signer - Public key of the admin signer
197
+ * @param admin - TransactionSigner of the admin
148
198
  * @param strategyId - ID of the strategy to update permissions for
149
- * @param adminToUpdate - Public key of the admin whose permissions are being updated
150
- * @param affectedRole - The role being modified
151
- * @param update - The type of update (Grant or Revoke)
152
- * @returns TransactionInstruction
199
+ * @param adminToUpdate - Address of the admin whose permissions are being updated
200
+ * @param role - The role being modified (as u8)
201
+ * @param update - The type of update: 0 = Add, 1 = Remove
202
+ * @returns Instruction
153
203
  */
154
- updateRoleHolderStrategy(signer, strategyId, adminToUpdate, affectedRole, update) {
155
- const ix = (0, reflect_main_1.createUpdateRoleHolderStrategyInstruction)({
156
- admin: signer,
157
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
158
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
159
- systemProgram: web3_js_1.SystemProgram.programId,
160
- updateAdminPermissions: PdaClient_1.PdaClient.derivePermissions(adminToUpdate, this.devnet),
161
- strategy: PdaClient_1.PdaClient.deriveController(strategyId, this.devnet),
162
- }, {
163
- update,
164
- role: affectedRole,
165
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
166
- return ix;
204
+ updateRoleHolderStrategy(admin, strategyId, adminToUpdate, role, update) {
205
+ return __awaiter(this, void 0, void 0, function* () {
206
+ if (!this.main)
207
+ yield this.initialize();
208
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
209
+ const updateAdminPermissions = yield PdaClient_1.PdaClient.derivePermissions(adminToUpdate, this.devnet, this.mock);
210
+ const strategy = yield PdaClient_1.PdaClient.deriveController(strategyId, this.devnet, this.mock);
211
+ const ix = (0, reflect_main_1.getUpdateRoleHolderStrategyInstruction)({
212
+ admin,
213
+ adminPermissions,
214
+ main: this.main,
215
+ updateAdminPermissions,
216
+ strategy,
217
+ role,
218
+ update,
219
+ }, { programAddress: this.programAddress });
220
+ return ix;
221
+ });
167
222
  }
168
223
  /**
169
224
  * Updates action role permissions for a specific strategy.
170
225
  *
171
- * @param signer - Public key of the admin signer
226
+ * @param admin - TransactionSigner of the admin
172
227
  * @param strategyId - ID of the strategy to update permissions for
173
- * @param action - The action being modified
174
- * @param affectedRole - The role being modified
175
- * @param update - The type of update (Grant or Revoke)
176
- * @returns TransactionInstruction
228
+ * @param action - The action being modified (as u8)
229
+ * @param role - The role being modified (as u8)
230
+ * @param update - The type of update: 0 = Add, 1 = Remove
231
+ * @returns Instruction
177
232
  */
178
- updateActionRoleStrategy(signer, strategyId, action, affectedRole, update) {
179
- const ix = (0, reflect_main_1.createUpdateActionRoleStrategyInstruction)({
180
- admin: signer,
181
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
182
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
183
- systemProgram: web3_js_1.SystemProgram.programId,
184
- strategy: PdaClient_1.PdaClient.deriveController(strategyId, this.devnet),
185
- }, {
186
- update,
187
- role: affectedRole,
188
- action,
189
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
190
- return ix;
233
+ updateActionRoleStrategy(admin, strategyId, action, role, update) {
234
+ return __awaiter(this, void 0, void 0, function* () {
235
+ if (!this.main)
236
+ yield this.initialize();
237
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
238
+ const strategy = yield PdaClient_1.PdaClient.deriveController(strategyId, this.devnet, this.mock);
239
+ const ix = (0, reflect_main_1.getUpdateActionRoleStrategyInstruction)({
240
+ admin,
241
+ adminPermissions,
242
+ main: this.main,
243
+ strategy,
244
+ action,
245
+ role,
246
+ update,
247
+ }, { programAddress: this.programAddress });
248
+ return ix;
249
+ });
191
250
  }
192
251
  /**
193
252
  * Updates action role permissions at the protocol level.
194
253
  *
195
- * @param signer - Public key of the admin signer
196
- * @param action - The action being modified
197
- * @param affectedRole - The role being modified
198
- * @param update - The type of update (Grant or Revoke)
199
- * @returns TransactionInstruction
254
+ * @param admin - TransactionSigner of the admin
255
+ * @param action - The action being modified (as u8)
256
+ * @param role - The role being modified (as u8)
257
+ * @param update - The type of update: 0 = Add, 1 = Remove
258
+ * @returns Instruction
200
259
  */
201
- updateActionRoleProtocol(signer, action, affectedRole, update) {
202
- const ix = (0, reflect_main_1.createUpdateActionRoleProtocolInstruction)({
203
- admin: signer,
204
- adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer, this.devnet),
205
- main: PdaClient_1.PdaClient.deriveMain(this.devnet),
206
- systemProgram: web3_js_1.SystemProgram.programId,
207
- }, {
208
- action,
209
- role: affectedRole,
210
- update,
211
- }, this.devnet ? devnet_1.DEVNET_PROGRAM_ID : reflect_main_1.PROGRAM_ID);
212
- return ix;
213
- }
214
- fetchAllAdminAccounts() {
215
- return __awaiter(this, void 0, void 0, function* () {
216
- const data = yield reflect_main_1.UserPermissions.gpaBuilder(reflect_main_1.PROGRAM_ID)
217
- .addFilter("accountDiscriminator", reflect_main_1.userPermissionsDiscriminator)
218
- .run(this.connection);
219
- return data
220
- .map(({ pubkey, account: { data } }) => {
221
- const [account] = reflect_main_1.UserPermissions.deserialize(data);
222
- return {
223
- pubkey,
224
- account,
225
- };
226
- });
227
- });
228
- }
229
- fetchAdminByRole(role) {
230
- return __awaiter(this, void 0, void 0, function* () {
231
- const data = yield this.fetchAllAdminAccounts();
232
- return data.filter(({ account }) => account.protocolRoles.roles.includes(role));
233
- });
234
- }
235
- fetchAdminByStrategyRole(strategy, role) {
260
+ updateActionRoleProtocol(admin, action, role, update) {
236
261
  return __awaiter(this, void 0, void 0, function* () {
237
- const data = yield this.fetchAllAdminAccounts();
238
- const strategyPermissionAccounts = data
239
- .filter(({ account }) => account.strategyRoles.some(({ strategyId }) => strategyId === strategy));
240
- return strategyPermissionAccounts.filter(({ account }) => {
241
- var _a;
242
- return (_a = account.strategyRoles
243
- .find(({ strategyId }) => strategyId === strategy)) === null || _a === void 0 ? void 0 : _a.roles.roles.includes(role);
244
- });
262
+ if (!this.main)
263
+ yield this.initialize();
264
+ const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
265
+ const ix = (0, reflect_main_1.getUpdateActionRoleProtocolInstruction)({
266
+ admin,
267
+ adminPermissions,
268
+ main: this.main,
269
+ action,
270
+ role,
271
+ update,
272
+ }, { programAddress: this.programAddress });
273
+ return ix;
245
274
  });
246
275
  }
247
276
  }