@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
|
@@ -0,0 +1,193 @@
|
|
|
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.Stablecoin = void 0;
|
|
16
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
17
|
+
const sdk_1 = require("@drift-labs/sdk");
|
|
18
|
+
const reflect_main_1 = require("../generated/reflect_main");
|
|
19
|
+
const PdaClient_1 = require("./PdaClient");
|
|
20
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
21
|
+
const constants_1 = require("../constants");
|
|
22
|
+
const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
|
|
23
|
+
const axios_1 = __importDefault(require("axios"));
|
|
24
|
+
const PYTH_API_URL = "https://xc-mainnet.pyth.network/api/v1/price_feed/";
|
|
25
|
+
class Stablecoin {
|
|
26
|
+
constructor(index, name, connection) {
|
|
27
|
+
this.index = index;
|
|
28
|
+
this.name = name;
|
|
29
|
+
this.connection = connection;
|
|
30
|
+
this.controller = PdaClient_1.PdaClient.deriveController(this.index);
|
|
31
|
+
}
|
|
32
|
+
initializeTokenAccounts(owner, mints, signer) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const instructions = [];
|
|
35
|
+
for (const mint of mints) {
|
|
36
|
+
const ata = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, owner, true);
|
|
37
|
+
let isInitialized = false;
|
|
38
|
+
try {
|
|
39
|
+
let account = yield this.connection.getAccountInfo(ata);
|
|
40
|
+
isInitialized = account !== null;
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
isInitialized = false;
|
|
44
|
+
}
|
|
45
|
+
if (!isInitialized) {
|
|
46
|
+
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(signer, ata, owner, mint));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return instructions;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
updateCap(signer, newCap) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const ix = (0, reflect_main_1.createUpdateCapInstruction)({
|
|
55
|
+
admin: signer,
|
|
56
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
57
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
58
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
59
|
+
strategy: this.controller
|
|
60
|
+
}, {
|
|
61
|
+
newCap,
|
|
62
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
63
|
+
return ix;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
updateRecipients(signer, recipients) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
const ix = (0, reflect_main_1.createUpdateRecipientsInstruction)({
|
|
69
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
70
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
71
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
72
|
+
admin: signer,
|
|
73
|
+
strategy: this.controller
|
|
74
|
+
}, {
|
|
75
|
+
recipientAddresses: [...recipients.keys()],
|
|
76
|
+
recipientCuts: [...recipients.values()],
|
|
77
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
78
|
+
return ix;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
initializeStablecoinDriftAccount(signer_1) {
|
|
82
|
+
return __awaiter(this, arguments, void 0, function* (signer, subAccountId = 0) {
|
|
83
|
+
const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, subAccountId);
|
|
84
|
+
const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller);
|
|
85
|
+
const ix = (0, reflect_main_1.createAddSubAccountInstruction)({
|
|
86
|
+
admin: signer,
|
|
87
|
+
drift: constants_1.DRIFT_PROGRAM_ID,
|
|
88
|
+
state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
|
|
89
|
+
userStats,
|
|
90
|
+
userAccount,
|
|
91
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
92
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
93
|
+
rent: web3_js_1.SYSVAR_RENT_PUBKEY,
|
|
94
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
95
|
+
lstController: this.controller
|
|
96
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
97
|
+
return ix;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
initializeStablecoinDriftStatsAccount(signer) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, 0);
|
|
103
|
+
const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller);
|
|
104
|
+
const ix = (0, reflect_main_1.createCreateUserStatsAccountInstruction)({
|
|
105
|
+
admin: signer,
|
|
106
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
107
|
+
drift: constants_1.DRIFT_PROGRAM_ID,
|
|
108
|
+
userStats,
|
|
109
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
110
|
+
controller: this.controller,
|
|
111
|
+
rent: web3_js_1.SYSVAR_RENT_PUBKEY,
|
|
112
|
+
state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
|
|
113
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
114
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
115
|
+
return ix;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
freeze(signer, freeze, action) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const ix = (0, reflect_main_1.createFreezeStrategyActionInstruction)({
|
|
121
|
+
admin: signer,
|
|
122
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
123
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
124
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
125
|
+
strategy: this.controller,
|
|
126
|
+
}, {
|
|
127
|
+
freeze,
|
|
128
|
+
action,
|
|
129
|
+
strategyId: this.index
|
|
130
|
+
});
|
|
131
|
+
return ix;
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
initializeStablecoin(signer, tokenKeypair, metadata) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
const instructions = [];
|
|
137
|
+
const createAccountInstruction = web3_js_1.SystemProgram.createAccount({
|
|
138
|
+
lamports: yield this.connection.getMinimumBalanceForRentExemption(spl_token_1.MINT_SIZE),
|
|
139
|
+
space: spl_token_1.MINT_SIZE,
|
|
140
|
+
fromPubkey: signer,
|
|
141
|
+
newAccountPubkey: tokenKeypair.publicKey,
|
|
142
|
+
programId: spl_token_1.TOKEN_PROGRAM_ID
|
|
143
|
+
});
|
|
144
|
+
instructions.push(createAccountInstruction);
|
|
145
|
+
const initializeMintInstruction = (0, spl_token_1.createInitializeMint2Instruction)(tokenKeypair.publicKey, 6, signer, signer);
|
|
146
|
+
instructions.push(initializeMintInstruction);
|
|
147
|
+
if (metadata) {
|
|
148
|
+
const createMetadataInstruction = (0, mpl_token_metadata_1.createCreateMetadataAccountV3Instruction)({
|
|
149
|
+
metadata: PdaClient_1.PdaClient.deriveMetadataAccount(tokenKeypair.publicKey),
|
|
150
|
+
mint: tokenKeypair.publicKey,
|
|
151
|
+
mintAuthority: signer,
|
|
152
|
+
payer: signer,
|
|
153
|
+
updateAuthority: signer
|
|
154
|
+
}, {
|
|
155
|
+
createMetadataAccountArgsV3: {
|
|
156
|
+
data: metadata,
|
|
157
|
+
isMutable: true,
|
|
158
|
+
collectionDetails: null
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
instructions.push(createMetadataInstruction);
|
|
162
|
+
}
|
|
163
|
+
const setAuthorityInstruction = (0, spl_token_1.createSetAuthorityInstruction)(tokenKeypair.publicKey, signer, spl_token_1.AuthorityType.MintTokens, this.controller);
|
|
164
|
+
instructions.push(setAuthorityInstruction);
|
|
165
|
+
return instructions;
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
updateRebalanceSlippage(signer, slippage) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
const ix = (0, reflect_main_1.createUpdateRebalanceSlippageInstruction)({
|
|
171
|
+
admin: signer,
|
|
172
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
173
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
174
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
175
|
+
strategy: this.controller
|
|
176
|
+
}, {
|
|
177
|
+
slippage
|
|
178
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
179
|
+
return ix;
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
getCollateralPrice(mint) {
|
|
183
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
184
|
+
var _a;
|
|
185
|
+
const oracle = (_a = this.collaterals.find(({ mint: collateralMint }) => collateralMint.equals(mint))) === null || _a === void 0 ? void 0 : _a.oracle;
|
|
186
|
+
if (!oracle) {
|
|
187
|
+
throw new Error(`Oracle not found for collateral ${mint.toBase58()}`);
|
|
188
|
+
}
|
|
189
|
+
axios_1.default.get(`${PYTH_API_URL}${oracle}`);
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
exports.Stablecoin = Stablecoin;
|
|
@@ -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";
|
|
5
|
+
import { StablecoinMetadata } from "../types";
|
|
6
|
+
export declare abstract class Strategy {
|
|
7
|
+
index: number;
|
|
8
|
+
name: string;
|
|
9
|
+
connection: Connection;
|
|
10
|
+
controller: PublicKey;
|
|
11
|
+
collateralMints: PublicKey[];
|
|
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
|
+
freezeCollateral(signer: PublicKey, freeze: boolean, mint: PublicKey): Promise<TransactionInstruction>;
|
|
18
|
+
freezeCollateralStrategy(signer: PublicKey, freeze: boolean, mint: PublicKey): Promise<TransactionInstruction>;
|
|
19
|
+
updateRecipients(signer: PublicKey, recipients: Map<PublicKey, number>): Promise<TransactionInstruction>;
|
|
20
|
+
initializeStrategyDriftAccount(signer: PublicKey, subAccountId?: number): Promise<TransactionInstruction>;
|
|
21
|
+
initializeStrategyDriftStatsAccount(signer: PublicKey): Promise<TransactionInstruction>;
|
|
22
|
+
freeze(signer: PublicKey, freeze: boolean, action: Action): Promise<TransactionInstruction>;
|
|
23
|
+
initializeStablecoin(signer: PublicKey, tokenKeypair: Keypair, metadata?: StablecoinMetadata): Promise<TransactionInstruction[]>;
|
|
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
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
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.Strategy = void 0;
|
|
13
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
14
|
+
const sdk_1 = require("@drift-labs/sdk");
|
|
15
|
+
const generated_1 = require("../generated");
|
|
16
|
+
const PdaClient_1 = require("./PdaClient");
|
|
17
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
18
|
+
const constants_1 = require("../constants");
|
|
19
|
+
const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
|
|
20
|
+
class Strategy {
|
|
21
|
+
constructor(index, name, connection) {
|
|
22
|
+
this.index = index;
|
|
23
|
+
this.name = name;
|
|
24
|
+
this.connection = connection;
|
|
25
|
+
this.controller = PdaClient_1.PdaClient.deriveController(this.index);
|
|
26
|
+
}
|
|
27
|
+
initializeTokenAccounts(owner, mints, signer) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const instructions = [];
|
|
30
|
+
for (const mint of mints) {
|
|
31
|
+
const ata = (0, spl_token_1.getAssociatedTokenAddressSync)(mint, owner, true);
|
|
32
|
+
let isInitialized = false;
|
|
33
|
+
try {
|
|
34
|
+
let account = yield this.connection.getAccountInfo(ata);
|
|
35
|
+
isInitialized = account !== null;
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
isInitialized = false;
|
|
39
|
+
}
|
|
40
|
+
if (!isInitialized) {
|
|
41
|
+
instructions.push((0, spl_token_1.createAssociatedTokenAccountInstruction)(signer, ata, owner, mint));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return instructions;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
updateCap(signer, newCap) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const ix = (0, generated_1.createUpdateCapInstruction)({
|
|
50
|
+
admin: signer,
|
|
51
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
52
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
53
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
54
|
+
strategy: this.controller
|
|
55
|
+
}, {
|
|
56
|
+
newCap,
|
|
57
|
+
}, generated_1.PROGRAM_ID);
|
|
58
|
+
return ix;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
freezeCollateral(signer, freeze, mint) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const ix = (0, generated_1.createSuspendLstProtocolInstruction)({
|
|
64
|
+
admin: signer,
|
|
65
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
66
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
67
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
68
|
+
}, {
|
|
69
|
+
freeze,
|
|
70
|
+
lstMint: mint
|
|
71
|
+
}, generated_1.PROGRAM_ID);
|
|
72
|
+
return ix;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
freezeCollateralStrategy(signer, freeze, mint) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const ix = (0, generated_1.createSuspendLstStrategyInstruction)({
|
|
78
|
+
admin: signer,
|
|
79
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
80
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
81
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
82
|
+
strategy: this.controller
|
|
83
|
+
}, {
|
|
84
|
+
freeze,
|
|
85
|
+
lstMint: mint
|
|
86
|
+
}, generated_1.PROGRAM_ID);
|
|
87
|
+
return ix;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
updateRecipients(signer, recipients) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
const ix = (0, generated_1.createUpdateRecipientsInstruction)({
|
|
93
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
94
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
95
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
96
|
+
admin: signer,
|
|
97
|
+
strategy: this.controller
|
|
98
|
+
}, {
|
|
99
|
+
recipientAddresses: [...recipients.keys()],
|
|
100
|
+
recipientCuts: [...recipients.values()],
|
|
101
|
+
}, generated_1.PROGRAM_ID);
|
|
102
|
+
return ix;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
initializeStrategyDriftAccount(signer_1) {
|
|
106
|
+
return __awaiter(this, arguments, void 0, function* (signer, subAccountId = 0) {
|
|
107
|
+
const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, subAccountId);
|
|
108
|
+
const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller);
|
|
109
|
+
const [_, controllerBump] = PdaClient_1.PdaClient.deriveControllerWithBump(this.index);
|
|
110
|
+
const ix = (0, generated_1.createAddSubAccountInstruction)({
|
|
111
|
+
admin: signer,
|
|
112
|
+
drift: constants_1.DRIFT_PROGRAM_ID,
|
|
113
|
+
state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
|
|
114
|
+
userStats,
|
|
115
|
+
userAccount,
|
|
116
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
117
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
118
|
+
rent: web3_js_1.SYSVAR_RENT_PUBKEY,
|
|
119
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
120
|
+
lstController: this.controller
|
|
121
|
+
}, generated_1.PROGRAM_ID);
|
|
122
|
+
return ix;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
initializeStrategyDriftStatsAccount(signer) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, 0);
|
|
128
|
+
const userStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller);
|
|
129
|
+
const [_, controllerBump] = PdaClient_1.PdaClient.deriveControllerWithBump(this.index);
|
|
130
|
+
const ix = (0, generated_1.createCreateUserStatsAccountInstruction)({
|
|
131
|
+
admin: signer,
|
|
132
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
133
|
+
drift: constants_1.DRIFT_PROGRAM_ID,
|
|
134
|
+
userStats,
|
|
135
|
+
userAccount,
|
|
136
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
137
|
+
controller: this.controller,
|
|
138
|
+
rent: web3_js_1.SYSVAR_RENT_PUBKEY,
|
|
139
|
+
state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
|
|
140
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
141
|
+
}, generated_1.PROGRAM_ID);
|
|
142
|
+
return ix;
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
freeze(signer, freeze, action) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
const ix = (0, generated_1.createFreezeStrategyActionInstruction)({
|
|
148
|
+
admin: signer,
|
|
149
|
+
main: PdaClient_1.PdaClient.deriveMain(),
|
|
150
|
+
adminPermissions: PdaClient_1.PdaClient.derivePermissions(signer),
|
|
151
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
152
|
+
strategy: this.controller,
|
|
153
|
+
}, {
|
|
154
|
+
freeze,
|
|
155
|
+
action,
|
|
156
|
+
strategyId: this.index
|
|
157
|
+
});
|
|
158
|
+
return ix;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
initializeStablecoin(signer, tokenKeypair, metadata) {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
const instructions = [];
|
|
164
|
+
const createAccountInstruction = web3_js_1.SystemProgram.createAccount({
|
|
165
|
+
lamports: yield this.connection.getMinimumBalanceForRentExemption(spl_token_1.MINT_SIZE),
|
|
166
|
+
space: spl_token_1.MINT_SIZE,
|
|
167
|
+
fromPubkey: signer,
|
|
168
|
+
newAccountPubkey: tokenKeypair.publicKey,
|
|
169
|
+
programId: spl_token_1.TOKEN_PROGRAM_ID
|
|
170
|
+
});
|
|
171
|
+
instructions.push(createAccountInstruction);
|
|
172
|
+
const initializeMintInstruction = (0, spl_token_1.createInitializeMint2Instruction)(tokenKeypair.publicKey, 6, signer, signer);
|
|
173
|
+
instructions.push(initializeMintInstruction);
|
|
174
|
+
if (metadata) {
|
|
175
|
+
const createMetadataInstruction = (0, mpl_token_metadata_1.createCreateMetadataAccountV3Instruction)({
|
|
176
|
+
metadata: PdaClient_1.PdaClient.deriveMetadataAccount(tokenKeypair.publicKey),
|
|
177
|
+
mint: tokenKeypair.publicKey,
|
|
178
|
+
mintAuthority: signer,
|
|
179
|
+
payer: signer,
|
|
180
|
+
updateAuthority: signer
|
|
181
|
+
}, {
|
|
182
|
+
createMetadataAccountArgsV3: {
|
|
183
|
+
data: metadata,
|
|
184
|
+
isMutable: true,
|
|
185
|
+
collectionDetails: null
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
instructions.push(createMetadataInstruction);
|
|
189
|
+
}
|
|
190
|
+
const setAuthorityInstruction = (0, spl_token_1.createSetAuthorityInstruction)(tokenKeypair.publicKey, signer, spl_token_1.AuthorityType.MintTokens, this.controller);
|
|
191
|
+
instructions.push(setAuthorityInstruction);
|
|
192
|
+
return instructions;
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.Strategy = Strategy;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ReflectAdmin"), exports);
|
|
18
|
+
__exportStar(require("./PdaClient"), exports);
|
|
19
|
+
__exportStar(require("./Stablecoin"), exports);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
declare const DRIFT_VAULT: PublicKey;
|
|
3
|
+
declare const DRIFT_PROGRAM_ID: PublicKey;
|
|
4
|
+
declare const REFERRAL_USER: PublicKey;
|
|
5
|
+
declare const REFERRAL_USER_STATS: PublicKey;
|
|
6
|
+
export { DRIFT_VAULT, REFERRAL_USER, REFERRAL_USER_STATS, DRIFT_PROGRAM_ID };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DRIFT_PROGRAM_ID = exports.REFERRAL_USER_STATS = exports.REFERRAL_USER = exports.DRIFT_VAULT = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const sdk_1 = require("@drift-labs/sdk");
|
|
6
|
+
// No devnet?
|
|
7
|
+
const DRIFT_VAULT = new web3_js_1.PublicKey("JCNCMFXo5M5qwUPg2Utu1u6YWp3MbygxqBsBeXXJfrw");
|
|
8
|
+
exports.DRIFT_VAULT = DRIFT_VAULT;
|
|
9
|
+
const DRIFT_PROGRAM_ID = new web3_js_1.PublicKey(sdk_1.DRIFT_PROGRAM_ID);
|
|
10
|
+
exports.DRIFT_PROGRAM_ID = DRIFT_PROGRAM_ID;
|
|
11
|
+
const REFERRAL_USER = new web3_js_1.PublicKey("9XuTCfYKnecKCw4sSYZXdnR85miLuVWETZSMBRMTNVrj");
|
|
12
|
+
exports.REFERRAL_USER = REFERRAL_USER;
|
|
13
|
+
const REFERRAL_USER_STATS = new web3_js_1.PublicKey("6zKsm3xy9CRwTaBsgRkoYkgSaVarZuaDApfqYq1EanTu");
|
|
14
|
+
exports.REFERRAL_USER_STATS = REFERRAL_USER_STATS;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./usdc"), exports);
|
|
18
|
+
__exportStar(require("./drift"), exports);
|
|
19
|
+
__exportStar(require("./wsol"), exports);
|
|
20
|
+
__exportStar(require("./jupiter"), exports);
|
|
21
|
+
__exportStar(require("./pyth"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JLP_MINT = exports.JUPITER_PROGRAM_ID = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const JUPITER_PROGRAM_ID = new web3_js_1.PublicKey("PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu");
|
|
6
|
+
exports.JUPITER_PROGRAM_ID = JUPITER_PROGRAM_ID;
|
|
7
|
+
const JLP_MINT = new web3_js_1.PublicKey("27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4");
|
|
8
|
+
exports.JLP_MINT = JLP_MINT;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PYTH_API_URL = "https://hermes.pyth.network/api/latest_price_feeds?ids[]=";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare const USDC_MINT: PublicKey;
|
|
3
|
+
export declare const USDC_PUSH_ORACLE: PublicKey;
|
|
4
|
+
export declare const USDC_PULL_ORACLE: PublicKey;
|
|
5
|
+
export declare const USDC_SPOT_MARKET: PublicKey;
|
|
6
|
+
export declare const USDC_DRIFT_VAULT: PublicKey;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USDC_DRIFT_VAULT = exports.USDC_SPOT_MARKET = exports.USDC_PULL_ORACLE = exports.USDC_PUSH_ORACLE = exports.USDC_MINT = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
exports.USDC_MINT = new web3_js_1.PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
|
|
6
|
+
// No devnet
|
|
7
|
+
exports.USDC_PUSH_ORACLE = new web3_js_1.PublicKey("Gnt27xtC473ZT2Mw5u8wZ68Z3gULkSTb5DuxJy7eJotD");
|
|
8
|
+
exports.USDC_PULL_ORACLE = new web3_js_1.PublicKey("9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV");
|
|
9
|
+
exports.USDC_SPOT_MARKET = new web3_js_1.PublicKey("6gMq3mRCKf8aP3ttTyYhuijVZ2LGi14oDsBbkgubfLB3");
|
|
10
|
+
exports.USDC_DRIFT_VAULT = new web3_js_1.PublicKey("GXWqPpjQpdz7KZw9p7f5PX2eGxHAhvpNXiviFkAB8zXg");
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
export declare const WSOL_PUSH_ORACLE: PublicKey;
|
|
3
|
+
export declare const WSOL_PULL_ORACLE: PublicKey;
|
|
4
|
+
export declare const WSOL_SPOT_MARKET: PublicKey;
|
|
5
|
+
export declare const WSOL_PERP_MARKET: PublicKey;
|
|
6
|
+
export declare const WSOL_MINT: PublicKey;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WSOL_MINT = exports.WSOL_PERP_MARKET = exports.WSOL_SPOT_MARKET = exports.WSOL_PULL_ORACLE = exports.WSOL_PUSH_ORACLE = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
exports.WSOL_PUSH_ORACLE = new web3_js_1.PublicKey("H6ARHf6YXhGYeQfUzQNGk6rDNnLBQKrenN712K4AQJEG");
|
|
6
|
+
exports.WSOL_PULL_ORACLE = new web3_js_1.PublicKey("3m6i4RFWEDw2Ft4tFHPJtYgmpPe21k56M3FHeWYrgGBz");
|
|
7
|
+
exports.WSOL_SPOT_MARKET = new web3_js_1.PublicKey("3x85u7SWkmmr7YQGYhtjARgxwegTLJgkSLRprfXod6rh");
|
|
8
|
+
exports.WSOL_PERP_MARKET = new web3_js_1.PublicKey("8UJgxaiQx5nTrdDgph5FiahMmzduuLTLf5WmsPegYA6W");
|
|
9
|
+
exports.WSOL_MINT = new web3_js_1.PublicKey("So11111111111111111111111111111111111111112");
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class ReflectError extends Error {
|
|
4
|
+
constructor(msg) {
|
|
5
|
+
super(msg);
|
|
6
|
+
// Set the prototype explicitly.
|
|
7
|
+
Object.setPrototypeOf(this, ReflectError.prototype);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.default = ReflectError;
|