@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/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./stablecoins";
|
|
2
|
+
export * from "./classes";
|
|
3
|
+
export { PROGRAM_ID as DELTA_NEUTRAL_PROGRAM_ID, } from "./generated/reflect_main";
|
|
4
|
+
export { PROGRAM_ID as TOKENISED_BONDS_PROGRAM_ID, } from "./generated/reflect_tokenised_bonds";
|
|
5
|
+
export * from "./generated/reflect_main/accounts";
|
|
6
|
+
export * from "./generated/reflect_main/errors";
|
|
7
|
+
export * from "./generated/reflect_main/instructions";
|
|
8
|
+
export * from "./generated/reflect_main/types";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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
|
+
exports.TOKENISED_BONDS_PROGRAM_ID = exports.DELTA_NEUTRAL_PROGRAM_ID = void 0;
|
|
18
|
+
__exportStar(require("./stablecoins"), exports);
|
|
19
|
+
__exportStar(require("./classes"), exports);
|
|
20
|
+
var reflect_main_1 = require("./generated/reflect_main");
|
|
21
|
+
Object.defineProperty(exports, "DELTA_NEUTRAL_PROGRAM_ID", { enumerable: true, get: function () { return reflect_main_1.PROGRAM_ID; } });
|
|
22
|
+
var reflect_tokenised_bonds_1 = require("./generated/reflect_tokenised_bonds");
|
|
23
|
+
Object.defineProperty(exports, "TOKENISED_BONDS_PROGRAM_ID", { enumerable: true, get: function () { return reflect_tokenised_bonds_1.PROGRAM_ID; } });
|
|
24
|
+
__exportStar(require("./generated/reflect_main/accounts"), exports);
|
|
25
|
+
__exportStar(require("./generated/reflect_main/errors"), exports);
|
|
26
|
+
__exportStar(require("./generated/reflect_main/instructions"), exports);
|
|
27
|
+
__exportStar(require("./generated/reflect_main/types"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import {Stablecoin} from "../classes/Stablecoin";
|
|
3
|
+
// import {PdaClient} from "../classes/PdaClient";
|
|
4
|
+
// import {
|
|
5
|
+
// createInitDriftControllerS2Instruction,
|
|
6
|
+
// createMintDriftS2Instruction,
|
|
7
|
+
// createRebalanceJlpInstruction,
|
|
8
|
+
// createRedeemDriftS2Instruction,
|
|
9
|
+
// createRedeem2DriftS2Instruction,
|
|
10
|
+
// DriftJlpController,
|
|
11
|
+
// MintDriftS2InstructionAccounts, PerpHedge,
|
|
12
|
+
// PROGRAM_ID
|
|
13
|
+
// } from "../generated/reflect_main";
|
|
14
|
+
// import {
|
|
15
|
+
// AccountMeta,
|
|
16
|
+
// Connection,
|
|
17
|
+
// Keypair,
|
|
18
|
+
// PublicKey,
|
|
19
|
+
// SystemProgram,
|
|
20
|
+
// Transaction,
|
|
21
|
+
// TransactionInstruction
|
|
22
|
+
// } from "@solana/web3.js";
|
|
23
|
+
// import {JLP_MINT, DRIFT_PROGRAM_ID, JUPITER_PROGRAM_ID, USDC_MINT} from "../constants";
|
|
24
|
+
// import {getAccount, getAssociatedTokenAddressSync, getMint, TOKEN_PROGRAM_ID} from "@solana/spl-token";
|
|
25
|
+
// import {
|
|
26
|
+
// getDriftSignerPublicKey,
|
|
27
|
+
// getDriftStateAccountPublicKey,
|
|
28
|
+
// getPerpMarketPublicKeySync,
|
|
29
|
+
// getSpotMarketPublicKey,
|
|
30
|
+
// getSpotMarketPublicKeySync, getSpotMarketVaultPublicKey,
|
|
31
|
+
// getUserAccountPublicKeySync,
|
|
32
|
+
// getUserStatsAccountPublicKey,
|
|
33
|
+
// PerpMarkets,
|
|
34
|
+
// SpotMarkets,
|
|
35
|
+
// MarginCategory,
|
|
36
|
+
// getTokenAmount,
|
|
37
|
+
// SpotBalanceType
|
|
38
|
+
// } from "@drift-labs/sdk";
|
|
39
|
+
// import BN, { min } from "bn.js";
|
|
40
|
+
// import {AnchorProvider, Program} from "@coral-xyz/anchor";
|
|
41
|
+
// import {type Perpetuals, IDL} from "../idl/perpetuals";
|
|
42
|
+
// import NodeWallet from "@coral-xyz/anchor/dist/cjs/nodewallet";
|
|
43
|
+
// import { JlpPoolInfo, JlpComponent } from "../types";
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Stablecoin } from "../classes/Stablecoin";
|
|
2
|
+
import { Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import { DriftLstData } from "../generated/reflect_main";
|
|
4
|
+
import BN from "bn.js";
|
|
5
|
+
export declare class LstStablecoin extends Stablecoin {
|
|
6
|
+
lstMap: DriftLstData[];
|
|
7
|
+
constructor(connection: Connection, stablecoinMintOverride?: PublicKey, collateralMintsOverride?: PublicKey[]);
|
|
8
|
+
load(connection: Connection): Promise<void>;
|
|
9
|
+
initialize(signer: PublicKey, cap: BN, mint: PublicKey, recipientAddresses: PublicKey[], recipientCuts: number[]): Promise<TransactionInstruction[]>;
|
|
10
|
+
constructAccounts<T>(signer: PublicKey, lst: PublicKey): Promise<T>;
|
|
11
|
+
constructRemainingAccounts(): Promise<{
|
|
12
|
+
pubkey: PublicKey;
|
|
13
|
+
isWritable: boolean;
|
|
14
|
+
isSigner: boolean;
|
|
15
|
+
}[]>;
|
|
16
|
+
mint(signer: PublicKey, amount: BN | number, minimumReceived: number | BN, lst: PublicKey): Promise<TransactionInstruction[]>;
|
|
17
|
+
redeem(signer: PublicKey, amount: BN | number, minimumReceived: number | BN, lst: PublicKey): Promise<TransactionInstruction[]>;
|
|
18
|
+
rebalance(): Promise<TransactionInstruction[]>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,169 @@
|
|
|
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.LstStablecoin = void 0;
|
|
16
|
+
const Stablecoin_1 = require("../classes/Stablecoin");
|
|
17
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
18
|
+
const classes_1 = require("../classes");
|
|
19
|
+
const constants_1 = require("../constants");
|
|
20
|
+
const reflect_main_1 = require("../generated/reflect_main");
|
|
21
|
+
const sdk_1 = require("@drift-labs/sdk");
|
|
22
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
23
|
+
const nodewallet_1 = __importDefault(require("@coral-xyz/anchor/dist/cjs/nodewallet"));
|
|
24
|
+
class LstStablecoin extends Stablecoin_1.Stablecoin {
|
|
25
|
+
constructor(connection, stablecoinMintOverride, collateralMintsOverride) {
|
|
26
|
+
super(2, "Single-Sided LST Delta-Neutral", connection);
|
|
27
|
+
this.driftClient = new sdk_1.DriftClient({
|
|
28
|
+
connection,
|
|
29
|
+
env: "mainnet-beta",
|
|
30
|
+
wallet: new nodewallet_1.default(web3_js_1.Keypair.generate())
|
|
31
|
+
});
|
|
32
|
+
// Otherwise has to be loaded first.
|
|
33
|
+
if (stablecoinMintOverride)
|
|
34
|
+
this.stablecoinMint = stablecoinMintOverride;
|
|
35
|
+
if (collateralMintsOverride)
|
|
36
|
+
this.collaterals = collateralMintsOverride.map(mint => ({ mint, oracle: "" }));
|
|
37
|
+
}
|
|
38
|
+
load(connection) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const { lsts, baseStrategy: { mint } } = yield reflect_main_1.DriftLstController.fromAccountAddress(connection, this.controller);
|
|
41
|
+
this.stablecoinMint = mint;
|
|
42
|
+
this.lstMap = lsts;
|
|
43
|
+
this.collaterals = lsts.map(({ marketIndex }) => {
|
|
44
|
+
var _a;
|
|
45
|
+
const market = sdk_1.SpotMarkets["mainnet-beta"]
|
|
46
|
+
.find(({ marketIndex: index }) => index === marketIndex);
|
|
47
|
+
return { mint: market === null || market === void 0 ? void 0 : market.mint, oracle: ((_a = market === null || market === void 0 ? void 0 : market.oracle) === null || _a === void 0 ? void 0 : _a.toBase58()) || "" };
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
initialize(signer, cap, mint, recipientAddresses, recipientCuts) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const ix = (0, reflect_main_1.createInitDriftControllerS3Instruction)({
|
|
54
|
+
admin: signer,
|
|
55
|
+
adminPermissions: classes_1.PdaClient.derivePermissions(signer),
|
|
56
|
+
main: classes_1.PdaClient.deriveMain(),
|
|
57
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
58
|
+
driftLstController: this.controller
|
|
59
|
+
}, {
|
|
60
|
+
mint,
|
|
61
|
+
cap,
|
|
62
|
+
recipientAddresses,
|
|
63
|
+
recipientCuts
|
|
64
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
65
|
+
return [ix];
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
constructAccounts(signer, lst) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const { marketIndex: lstMarketIndex } = sdk_1.SpotMarkets["mainnet-beta"]
|
|
71
|
+
.find(market => market.mint.equals(lst));
|
|
72
|
+
const spotMarketVault = yield (0, sdk_1.getSpotMarketVaultPublicKey)(constants_1.DRIFT_PROGRAM_ID, lstMarketIndex);
|
|
73
|
+
const { subAccountId } = this.lstMap.find(({ marketIndex }) => marketIndex == lstMarketIndex);
|
|
74
|
+
const userLstAta = (0, spl_token_1.getAssociatedTokenAddressSync)(lst, signer);
|
|
75
|
+
const controllerLstAta = (0, spl_token_1.getAssociatedTokenAddressSync)(this.controller, signer, true);
|
|
76
|
+
const userReflectAta = (0, spl_token_1.getAssociatedTokenAddressSync)(this.stablecoinMint, signer);
|
|
77
|
+
const userAccount = (0, sdk_1.getUserAccountPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, this.controller, subAccountId);
|
|
78
|
+
const { referrer } = yield (0, sdk_1.fetchUserStatsAccount)(this.connection, this.driftClient.program, userAccount);
|
|
79
|
+
const referrerUserStats = (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, referrer);
|
|
80
|
+
const accounts = {
|
|
81
|
+
adminPermissions: null,
|
|
82
|
+
drift: constants_1.DRIFT_PROGRAM_ID,
|
|
83
|
+
main: classes_1.PdaClient.deriveMain(),
|
|
84
|
+
clock: web3_js_1.SYSVAR_CLOCK_PUBKEY,
|
|
85
|
+
controllerLstAta,
|
|
86
|
+
lstController: this.controller,
|
|
87
|
+
driftVault: constants_1.DRIFT_VAULT,
|
|
88
|
+
stableMint: this.stablecoinMint,
|
|
89
|
+
user: signer,
|
|
90
|
+
userStats: (0, sdk_1.getUserStatsAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID, this.controller),
|
|
91
|
+
referrerUser: referrer,
|
|
92
|
+
state: yield (0, sdk_1.getDriftStateAccountPublicKey)(constants_1.DRIFT_PROGRAM_ID),
|
|
93
|
+
referrerUserStats,
|
|
94
|
+
spotMarketVault,
|
|
95
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
96
|
+
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
97
|
+
userAccount,
|
|
98
|
+
userLstAta,
|
|
99
|
+
userReflectAta,
|
|
100
|
+
};
|
|
101
|
+
return accounts;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
constructRemainingAccounts() {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
const { marketIndex: usdcMarketIndex, oracle: usdcOracle, } = sdk_1.SpotMarkets["mainnet-beta"]
|
|
107
|
+
.find(({ marketIndex }) => marketIndex === 0);
|
|
108
|
+
const usdcSpotMarket = yield (0, sdk_1.getSpotMarketPublicKey)(constants_1.DRIFT_PROGRAM_ID, usdcMarketIndex);
|
|
109
|
+
const { oracle: solanaOracle, } = sdk_1.SpotMarkets["mainnet-beta"]
|
|
110
|
+
.find(({ marketIndex }) => marketIndex === 1);
|
|
111
|
+
const { marketIndex: solanaPerpMarketIndex } = sdk_1.PerpMarkets["mainnet-beta"]
|
|
112
|
+
.find(({ marketIndex }) => marketIndex === 0);
|
|
113
|
+
const solanaPerpMarket = yield (0, sdk_1.getPerpMarketPublicKey)(constants_1.DRIFT_PROGRAM_ID, solanaPerpMarketIndex);
|
|
114
|
+
const remainingOracles = [];
|
|
115
|
+
const remainingSpots = [];
|
|
116
|
+
this.lstMap.map(({ marketIndex }) => {
|
|
117
|
+
const oracle = sdk_1.SpotMarkets["mainnet-beta"].find(({ marketIndex: m }) => m == marketIndex).oracle;
|
|
118
|
+
const spotMarket = (0, sdk_1.getSpotMarketPublicKeySync)(constants_1.DRIFT_PROGRAM_ID, marketIndex);
|
|
119
|
+
remainingOracles.push(oracle);
|
|
120
|
+
remainingSpots.push(spotMarket);
|
|
121
|
+
});
|
|
122
|
+
const remainingAccounts = [
|
|
123
|
+
...remainingOracles,
|
|
124
|
+
usdcOracle,
|
|
125
|
+
solanaOracle,
|
|
126
|
+
...remainingSpots,
|
|
127
|
+
usdcSpotMarket,
|
|
128
|
+
solanaPerpMarket
|
|
129
|
+
];
|
|
130
|
+
return remainingAccounts.map(pubkey => ({
|
|
131
|
+
pubkey,
|
|
132
|
+
isWritable: false,
|
|
133
|
+
isSigner: false
|
|
134
|
+
}));
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
mint(signer, amount, minimumReceived, lst) {
|
|
138
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
+
const accounts = yield this.constructAccounts(signer, lst);
|
|
140
|
+
const ix = (0, reflect_main_1.createMintDriftS3Instruction)(Object.assign(Object.assign({}, accounts), { anchorRemainingAccounts: yield this.constructRemainingAccounts() }), {
|
|
141
|
+
lstAmount: amount,
|
|
142
|
+
minUsdrAmount: minimumReceived
|
|
143
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
144
|
+
return [ix];
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
redeem(signer, amount, minimumReceived, lst) {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
const accounts = yield this.constructAccounts(signer, lst);
|
|
150
|
+
const ix = (0, reflect_main_1.createRedeemDriftS3Instruction)(Object.assign(Object.assign({}, accounts), { anchorRemainingAccounts: yield this.constructRemainingAccounts() }), {
|
|
151
|
+
canChill: false,
|
|
152
|
+
minLstRedeem: minimumReceived,
|
|
153
|
+
rusdBurnAmount: amount
|
|
154
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
155
|
+
return [ix];
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
rebalance() {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
const ix = new web3_js_1.TransactionInstruction({
|
|
161
|
+
programId: web3_js_1.Keypair.generate().publicKey,
|
|
162
|
+
keys: [],
|
|
163
|
+
data: null
|
|
164
|
+
});
|
|
165
|
+
return [ix];
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.LstStablecoin = LstStablecoin;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Stablecoin } from "../classes/Stablecoin";
|
|
2
|
+
import { AccountMeta, Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
/**
|
|
5
|
+
* USDC+ Stablecoin implementation for the Reflect protocol.
|
|
6
|
+
* Extends the base Stablecoin class to provide USDC-specific functionality
|
|
7
|
+
* including initialization, minting, redemption, and rebalancing operations.
|
|
8
|
+
*/
|
|
9
|
+
export declare class UsdcStablecoin extends Stablecoin {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new USDC+ Stablecoin instance.
|
|
12
|
+
*
|
|
13
|
+
* @param connection - Solana connection instance for RPC communication
|
|
14
|
+
* @param stablecoinMintOverride - Optional override for the stablecoin mint address
|
|
15
|
+
*/
|
|
16
|
+
constructor(connection: Connection, stablecoinMintOverride?: PublicKey);
|
|
17
|
+
/**
|
|
18
|
+
* Initializes the USDC stablecoin with the specified parameters.
|
|
19
|
+
* Creates receipt tokens, initializes vault, and initializes the stablecoin.
|
|
20
|
+
*
|
|
21
|
+
* @param signer - Public key of the signer/initializer
|
|
22
|
+
* @param mint - Public key of the mint to be used for the stablecoin
|
|
23
|
+
* @param cap - Maximum supply cap as a BN (Big Number)
|
|
24
|
+
* @param recipientAddresses - Array of recipient public keys for fee distribution
|
|
25
|
+
* @param recipientCuts - Array of fee cuts (percentages) corresponding to each recipient
|
|
26
|
+
* @returns Promise resolving to an array of TransactionInstruction objects
|
|
27
|
+
*/
|
|
28
|
+
initialize(signer: PublicKey, mint: PublicKey, cap: BN, recipientAddresses: PublicKey[], recipientCuts: number[]): Promise<TransactionInstruction[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Constructs the required accounts for the InitDriftControllerS1 instruction.
|
|
31
|
+
*
|
|
32
|
+
* @param signer - Public key of the signer
|
|
33
|
+
* @returns Promise resolving to the constructed accounts object of type T
|
|
34
|
+
*/
|
|
35
|
+
constructAccounts<T>(signer: PublicKey): Promise<T>;
|
|
36
|
+
/**
|
|
37
|
+
* Constructs remaining accounts for transactions.
|
|
38
|
+
* Currently returns an empty array as no additional accounts are needed.
|
|
39
|
+
*
|
|
40
|
+
* @returns Promise resolving to an empty array of AccountMeta objects
|
|
41
|
+
*/
|
|
42
|
+
constructRemainingAccounts(): Promise<AccountMeta[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a mint instruction for the USDC stablecoin.
|
|
45
|
+
* Currently returns a placeholder instruction - implementation needed.
|
|
46
|
+
*
|
|
47
|
+
* @returns Promise resolving to an array containing a single TransactionInstruction
|
|
48
|
+
*/
|
|
49
|
+
mint(): Promise<TransactionInstruction[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Creates a redeem instruction for the USDC stablecoin.
|
|
52
|
+
* Currently returns a placeholder instruction - implementation needed.
|
|
53
|
+
*
|
|
54
|
+
* @returns Promise resolving to an array containing a single TransactionInstruction
|
|
55
|
+
*/
|
|
56
|
+
redeem(): Promise<TransactionInstruction[]>;
|
|
57
|
+
/**
|
|
58
|
+
* Creates a rebalance instruction for the USDC stablecoin.
|
|
59
|
+
* Currently returns a placeholder instruction - implementation needed.
|
|
60
|
+
*
|
|
61
|
+
* @returns Promise resolving to an array containing a single TransactionInstruction
|
|
62
|
+
*/
|
|
63
|
+
rebalance(): Promise<TransactionInstruction[]>;
|
|
64
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
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.UsdcStablecoin = void 0;
|
|
13
|
+
const Stablecoin_1 = require("../classes/Stablecoin");
|
|
14
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
15
|
+
const classes_1 = require("../classes");
|
|
16
|
+
const constants_1 = require("../constants");
|
|
17
|
+
const reflect_main_1 = require("../generated/reflect_main");
|
|
18
|
+
const ReflectTokenisedBond_1 = require("../classes/ReflectTokenisedBond");
|
|
19
|
+
/**
|
|
20
|
+
* USDC+ Stablecoin implementation for the Reflect protocol.
|
|
21
|
+
* Extends the base Stablecoin class to provide USDC-specific functionality
|
|
22
|
+
* including initialization, minting, redemption, and rebalancing operations.
|
|
23
|
+
*/
|
|
24
|
+
class UsdcStablecoin extends Stablecoin_1.Stablecoin {
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new USDC+ Stablecoin instance.
|
|
27
|
+
*
|
|
28
|
+
* @param connection - Solana connection instance for RPC communication
|
|
29
|
+
* @param stablecoinMintOverride - Optional override for the stablecoin mint address
|
|
30
|
+
*/
|
|
31
|
+
constructor(connection, stablecoinMintOverride) {
|
|
32
|
+
super(0, "USDC Money Market", connection);
|
|
33
|
+
this.collaterals = [{ mint: constants_1.USDC_MINT, oracle: "" }];
|
|
34
|
+
// Otherwise has to be loaded first.
|
|
35
|
+
if (stablecoinMintOverride)
|
|
36
|
+
this.stablecoinMint = stablecoinMintOverride;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Initializes the USDC stablecoin with the specified parameters.
|
|
40
|
+
* Creates receipt tokens, initializes vault, and initializes the stablecoin.
|
|
41
|
+
*
|
|
42
|
+
* @param signer - Public key of the signer/initializer
|
|
43
|
+
* @param mint - Public key of the mint to be used for the stablecoin
|
|
44
|
+
* @param cap - Maximum supply cap as a BN (Big Number)
|
|
45
|
+
* @param recipientAddresses - Array of recipient public keys for fee distribution
|
|
46
|
+
* @param recipientCuts - Array of fee cuts (percentages) corresponding to each recipient
|
|
47
|
+
* @returns Promise resolving to an array of TransactionInstruction objects
|
|
48
|
+
*/
|
|
49
|
+
initialize(signer, mint, cap, recipientAddresses, recipientCuts) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const vault = classes_1.PdaClient.deriveLpVault(0);
|
|
52
|
+
const lp = new ReflectTokenisedBond_1.ReflectTokenisedBond(this.connection);
|
|
53
|
+
const { instructions: receiptIx, signers: [receiptKeypair] } = yield lp.createReceiptToken(this.connection, signer, vault);
|
|
54
|
+
const vaultIx = yield lp.initializeVault(signer, mint, receiptKeypair.publicKey);
|
|
55
|
+
const ix = (0, reflect_main_1.createInitDriftControllerS1Instruction)(Object.assign({}, (yield this.constructAccounts(signer))), {
|
|
56
|
+
mint,
|
|
57
|
+
cap,
|
|
58
|
+
recipientAddresses,
|
|
59
|
+
recipientCuts,
|
|
60
|
+
lpReciptMint: receiptKeypair.publicKey,
|
|
61
|
+
vault
|
|
62
|
+
}, reflect_main_1.PROGRAM_ID);
|
|
63
|
+
return [...receiptIx, vaultIx, ix];
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Constructs the required accounts for the InitDriftControllerS1 instruction.
|
|
68
|
+
*
|
|
69
|
+
* @param signer - Public key of the signer
|
|
70
|
+
* @returns Promise resolving to the constructed accounts object of type T
|
|
71
|
+
*/
|
|
72
|
+
constructAccounts(signer) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const accounts = {
|
|
75
|
+
admin: signer,
|
|
76
|
+
adminPermissions: classes_1.PdaClient.derivePermissions(signer),
|
|
77
|
+
main: classes_1.PdaClient.deriveMain(),
|
|
78
|
+
driftUsdcController: this.controller,
|
|
79
|
+
systemProgram: web3_js_1.SystemProgram.programId,
|
|
80
|
+
};
|
|
81
|
+
return accounts;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Constructs remaining accounts for transactions.
|
|
86
|
+
* Currently returns an empty array as no additional accounts are needed.
|
|
87
|
+
*
|
|
88
|
+
* @returns Promise resolving to an empty array of AccountMeta objects
|
|
89
|
+
*/
|
|
90
|
+
constructRemainingAccounts() {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
return [];
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
;
|
|
96
|
+
/**
|
|
97
|
+
* Creates a mint instruction for the USDC stablecoin.
|
|
98
|
+
* Currently returns a placeholder instruction - implementation needed.
|
|
99
|
+
*
|
|
100
|
+
* @returns Promise resolving to an array containing a single TransactionInstruction
|
|
101
|
+
*/
|
|
102
|
+
mint() {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const ix = new web3_js_1.TransactionInstruction({
|
|
105
|
+
programId: web3_js_1.Keypair.generate().publicKey,
|
|
106
|
+
data: Buffer.from(""),
|
|
107
|
+
keys: []
|
|
108
|
+
});
|
|
109
|
+
return [ix];
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Creates a redeem instruction for the USDC stablecoin.
|
|
114
|
+
* Currently returns a placeholder instruction - implementation needed.
|
|
115
|
+
*
|
|
116
|
+
* @returns Promise resolving to an array containing a single TransactionInstruction
|
|
117
|
+
*/
|
|
118
|
+
redeem() {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const ix = new web3_js_1.TransactionInstruction({
|
|
121
|
+
programId: web3_js_1.Keypair.generate().publicKey,
|
|
122
|
+
data: Buffer.from(""),
|
|
123
|
+
keys: []
|
|
124
|
+
});
|
|
125
|
+
return [ix];
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Creates a rebalance instruction for the USDC stablecoin.
|
|
130
|
+
* Currently returns a placeholder instruction - implementation needed.
|
|
131
|
+
*
|
|
132
|
+
* @returns Promise resolving to an array containing a single TransactionInstruction
|
|
133
|
+
*/
|
|
134
|
+
rebalance() {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
const ix = new web3_js_1.TransactionInstruction({
|
|
137
|
+
programId: web3_js_1.Keypair.generate().publicKey,
|
|
138
|
+
data: Buffer.from(""),
|
|
139
|
+
keys: []
|
|
140
|
+
});
|
|
141
|
+
return [ix];
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.UsdcStablecoin = UsdcStablecoin;
|
|
@@ -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("./JlpStablecoin"), exports);
|
|
18
|
+
__exportStar(require("./LstStablecoin"), exports);
|
|
19
|
+
__exportStar(require("./UsdcStablecoin"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Strategy } from "../classes/Strategy";
|
|
2
|
+
import { PerpHedge } from "../generated";
|
|
3
|
+
import { AccountMeta, Connection, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
4
|
+
import BN from "bn.js";
|
|
5
|
+
export declare class JlpStrategy extends Strategy {
|
|
6
|
+
private perpetuals;
|
|
7
|
+
constructor(connection: Connection, stablecoinMintOverride?: PublicKey);
|
|
8
|
+
load(): Promise<void>;
|
|
9
|
+
initialize(signer: PublicKey, driftPerpMarketsHedge: PerpHedge[], cap: BN, mint: PublicKey, recipientCuts: number[], recipientAddresses: PublicKey[], rebalanceSlippageBps: number): Promise<TransactionInstruction[]>;
|
|
10
|
+
constructAccounts<T>(signer: PublicKey): Promise<T>;
|
|
11
|
+
constructRemainingAccounts(): Promise<AccountMeta[]>;
|
|
12
|
+
constructRemainingAccountsForRebalance(): Promise<AccountMeta[]>;
|
|
13
|
+
mint(signer: PublicKey, amount: BN | number): Promise<TransactionInstruction[]>;
|
|
14
|
+
redeem(signer: PublicKey, amount: BN | number, minimumReceived: BN | number): Promise<TransactionInstruction[]>;
|
|
15
|
+
redeem2(signer: PublicKey, amount: BN | number, minimumReceived: BN | number): Promise<TransactionInstruction[]>;
|
|
16
|
+
rebalance(signer: PublicKey): Promise<TransactionInstruction[]>;
|
|
17
|
+
}
|