@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.
- package/README.md +257 -126
- package/dist/classes/Migration.d.ts +66 -0
- package/dist/classes/Migration.js +95 -0
- package/dist/classes/PdaClient.d.ts +46 -68
- package/dist/classes/PdaClient.js +161 -141
- package/dist/classes/Reflect.d.ts +19 -5
- package/dist/classes/Reflect.js +23 -6
- package/dist/classes/ReflectKeeper.d.ts +79 -60
- package/dist/classes/ReflectKeeper.js +192 -163
- package/dist/classes/ReflectTokenisedBond.d.ts +37 -50
- package/dist/classes/ReflectTokenisedBond.js +70 -130
- package/dist/classes/Stablecoin.d.ts +90 -130
- package/dist/classes/Stablecoin.js +134 -247
- package/dist/classes/index.d.ts +1 -0
- package/dist/classes/index.js +1 -0
- package/dist/constants/devnet.d.ts +4 -4
- package/dist/constants/devnet.js +5 -5
- package/dist/constants/drift.d.ts +8 -6
- package/dist/constants/drift.js +12 -12
- package/dist/constants/index.d.ts +4 -2
- package/dist/constants/index.js +4 -2
- package/dist/constants/jupiter.d.ts +12 -4
- package/dist/constants/jupiter.js +17 -6
- package/dist/constants/kamino.d.ts +14 -0
- package/dist/constants/kamino.js +39 -0
- package/dist/constants/lookupTables.d.ts +3 -4
- package/dist/constants/lookupTables.js +5 -5
- package/dist/constants/mock.d.ts +2 -0
- package/dist/constants/mock.js +5 -0
- package/dist/constants/usdc.d.ts +6 -7
- package/dist/constants/usdc.js +8 -9
- package/dist/constants/usdt.d.ts +6 -0
- package/dist/constants/usdt.js +9 -0
- package/dist/constants/wsol.d.ts +6 -6
- package/dist/constants/wsol.js +6 -6
- package/dist/generated/reflect_main/accounts/driftUsdcController.d.ts +31 -0
- package/dist/generated/reflect_main/accounts/driftUsdcController.js +77 -0
- package/dist/generated/reflect_main/accounts/index.d.ts +11 -38
- package/dist/generated/reflect_main/accounts/index.js +11 -39
- package/dist/generated/reflect_main/accounts/main.d.ts +62 -0
- package/dist/generated/reflect_main/accounts/main.js +91 -0
- package/dist/generated/reflect_main/accounts/strategyController.d.ts +31 -0
- package/dist/generated/reflect_main/accounts/strategyController.js +77 -0
- package/dist/generated/reflect_main/accounts/userPermissions.d.ts +44 -0
- package/dist/generated/reflect_main/accounts/userPermissions.js +89 -0
- package/dist/generated/reflect_main/errors/index.d.ts +5 -966
- package/dist/generated/reflect_main/errors/index.js +21 -1663
- package/dist/generated/reflect_main/errors/reflectMain.d.ts +215 -0
- package/dist/generated/reflect_main/errors/reflectMain.js +323 -0
- package/dist/generated/reflect_main/index.d.ts +9 -16
- package/dist/generated/reflect_main/index.js +8 -16
- package/dist/generated/reflect_main/instructions/addLstDrift.d.ts +62 -45
- package/dist/generated/reflect_main/instructions/addLstDrift.js +155 -104
- package/dist/generated/reflect_main/instructions/addSubAccount.d.ts +74 -50
- package/dist/generated/reflect_main/instructions/addSubAccount.js +166 -119
- package/dist/generated/reflect_main/instructions/captureSpreadDrift.d.ts +70 -59
- package/dist/generated/reflect_main/instructions/captureSpreadDrift.js +167 -115
- package/dist/generated/reflect_main/instructions/createAdminAccount.d.ts +53 -46
- package/dist/generated/reflect_main/instructions/createAdminAccount.js +135 -91
- package/dist/generated/reflect_main/instructions/createDriftUserAccount.d.ts +78 -0
- package/dist/generated/reflect_main/instructions/createDriftUserAccount.js +184 -0
- package/dist/generated/reflect_main/instructions/createDriftUserStatsAccount.d.ts +74 -0
- package/dist/generated/reflect_main/instructions/createDriftUserStatsAccount.js +173 -0
- package/dist/generated/reflect_main/instructions/createKaminoUserAccounts.d.ts +144 -0
- package/dist/generated/reflect_main/instructions/createKaminoUserAccounts.js +395 -0
- package/dist/generated/reflect_main/instructions/depositDrift.d.ts +96 -66
- package/dist/generated/reflect_main/instructions/depositDrift.js +190 -139
- package/dist/generated/reflect_main/instructions/freezeProgram.d.ts +56 -47
- package/dist/generated/reflect_main/instructions/freezeProgram.js +139 -94
- package/dist/generated/reflect_main/instructions/freezeProtocolAction.d.ts +57 -48
- package/dist/generated/reflect_main/instructions/freezeProtocolAction.js +140 -95
- package/dist/generated/reflect_main/instructions/freezeStrategyAction.d.ts +61 -51
- package/dist/generated/reflect_main/instructions/freezeStrategyAction.js +145 -101
- package/dist/generated/reflect_main/instructions/increaseAdminSize.d.ts +40 -45
- package/dist/generated/reflect_main/instructions/increaseAdminSize.js +81 -90
- package/dist/generated/reflect_main/instructions/index.d.ts +45 -33
- package/dist/generated/reflect_main/instructions/index.js +19 -7
- package/dist/generated/reflect_main/instructions/initDriftControllerS1.d.ts +70 -53
- package/dist/generated/reflect_main/instructions/initDriftControllerS1.js +163 -100
- package/dist/generated/reflect_main/instructions/initDriftControllerS2.d.ts +75 -0
- package/dist/generated/reflect_main/instructions/initDriftControllerS2.js +176 -0
- package/dist/generated/reflect_main/instructions/initDriftControllerS3.d.ts +70 -53
- package/dist/generated/reflect_main/instructions/initDriftControllerS3.js +163 -100
- package/dist/generated/reflect_main/instructions/initMain.d.ts +50 -39
- package/dist/generated/reflect_main/instructions/initMain.js +136 -91
- package/dist/generated/reflect_main/instructions/migrateS1.d.ts +58 -0
- package/dist/generated/reflect_main/instructions/migrateS1.js +145 -0
- package/dist/generated/reflect_main/instructions/mintDriftS1.d.ts +118 -81
- package/dist/generated/reflect_main/instructions/mintDriftS1.js +244 -169
- package/dist/generated/reflect_main/instructions/mintDriftS3.d.ts +118 -81
- package/dist/generated/reflect_main/instructions/mintDriftS3.js +244 -169
- package/dist/generated/reflect_main/instructions/mintStrategy1.d.ts +95 -0
- package/dist/generated/reflect_main/instructions/mintStrategy1.js +236 -0
- package/dist/generated/reflect_main/instructions/mintStrategy2.d.ts +95 -0
- package/dist/generated/reflect_main/instructions/mintStrategy2.js +236 -0
- package/dist/generated/reflect_main/instructions/rebalanceS1.d.ts +74 -0
- package/dist/generated/reflect_main/instructions/rebalanceS1.js +211 -0
- package/dist/generated/reflect_main/instructions/rebalanceS2.d.ts +74 -0
- package/dist/generated/reflect_main/instructions/rebalanceS2.js +211 -0
- package/dist/generated/reflect_main/instructions/redeemDriftS1.d.ts +121 -81
- package/dist/generated/reflect_main/instructions/redeemDriftS1.js +246 -170
- package/dist/generated/reflect_main/instructions/redeemDriftS3.d.ts +121 -81
- package/dist/generated/reflect_main/instructions/redeemDriftS3.js +246 -170
- package/dist/generated/reflect_main/instructions/redeemStrategy1.d.ts +95 -0
- package/dist/generated/reflect_main/instructions/redeemStrategy1.js +236 -0
- package/dist/generated/reflect_main/instructions/redeemStrategy2.d.ts +95 -0
- package/dist/generated/reflect_main/instructions/redeemStrategy2.js +236 -0
- package/dist/generated/reflect_main/instructions/settlePnl.d.ts +62 -46
- package/dist/generated/reflect_main/instructions/settlePnl.js +135 -104
- package/dist/generated/reflect_main/instructions/suspendSplProtocol.d.ts +57 -48
- package/dist/generated/reflect_main/instructions/suspendSplProtocol.js +139 -95
- package/dist/generated/reflect_main/instructions/suspendSplStrategy.d.ts +61 -50
- package/dist/generated/reflect_main/instructions/suspendSplStrategy.js +144 -100
- package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.d.ts +60 -50
- package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.js +142 -98
- package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.d.ts +64 -52
- package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.js +147 -103
- package/dist/generated/reflect_main/instructions/updateAttenuation.d.ts +65 -51
- package/dist/generated/reflect_main/instructions/updateAttenuation.js +146 -100
- package/dist/generated/reflect_main/instructions/updateCap.d.ts +58 -50
- package/dist/generated/reflect_main/instructions/updateCap.js +142 -98
- package/dist/generated/reflect_main/instructions/updateCapitalConductor.d.ts +79 -0
- package/dist/generated/reflect_main/instructions/updateCapitalConductor.js +161 -0
- package/dist/generated/reflect_main/instructions/updateRecipients.d.ts +62 -51
- package/dist/generated/reflect_main/instructions/updateRecipients.js +144 -100
- package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.d.ts +65 -53
- package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.js +154 -104
- package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.d.ts +65 -53
- package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.js +154 -104
- package/dist/generated/reflect_main/programs/index.d.ts +8 -0
- package/dist/generated/reflect_main/programs/index.js +24 -0
- package/dist/generated/reflect_main/programs/reflectMain.d.ts +139 -0
- package/dist/generated/reflect_main/programs/reflectMain.js +190 -0
- package/dist/generated/reflect_main/shared/index.d.ts +49 -0
- package/dist/generated/reflect_main/shared/index.js +90 -0
- package/dist/generated/reflect_main/types/accessControl.d.ts +24 -0
- package/dist/generated/reflect_main/types/accessControl.js +29 -0
- package/dist/generated/reflect_main/types/accessMap.d.ts +24 -0
- package/dist/generated/reflect_main/types/accessMap.js +35 -0
- package/dist/generated/reflect_main/types/action.d.ts +32 -0
- package/dist/generated/reflect_main/types/action.js +44 -0
- package/dist/generated/reflect_main/types/actionMapping.d.ts +22 -0
- package/dist/generated/reflect_main/types/actionMapping.js +31 -0
- package/dist/generated/reflect_main/types/addedProtocolActionRole.d.ts +20 -0
- package/dist/generated/reflect_main/types/addedProtocolActionRole.js +29 -0
- package/dist/generated/reflect_main/types/addedProtocolRoleHolder.d.ts +20 -0
- package/dist/generated/reflect_main/types/addedProtocolRoleHolder.js +29 -0
- package/dist/generated/reflect_main/types/addedStrategyActionRole.d.ts +22 -0
- package/dist/generated/reflect_main/types/addedStrategyActionRole.js +31 -0
- package/dist/generated/reflect_main/types/addedStrategyRoleHolder.d.ts +22 -0
- package/dist/generated/reflect_main/types/addedStrategyRoleHolder.js +31 -0
- package/dist/generated/reflect_main/types/attenuation.d.ts +16 -0
- package/dist/generated/reflect_main/types/attenuation.js +28 -0
- package/dist/generated/reflect_main/types/attenuationUpdated.d.ts +23 -0
- package/dist/generated/reflect_main/types/attenuationUpdated.js +32 -0
- package/dist/generated/reflect_main/types/autoCompound.d.ts +23 -0
- package/dist/generated/reflect_main/types/autoCompound.js +32 -0
- package/dist/generated/reflect_main/types/base.d.ts +38 -0
- package/dist/generated/reflect_main/types/base.js +47 -0
- package/dist/generated/reflect_main/types/capitalConductorComponent.d.ts +28 -0
- package/dist/generated/reflect_main/types/capitalConductorComponent.js +43 -0
- package/dist/generated/reflect_main/types/capture.d.ts +24 -0
- package/dist/generated/reflect_main/types/capture.js +33 -0
- package/dist/generated/reflect_main/types/component.d.ts +24 -0
- package/dist/generated/reflect_main/types/component.js +33 -0
- package/dist/generated/reflect_main/types/componentType.d.ts +24 -0
- package/dist/generated/reflect_main/types/componentType.js +36 -0
- package/dist/generated/reflect_main/types/currentProtocolBalance.d.ts +20 -0
- package/dist/generated/reflect_main/types/currentProtocolBalance.js +29 -0
- package/dist/generated/reflect_main/types/currentProtocolRatio.d.ts +24 -0
- package/dist/generated/reflect_main/types/currentProtocolRatio.js +33 -0
- package/dist/generated/reflect_main/types/driftSpotData.d.ts +17 -0
- package/dist/generated/reflect_main/types/driftSpotData.js +30 -0
- package/dist/generated/reflect_main/types/driftSpotMarketsComponent.d.ts +20 -0
- package/dist/generated/reflect_main/types/driftSpotMarketsComponent.js +29 -0
- package/dist/generated/reflect_main/types/driftSubAccountsComponent.d.ts +18 -0
- package/dist/generated/reflect_main/types/driftSubAccountsComponent.js +23 -0
- package/dist/generated/reflect_main/types/driftSubs.d.ts +17 -0
- package/dist/generated/reflect_main/types/driftSubs.js +30 -0
- package/dist/generated/reflect_main/types/dustThresholdUpdated.d.ts +21 -0
- package/dist/generated/reflect_main/types/dustThresholdUpdated.js +30 -0
- package/dist/generated/reflect_main/types/externals.d.ts +18 -0
- package/dist/generated/reflect_main/types/externals.js +23 -0
- package/dist/generated/reflect_main/types/flowControl.d.ts +20 -0
- package/dist/generated/reflect_main/types/flowControl.js +29 -0
- package/dist/generated/reflect_main/types/index.d.ts +76 -81
- package/dist/generated/reflect_main/types/index.js +76 -81
- package/dist/generated/reflect_main/types/issue.d.ts +39 -0
- package/dist/generated/reflect_main/types/issue.js +36 -0
- package/dist/generated/reflect_main/types/killSwitch.d.ts +20 -0
- package/dist/generated/reflect_main/types/killSwitch.js +22 -0
- package/dist/generated/reflect_main/types/levelRoles.d.ts +23 -0
- package/dist/generated/reflect_main/types/levelRoles.js +23 -0
- package/dist/generated/reflect_main/types/maxDeviationBpsUpdated.d.ts +17 -0
- package/dist/generated/reflect_main/types/maxDeviationBpsUpdated.js +30 -0
- package/dist/generated/reflect_main/types/minPerLegTransferUpdated.d.ts +21 -0
- package/dist/generated/reflect_main/types/minPerLegTransferUpdated.js +30 -0
- package/dist/generated/reflect_main/types/newAdminAccount.d.ts +15 -0
- package/dist/generated/reflect_main/types/newAdminAccount.js +22 -0
- package/dist/generated/reflect_main/types/penaltyScaleFactorUpdated.d.ts +17 -0
- package/dist/generated/reflect_main/types/penaltyScaleFactorUpdated.js +30 -0
- package/dist/generated/reflect_main/types/program.d.ts +22 -0
- package/dist/generated/reflect_main/types/program.js +31 -0
- package/dist/generated/reflect_main/types/programStatus.d.ts +16 -0
- package/dist/generated/reflect_main/types/programStatus.js +28 -0
- package/dist/generated/reflect_main/types/programStatusUpdate.d.ts +20 -0
- package/dist/generated/reflect_main/types/programStatusUpdate.js +29 -0
- package/dist/generated/reflect_main/types/protocolActionUpdate.d.ts +20 -0
- package/dist/generated/reflect_main/types/protocolActionUpdate.js +29 -0
- package/dist/generated/reflect_main/types/protocolRatiosUpdated.d.ts +22 -0
- package/dist/generated/reflect_main/types/protocolRatiosUpdated.js +31 -0
- package/dist/generated/reflect_main/types/rack.d.ts +18 -0
- package/dist/generated/reflect_main/types/rack.js +27 -0
- package/dist/generated/reflect_main/types/recipient.d.ts +19 -0
- package/dist/generated/reflect_main/types/recipient.js +28 -0
- package/dist/generated/reflect_main/types/recipients.d.ts +20 -0
- package/dist/generated/reflect_main/types/recipients.js +29 -0
- package/dist/generated/reflect_main/types/redeem.d.ts +39 -0
- package/dist/generated/reflect_main/types/redeem.js +36 -0
- package/dist/generated/reflect_main/types/removedProtocolActionRole.d.ts +20 -0
- package/dist/generated/reflect_main/types/removedProtocolActionRole.js +29 -0
- package/dist/generated/reflect_main/types/removedProtocolRoleHolder.d.ts +20 -0
- package/dist/generated/reflect_main/types/removedProtocolRoleHolder.js +29 -0
- package/dist/generated/reflect_main/types/removedStrategyActionRole.d.ts +22 -0
- package/dist/generated/reflect_main/types/removedStrategyActionRole.js +31 -0
- package/dist/generated/reflect_main/types/removedStrategyRoleHolder.d.ts +22 -0
- package/dist/generated/reflect_main/types/removedStrategyRoleHolder.js +31 -0
- package/dist/generated/reflect_main/types/role.d.ts +22 -0
- package/dist/generated/reflect_main/types/role.js +34 -0
- package/dist/generated/reflect_main/types/settlement.d.ts +17 -0
- package/dist/generated/reflect_main/types/settlement.js +30 -0
- package/dist/generated/reflect_main/types/splBase.d.ts +17 -0
- package/dist/generated/reflect_main/types/splBase.js +30 -0
- package/dist/generated/reflect_main/types/splMain.d.ts +43 -0
- package/dist/generated/reflect_main/types/splMain.js +44 -0
- package/dist/generated/reflect_main/types/splSupport.d.ts +15 -0
- package/dist/generated/reflect_main/types/splSupport.js +22 -0
- package/dist/generated/reflect_main/types/splSupportStrategy.d.ts +16 -0
- package/dist/generated/reflect_main/types/splSupportStrategy.js +28 -0
- package/dist/generated/reflect_main/types/splSuspendProtocol.d.ts +16 -0
- package/dist/generated/reflect_main/types/splSuspendProtocol.js +28 -0
- package/dist/generated/reflect_main/types/splSuspendStrategy.d.ts +17 -0
- package/dist/generated/reflect_main/types/splSuspendStrategy.js +30 -0
- package/dist/generated/reflect_main/types/spls.d.ts +20 -0
- package/dist/generated/reflect_main/types/spls.js +29 -0
- package/dist/generated/reflect_main/types/spotDepositDrift.d.ts +19 -0
- package/dist/generated/reflect_main/types/spotDepositDrift.js +28 -0
- package/dist/generated/reflect_main/types/spreadCapture.d.ts +27 -0
- package/dist/generated/reflect_main/types/spreadCapture.js +30 -0
- package/dist/generated/reflect_main/types/status.d.ts +17 -0
- package/dist/generated/reflect_main/types/status.js +29 -0
- package/dist/generated/reflect_main/types/strategyActionUpdate.d.ts +22 -0
- package/dist/generated/reflect_main/types/strategyActionUpdate.js +31 -0
- package/dist/generated/reflect_main/types/strategyNegative.d.ts +21 -0
- package/dist/generated/reflect_main/types/strategyNegative.js +28 -0
- package/dist/generated/reflect_main/types/strategyPadding.d.ts +15 -0
- package/dist/generated/reflect_main/types/strategyPadding.js +26 -0
- package/dist/generated/reflect_main/types/strategyRoleEntry.d.ts +24 -0
- package/dist/generated/reflect_main/types/strategyRoleEntry.js +29 -0
- package/dist/generated/reflect_main/types/subsVec.d.ts +20 -0
- package/dist/generated/reflect_main/types/subsVec.js +29 -0
- package/dist/generated/reflect_main/types/update.d.ts +16 -0
- package/dist/generated/reflect_main/types/update.js +28 -0
- package/dist/generated/reflect_main/types/updateCap.d.ts +21 -0
- package/dist/generated/reflect_main/types/updateCap.js +30 -0
- package/dist/generated/reflect_main/types/updateRebalanceSlippage.d.ts +17 -0
- package/dist/generated/reflect_main/types/updateRebalanceSlippage.js +30 -0
- package/dist/generated/reflect_main/types/updateRecipients.d.ts +20 -0
- package/dist/generated/reflect_main/types/updateRecipients.js +29 -0
- package/dist/generated/reflect_main/types/yieldDistribution.d.ts +16 -0
- package/dist/generated/reflect_main/types/yieldDistribution.js +28 -0
- package/dist/generated/reflect_main/types/yieldVenue.d.ts +17 -0
- package/dist/generated/reflect_main/types/yieldVenue.js +29 -0
- package/dist/generated/reflect_main/types/yieldVenueAllocation.d.ts +25 -0
- package/dist/generated/reflect_main/types/yieldVenueAllocation.js +29 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Config.d.ts +1 -1
- package/dist/generated/reflect_tokenised_bonds/accounts/Vault.d.ts +1 -1
- package/dist/helpers/drift/accounts/spotMarket.d.ts +1 -1
- package/dist/helpers/drift/accounts/user.d.ts +1 -1
- package/dist/helpers/drift/accounts/userStats.d.ts +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +6 -3
- package/dist/stablecoins/UsdcPlusStablecoin.d.ts +115 -70
- package/dist/stablecoins/UsdcPlusStablecoin.js +575 -238
- package/dist/stablecoins/UsdcPlusStablecoinLegacy.d.ts +97 -0
- package/dist/stablecoins/UsdcPlusStablecoinLegacy.js +386 -0
- package/dist/stablecoins/UsdtPlusStablecoin.d.ts +120 -0
- package/dist/stablecoins/UsdtPlusStablecoin.js +428 -0
- package/dist/stablecoins/index.d.ts +2 -2
- package/dist/stablecoins/index.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +6 -18
- package/dist/utils/getProgramAddress.d.ts +22 -0
- package/dist/utils/getProgramAddress.js +27 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +43 -0
- package/package.json +8 -3
- package/dist/classes/ApiClient.d.ts +0 -84
- package/dist/classes/ApiClient.js +0 -139
- package/dist/constants/lst.d.ts +0 -3
- package/dist/constants/lst.js +0 -6
- package/dist/generated/reflect_main/accounts/DriftJlpController.d.ts +0 -110
- package/dist/generated/reflect_main/accounts/DriftJlpController.js +0 -175
- package/dist/generated/reflect_main/accounts/DriftLstController.d.ts +0 -104
- package/dist/generated/reflect_main/accounts/DriftLstController.js +0 -171
- package/dist/generated/reflect_main/accounts/DriftUsdcController.d.ts +0 -102
- package/dist/generated/reflect_main/accounts/DriftUsdcController.js +0 -168
- package/dist/generated/reflect_main/accounts/Main.d.ts +0 -110
- package/dist/generated/reflect_main/accounts/Main.js +0 -175
- package/dist/generated/reflect_main/accounts/PerpMarket.d.ts +0 -226
- package/dist/generated/reflect_main/accounts/PerpMarket.js +0 -317
- package/dist/generated/reflect_main/accounts/PrelaunchOracle.d.ts +0 -130
- package/dist/generated/reflect_main/accounts/PrelaunchOracle.js +0 -234
- package/dist/generated/reflect_main/accounts/PythLazerOracle.d.ts +0 -124
- package/dist/generated/reflect_main/accounts/PythLazerOracle.js +0 -220
- package/dist/generated/reflect_main/accounts/RebalanceLst.d.ts +0 -111
- package/dist/generated/reflect_main/accounts/RebalanceLst.js +0 -185
- package/dist/generated/reflect_main/accounts/SpotMarket.d.ts +0 -377
- package/dist/generated/reflect_main/accounts/SpotMarket.js +0 -611
- package/dist/generated/reflect_main/accounts/User.d.ts +0 -221
- package/dist/generated/reflect_main/accounts/User.js +0 -341
- package/dist/generated/reflect_main/accounts/UserPermissions.d.ts +0 -106
- package/dist/generated/reflect_main/accounts/UserPermissions.js +0 -171
- package/dist/generated/reflect_main/accounts/UserStats.d.ts +0 -211
- package/dist/generated/reflect_main/accounts/UserStats.js +0 -333
- package/dist/generated/reflect_main/instructions/createUserStatsAccount.d.ts +0 -52
- package/dist/generated/reflect_main/instructions/createUserStatsAccount.js +0 -126
- package/dist/generated/reflect_main/instructions/initDriftAccountsS1.d.ts +0 -54
- package/dist/generated/reflect_main/instructions/initDriftAccountsS1.js +0 -131
- package/dist/generated/reflect_main/instructions/processSwapDeposit.d.ts +0 -69
- package/dist/generated/reflect_main/instructions/processSwapDeposit.js +0 -165
- package/dist/generated/reflect_main/instructions/processSwapWithdraw.d.ts +0 -69
- package/dist/generated/reflect_main/instructions/processSwapWithdraw.js +0 -165
- package/dist/generated/reflect_main/instructions/settlePnlMulti.d.ts +0 -60
- package/dist/generated/reflect_main/instructions/settlePnlMulti.js +0 -118
- package/dist/generated/reflect_main/instructions/swapOrca.d.ts +0 -81
- package/dist/generated/reflect_main/instructions/swapOrca.js +0 -166
- package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.d.ts +0 -101
- package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.js +0 -213
- package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.d.ts +0 -55
- package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.js +0 -109
- package/dist/generated/reflect_main/types/AMM.d.ts +0 -102
- package/dist/generated/reflect_main/types/AMM.js +0 -137
- package/dist/generated/reflect_main/types/AccKey.d.ts +0 -15
- package/dist/generated/reflect_main/types/AccKey.js +0 -48
- package/dist/generated/reflect_main/types/AccessControl.d.ts +0 -18
- package/dist/generated/reflect_main/types/AccessControl.js +0 -53
- package/dist/generated/reflect_main/types/AccessMap.d.ts +0 -17
- package/dist/generated/reflect_main/types/AccessMap.js +0 -52
- package/dist/generated/reflect_main/types/Action.d.ts +0 -35
- package/dist/generated/reflect_main/types/Action.js +0 -72
- package/dist/generated/reflect_main/types/ActionMapping.d.ts +0 -19
- package/dist/generated/reflect_main/types/ActionMapping.js +0 -54
- package/dist/generated/reflect_main/types/AssetTier.d.ts +0 -23
- package/dist/generated/reflect_main/types/AssetTier.js +0 -60
- package/dist/generated/reflect_main/types/Attenuation.d.ts +0 -16
- package/dist/generated/reflect_main/types/Attenuation.js +0 -51
- package/dist/generated/reflect_main/types/AutoCompound.d.ts +0 -18
- package/dist/generated/reflect_main/types/AutoCompound.js +0 -53
- package/dist/generated/reflect_main/types/BalanceType.d.ts +0 -20
- package/dist/generated/reflect_main/types/BalanceType.js +0 -57
- package/dist/generated/reflect_main/types/Capture.d.ts +0 -19
- package/dist/generated/reflect_main/types/Capture.js +0 -54
- package/dist/generated/reflect_main/types/ContractTier.d.ts +0 -24
- package/dist/generated/reflect_main/types/ContractTier.js +0 -61
- package/dist/generated/reflect_main/types/ContractType.d.ts +0 -20
- package/dist/generated/reflect_main/types/ContractType.js +0 -57
- package/dist/generated/reflect_main/types/CorpAction.d.ts +0 -19
- package/dist/generated/reflect_main/types/CorpAction.js +0 -56
- package/dist/generated/reflect_main/types/CustodyInfo.d.ts +0 -20
- package/dist/generated/reflect_main/types/CustodyInfo.js +0 -55
- package/dist/generated/reflect_main/types/DirectionCollateral.d.ts +0 -20
- package/dist/generated/reflect_main/types/DirectionCollateral.js +0 -57
- package/dist/generated/reflect_main/types/DirectionPosition.d.ts +0 -20
- package/dist/generated/reflect_main/types/DirectionPosition.js +0 -57
- package/dist/generated/reflect_main/types/DriftControllerBase.d.ts +0 -15
- package/dist/generated/reflect_main/types/DriftControllerBase.js +0 -48
- package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.d.ts +0 -18
- package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.js +0 -53
- package/dist/generated/reflect_main/types/DriftLstData.d.ts +0 -17
- package/dist/generated/reflect_main/types/DriftLstData.js +0 -52
- package/dist/generated/reflect_main/types/Ema.d.ts +0 -17
- package/dist/generated/reflect_main/types/Ema.js +0 -52
- package/dist/generated/reflect_main/types/Externals.d.ts +0 -16
- package/dist/generated/reflect_main/types/Externals.js +0 -49
- package/dist/generated/reflect_main/types/FlowControl.d.ts +0 -17
- package/dist/generated/reflect_main/types/FlowControl.js +0 -52
- package/dist/generated/reflect_main/types/HistoricalIndexData.d.ts +0 -19
- package/dist/generated/reflect_main/types/HistoricalIndexData.js +0 -54
- package/dist/generated/reflect_main/types/HistoricalOracleData.d.ts +0 -20
- package/dist/generated/reflect_main/types/HistoricalOracleData.js +0 -55
- package/dist/generated/reflect_main/types/Holding.d.ts +0 -21
- package/dist/generated/reflect_main/types/Holding.js +0 -56
- package/dist/generated/reflect_main/types/Holdings.d.ts +0 -17
- package/dist/generated/reflect_main/types/Holdings.js +0 -52
- package/dist/generated/reflect_main/types/InsuranceClaim.d.ts +0 -19
- package/dist/generated/reflect_main/types/InsuranceClaim.js +0 -54
- package/dist/generated/reflect_main/types/InsuranceFund.d.ts +0 -24
- package/dist/generated/reflect_main/types/InsuranceFund.js +0 -59
- package/dist/generated/reflect_main/types/JlpRebalanceSettings.d.ts +0 -15
- package/dist/generated/reflect_main/types/JlpRebalanceSettings.js +0 -48
- package/dist/generated/reflect_main/types/KillSwitch.d.ts +0 -15
- package/dist/generated/reflect_main/types/KillSwitch.js +0 -48
- package/dist/generated/reflect_main/types/LevelRoles.d.ts +0 -16
- package/dist/generated/reflect_main/types/LevelRoles.js +0 -49
- package/dist/generated/reflect_main/types/MarketStatus.d.ts +0 -27
- package/dist/generated/reflect_main/types/MarketStatus.js +0 -64
- package/dist/generated/reflect_main/types/MarketType.d.ts +0 -20
- package/dist/generated/reflect_main/types/MarketType.js +0 -57
- package/dist/generated/reflect_main/types/ModifyOrderParams.d.ts +0 -32
- package/dist/generated/reflect_main/types/ModifyOrderParams.js +0 -67
- package/dist/generated/reflect_main/types/ModifyOrderPolicy.d.ts +0 -20
- package/dist/generated/reflect_main/types/ModifyOrderPolicy.js +0 -57
- package/dist/generated/reflect_main/types/Movements.d.ts +0 -19
- package/dist/generated/reflect_main/types/Movements.js +0 -54
- package/dist/generated/reflect_main/types/OracleGuardRails.d.ts +0 -18
- package/dist/generated/reflect_main/types/OracleGuardRails.js +0 -53
- package/dist/generated/reflect_main/types/OracleSource.d.ts +0 -34
- package/dist/generated/reflect_main/types/OracleSource.js +0 -71
- package/dist/generated/reflect_main/types/OracleValidity.d.ts +0 -25
- package/dist/generated/reflect_main/types/OracleValidity.js +0 -62
- package/dist/generated/reflect_main/types/Order.d.ts +0 -43
- package/dist/generated/reflect_main/types/Order.js +0 -78
- package/dist/generated/reflect_main/types/OrderDirection.d.ts +0 -20
- package/dist/generated/reflect_main/types/OrderDirection.js +0 -57
- package/dist/generated/reflect_main/types/OrderParams.d.ts +0 -36
- package/dist/generated/reflect_main/types/OrderParams.js +0 -71
- package/dist/generated/reflect_main/types/OrderStatus.d.ts +0 -22
- package/dist/generated/reflect_main/types/OrderStatus.js +0 -59
- package/dist/generated/reflect_main/types/OrderTriggerCondition.d.ts +0 -22
- package/dist/generated/reflect_main/types/OrderTriggerCondition.js +0 -59
- package/dist/generated/reflect_main/types/OrderType.d.ts +0 -23
- package/dist/generated/reflect_main/types/OrderType.js +0 -60
- package/dist/generated/reflect_main/types/PermissionLevel.d.ts +0 -45
- package/dist/generated/reflect_main/types/PermissionLevel.js +0 -58
- package/dist/generated/reflect_main/types/PerpHedge.d.ts +0 -17
- package/dist/generated/reflect_main/types/PerpHedge.js +0 -52
- package/dist/generated/reflect_main/types/PerpPosition.d.ts +0 -29
- package/dist/generated/reflect_main/types/PerpPosition.js +0 -64
- package/dist/generated/reflect_main/types/PoolBalance.d.ts +0 -17
- package/dist/generated/reflect_main/types/PoolBalance.js +0 -52
- package/dist/generated/reflect_main/types/Position.d.ts +0 -20
- package/dist/generated/reflect_main/types/Position.js +0 -55
- package/dist/generated/reflect_main/types/PositionDirection.d.ts +0 -20
- package/dist/generated/reflect_main/types/PositionDirection.js +0 -57
- package/dist/generated/reflect_main/types/PositionDrift.d.ts +0 -18
- package/dist/generated/reflect_main/types/PositionDrift.js +0 -53
- package/dist/generated/reflect_main/types/PostOnlyParam.d.ts +0 -22
- package/dist/generated/reflect_main/types/PostOnlyParam.js +0 -59
- package/dist/generated/reflect_main/types/Price.d.ts +0 -41
- package/dist/generated/reflect_main/types/Price.js +0 -76
- package/dist/generated/reflect_main/types/PriceComp.d.ts +0 -19
- package/dist/generated/reflect_main/types/PriceComp.js +0 -54
- package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.d.ts +0 -16
- package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.js +0 -51
- package/dist/generated/reflect_main/types/PriceInfo.d.ts +0 -21
- package/dist/generated/reflect_main/types/PriceInfo.js +0 -56
- package/dist/generated/reflect_main/types/PriceStatus.d.ts +0 -22
- package/dist/generated/reflect_main/types/PriceStatus.js +0 -59
- package/dist/generated/reflect_main/types/PriceType.d.ts +0 -20
- package/dist/generated/reflect_main/types/PriceType.js +0 -57
- package/dist/generated/reflect_main/types/Program.d.ts +0 -19
- package/dist/generated/reflect_main/types/Program.js +0 -54
- package/dist/generated/reflect_main/types/ProgramStatus.d.ts +0 -20
- package/dist/generated/reflect_main/types/ProgramStatus.js +0 -57
- package/dist/generated/reflect_main/types/Recipient.d.ts +0 -17
- package/dist/generated/reflect_main/types/Recipient.js +0 -52
- package/dist/generated/reflect_main/types/Recipients.d.ts +0 -17
- package/dist/generated/reflect_main/types/Recipients.js +0 -52
- package/dist/generated/reflect_main/types/Role.d.ts +0 -25
- package/dist/generated/reflect_main/types/Role.js +0 -62
- package/dist/generated/reflect_main/types/ShiftCollateral.d.ts +0 -19
- package/dist/generated/reflect_main/types/ShiftCollateral.js +0 -54
- package/dist/generated/reflect_main/types/ShiftPosition.d.ts +0 -17
- package/dist/generated/reflect_main/types/ShiftPosition.js +0 -52
- package/dist/generated/reflect_main/types/ShortHolding.d.ts +0 -17
- package/dist/generated/reflect_main/types/ShortHolding.js +0 -52
- package/dist/generated/reflect_main/types/SplBase.d.ts +0 -17
- package/dist/generated/reflect_main/types/SplBase.js +0 -52
- package/dist/generated/reflect_main/types/SplMain.d.ts +0 -22
- package/dist/generated/reflect_main/types/SplMain.js +0 -57
- package/dist/generated/reflect_main/types/Spls.d.ts +0 -17
- package/dist/generated/reflect_main/types/Spls.js +0 -52
- package/dist/generated/reflect_main/types/SpotBalanceType.d.ts +0 -20
- package/dist/generated/reflect_main/types/SpotBalanceType.js +0 -57
- package/dist/generated/reflect_main/types/SpotPosition.d.ts +0 -23
- package/dist/generated/reflect_main/types/SpotPosition.js +0 -58
- package/dist/generated/reflect_main/types/Status.d.ts +0 -21
- package/dist/generated/reflect_main/types/Status.js +0 -58
- package/dist/generated/reflect_main/types/Strategy.d.ts +0 -33
- package/dist/generated/reflect_main/types/Strategy.js +0 -68
- package/dist/generated/reflect_main/types/StrategyPadding.d.ts +0 -15
- package/dist/generated/reflect_main/types/StrategyPadding.js +0 -48
- package/dist/generated/reflect_main/types/StrategyRoleEntry.d.ts +0 -17
- package/dist/generated/reflect_main/types/StrategyRoleEntry.js +0 -52
- package/dist/generated/reflect_main/types/SubAccount.d.ts +0 -17
- package/dist/generated/reflect_main/types/SubAccount.js +0 -52
- package/dist/generated/reflect_main/types/Update.d.ts +0 -20
- package/dist/generated/reflect_main/types/Update.js +0 -57
- package/dist/generated/reflect_main/types/UserFees.d.ts +0 -20
- package/dist/generated/reflect_main/types/UserFees.js +0 -55
- package/dist/generated/reflect_main/types/ValidityGuardRails.d.ts +0 -18
- package/dist/generated/reflect_main/types/ValidityGuardRails.js +0 -53
- package/dist/generated/reflect_main/types/YieldDistribution.d.ts +0 -20
- package/dist/generated/reflect_main/types/YieldDistribution.js +0 -57
- package/dist/helpers/getOrcaQuote.d.ts +0 -3
- package/dist/helpers/getOrcaQuote.js +0 -27
- package/dist/stablecoins/LstStablecoin.d.ts +0 -108
- package/dist/stablecoins/LstStablecoin.js +0 -354
- package/dist/stablecoins/UsdjStablecoin.d.ts +0 -1
- package/dist/stablecoins/UsdjStablecoin.js +0 -44
- package/dist/types/api.d.ts +0 -1384
- package/dist/types/api.js +0 -6
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
-
/**
|
|
19
|
+
/** Address of the admin user */
|
|
16
20
|
private admin;
|
|
17
|
-
/**
|
|
21
|
+
/** Address of the main program account */
|
|
18
22
|
private main;
|
|
19
|
-
/** Solana
|
|
20
|
-
private
|
|
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 -
|
|
26
|
-
* @param
|
|
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,
|
|
29
|
-
admin:
|
|
30
|
-
|
|
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 -
|
|
37
|
-
* @
|
|
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:
|
|
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
|
|
74
|
+
* @param action - The action to freeze/unfreeze (as u8)
|
|
75
|
+
* @returns Instruction
|
|
47
76
|
*/
|
|
48
|
-
freezeProtocolAction(freeze: boolean, action:
|
|
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
|
|
84
|
+
* @returns Instruction
|
|
55
85
|
*/
|
|
56
|
-
freezeDex(freeze: boolean, programIndex: number): import("
|
|
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
|
|
61
|
-
* @param newAdmin -
|
|
62
|
-
* @
|
|
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(
|
|
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
|
|
69
|
-
* @param adminToUpdate -
|
|
70
|
-
* @param
|
|
71
|
-
* @param update - The type of update
|
|
72
|
-
* @returns
|
|
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(
|
|
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
|
|
109
|
+
* @param admin - TransactionSigner of the admin
|
|
79
110
|
* @param strategyId - ID of the strategy to update permissions for
|
|
80
|
-
* @param adminToUpdate -
|
|
81
|
-
* @param
|
|
82
|
-
* @param update - The type of update
|
|
83
|
-
* @returns
|
|
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(
|
|
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
|
|
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
|
|
93
|
-
* @param update - The type of update
|
|
94
|
-
* @returns
|
|
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(
|
|
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
|
|
101
|
-
* @param action - The action being modified
|
|
102
|
-
* @param
|
|
103
|
-
* @param update - The type of update
|
|
104
|
-
* @returns
|
|
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(
|
|
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 -
|
|
33
|
-
* @param
|
|
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,
|
|
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.
|
|
45
|
+
this.rpc = rpc;
|
|
38
46
|
this.devnet = devnet;
|
|
39
|
-
this.
|
|
47
|
+
this.mock = mock;
|
|
40
48
|
}
|
|
41
49
|
/**
|
|
42
|
-
*
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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.
|
|
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
|
|
104
|
+
* @param action - The action to freeze/unfreeze (as u8)
|
|
105
|
+
* @returns Instruction
|
|
70
106
|
*/
|
|
71
|
-
freezeProtocolAction(freeze, action) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
|
128
|
+
* @returns Instruction
|
|
89
129
|
*/
|
|
90
|
-
freezeDex(freeze, programIndex) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
|
106
|
-
* @param newAdmin -
|
|
107
|
-
* @
|
|
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(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
|
124
|
-
* @param adminToUpdate -
|
|
125
|
-
* @param
|
|
126
|
-
* @param update - The type of update
|
|
127
|
-
* @returns
|
|
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(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
|
197
|
+
* @param admin - TransactionSigner of the admin
|
|
148
198
|
* @param strategyId - ID of the strategy to update permissions for
|
|
149
|
-
* @param adminToUpdate -
|
|
150
|
-
* @param
|
|
151
|
-
* @param update - The type of update
|
|
152
|
-
* @returns
|
|
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(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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
|
|
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
|
|
175
|
-
* @param update - The type of update
|
|
176
|
-
* @returns
|
|
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(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
|
196
|
-
* @param action - The action being modified
|
|
197
|
-
* @param
|
|
198
|
-
* @param update - The type of update
|
|
199
|
-
* @returns
|
|
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(
|
|
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
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
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
|
}
|