@reflectmoney/stable.ts 1.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 +9 -0
- package/dist/classes/PdaClient.d.ts +19 -0
- package/dist/classes/PdaClient.js +131 -0
- package/dist/classes/ReflectAdmin.d.ts +19 -0
- package/dist/classes/ReflectAdmin.js +136 -0
- package/dist/classes/ReflectTokenisedBond.d.ts +16 -0
- package/dist/classes/ReflectTokenisedBond.js +125 -0
- package/dist/classes/Stablecoin.d.ts +30 -0
- package/dist/classes/Stablecoin.js +193 -0
- package/dist/classes/Strategy.d.ts +30 -0
- package/dist/classes/Strategy.js +196 -0
- package/dist/classes/index.d.ts +3 -0
- package/dist/classes/index.js +19 -0
- package/dist/constants/drift.d.ts +6 -0
- package/dist/constants/drift.js +14 -0
- package/dist/constants/index.d.ts +5 -0
- package/dist/constants/index.js +21 -0
- package/dist/constants/jupiter.d.ts +4 -0
- package/dist/constants/jupiter.js +8 -0
- package/dist/constants/pyth.d.ts +1 -0
- package/dist/constants/pyth.js +4 -0
- package/dist/constants/usdc.d.ts +6 -0
- package/dist/constants/usdc.js +10 -0
- package/dist/constants/wsol.d.ts +6 -0
- package/dist/constants/wsol.js +9 -0
- package/dist/errors/ReflectError.d.ts +4 -0
- package/dist/errors/ReflectError.js +10 -0
- package/dist/generated/accounts/DriftJlpController.d.ts +114 -0
- package/dist/generated/accounts/DriftJlpController.js +169 -0
- package/dist/generated/accounts/DriftLstController.d.ts +108 -0
- package/dist/generated/accounts/DriftLstController.js +165 -0
- package/dist/generated/accounts/DriftUsdcController.d.ts +102 -0
- package/dist/generated/accounts/DriftUsdcController.js +158 -0
- package/dist/generated/accounts/Main.d.ts +110 -0
- package/dist/generated/accounts/Main.js +165 -0
- package/dist/generated/accounts/PerpMarket.d.ts +226 -0
- package/dist/generated/accounts/PerpMarket.js +307 -0
- package/dist/generated/accounts/PrelaunchOracle.d.ts +130 -0
- package/dist/generated/accounts/PrelaunchOracle.js +224 -0
- package/dist/generated/accounts/PythLazerOracle.d.ts +124 -0
- package/dist/generated/accounts/PythLazerOracle.js +210 -0
- package/dist/generated/accounts/RebalanceLst.d.ts +111 -0
- package/dist/generated/accounts/RebalanceLst.js +175 -0
- package/dist/generated/accounts/SpotMarket.d.ts +377 -0
- package/dist/generated/accounts/SpotMarket.js +601 -0
- package/dist/generated/accounts/User.d.ts +221 -0
- package/dist/generated/accounts/User.js +331 -0
- package/dist/generated/accounts/UserPermissions.d.ts +106 -0
- package/dist/generated/accounts/UserPermissions.js +161 -0
- package/dist/generated/accounts/UserStats.d.ts +211 -0
- package/dist/generated/accounts/UserStats.js +323 -0
- package/dist/generated/accounts/index.d.ts +38 -0
- package/dist/generated/accounts/index.js +55 -0
- package/dist/generated/errors/index.d.ts +1024 -0
- package/dist/generated/errors/index.js +1761 -0
- package/dist/generated/index.d.ts +19 -0
- package/dist/generated/index.js +36 -0
- package/dist/generated/instructions/addLstDrift.d.ts +49 -0
- package/dist/generated/instructions/addLstDrift.js +106 -0
- package/dist/generated/instructions/addSubAccount.d.ts +54 -0
- package/dist/generated/instructions/addSubAccount.js +121 -0
- package/dist/generated/instructions/adjustHedgeS2.d.ts +69 -0
- package/dist/generated/instructions/adjustHedgeS2.js +157 -0
- package/dist/generated/instructions/captureSpreadDrift.d.ts +56 -0
- package/dist/generated/instructions/captureSpreadDrift.js +120 -0
- package/dist/generated/instructions/createAdminAccount.d.ts +53 -0
- package/dist/generated/instructions/createAdminAccount.js +95 -0
- package/dist/generated/instructions/createUserStatsAccount.d.ts +54 -0
- package/dist/generated/instructions/createUserStatsAccount.js +121 -0
- package/dist/generated/instructions/depositDrift.d.ts +73 -0
- package/dist/generated/instructions/depositDrift.js +142 -0
- package/dist/generated/instructions/freezeProgram.d.ts +54 -0
- package/dist/generated/instructions/freezeProgram.js +95 -0
- package/dist/generated/instructions/freezeProtocolAction.d.ts +55 -0
- package/dist/generated/instructions/freezeProtocolAction.js +96 -0
- package/dist/generated/instructions/freezeStrategyAction.d.ts +58 -0
- package/dist/generated/instructions/freezeStrategyAction.js +102 -0
- package/dist/generated/instructions/index.d.ts +41 -0
- package/dist/generated/instructions/index.js +57 -0
- package/dist/generated/instructions/initDriftAccountsS1.d.ts +56 -0
- package/dist/generated/instructions/initDriftAccountsS1.js +126 -0
- package/dist/generated/instructions/initDriftControllerS1.d.ts +60 -0
- package/dist/generated/instructions/initDriftControllerS1.js +108 -0
- package/dist/generated/instructions/initDriftControllerS2.d.ts +66 -0
- package/dist/generated/instructions/initDriftControllerS2.js +125 -0
- package/dist/generated/instructions/initDriftControllerS3.d.ts +58 -0
- package/dist/generated/instructions/initDriftControllerS3.js +103 -0
- package/dist/generated/instructions/initMain.d.ts +43 -0
- package/dist/generated/instructions/initMain.js +91 -0
- package/dist/generated/instructions/mintDriftS1.d.ts +90 -0
- package/dist/generated/instructions/mintDriftS1.js +184 -0
- package/dist/generated/instructions/mintDriftS2.d.ts +80 -0
- package/dist/generated/instructions/mintDriftS2.js +161 -0
- package/dist/generated/instructions/mintDriftS3.d.ts +86 -0
- package/dist/generated/instructions/mintDriftS3.js +174 -0
- package/dist/generated/instructions/processSwapDeposit.d.ts +79 -0
- package/dist/generated/instructions/processSwapDeposit.js +161 -0
- package/dist/generated/instructions/processSwapDepositIntrospection.d.ts +79 -0
- package/dist/generated/instructions/processSwapDepositIntrospection.js +161 -0
- package/dist/generated/instructions/processSwapWithdraw.d.ts +68 -0
- package/dist/generated/instructions/processSwapWithdraw.js +157 -0
- package/dist/generated/instructions/processSwapWithdrawIntrospection.d.ts +68 -0
- package/dist/generated/instructions/processSwapWithdrawIntrospection.js +157 -0
- package/dist/generated/instructions/rebalanceJlp.d.ts +81 -0
- package/dist/generated/instructions/rebalanceJlp.js +187 -0
- package/dist/generated/instructions/redeem2DriftS2.d.ts +80 -0
- package/dist/generated/instructions/redeem2DriftS2.js +161 -0
- package/dist/generated/instructions/redeemDriftS1.d.ts +91 -0
- package/dist/generated/instructions/redeemDriftS1.js +185 -0
- package/dist/generated/instructions/redeemDriftS2.d.ts +80 -0
- package/dist/generated/instructions/redeemDriftS2.js +161 -0
- package/dist/generated/instructions/redeemDriftS3.d.ts +87 -0
- package/dist/generated/instructions/redeemDriftS3.js +175 -0
- package/dist/generated/instructions/settlePnl.d.ts +55 -0
- package/dist/generated/instructions/settlePnl.js +114 -0
- package/dist/generated/instructions/settlePnlMulti.d.ts +65 -0
- package/dist/generated/instructions/settlePnlMulti.js +117 -0
- package/dist/generated/instructions/suspendLstProtocol.d.ts +54 -0
- package/dist/generated/instructions/suspendLstProtocol.js +96 -0
- package/dist/generated/instructions/suspendLstStrategy.d.ts +56 -0
- package/dist/generated/instructions/suspendLstStrategy.js +101 -0
- package/dist/generated/instructions/swapOrca.d.ts +78 -0
- package/dist/generated/instructions/swapOrca.js +153 -0
- package/dist/generated/instructions/swapOrcaTwoHop.d.ts +98 -0
- package/dist/generated/instructions/swapOrcaTwoHop.js +200 -0
- package/dist/generated/instructions/updateActionRoleProtocol.d.ts +58 -0
- package/dist/generated/instructions/updateActionRoleProtocol.js +99 -0
- package/dist/generated/instructions/updateActionRoleStrategy.d.ts +61 -0
- package/dist/generated/instructions/updateActionRoleStrategy.js +105 -0
- package/dist/generated/instructions/updateAttenuation.d.ts +56 -0
- package/dist/generated/instructions/updateAttenuation.js +100 -0
- package/dist/generated/instructions/updateCap.d.ts +55 -0
- package/dist/generated/instructions/updateCap.js +99 -0
- package/dist/generated/instructions/updateRebalanceSlippage.d.ts +55 -0
- package/dist/generated/instructions/updateRebalanceSlippage.js +99 -0
- package/dist/generated/instructions/updateRecipients.d.ts +56 -0
- package/dist/generated/instructions/updateRecipients.js +101 -0
- package/dist/generated/instructions/updateRoleHolderProtocol.d.ts +61 -0
- package/dist/generated/instructions/updateRoleHolderProtocol.js +109 -0
- package/dist/generated/instructions/updateRoleHolderStrategy.d.ts +62 -0
- package/dist/generated/instructions/updateRoleHolderStrategy.js +110 -0
- package/dist/generated/reflect_main/accounts/DriftJlpController.d.ts +114 -0
- package/dist/generated/reflect_main/accounts/DriftJlpController.js +169 -0
- package/dist/generated/reflect_main/accounts/DriftLstController.d.ts +108 -0
- package/dist/generated/reflect_main/accounts/DriftLstController.js +165 -0
- package/dist/generated/reflect_main/accounts/DriftUsdcController.d.ts +110 -0
- package/dist/generated/reflect_main/accounts/DriftUsdcController.js +164 -0
- package/dist/generated/reflect_main/accounts/Main.d.ts +110 -0
- package/dist/generated/reflect_main/accounts/Main.js +165 -0
- package/dist/generated/reflect_main/accounts/PerpMarket.d.ts +226 -0
- package/dist/generated/reflect_main/accounts/PerpMarket.js +307 -0
- package/dist/generated/reflect_main/accounts/PrelaunchOracle.d.ts +130 -0
- package/dist/generated/reflect_main/accounts/PrelaunchOracle.js +224 -0
- package/dist/generated/reflect_main/accounts/PythLazerOracle.d.ts +124 -0
- package/dist/generated/reflect_main/accounts/PythLazerOracle.js +210 -0
- package/dist/generated/reflect_main/accounts/RebalanceLst.d.ts +111 -0
- package/dist/generated/reflect_main/accounts/RebalanceLst.js +175 -0
- package/dist/generated/reflect_main/accounts/SpotMarket.d.ts +377 -0
- package/dist/generated/reflect_main/accounts/SpotMarket.js +601 -0
- package/dist/generated/reflect_main/accounts/User.d.ts +221 -0
- package/dist/generated/reflect_main/accounts/User.js +331 -0
- package/dist/generated/reflect_main/accounts/UserPermissions.d.ts +106 -0
- package/dist/generated/reflect_main/accounts/UserPermissions.js +161 -0
- package/dist/generated/reflect_main/accounts/UserStats.d.ts +211 -0
- package/dist/generated/reflect_main/accounts/UserStats.js +323 -0
- package/dist/generated/reflect_main/accounts/index.d.ts +38 -0
- package/dist/generated/reflect_main/accounts/index.js +55 -0
- package/dist/generated/reflect_main/errors/index.d.ts +958 -0
- package/dist/generated/reflect_main/errors/index.js +1647 -0
- package/dist/generated/reflect_main/index.d.ts +19 -0
- package/dist/generated/reflect_main/index.js +36 -0
- package/dist/generated/reflect_main/instructions/addLstDrift.d.ts +49 -0
- package/dist/generated/reflect_main/instructions/addLstDrift.js +106 -0
- package/dist/generated/reflect_main/instructions/addSubAccount.d.ts +54 -0
- package/dist/generated/reflect_main/instructions/addSubAccount.js +121 -0
- package/dist/generated/reflect_main/instructions/captureSpreadDrift.d.ts +66 -0
- package/dist/generated/reflect_main/instructions/captureSpreadDrift.js +123 -0
- package/dist/generated/reflect_main/instructions/createAdminAccount.d.ts +51 -0
- package/dist/generated/reflect_main/instructions/createAdminAccount.js +90 -0
- package/dist/generated/reflect_main/instructions/createUserStatsAccount.d.ts +52 -0
- package/dist/generated/reflect_main/instructions/createUserStatsAccount.js +116 -0
- package/dist/generated/reflect_main/instructions/depositDrift.d.ts +73 -0
- package/dist/generated/reflect_main/instructions/depositDrift.js +142 -0
- package/dist/generated/reflect_main/instructions/freezeProgram.d.ts +54 -0
- package/dist/generated/reflect_main/instructions/freezeProgram.js +95 -0
- package/dist/generated/reflect_main/instructions/freezeProtocolAction.d.ts +55 -0
- package/dist/generated/reflect_main/instructions/freezeProtocolAction.js +96 -0
- package/dist/generated/reflect_main/instructions/freezeStrategyAction.d.ts +58 -0
- package/dist/generated/reflect_main/instructions/freezeStrategyAction.js +102 -0
- package/dist/generated/reflect_main/instructions/index.d.ts +33 -0
- package/dist/generated/reflect_main/instructions/index.js +49 -0
- package/dist/generated/reflect_main/instructions/initDriftAccountsS1.d.ts +54 -0
- package/dist/generated/reflect_main/instructions/initDriftAccountsS1.js +121 -0
- package/dist/generated/reflect_main/instructions/initDriftControllerS1.d.ts +60 -0
- package/dist/generated/reflect_main/instructions/initDriftControllerS1.js +105 -0
- package/dist/generated/reflect_main/instructions/initDriftControllerS3.d.ts +58 -0
- package/dist/generated/reflect_main/instructions/initDriftControllerS3.js +103 -0
- package/dist/generated/reflect_main/instructions/initMain.d.ts +43 -0
- package/dist/generated/reflect_main/instructions/initMain.js +91 -0
- package/dist/generated/reflect_main/instructions/mintDriftS1.d.ts +98 -0
- package/dist/generated/reflect_main/instructions/mintDriftS1.js +204 -0
- package/dist/generated/reflect_main/instructions/mintDriftS3.d.ts +86 -0
- package/dist/generated/reflect_main/instructions/mintDriftS3.js +174 -0
- package/dist/generated/reflect_main/instructions/processSwapDeposit.d.ts +69 -0
- package/dist/generated/reflect_main/instructions/processSwapDeposit.js +155 -0
- package/dist/generated/reflect_main/instructions/processSwapWithdraw.d.ts +69 -0
- package/dist/generated/reflect_main/instructions/processSwapWithdraw.js +155 -0
- package/dist/generated/reflect_main/instructions/redeemDriftS1.d.ts +99 -0
- package/dist/generated/reflect_main/instructions/redeemDriftS1.js +205 -0
- package/dist/generated/reflect_main/instructions/redeemDriftS3.d.ts +87 -0
- package/dist/generated/reflect_main/instructions/redeemDriftS3.js +175 -0
- package/dist/generated/reflect_main/instructions/settlePnl.d.ts +55 -0
- package/dist/generated/reflect_main/instructions/settlePnl.js +114 -0
- package/dist/generated/reflect_main/instructions/settlePnlMulti.d.ts +65 -0
- package/dist/generated/reflect_main/instructions/settlePnlMulti.js +117 -0
- package/dist/generated/reflect_main/instructions/suspendSplProtocol.d.ts +54 -0
- package/dist/generated/reflect_main/instructions/suspendSplProtocol.js +96 -0
- package/dist/generated/reflect_main/instructions/suspendSplStrategy.d.ts +56 -0
- package/dist/generated/reflect_main/instructions/suspendSplStrategy.js +101 -0
- package/dist/generated/reflect_main/instructions/swapOrca.d.ts +81 -0
- package/dist/generated/reflect_main/instructions/swapOrca.js +156 -0
- package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.d.ts +101 -0
- package/dist/generated/reflect_main/instructions/swapOrcaTwoHop.js +203 -0
- package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.d.ts +58 -0
- package/dist/generated/reflect_main/instructions/updateActionRoleProtocol.js +99 -0
- package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.d.ts +60 -0
- package/dist/generated/reflect_main/instructions/updateActionRoleStrategy.js +104 -0
- package/dist/generated/reflect_main/instructions/updateAttenuation.d.ts +57 -0
- package/dist/generated/reflect_main/instructions/updateAttenuation.js +101 -0
- package/dist/generated/reflect_main/instructions/updateCap.d.ts +55 -0
- package/dist/generated/reflect_main/instructions/updateCap.js +99 -0
- package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.d.ts +55 -0
- package/dist/generated/reflect_main/instructions/updateRebalanceSlippage.js +99 -0
- package/dist/generated/reflect_main/instructions/updateRecipients.d.ts +56 -0
- package/dist/generated/reflect_main/instructions/updateRecipients.js +101 -0
- package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.d.ts +60 -0
- package/dist/generated/reflect_main/instructions/updateRoleHolderProtocol.js +107 -0
- package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.d.ts +60 -0
- package/dist/generated/reflect_main/instructions/updateRoleHolderStrategy.js +107 -0
- package/dist/generated/reflect_main/types/AMM.d.ts +102 -0
- package/dist/generated/reflect_main/types/AMM.js +127 -0
- package/dist/generated/reflect_main/types/AccKey.d.ts +15 -0
- package/dist/generated/reflect_main/types/AccKey.js +38 -0
- package/dist/generated/reflect_main/types/AccessControl.d.ts +18 -0
- package/dist/generated/reflect_main/types/AccessControl.js +43 -0
- package/dist/generated/reflect_main/types/AccessMap.d.ts +17 -0
- package/dist/generated/reflect_main/types/AccessMap.js +42 -0
- package/dist/generated/reflect_main/types/Action.d.ts +35 -0
- package/dist/generated/reflect_main/types/Action.js +62 -0
- package/dist/generated/reflect_main/types/ActionMapping.d.ts +19 -0
- package/dist/generated/reflect_main/types/ActionMapping.js +44 -0
- package/dist/generated/reflect_main/types/AssetTier.d.ts +23 -0
- package/dist/generated/reflect_main/types/AssetTier.js +50 -0
- package/dist/generated/reflect_main/types/Attenuation.d.ts +16 -0
- package/dist/generated/reflect_main/types/Attenuation.js +41 -0
- package/dist/generated/reflect_main/types/BalanceType.d.ts +20 -0
- package/dist/generated/reflect_main/types/BalanceType.js +47 -0
- package/dist/generated/reflect_main/types/ContractTier.d.ts +24 -0
- package/dist/generated/reflect_main/types/ContractTier.js +51 -0
- package/dist/generated/reflect_main/types/ContractType.d.ts +20 -0
- package/dist/generated/reflect_main/types/ContractType.js +47 -0
- package/dist/generated/reflect_main/types/CorpAction.d.ts +19 -0
- package/dist/generated/reflect_main/types/CorpAction.js +46 -0
- package/dist/generated/reflect_main/types/CustodyInfo.d.ts +20 -0
- package/dist/generated/reflect_main/types/CustodyInfo.js +45 -0
- package/dist/generated/reflect_main/types/DirectionCollateral.d.ts +20 -0
- package/dist/generated/reflect_main/types/DirectionCollateral.js +47 -0
- package/dist/generated/reflect_main/types/DirectionPosition.d.ts +20 -0
- package/dist/generated/reflect_main/types/DirectionPosition.js +47 -0
- package/dist/generated/reflect_main/types/DriftControllerBase.d.ts +15 -0
- package/dist/generated/reflect_main/types/DriftControllerBase.js +38 -0
- package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.d.ts +18 -0
- package/dist/generated/reflect_main/types/DriftJlpControllerFixedAccounts.js +43 -0
- package/dist/generated/reflect_main/types/DriftLstData.d.ts +17 -0
- package/dist/generated/reflect_main/types/DriftLstData.js +42 -0
- package/dist/generated/reflect_main/types/Ema.d.ts +17 -0
- package/dist/generated/reflect_main/types/Ema.js +42 -0
- package/dist/generated/reflect_main/types/Externals.d.ts +16 -0
- package/dist/generated/reflect_main/types/Externals.js +39 -0
- package/dist/generated/reflect_main/types/FlowControl.d.ts +17 -0
- package/dist/generated/reflect_main/types/FlowControl.js +42 -0
- package/dist/generated/reflect_main/types/HistoricalIndexData.d.ts +19 -0
- package/dist/generated/reflect_main/types/HistoricalIndexData.js +44 -0
- package/dist/generated/reflect_main/types/HistoricalOracleData.d.ts +20 -0
- package/dist/generated/reflect_main/types/HistoricalOracleData.js +45 -0
- package/dist/generated/reflect_main/types/Holding.d.ts +21 -0
- package/dist/generated/reflect_main/types/Holding.js +46 -0
- package/dist/generated/reflect_main/types/Holdings.d.ts +17 -0
- package/dist/generated/reflect_main/types/Holdings.js +42 -0
- package/dist/generated/reflect_main/types/InsuranceClaim.d.ts +19 -0
- package/dist/generated/reflect_main/types/InsuranceClaim.js +44 -0
- package/dist/generated/reflect_main/types/InsuranceFund.d.ts +24 -0
- package/dist/generated/reflect_main/types/InsuranceFund.js +49 -0
- package/dist/generated/reflect_main/types/JlpRebalanceSettings.d.ts +15 -0
- package/dist/generated/reflect_main/types/JlpRebalanceSettings.js +38 -0
- package/dist/generated/reflect_main/types/KillSwitch.d.ts +15 -0
- package/dist/generated/reflect_main/types/KillSwitch.js +38 -0
- package/dist/generated/reflect_main/types/LevelRoles.d.ts +16 -0
- package/dist/generated/reflect_main/types/LevelRoles.js +39 -0
- package/dist/generated/reflect_main/types/MarketStatus.d.ts +27 -0
- package/dist/generated/reflect_main/types/MarketStatus.js +54 -0
- package/dist/generated/reflect_main/types/MarketType.d.ts +20 -0
- package/dist/generated/reflect_main/types/MarketType.js +47 -0
- package/dist/generated/reflect_main/types/ModifyOrderParams.d.ts +32 -0
- package/dist/generated/reflect_main/types/ModifyOrderParams.js +57 -0
- package/dist/generated/reflect_main/types/ModifyOrderPolicy.d.ts +20 -0
- package/dist/generated/reflect_main/types/ModifyOrderPolicy.js +47 -0
- package/dist/generated/reflect_main/types/Movements.d.ts +19 -0
- package/dist/generated/reflect_main/types/Movements.js +44 -0
- package/dist/generated/reflect_main/types/OracleGuardRails.d.ts +18 -0
- package/dist/generated/reflect_main/types/OracleGuardRails.js +43 -0
- package/dist/generated/reflect_main/types/OracleSource.d.ts +34 -0
- package/dist/generated/reflect_main/types/OracleSource.js +61 -0
- package/dist/generated/reflect_main/types/OracleValidity.d.ts +25 -0
- package/dist/generated/reflect_main/types/OracleValidity.js +52 -0
- package/dist/generated/reflect_main/types/Order.d.ts +43 -0
- package/dist/generated/reflect_main/types/Order.js +68 -0
- package/dist/generated/reflect_main/types/OrderDirection.d.ts +20 -0
- package/dist/generated/reflect_main/types/OrderDirection.js +47 -0
- package/dist/generated/reflect_main/types/OrderParams.d.ts +36 -0
- package/dist/generated/reflect_main/types/OrderParams.js +61 -0
- package/dist/generated/reflect_main/types/OrderStatus.d.ts +22 -0
- package/dist/generated/reflect_main/types/OrderStatus.js +49 -0
- package/dist/generated/reflect_main/types/OrderTriggerCondition.d.ts +22 -0
- package/dist/generated/reflect_main/types/OrderTriggerCondition.js +49 -0
- package/dist/generated/reflect_main/types/OrderType.d.ts +23 -0
- package/dist/generated/reflect_main/types/OrderType.js +50 -0
- package/dist/generated/reflect_main/types/PermissionLevel.d.ts +45 -0
- package/dist/generated/reflect_main/types/PermissionLevel.js +48 -0
- package/dist/generated/reflect_main/types/PerpHedge.d.ts +17 -0
- package/dist/generated/reflect_main/types/PerpHedge.js +42 -0
- package/dist/generated/reflect_main/types/PerpPosition.d.ts +29 -0
- package/dist/generated/reflect_main/types/PerpPosition.js +54 -0
- package/dist/generated/reflect_main/types/PoolBalance.d.ts +17 -0
- package/dist/generated/reflect_main/types/PoolBalance.js +42 -0
- package/dist/generated/reflect_main/types/Position.d.ts +20 -0
- package/dist/generated/reflect_main/types/Position.js +45 -0
- package/dist/generated/reflect_main/types/PositionDirection.d.ts +20 -0
- package/dist/generated/reflect_main/types/PositionDirection.js +47 -0
- package/dist/generated/reflect_main/types/PositionDrift.d.ts +18 -0
- package/dist/generated/reflect_main/types/PositionDrift.js +43 -0
- package/dist/generated/reflect_main/types/PostOnlyParam.d.ts +22 -0
- package/dist/generated/reflect_main/types/PostOnlyParam.js +49 -0
- package/dist/generated/reflect_main/types/Price.d.ts +41 -0
- package/dist/generated/reflect_main/types/Price.js +66 -0
- package/dist/generated/reflect_main/types/PriceComp.d.ts +19 -0
- package/dist/generated/reflect_main/types/PriceComp.js +44 -0
- package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.d.ts +16 -0
- package/dist/generated/reflect_main/types/PriceDivergenceGuardRails.js +41 -0
- package/dist/generated/reflect_main/types/PriceInfo.d.ts +21 -0
- package/dist/generated/reflect_main/types/PriceInfo.js +46 -0
- package/dist/generated/reflect_main/types/PriceStatus.d.ts +22 -0
- package/dist/generated/reflect_main/types/PriceStatus.js +49 -0
- package/dist/generated/reflect_main/types/PriceType.d.ts +20 -0
- package/dist/generated/reflect_main/types/PriceType.js +47 -0
- package/dist/generated/reflect_main/types/Program.d.ts +19 -0
- package/dist/generated/reflect_main/types/Program.js +44 -0
- package/dist/generated/reflect_main/types/ProgramStatus.d.ts +20 -0
- package/dist/generated/reflect_main/types/ProgramStatus.js +47 -0
- package/dist/generated/reflect_main/types/Recipient.d.ts +17 -0
- package/dist/generated/reflect_main/types/Recipient.js +42 -0
- package/dist/generated/reflect_main/types/Recipients.d.ts +17 -0
- package/dist/generated/reflect_main/types/Recipients.js +42 -0
- package/dist/generated/reflect_main/types/Role.d.ts +25 -0
- package/dist/generated/reflect_main/types/Role.js +52 -0
- package/dist/generated/reflect_main/types/ShiftCollateral.d.ts +19 -0
- package/dist/generated/reflect_main/types/ShiftCollateral.js +44 -0
- package/dist/generated/reflect_main/types/ShiftPosition.d.ts +17 -0
- package/dist/generated/reflect_main/types/ShiftPosition.js +42 -0
- package/dist/generated/reflect_main/types/ShortHolding.d.ts +17 -0
- package/dist/generated/reflect_main/types/ShortHolding.js +42 -0
- package/dist/generated/reflect_main/types/SplBase.d.ts +17 -0
- package/dist/generated/reflect_main/types/SplBase.js +42 -0
- package/dist/generated/reflect_main/types/SplMain.d.ts +22 -0
- package/dist/generated/reflect_main/types/SplMain.js +47 -0
- package/dist/generated/reflect_main/types/Spls.d.ts +17 -0
- package/dist/generated/reflect_main/types/Spls.js +42 -0
- package/dist/generated/reflect_main/types/SpotBalanceType.d.ts +20 -0
- package/dist/generated/reflect_main/types/SpotBalanceType.js +47 -0
- package/dist/generated/reflect_main/types/SpotPosition.d.ts +23 -0
- package/dist/generated/reflect_main/types/SpotPosition.js +48 -0
- package/dist/generated/reflect_main/types/Status.d.ts +21 -0
- package/dist/generated/reflect_main/types/Status.js +48 -0
- package/dist/generated/reflect_main/types/Strategy.d.ts +32 -0
- package/dist/generated/reflect_main/types/Strategy.js +57 -0
- package/dist/generated/reflect_main/types/StrategyPadding.d.ts +15 -0
- package/dist/generated/reflect_main/types/StrategyPadding.js +38 -0
- package/dist/generated/reflect_main/types/StrategyRoleEntry.d.ts +17 -0
- package/dist/generated/reflect_main/types/StrategyRoleEntry.js +42 -0
- package/dist/generated/reflect_main/types/SubAccount.d.ts +17 -0
- package/dist/generated/reflect_main/types/SubAccount.js +42 -0
- package/dist/generated/reflect_main/types/Update.d.ts +20 -0
- package/dist/generated/reflect_main/types/Update.js +47 -0
- package/dist/generated/reflect_main/types/UserFees.d.ts +20 -0
- package/dist/generated/reflect_main/types/UserFees.js +45 -0
- package/dist/generated/reflect_main/types/ValidityGuardRails.d.ts +18 -0
- package/dist/generated/reflect_main/types/ValidityGuardRails.js +43 -0
- package/dist/generated/reflect_main/types/index.d.ts +79 -0
- package/dist/generated/reflect_main/types/index.js +95 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Admin.d.ts +99 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Admin.js +154 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Config.d.ts +106 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Config.js +168 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Vault.d.ts +114 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/Vault.js +174 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/index.d.ts +11 -0
- package/dist/generated/reflect_tokenised_bonds/accounts/index.js +24 -0
- package/dist/generated/reflect_tokenised_bonds/errors/index.d.ts +144 -0
- package/dist/generated/reflect_tokenised_bonds/errors/index.js +240 -0
- package/dist/generated/reflect_tokenised_bonds/index.d.ts +19 -0
- package/dist/generated/reflect_tokenised_bonds/index.js +36 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/createVault.d.ts +50 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/createVault.js +112 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/deposit.d.ts +62 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/deposit.js +116 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/index.d.ts +4 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/index.js +20 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/initialize.d.ts +43 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/initialize.js +91 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/withdraw.d.ts +62 -0
- package/dist/generated/reflect_tokenised_bonds/instructions/withdraw.js +116 -0
- package/dist/generated/reflect_tokenised_bonds/types/DepositArgs.d.ts +17 -0
- package/dist/generated/reflect_tokenised_bonds/types/DepositArgs.js +42 -0
- package/dist/generated/reflect_tokenised_bonds/types/Permissions.d.ts +21 -0
- package/dist/generated/reflect_tokenised_bonds/types/Permissions.js +48 -0
- package/dist/generated/reflect_tokenised_bonds/types/WithdrawArgs.d.ts +16 -0
- package/dist/generated/reflect_tokenised_bonds/types/WithdrawArgs.js +41 -0
- package/dist/generated/reflect_tokenised_bonds/types/index.d.ts +3 -0
- package/dist/generated/reflect_tokenised_bonds/types/index.js +19 -0
- package/dist/generated/types/AMM.d.ts +102 -0
- package/dist/generated/types/AMM.js +127 -0
- package/dist/generated/types/AccKey.d.ts +15 -0
- package/dist/generated/types/AccKey.js +38 -0
- package/dist/generated/types/AccessControl.d.ts +18 -0
- package/dist/generated/types/AccessControl.js +43 -0
- package/dist/generated/types/AccessMap.d.ts +17 -0
- package/dist/generated/types/AccessMap.js +42 -0
- package/dist/generated/types/Action.d.ts +36 -0
- package/dist/generated/types/Action.js +63 -0
- package/dist/generated/types/ActionMapping.d.ts +19 -0
- package/dist/generated/types/ActionMapping.js +44 -0
- package/dist/generated/types/AssetTier.d.ts +23 -0
- package/dist/generated/types/AssetTier.js +50 -0
- package/dist/generated/types/Attenuation.d.ts +16 -0
- package/dist/generated/types/Attenuation.js +41 -0
- package/dist/generated/types/BalanceType.d.ts +20 -0
- package/dist/generated/types/BalanceType.js +47 -0
- package/dist/generated/types/ContractTier.d.ts +24 -0
- package/dist/generated/types/ContractTier.js +51 -0
- package/dist/generated/types/ContractType.d.ts +20 -0
- package/dist/generated/types/ContractType.js +47 -0
- package/dist/generated/types/CorpAction.d.ts +19 -0
- package/dist/generated/types/CorpAction.js +46 -0
- package/dist/generated/types/CustodyInfo.d.ts +20 -0
- package/dist/generated/types/CustodyInfo.js +45 -0
- package/dist/generated/types/DirectionCollateral.d.ts +20 -0
- package/dist/generated/types/DirectionCollateral.js +47 -0
- package/dist/generated/types/DirectionPosition.d.ts +20 -0
- package/dist/generated/types/DirectionPosition.js +47 -0
- package/dist/generated/types/DriftControllerBase.d.ts +15 -0
- package/dist/generated/types/DriftControllerBase.js +38 -0
- package/dist/generated/types/DriftJlpControllerFixedAccounts.d.ts +18 -0
- package/dist/generated/types/DriftJlpControllerFixedAccounts.js +43 -0
- package/dist/generated/types/DriftLstData.d.ts +17 -0
- package/dist/generated/types/DriftLstData.js +42 -0
- package/dist/generated/types/Ema.d.ts +17 -0
- package/dist/generated/types/Ema.js +42 -0
- package/dist/generated/types/Externals.d.ts +16 -0
- package/dist/generated/types/Externals.js +39 -0
- package/dist/generated/types/HistoricalIndexData.d.ts +19 -0
- package/dist/generated/types/HistoricalIndexData.js +44 -0
- package/dist/generated/types/HistoricalOracleData.d.ts +20 -0
- package/dist/generated/types/HistoricalOracleData.js +45 -0
- package/dist/generated/types/Holding.d.ts +21 -0
- package/dist/generated/types/Holding.js +46 -0
- package/dist/generated/types/Holdings.d.ts +17 -0
- package/dist/generated/types/Holdings.js +42 -0
- package/dist/generated/types/InitControllerS2Args.d.ts +23 -0
- package/dist/generated/types/InitControllerS2Args.js +48 -0
- package/dist/generated/types/InsuranceClaim.d.ts +19 -0
- package/dist/generated/types/InsuranceClaim.js +44 -0
- package/dist/generated/types/InsuranceFund.d.ts +24 -0
- package/dist/generated/types/InsuranceFund.js +49 -0
- package/dist/generated/types/JlpRebalanceSettings.d.ts +15 -0
- package/dist/generated/types/JlpRebalanceSettings.js +38 -0
- package/dist/generated/types/KillSwitch.d.ts +15 -0
- package/dist/generated/types/KillSwitch.js +38 -0
- package/dist/generated/types/LevelRoles.d.ts +16 -0
- package/dist/generated/types/LevelRoles.js +39 -0
- package/dist/generated/types/MarketStatus.d.ts +27 -0
- package/dist/generated/types/MarketStatus.js +54 -0
- package/dist/generated/types/MarketType.d.ts +20 -0
- package/dist/generated/types/MarketType.js +47 -0
- package/dist/generated/types/MintJlpArgs.d.ts +15 -0
- package/dist/generated/types/MintJlpArgs.js +38 -0
- package/dist/generated/types/ModifyOrderParams.d.ts +32 -0
- package/dist/generated/types/ModifyOrderParams.js +57 -0
- package/dist/generated/types/ModifyOrderPolicy.d.ts +20 -0
- package/dist/generated/types/ModifyOrderPolicy.js +47 -0
- package/dist/generated/types/Movements.d.ts +19 -0
- package/dist/generated/types/Movements.js +44 -0
- package/dist/generated/types/OracleGuardRails.d.ts +18 -0
- package/dist/generated/types/OracleGuardRails.js +43 -0
- package/dist/generated/types/OracleSource.d.ts +34 -0
- package/dist/generated/types/OracleSource.js +61 -0
- package/dist/generated/types/OracleValidity.d.ts +25 -0
- package/dist/generated/types/OracleValidity.js +52 -0
- package/dist/generated/types/Order.d.ts +43 -0
- package/dist/generated/types/Order.js +68 -0
- package/dist/generated/types/OrderDirection.d.ts +20 -0
- package/dist/generated/types/OrderDirection.js +47 -0
- package/dist/generated/types/OrderParams.d.ts +36 -0
- package/dist/generated/types/OrderParams.js +61 -0
- package/dist/generated/types/OrderStatus.d.ts +22 -0
- package/dist/generated/types/OrderStatus.js +49 -0
- package/dist/generated/types/OrderTriggerCondition.d.ts +22 -0
- package/dist/generated/types/OrderTriggerCondition.js +49 -0
- package/dist/generated/types/OrderType.d.ts +23 -0
- package/dist/generated/types/OrderType.js +50 -0
- package/dist/generated/types/PermissionLevel.d.ts +45 -0
- package/dist/generated/types/PermissionLevel.js +48 -0
- package/dist/generated/types/PerpHedge.d.ts +17 -0
- package/dist/generated/types/PerpHedge.js +42 -0
- package/dist/generated/types/PerpPosition.d.ts +29 -0
- package/dist/generated/types/PerpPosition.js +54 -0
- package/dist/generated/types/PoolBalance.d.ts +17 -0
- package/dist/generated/types/PoolBalance.js +42 -0
- package/dist/generated/types/Position.d.ts +20 -0
- package/dist/generated/types/Position.js +45 -0
- package/dist/generated/types/PositionDirection.d.ts +20 -0
- package/dist/generated/types/PositionDirection.js +47 -0
- package/dist/generated/types/PositionDrift.d.ts +18 -0
- package/dist/generated/types/PositionDrift.js +43 -0
- package/dist/generated/types/PostOnlyParam.d.ts +22 -0
- package/dist/generated/types/PostOnlyParam.js +49 -0
- package/dist/generated/types/Price.d.ts +41 -0
- package/dist/generated/types/Price.js +66 -0
- package/dist/generated/types/PriceComp.d.ts +19 -0
- package/dist/generated/types/PriceComp.js +44 -0
- package/dist/generated/types/PriceDivergenceGuardRails.d.ts +16 -0
- package/dist/generated/types/PriceDivergenceGuardRails.js +41 -0
- package/dist/generated/types/PriceInfo.d.ts +21 -0
- package/dist/generated/types/PriceInfo.js +46 -0
- package/dist/generated/types/PriceStatus.d.ts +22 -0
- package/dist/generated/types/PriceStatus.js +49 -0
- package/dist/generated/types/PriceType.d.ts +20 -0
- package/dist/generated/types/PriceType.js +47 -0
- package/dist/generated/types/ProcessSwapDepositArgs.d.ts +15 -0
- package/dist/generated/types/ProcessSwapDepositArgs.js +38 -0
- package/dist/generated/types/ProcessSwapDepositIntrospectionArgs.d.ts +15 -0
- package/dist/generated/types/ProcessSwapDepositIntrospectionArgs.js +38 -0
- package/dist/generated/types/Program.d.ts +19 -0
- package/dist/generated/types/Program.js +44 -0
- package/dist/generated/types/ProgramStatus.d.ts +20 -0
- package/dist/generated/types/ProgramStatus.js +47 -0
- package/dist/generated/types/RebalanceConfig.d.ts +15 -0
- package/dist/generated/types/RebalanceConfig.js +38 -0
- package/dist/generated/types/Recipient.d.ts +17 -0
- package/dist/generated/types/Recipient.js +42 -0
- package/dist/generated/types/Recipients.d.ts +17 -0
- package/dist/generated/types/Recipients.js +42 -0
- package/dist/generated/types/RedeemJlpArgs.d.ts +15 -0
- package/dist/generated/types/RedeemJlpArgs.js +38 -0
- package/dist/generated/types/Role.d.ts +25 -0
- package/dist/generated/types/Role.js +52 -0
- package/dist/generated/types/ShiftCollateral.d.ts +19 -0
- package/dist/generated/types/ShiftCollateral.js +44 -0
- package/dist/generated/types/ShiftPosition.d.ts +17 -0
- package/dist/generated/types/ShiftPosition.js +42 -0
- package/dist/generated/types/ShortHolding.d.ts +17 -0
- package/dist/generated/types/ShortHolding.js +42 -0
- package/dist/generated/types/SplBase.d.ts +17 -0
- package/dist/generated/types/SplBase.js +42 -0
- package/dist/generated/types/SplMain.d.ts +22 -0
- package/dist/generated/types/SplMain.js +47 -0
- package/dist/generated/types/Spls.d.ts +17 -0
- package/dist/generated/types/Spls.js +42 -0
- package/dist/generated/types/SpotBalanceType.d.ts +20 -0
- package/dist/generated/types/SpotBalanceType.js +47 -0
- package/dist/generated/types/SpotPosition.d.ts +23 -0
- package/dist/generated/types/SpotPosition.js +48 -0
- package/dist/generated/types/Status.d.ts +20 -0
- package/dist/generated/types/Status.js +47 -0
- package/dist/generated/types/Strategy.d.ts +31 -0
- package/dist/generated/types/Strategy.js +56 -0
- package/dist/generated/types/StrategyRoleEntry.d.ts +17 -0
- package/dist/generated/types/StrategyRoleEntry.js +42 -0
- package/dist/generated/types/SubAccount.d.ts +17 -0
- package/dist/generated/types/SubAccount.js +42 -0
- package/dist/generated/types/Update.d.ts +20 -0
- package/dist/generated/types/Update.js +47 -0
- package/dist/generated/types/UserFees.d.ts +20 -0
- package/dist/generated/types/UserFees.js +45 -0
- package/dist/generated/types/ValidityGuardRails.d.ts +18 -0
- package/dist/generated/types/ValidityGuardRails.js +43 -0
- package/dist/generated/types/index.d.ts +83 -0
- package/dist/generated/types/index.js +99 -0
- package/dist/helpers/getOrcaQuote.d.ts +3 -0
- package/dist/helpers/getOrcaQuote.js +27 -0
- package/dist/idl/perpetuals.d.ts +5771 -0
- package/dist/idl/perpetuals.js +5773 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +27 -0
- package/dist/stablecoins/JlpStablecoin.d.ts +1 -0
- package/dist/stablecoins/JlpStablecoin.js +44 -0
- package/dist/stablecoins/LstStablecoin.d.ts +19 -0
- package/dist/stablecoins/LstStablecoin.js +169 -0
- package/dist/stablecoins/UsdcStablecoin.d.ts +64 -0
- package/dist/stablecoins/UsdcStablecoin.js +145 -0
- package/dist/stablecoins/index.d.ts +3 -0
- package/dist/stablecoins/index.js +19 -0
- package/dist/strategies/JlpStrategy.d.ts +17 -0
- package/dist/strategies/JlpStrategy.js +337 -0
- package/dist/strategies/LstStrategy.d.ts +19 -0
- package/dist/strategies/LstStrategy.js +169 -0
- package/dist/strategies/UsdcStrategy.d.ts +12 -0
- package/dist/strategies/UsdcStrategy.js +89 -0
- package/dist/strategies/index.d.ts +3 -0
- package/dist/strategies/index.js +19 -0
- package/package.json +33 -0
package/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Reflect SDK
|
|
2
|
+
|
|
3
|
+
Typescript SDK for interacting with Reflect Protocol Delta-Neutral Program.
|
|
4
|
+
|
|
5
|
+
## Classes
|
|
6
|
+
SDK provides three classes:
|
|
7
|
+
- `Reflect` - general purpose class for user-level interactions. Mainly for `mint()` and `burn()` of stable.
|
|
8
|
+
- `ReflectAdmin` - admin-level class, allowing for modification of the core protocol settings.
|
|
9
|
+
- `ReflectCrank` - class used for cranking the protocol to capture spreads & funding.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare class PdaClient {
|
|
3
|
+
static deriveMain(): PublicKey;
|
|
4
|
+
static derivePermissions(user: PublicKey): PublicKey;
|
|
5
|
+
static deriveController(strategy: number): PublicKey;
|
|
6
|
+
static deriveControllerWithBump(strategy: number): [PublicKey, number];
|
|
7
|
+
static deriveRebalanceDetails(strategy: number): PublicKey;
|
|
8
|
+
static deriveJupiterPerpetuals(): PublicKey;
|
|
9
|
+
static deriveJlpPool(): PublicKey;
|
|
10
|
+
static deriveEventAuthority(): PublicKey;
|
|
11
|
+
static deriveTransferAuthority(): PublicKey;
|
|
12
|
+
static getDriftVaultFromMint(mint: PublicKey): Promise<PublicKey>;
|
|
13
|
+
static deriveMetadataAccount(mint: PublicKey): PublicKey;
|
|
14
|
+
static deriveCustody(pool: PublicKey, token: PublicKey): PublicKey;
|
|
15
|
+
static deriveLpConfig(): PublicKey;
|
|
16
|
+
static deriveLpAdmin(admin: PublicKey): PublicKey;
|
|
17
|
+
static deriveLpVault(vaultId: number): PublicKey;
|
|
18
|
+
static deriveLpVaultPool(vaultId: number): PublicKey;
|
|
19
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PdaClient = void 0;
|
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
17
|
+
const reflect_main_1 = require("../generated/reflect_main");
|
|
18
|
+
const reflect_tokenised_bonds_1 = require("../generated/reflect_tokenised_bonds");
|
|
19
|
+
const constants_1 = require("../constants");
|
|
20
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
21
|
+
const sdk_1 = require("@drift-labs/sdk");
|
|
22
|
+
const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
|
|
23
|
+
class PdaClient {
|
|
24
|
+
static deriveMain() {
|
|
25
|
+
const [main] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("main")], reflect_main_1.PROGRAM_ID);
|
|
26
|
+
return main;
|
|
27
|
+
}
|
|
28
|
+
static derivePermissions(user) {
|
|
29
|
+
const [permissions] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
30
|
+
Buffer.from("user_permission"),
|
|
31
|
+
user.toBuffer()
|
|
32
|
+
], reflect_main_1.PROGRAM_ID);
|
|
33
|
+
return permissions;
|
|
34
|
+
}
|
|
35
|
+
static deriveController(strategy) {
|
|
36
|
+
const [controller] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
37
|
+
Buffer.from("dex_controller"),
|
|
38
|
+
Buffer.from([strategy])
|
|
39
|
+
], reflect_main_1.PROGRAM_ID);
|
|
40
|
+
return controller;
|
|
41
|
+
}
|
|
42
|
+
static deriveControllerWithBump(strategy) {
|
|
43
|
+
return web3_js_1.PublicKey.findProgramAddressSync([
|
|
44
|
+
Buffer.from("dex_controller"),
|
|
45
|
+
Buffer.from([strategy])
|
|
46
|
+
], reflect_main_1.PROGRAM_ID);
|
|
47
|
+
}
|
|
48
|
+
static deriveRebalanceDetails(strategy) {
|
|
49
|
+
const [rebalanceDetails] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
50
|
+
Buffer.from("rebalance_details"),
|
|
51
|
+
this.deriveController(strategy).toBuffer()
|
|
52
|
+
], reflect_main_1.PROGRAM_ID);
|
|
53
|
+
return rebalanceDetails;
|
|
54
|
+
}
|
|
55
|
+
static deriveJupiterPerpetuals() {
|
|
56
|
+
const [perpetuals] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
57
|
+
Buffer.from("perpetuals")
|
|
58
|
+
], constants_1.JUPITER_PROGRAM_ID);
|
|
59
|
+
return perpetuals;
|
|
60
|
+
}
|
|
61
|
+
static deriveJlpPool() {
|
|
62
|
+
const [jlpPool] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
63
|
+
Buffer.from("pool"),
|
|
64
|
+
Buffer.from("Pool")
|
|
65
|
+
], constants_1.JUPITER_PROGRAM_ID);
|
|
66
|
+
return jlpPool;
|
|
67
|
+
}
|
|
68
|
+
static deriveEventAuthority() {
|
|
69
|
+
const [eventAuthority] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
70
|
+
Buffer.from("__event_authority"),
|
|
71
|
+
], constants_1.JUPITER_PROGRAM_ID);
|
|
72
|
+
return eventAuthority;
|
|
73
|
+
}
|
|
74
|
+
static deriveTransferAuthority() {
|
|
75
|
+
const [transferAuthority] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
76
|
+
Buffer.from("transfer_authority"),
|
|
77
|
+
], constants_1.JUPITER_PROGRAM_ID);
|
|
78
|
+
return transferAuthority;
|
|
79
|
+
}
|
|
80
|
+
static getDriftVaultFromMint(mint) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const { marketIndex } = sdk_1.SpotMarkets["mainnet-beta"]
|
|
83
|
+
.find(({ mint: marketMint }) => marketMint.equals(mint));
|
|
84
|
+
return yield (0, sdk_1.getSpotMarketVaultPublicKey)(constants_1.DRIFT_PROGRAM_ID, marketIndex);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
static deriveMetadataAccount(mint) {
|
|
88
|
+
const [metadata] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
89
|
+
Buffer.from("metadata"),
|
|
90
|
+
mpl_token_metadata_1.PROGRAM_ID.toBuffer(),
|
|
91
|
+
mint.toBuffer(),
|
|
92
|
+
], mpl_token_metadata_1.PROGRAM_ID);
|
|
93
|
+
return metadata;
|
|
94
|
+
}
|
|
95
|
+
static deriveCustody(pool, token) {
|
|
96
|
+
const [custody] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
97
|
+
Buffer.from("custody"),
|
|
98
|
+
pool.toBuffer(),
|
|
99
|
+
token.toBuffer()
|
|
100
|
+
], constants_1.JUPITER_PROGRAM_ID);
|
|
101
|
+
return custody;
|
|
102
|
+
}
|
|
103
|
+
static deriveLpConfig() {
|
|
104
|
+
const [config] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
105
|
+
Buffer.from("config")
|
|
106
|
+
], reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
107
|
+
return config;
|
|
108
|
+
}
|
|
109
|
+
static deriveLpAdmin(admin) {
|
|
110
|
+
const [adminPda] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
111
|
+
Buffer.from("admin"),
|
|
112
|
+
admin.toBuffer()
|
|
113
|
+
], reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
114
|
+
return adminPda;
|
|
115
|
+
}
|
|
116
|
+
static deriveLpVault(vaultId) {
|
|
117
|
+
const [vault] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
118
|
+
Buffer.from("vault"),
|
|
119
|
+
new bn_js_1.default(vaultId).toArrayLike(Buffer, "le", 8)
|
|
120
|
+
], reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
121
|
+
return vault;
|
|
122
|
+
}
|
|
123
|
+
static deriveLpVaultPool(vaultId) {
|
|
124
|
+
const [pool] = web3_js_1.PublicKey.findProgramAddressSync([
|
|
125
|
+
Buffer.from("vault_pool"),
|
|
126
|
+
PdaClient.deriveLpVault(vaultId).toBuffer()
|
|
127
|
+
], reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
128
|
+
return pool;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.PdaClient = PdaClient;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
import { Action, Role, Update } from "../generated/reflect_main";
|
|
3
|
+
export declare class ReflectAdmin {
|
|
4
|
+
private admin;
|
|
5
|
+
private main;
|
|
6
|
+
private connection;
|
|
7
|
+
constructor({ admin, connection }: {
|
|
8
|
+
admin: PublicKey;
|
|
9
|
+
connection: Connection;
|
|
10
|
+
});
|
|
11
|
+
static initializeMain(admin: PublicKey): import("@solana/web3.js").TransactionInstruction;
|
|
12
|
+
freezeProtocolAction(freeze: boolean, action: Action): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
13
|
+
freezeDex(freeze: boolean, programIndex: number): Promise<void>;
|
|
14
|
+
createAdminAccount(signer: PublicKey, newAdmin: PublicKey): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
15
|
+
updateRoleHolderProtocol(signer: PublicKey, adminToUpdate: PublicKey, affectedRole: Role, update: Update): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
16
|
+
updateRoleHolderStrategy(signer: PublicKey, strategyId: number, adminToUpdate: PublicKey, affectedRole: Role, update: Update): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
17
|
+
updateActionRoleStrategy(signer: PublicKey, strategyId: number, action: Action, affectedRole: Role, update: Update): Promise<void>;
|
|
18
|
+
updateActionRoleProtocol(signer: PublicKey, action: Action, affectedRole: Role, update: Update): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ReflectAdmin = void 0;
|
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
14
|
+
const reflect_main_1 = require("../generated/reflect_main");
|
|
15
|
+
const PdaClient_1 = require("./PdaClient");
|
|
16
|
+
class ReflectAdmin {
|
|
17
|
+
constructor({ admin, connection }) {
|
|
18
|
+
this.admin = admin;
|
|
19
|
+
this.connection = connection;
|
|
20
|
+
this.main = PdaClient_1.PdaClient.deriveMain();
|
|
21
|
+
}
|
|
22
|
+
// Create `Main` account. Initial step of the setup
|
|
23
|
+
static initializeMain(admin) {
|
|
24
|
+
const [main] = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("main")], reflect_main_1.PROGRAM_ID);
|
|
25
|
+
const ix = (0, reflect_main_1.createInitMainInstruction)({
|
|
26
|
+
main,
|
|
27
|
+
admin,
|
|
28
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
29
|
+
creds: PdaClient_1.PdaClient.derivePermissions(admin)
|
|
30
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
31
|
+
return ix;
|
|
32
|
+
}
|
|
33
|
+
freezeProtocolAction(freeze, action) {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const ix = (0, reflect_main_1.createFreezeProtocolActionInstruction)({
|
|
36
|
+
admin: this.admin,
|
|
37
|
+
main: this.main,
|
|
38
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
39
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(this.admin),
|
|
40
|
+
}, {
|
|
41
|
+
freeze,
|
|
42
|
+
action
|
|
43
|
+
});
|
|
44
|
+
return ix;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
freezeDex(freeze, programIndex) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const ix = (0, reflect_main_1.createFreezeProgramInstruction)({
|
|
50
|
+
admin: this.admin,
|
|
51
|
+
main: this.main,
|
|
52
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
53
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(this.admin),
|
|
54
|
+
}, {
|
|
55
|
+
freeze,
|
|
56
|
+
programIndex
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
createAdminAccount(signer, newAdmin) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const ix = (0, reflect_main_1.createCreateAdminAccountInstruction)({
|
|
63
|
+
caller: signer,
|
|
64
|
+
newCreds: PdaClient_1.PdaClient.derivePermissions(newAdmin),
|
|
65
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
66
|
+
}, {
|
|
67
|
+
newAdmin
|
|
68
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
69
|
+
return ix;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
updateRoleHolderProtocol(signer, adminToUpdate, affectedRole, update) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const ix = (0, reflect_main_1.createUpdateRoleHolderProtocolInstruction)({
|
|
75
|
+
admin: signer,
|
|
76
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
77
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
78
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
79
|
+
updateAdminPermissions: PdaClient_1.PdaClient.derivePermissions(adminToUpdate),
|
|
80
|
+
// Dummy strategy account.
|
|
81
|
+
strategy: PdaClient_1.PdaClient.deriveController(0)
|
|
82
|
+
}, {
|
|
83
|
+
update,
|
|
84
|
+
accessLevel: affectedRole,
|
|
85
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
86
|
+
return ix;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
updateRoleHolderStrategy(signer, strategyId, adminToUpdate, affectedRole, update) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const ix = (0, reflect_main_1.createUpdateRoleHolderStrategyInstruction)({
|
|
92
|
+
admin: signer,
|
|
93
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
94
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
95
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
96
|
+
updateAdminPermissions: PdaClient_1.PdaClient.derivePermissions(adminToUpdate),
|
|
97
|
+
strategy: PdaClient_1.PdaClient.deriveController(strategyId)
|
|
98
|
+
}, {
|
|
99
|
+
update,
|
|
100
|
+
role: affectedRole,
|
|
101
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
102
|
+
return ix;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
updateActionRoleStrategy(signer, strategyId, action, affectedRole, update) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const ix = (0, reflect_main_1.createUpdateActionRoleStrategyInstruction)({
|
|
108
|
+
admin: signer,
|
|
109
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
110
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
111
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
112
|
+
strategy: PdaClient_1.PdaClient.deriveController(strategyId)
|
|
113
|
+
}, {
|
|
114
|
+
update,
|
|
115
|
+
role: affectedRole,
|
|
116
|
+
action
|
|
117
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
updateActionRoleProtocol(signer, action, affectedRole, update) {
|
|
121
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
const ix = (0, reflect_main_1.createUpdateActionRoleProtocolInstruction)({
|
|
123
|
+
admin: signer,
|
|
124
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
125
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
126
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
127
|
+
}, {
|
|
128
|
+
action,
|
|
129
|
+
role: affectedRole,
|
|
130
|
+
update
|
|
131
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
132
|
+
return ix;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.ReflectAdmin = ReflectAdmin;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Connection } from "@solana/web3.js";
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
import { Keypair } from "@solana/web3.js";
|
|
5
|
+
export declare class ReflectTokenisedBond {
|
|
6
|
+
connection: Connection;
|
|
7
|
+
constructor(connection: Connection);
|
|
8
|
+
createReceiptToken(connection: Connection, signer: PublicKey, vault: PublicKey): Promise<{
|
|
9
|
+
instructions: import("@solana/web3.js").TransactionInstruction[];
|
|
10
|
+
signers: Keypair[];
|
|
11
|
+
}>;
|
|
12
|
+
initialize(signer: PublicKey): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
13
|
+
initializeVault(signer: PublicKey, depositMint: PublicKey, receiptMint: PublicKey): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
14
|
+
deposit(signer: PublicKey, vaultId: number, amount: BN): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
15
|
+
withdraw(signer: PublicKey, vaultId: number, amount: BN): Promise<import("@solana/web3.js").TransactionInstruction>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ReflectTokenisedBond = void 0;
|
|
13
|
+
const reflect_tokenised_bonds_1 = require("../generated/reflect_tokenised_bonds");
|
|
14
|
+
const PdaClient_1 = require("./PdaClient");
|
|
15
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
16
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
17
|
+
const web3_js_2 = require("@solana/web3.js");
|
|
18
|
+
class ReflectTokenisedBond {
|
|
19
|
+
constructor(connection) {
|
|
20
|
+
this.connection = connection;
|
|
21
|
+
}
|
|
22
|
+
createReceiptToken(connection, signer, vault) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const keypair = web3_js_2.Keypair.generate();
|
|
25
|
+
const lamports = yield connection.getMinimumBalanceForRentExemption(spl_token_1.MINT_SIZE);
|
|
26
|
+
const createAccountIx = web3_js_1.SystemProgram.createAccount({
|
|
27
|
+
newAccountPubkey: keypair.publicKey,
|
|
28
|
+
fromPubkey: signer,
|
|
29
|
+
lamports,
|
|
30
|
+
programId: spl_token_1.TOKEN_PROGRAM_ID,
|
|
31
|
+
space: spl_token_1.MINT_SIZE
|
|
32
|
+
});
|
|
33
|
+
const ix = (0, spl_token_1.createInitializeMintInstruction)(keypair.publicKey, 9, vault, vault);
|
|
34
|
+
return {
|
|
35
|
+
instructions: [createAccountIx, ix],
|
|
36
|
+
signers: [keypair]
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
initialize(signer) {
|
|
41
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const config = PdaClient_1.PdaClient.deriveLpConfig();
|
|
43
|
+
const admin = PdaClient_1.PdaClient.deriveLpAdmin(signer);
|
|
44
|
+
const ix = (0, reflect_tokenised_bonds_1.createInitializeInstruction)({
|
|
45
|
+
config,
|
|
46
|
+
admin,
|
|
47
|
+
signer,
|
|
48
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
49
|
+
}, reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
50
|
+
return ix;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
initializeVault(signer, depositMint, receiptMint) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const config = PdaClient_1.PdaClient.deriveLpConfig();
|
|
56
|
+
const vault = PdaClient_1.PdaClient.deriveLpVault(0);
|
|
57
|
+
const vaultPool = PdaClient_1.PdaClient.deriveLpVaultPool(0);
|
|
58
|
+
const ix = (0, reflect_tokenised_bonds_1.createCreateVaultInstruction)({
|
|
59
|
+
config,
|
|
60
|
+
depositMint,
|
|
61
|
+
receiptMint,
|
|
62
|
+
signer,
|
|
63
|
+
vault,
|
|
64
|
+
vaultPool,
|
|
65
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
66
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID
|
|
67
|
+
}, reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
68
|
+
return ix;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
deposit(signer, vaultId, amount) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const vault = PdaClient_1.PdaClient.deriveLpVault(0);
|
|
74
|
+
const vaultPool = PdaClient_1.PdaClient.deriveLpVaultPool(0);
|
|
75
|
+
const { depositTokenMint, receiptTokenMint } = yield reflect_tokenised_bonds_1.Vault
|
|
76
|
+
.fromAccountAddress(this.connection, vault);
|
|
77
|
+
const signerDepositTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(depositTokenMint, signer);
|
|
78
|
+
const signerReceiptTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(receiptTokenMint, signer);
|
|
79
|
+
const ix = (0, reflect_tokenised_bonds_1.createDepositInstruction)({
|
|
80
|
+
vault,
|
|
81
|
+
depositToken: depositTokenMint,
|
|
82
|
+
pool: vaultPool,
|
|
83
|
+
receiptToken: receiptTokenMint,
|
|
84
|
+
signer,
|
|
85
|
+
signerDepositTokenAccount,
|
|
86
|
+
signerReceiptTokenAccount,
|
|
87
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID
|
|
88
|
+
}, {
|
|
89
|
+
args: {
|
|
90
|
+
amount,
|
|
91
|
+
isRewards: false,
|
|
92
|
+
vaultId
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return ix;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
withdraw(signer, vaultId, amount) {
|
|
99
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const vault = PdaClient_1.PdaClient.deriveLpVault(0);
|
|
101
|
+
const vaultPool = PdaClient_1.PdaClient.deriveLpVaultPool(0);
|
|
102
|
+
const { depositTokenMint, receiptTokenMint } = yield reflect_tokenised_bonds_1.Vault
|
|
103
|
+
.fromAccountAddress(this.connection, vault);
|
|
104
|
+
const signerDepositTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(depositTokenMint, signer);
|
|
105
|
+
const signerReceiptTokenAccount = (0, spl_token_1.getAssociatedTokenAddressSync)(receiptTokenMint, signer);
|
|
106
|
+
const ix = (0, reflect_tokenised_bonds_1.createWithdrawInstruction)({
|
|
107
|
+
depositMint: depositTokenMint,
|
|
108
|
+
pool: vaultPool,
|
|
109
|
+
receiptMint: receiptTokenMint,
|
|
110
|
+
signer,
|
|
111
|
+
signerDepositTokenAccount,
|
|
112
|
+
signerReceiptTokenAccount,
|
|
113
|
+
vault,
|
|
114
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID
|
|
115
|
+
}, {
|
|
116
|
+
args: {
|
|
117
|
+
amount,
|
|
118
|
+
vaultId
|
|
119
|
+
}
|
|
120
|
+
}, reflect_tokenised_bonds_1.PROGRAM_ID);
|
|
121
|
+
return ix;
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.ReflectTokenisedBond = ReflectTokenisedBond;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AccountMeta, Connection, Keypair, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import { DriftClient } from "@drift-labs/sdk";
|
|
4
|
+
import { Action } from "../generated/reflect_main";
|
|
5
|
+
import { StablecoinMetadata, Collateral } from "../types";
|
|
6
|
+
export declare abstract class Stablecoin {
|
|
7
|
+
index: number;
|
|
8
|
+
name: string;
|
|
9
|
+
connection: Connection;
|
|
10
|
+
controller: PublicKey;
|
|
11
|
+
collaterals: Collateral[];
|
|
12
|
+
stablecoinMint: PublicKey;
|
|
13
|
+
driftClient?: DriftClient;
|
|
14
|
+
constructor(index: number, name: string, connection: Connection);
|
|
15
|
+
initializeTokenAccounts(owner: PublicKey, mints: PublicKey[], signer: PublicKey): Promise<TransactionInstruction[]>;
|
|
16
|
+
updateCap(signer: PublicKey, newCap: BN | number): Promise<TransactionInstruction>;
|
|
17
|
+
updateRecipients(signer: PublicKey, recipients: Map<PublicKey, number>): Promise<TransactionInstruction>;
|
|
18
|
+
initializeStablecoinDriftAccount(signer: PublicKey, subAccountId?: number): Promise<TransactionInstruction>;
|
|
19
|
+
initializeStablecoinDriftStatsAccount(signer: PublicKey): Promise<TransactionInstruction>;
|
|
20
|
+
freeze(signer: PublicKey, freeze: boolean, action: Action): Promise<TransactionInstruction>;
|
|
21
|
+
initializeStablecoin(signer: PublicKey, tokenKeypair: Keypair, metadata?: StablecoinMetadata): Promise<TransactionInstruction[]>;
|
|
22
|
+
updateRebalanceSlippage(signer: PublicKey, slippage: number): Promise<TransactionInstruction>;
|
|
23
|
+
getCollateralPrice(mint: PublicKey): Promise<void>;
|
|
24
|
+
abstract constructAccounts<T>(signer: PublicKey, ...args: any[]): Promise<T>;
|
|
25
|
+
abstract constructRemainingAccounts(): Promise<AccountMeta[]>;
|
|
26
|
+
abstract initialize(signer: PublicKey, ...args: any[]): Promise<TransactionInstruction[]>;
|
|
27
|
+
abstract mint(signer: PublicKey, amount: BN | number, minimumReceived: BN | number, ...args: any[]): Promise<TransactionInstruction[]>;
|
|
28
|
+
abstract redeem(signer: PublicKey, amount: BN | number, minimumReceived: BN | number, ...args: any[]): Promise<TransactionInstruction[]>;
|
|
29
|
+
abstract rebalance(signer: PublicKey): Promise<TransactionInstruction[]>;
|
|
30
|
+
}
|