@reflectmoney/stable.ts 2.9.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +73 -60
- package/dist/classes/ReflectKeeper.js +181 -164
- 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,124 @@ 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;
|
|
33
54
|
/**
|
|
34
55
|
* Creates the main program account. This is the initial step of protocol setup.
|
|
35
56
|
*
|
|
36
|
-
* @param admin -
|
|
37
|
-
* @
|
|
57
|
+
* @param admin - TransactionSigner of the initial admin
|
|
58
|
+
* @param devnet - Whether to use devnet program
|
|
59
|
+
* @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
|
|
60
|
+
* @returns Instruction for initializing the main account
|
|
38
61
|
*/
|
|
39
|
-
static initializeMain(admin:
|
|
40
|
-
getPermissionAccount(): Promise<UserPermissions>;
|
|
62
|
+
static initializeMain(admin: TransactionSigner, devnet?: boolean, mock?: boolean): Promise<import("../generated/reflect_main").InitMainInstruction<Address, string, string, string, string, []>>;
|
|
41
63
|
/**
|
|
42
64
|
* Freezes or unfreezes a specific protocol action.
|
|
43
65
|
*
|
|
66
|
+
* @param admin - TransactionSigner of the admin
|
|
44
67
|
* @param freeze - Whether to freeze (true) or unfreeze (false) the action
|
|
45
|
-
* @param action - The action to freeze/unfreeze
|
|
46
|
-
* @returns
|
|
68
|
+
* @param action - The action to freeze/unfreeze (as u8)
|
|
69
|
+
* @returns Instruction
|
|
47
70
|
*/
|
|
48
|
-
freezeProtocolAction(freeze: boolean, action:
|
|
71
|
+
freezeProtocolAction(admin: TransactionSigner, freeze: boolean, action: number): Promise<import("../generated/reflect_main").FreezeProtocolActionInstruction<Address, string, string, string, string, []>>;
|
|
49
72
|
/**
|
|
50
73
|
* Freezes or unfreezes a specific DEX program.
|
|
51
74
|
*
|
|
75
|
+
* @param admin - TransactionSigner of the admin
|
|
52
76
|
* @param freeze - Whether to freeze (true) or unfreeze (false) the program
|
|
53
77
|
* @param programIndex - Index of the program to freeze/unfreeze
|
|
54
|
-
* @returns
|
|
78
|
+
* @returns Instruction
|
|
55
79
|
*/
|
|
56
|
-
freezeDex(freeze: boolean, programIndex: number): import("
|
|
80
|
+
freezeDex(admin: TransactionSigner, freeze: boolean, programIndex: number): Promise<import("../generated/reflect_main").FreezeProgramInstruction<Address, string, string, string, string, []>>;
|
|
57
81
|
/**
|
|
58
82
|
* Creates a new admin account with specified permissions.
|
|
59
83
|
*
|
|
60
|
-
* @param
|
|
61
|
-
* @param newAdmin -
|
|
62
|
-
* @
|
|
84
|
+
* @param caller - TransactionSigner of the caller (must be existing admin)
|
|
85
|
+
* @param newAdmin - Address of the new admin to create
|
|
86
|
+
* @param roles - Number of roles to allocate
|
|
87
|
+
* @returns Instruction
|
|
63
88
|
*/
|
|
64
|
-
createAdminAccount(
|
|
89
|
+
createAdminAccount(caller: TransactionSigner, newAdmin: Address, roles?: number): Promise<import("../generated/reflect_main").CreateAdminAccountInstruction<Address, string, string, string, []>>;
|
|
65
90
|
/**
|
|
66
91
|
* Updates role holder permissions at the protocol level.
|
|
67
92
|
*
|
|
68
|
-
* @param
|
|
69
|
-
* @param adminToUpdate -
|
|
70
|
-
* @param
|
|
71
|
-
* @param update - The type of update
|
|
72
|
-
* @returns
|
|
93
|
+
* @param admin - TransactionSigner of the admin
|
|
94
|
+
* @param adminToUpdate - Address of the admin whose permissions are being updated
|
|
95
|
+
* @param accessLevel - The role being modified (as u8)
|
|
96
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
97
|
+
* @returns Instruction
|
|
73
98
|
*/
|
|
74
|
-
updateRoleHolderProtocol(
|
|
99
|
+
updateRoleHolderProtocol(admin: TransactionSigner, adminToUpdate: Address, accessLevel: number, update: number): Promise<import("../generated/reflect_main").UpdateRoleHolderProtocolInstruction<Address, string, string, string, string, string, string, []>>;
|
|
75
100
|
/**
|
|
76
101
|
* Updates role holder permissions for a specific strategy.
|
|
77
102
|
*
|
|
78
|
-
* @param
|
|
103
|
+
* @param admin - TransactionSigner of the admin
|
|
79
104
|
* @param strategyId - ID of the strategy to update permissions for
|
|
80
|
-
* @param adminToUpdate -
|
|
81
|
-
* @param
|
|
82
|
-
* @param update - The type of update
|
|
83
|
-
* @returns
|
|
105
|
+
* @param adminToUpdate - Address of the admin whose permissions are being updated
|
|
106
|
+
* @param role - The role being modified (as u8)
|
|
107
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
108
|
+
* @returns Instruction
|
|
84
109
|
*/
|
|
85
|
-
updateRoleHolderStrategy(
|
|
110
|
+
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
111
|
/**
|
|
87
112
|
* Updates action role permissions for a specific strategy.
|
|
88
113
|
*
|
|
89
|
-
* @param
|
|
114
|
+
* @param admin - TransactionSigner of the admin
|
|
90
115
|
* @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
|
|
116
|
+
* @param action - The action being modified (as u8)
|
|
117
|
+
* @param role - The role being modified (as u8)
|
|
118
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
119
|
+
* @returns Instruction
|
|
95
120
|
*/
|
|
96
|
-
updateActionRoleStrategy(
|
|
121
|
+
updateActionRoleStrategy(admin: TransactionSigner, strategyId: number, action: number, role: number, update: number): Promise<import("../generated/reflect_main").UpdateActionRoleStrategyInstruction<Address, string, string, string, string, string, []>>;
|
|
97
122
|
/**
|
|
98
123
|
* Updates action role permissions at the protocol level.
|
|
99
124
|
*
|
|
100
|
-
* @param
|
|
101
|
-
* @param action - The action being modified
|
|
102
|
-
* @param
|
|
103
|
-
* @param update - The type of update
|
|
104
|
-
* @returns
|
|
125
|
+
* @param admin - TransactionSigner of the admin
|
|
126
|
+
* @param action - The action being modified (as u8)
|
|
127
|
+
* @param role - The role being modified (as u8)
|
|
128
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
129
|
+
* @returns Instruction
|
|
105
130
|
*/
|
|
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
|
-
}[]>;
|
|
131
|
+
updateActionRoleProtocol(admin: TransactionSigner, action: number, role: number, update: number): Promise<import("../generated/reflect_main").UpdateActionRoleProtocolInstruction<Address, string, string, string, string, []>>;
|
|
119
132
|
}
|
|
@@ -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,242 @@ 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;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Initialize the keeper by deriving necessary PDAs
|
|
51
|
+
*/
|
|
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
|
+
}
|
|
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 });
|
|
40
65
|
}
|
|
41
66
|
/**
|
|
42
67
|
* Creates the main program account. This is the initial step of protocol setup.
|
|
43
68
|
*
|
|
44
|
-
* @param admin -
|
|
45
|
-
* @
|
|
69
|
+
* @param admin - TransactionSigner of the initial admin
|
|
70
|
+
* @param devnet - Whether to use devnet program
|
|
71
|
+
* @param mock - Whether to use mock program on mainnet (only applies when devnet=false)
|
|
72
|
+
* @returns Instruction for initializing the main account
|
|
46
73
|
*/
|
|
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;
|
|
56
|
-
}
|
|
57
|
-
getPermissionAccount() {
|
|
74
|
+
static initializeMain(admin, devnet, mock) {
|
|
58
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
|
|
76
|
+
const main = yield PdaClient_1.PdaClient.deriveMain(devnet, mock);
|
|
77
|
+
const creds = yield PdaClient_1.PdaClient.derivePermissions(admin.address, devnet, mock);
|
|
78
|
+
const programAddress = (0, getProgramAddress_1.getProgramAddress)({ devnet, mock });
|
|
79
|
+
const ix = (0, reflect_main_1.getInitMainInstruction)({
|
|
80
|
+
main,
|
|
81
|
+
admin,
|
|
82
|
+
creds,
|
|
83
|
+
}, { programAddress });
|
|
84
|
+
return ix;
|
|
62
85
|
});
|
|
63
86
|
}
|
|
64
87
|
/**
|
|
65
88
|
* Freezes or unfreezes a specific protocol action.
|
|
66
89
|
*
|
|
90
|
+
* @param admin - TransactionSigner of the admin
|
|
67
91
|
* @param freeze - Whether to freeze (true) or unfreeze (false) the action
|
|
68
|
-
* @param action - The action to freeze/unfreeze
|
|
69
|
-
* @returns
|
|
92
|
+
* @param action - The action to freeze/unfreeze (as u8)
|
|
93
|
+
* @returns Instruction
|
|
70
94
|
*/
|
|
71
|
-
freezeProtocolAction(freeze, action) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
95
|
+
freezeProtocolAction(admin, freeze, action) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
if (!this.main)
|
|
98
|
+
yield this.initialize();
|
|
99
|
+
const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
|
|
100
|
+
const ix = (0, reflect_main_1.getFreezeProtocolActionInstruction)({
|
|
101
|
+
admin,
|
|
102
|
+
main: this.main,
|
|
103
|
+
adminPermissions,
|
|
104
|
+
freeze,
|
|
105
|
+
action,
|
|
106
|
+
}, { programAddress: this.programAddress });
|
|
107
|
+
return ix;
|
|
108
|
+
});
|
|
82
109
|
}
|
|
83
110
|
/**
|
|
84
111
|
* Freezes or unfreezes a specific DEX program.
|
|
85
112
|
*
|
|
113
|
+
* @param admin - TransactionSigner of the admin
|
|
86
114
|
* @param freeze - Whether to freeze (true) or unfreeze (false) the program
|
|
87
115
|
* @param programIndex - Index of the program to freeze/unfreeze
|
|
88
|
-
* @returns
|
|
116
|
+
* @returns Instruction
|
|
89
117
|
*/
|
|
90
|
-
freezeDex(freeze, programIndex) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
118
|
+
freezeDex(admin, freeze, programIndex) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
if (!this.main)
|
|
121
|
+
yield this.initialize();
|
|
122
|
+
const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
|
|
123
|
+
const ix = (0, reflect_main_1.getFreezeProgramInstruction)({
|
|
124
|
+
admin,
|
|
125
|
+
main: this.main,
|
|
126
|
+
adminPermissions,
|
|
127
|
+
freeze,
|
|
128
|
+
programIndex,
|
|
129
|
+
}, { programAddress: this.programAddress });
|
|
130
|
+
return ix;
|
|
131
|
+
});
|
|
101
132
|
}
|
|
102
133
|
/**
|
|
103
134
|
* Creates a new admin account with specified permissions.
|
|
104
135
|
*
|
|
105
|
-
* @param
|
|
106
|
-
* @param newAdmin -
|
|
107
|
-
* @
|
|
136
|
+
* @param caller - TransactionSigner of the caller (must be existing admin)
|
|
137
|
+
* @param newAdmin - Address of the new admin to create
|
|
138
|
+
* @param roles - Number of roles to allocate
|
|
139
|
+
* @returns Instruction
|
|
108
140
|
*/
|
|
109
|
-
createAdminAccount(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
141
|
+
createAdminAccount(caller_1, newAdmin_1) {
|
|
142
|
+
return __awaiter(this, arguments, void 0, function* (caller, newAdmin, roles = 18) {
|
|
143
|
+
const newCreds = yield PdaClient_1.PdaClient.derivePermissions(newAdmin, this.devnet, this.mock);
|
|
144
|
+
const ix = (0, reflect_main_1.getCreateAdminAccountInstruction)({
|
|
145
|
+
caller,
|
|
146
|
+
newCreds,
|
|
147
|
+
newAdmin,
|
|
148
|
+
roles,
|
|
149
|
+
}, { programAddress: this.programAddress });
|
|
150
|
+
return ix;
|
|
151
|
+
});
|
|
119
152
|
}
|
|
120
153
|
/**
|
|
121
154
|
* Updates role holder permissions at the protocol level.
|
|
122
155
|
*
|
|
123
|
-
* @param
|
|
124
|
-
* @param adminToUpdate -
|
|
125
|
-
* @param
|
|
126
|
-
* @param update - The type of update
|
|
127
|
-
* @returns
|
|
156
|
+
* @param admin - TransactionSigner of the admin
|
|
157
|
+
* @param adminToUpdate - Address of the admin whose permissions are being updated
|
|
158
|
+
* @param accessLevel - The role being modified (as u8)
|
|
159
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
160
|
+
* @returns Instruction
|
|
128
161
|
*/
|
|
129
|
-
updateRoleHolderProtocol(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
162
|
+
updateRoleHolderProtocol(admin, adminToUpdate, accessLevel, update) {
|
|
163
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
if (!this.main)
|
|
165
|
+
yield this.initialize();
|
|
166
|
+
const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
|
|
167
|
+
const updateAdminPermissions = yield PdaClient_1.PdaClient.derivePermissions(adminToUpdate, this.devnet, this.mock);
|
|
168
|
+
// Dummy strategy account
|
|
169
|
+
const strategy = yield PdaClient_1.PdaClient.deriveController(0, this.devnet, this.mock);
|
|
170
|
+
const ix = (0, reflect_main_1.getUpdateRoleHolderProtocolInstruction)({
|
|
171
|
+
admin,
|
|
172
|
+
adminPermissions,
|
|
173
|
+
main: this.main,
|
|
174
|
+
updateAdminPermissions,
|
|
175
|
+
strategy,
|
|
176
|
+
accessLevel,
|
|
177
|
+
update,
|
|
178
|
+
}, { programAddress: this.programAddress });
|
|
179
|
+
return ix;
|
|
180
|
+
});
|
|
143
181
|
}
|
|
144
182
|
/**
|
|
145
183
|
* Updates role holder permissions for a specific strategy.
|
|
146
184
|
*
|
|
147
|
-
* @param
|
|
185
|
+
* @param admin - TransactionSigner of the admin
|
|
148
186
|
* @param strategyId - ID of the strategy to update permissions for
|
|
149
|
-
* @param adminToUpdate -
|
|
150
|
-
* @param
|
|
151
|
-
* @param update - The type of update
|
|
152
|
-
* @returns
|
|
187
|
+
* @param adminToUpdate - Address of the admin whose permissions are being updated
|
|
188
|
+
* @param role - The role being modified (as u8)
|
|
189
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
190
|
+
* @returns Instruction
|
|
153
191
|
*/
|
|
154
|
-
updateRoleHolderStrategy(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
192
|
+
updateRoleHolderStrategy(admin, strategyId, adminToUpdate, role, update) {
|
|
193
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
+
if (!this.main)
|
|
195
|
+
yield this.initialize();
|
|
196
|
+
const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
|
|
197
|
+
const updateAdminPermissions = yield PdaClient_1.PdaClient.derivePermissions(adminToUpdate, this.devnet, this.mock);
|
|
198
|
+
const strategy = yield PdaClient_1.PdaClient.deriveController(strategyId, this.devnet, this.mock);
|
|
199
|
+
const ix = (0, reflect_main_1.getUpdateRoleHolderStrategyInstruction)({
|
|
200
|
+
admin,
|
|
201
|
+
adminPermissions,
|
|
202
|
+
main: this.main,
|
|
203
|
+
updateAdminPermissions,
|
|
204
|
+
strategy,
|
|
205
|
+
role,
|
|
206
|
+
update,
|
|
207
|
+
}, { programAddress: this.programAddress });
|
|
208
|
+
return ix;
|
|
209
|
+
});
|
|
167
210
|
}
|
|
168
211
|
/**
|
|
169
212
|
* Updates action role permissions for a specific strategy.
|
|
170
213
|
*
|
|
171
|
-
* @param
|
|
214
|
+
* @param admin - TransactionSigner of the admin
|
|
172
215
|
* @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
|
|
216
|
+
* @param action - The action being modified (as u8)
|
|
217
|
+
* @param role - The role being modified (as u8)
|
|
218
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
219
|
+
* @returns Instruction
|
|
177
220
|
*/
|
|
178
|
-
updateActionRoleStrategy(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
221
|
+
updateActionRoleStrategy(admin, strategyId, action, role, update) {
|
|
222
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
223
|
+
if (!this.main)
|
|
224
|
+
yield this.initialize();
|
|
225
|
+
const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
|
|
226
|
+
const strategy = yield PdaClient_1.PdaClient.deriveController(strategyId, this.devnet, this.mock);
|
|
227
|
+
const ix = (0, reflect_main_1.getUpdateActionRoleStrategyInstruction)({
|
|
228
|
+
admin,
|
|
229
|
+
adminPermissions,
|
|
230
|
+
main: this.main,
|
|
231
|
+
strategy,
|
|
232
|
+
action,
|
|
233
|
+
role,
|
|
234
|
+
update,
|
|
235
|
+
}, { programAddress: this.programAddress });
|
|
236
|
+
return ix;
|
|
237
|
+
});
|
|
191
238
|
}
|
|
192
239
|
/**
|
|
193
240
|
* Updates action role permissions at the protocol level.
|
|
194
241
|
*
|
|
195
|
-
* @param
|
|
196
|
-
* @param action - The action being modified
|
|
197
|
-
* @param
|
|
198
|
-
* @param update - The type of update
|
|
199
|
-
* @returns
|
|
242
|
+
* @param admin - TransactionSigner of the admin
|
|
243
|
+
* @param action - The action being modified (as u8)
|
|
244
|
+
* @param role - The role being modified (as u8)
|
|
245
|
+
* @param update - The type of update: 0 = Add, 1 = Remove
|
|
246
|
+
* @returns Instruction
|
|
200
247
|
*/
|
|
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) {
|
|
248
|
+
updateActionRoleProtocol(admin, action, role, update) {
|
|
236
249
|
return __awaiter(this, void 0, void 0, function* () {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
250
|
+
if (!this.main)
|
|
251
|
+
yield this.initialize();
|
|
252
|
+
const adminPermissions = yield PdaClient_1.PdaClient.derivePermissions(admin.address, this.devnet, this.mock);
|
|
253
|
+
const ix = (0, reflect_main_1.getUpdateActionRoleProtocolInstruction)({
|
|
254
|
+
admin,
|
|
255
|
+
adminPermissions,
|
|
256
|
+
main: this.main,
|
|
257
|
+
action,
|
|
258
|
+
role,
|
|
259
|
+
update,
|
|
260
|
+
}, { programAddress: this.programAddress });
|
|
261
|
+
return ix;
|
|
245
262
|
});
|
|
246
263
|
}
|
|
247
264
|
}
|