@haven-fi/solauto-sdk 1.0.749 → 1.0.751
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/dist/constants/solautoConstants.d.ts.map +1 -1
- package/dist/constants/solautoConstants.js +9 -10
- package/dist/externalSdks/index.d.ts +4 -0
- package/dist/externalSdks/index.d.ts.map +1 -0
- package/dist/externalSdks/index.js +19 -0
- package/dist/externalSdks/jupiter/errors/index.d.ts.map +1 -0
- package/dist/externalSdks/jupiter/errors/jupiter.d.ts.map +1 -0
- package/dist/externalSdks/jupiter/index.d.ts.map +1 -0
- package/dist/externalSdks/jupiter/programs/index.d.ts.map +1 -0
- package/dist/externalSdks/jupiter/programs/jupiter.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/accounts/bank.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/accounts/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/accounts/marginfiAccount.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/accounts/marginfiGroup.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/errors/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/errors/marginfi.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountBorrow.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountCloseBalance.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountDeposit.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountEndFlashloan.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountLiquidate.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountRepay.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountSettleEmissions.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountStartFlashloan.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountWithdraw.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingAccountWithdrawEmissions.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolAccrueBankInterest.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolAddBank.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolAddBankWithSeed.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolCollectBankFees.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolConfigureBank.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolHandleBankruptcy.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolSetupEmissions.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/lendingPoolUpdateEmissionsParameters.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/marginfiAccountInitialize.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/marginfiGroupConfigure.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/marginfiGroupInitialize.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/setAccountFlag.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/setNewAccountAuthority.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/instructions/unsetAccountFlag.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/programs/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/programs/marginfi.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/shared/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/accountEventHeader.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/balance.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/balanceDecreaseType.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/balanceIncreaseType.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/balanceSide.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/bankConfig.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/bankConfigCompact.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/bankOperationalState.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/bankVaultType.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/groupEventHeader.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/index.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/interestRateConfig.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/interestRateConfigCompact.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/interestRateConfigOpt.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/lendingAccount.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/liquidationBalances.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/oracleConfig.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/oraclePriceType.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/oracleSetup.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/priceBias.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/requirementType.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/riskRequirementType.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/riskTier.d.ts.map +1 -0
- package/dist/externalSdks/marginfi/types/wrappedI80F48.d.ts.map +1 -0
- package/dist/externalSdks/pyth/accounts/index.d.ts.map +1 -0
- package/dist/externalSdks/pyth/accounts/priceUpdateV2Account.d.ts.map +1 -0
- package/dist/externalSdks/pyth/index.d.ts.map +1 -0
- package/dist/externalSdks/pyth/types/index.d.ts.map +1 -0
- package/dist/externalSdks/pyth/types/priceMessage.d.ts.map +1 -0
- package/dist/externalSdks/pyth/types/priceUpdateV2.d.ts.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/services/flashLoans/marginfiFlProvider.js +9 -9
- package/dist/services/rebalance/solautoFees.d.ts.map +1 -1
- package/dist/services/rebalance/solautoFees.js +0 -7
- package/dist/services/solauto/solautoMarginfiClient.js +8 -8
- package/dist/services/transactions/manager/transactionsManager.d.ts.map +1 -1
- package/dist/services/transactions/manager/transactionsManager.js +7 -2
- package/dist/services/transactions/transactionUtils.js +9 -9
- package/dist/solautoPosition/marginfiSolautoPositionEx.d.ts +1 -1
- package/dist/solautoPosition/marginfiSolautoPositionEx.d.ts.map +1 -1
- package/dist/solautoPosition/marginfiSolautoPositionEx.js +4 -4
- package/dist/utils/marginfi/data.d.ts +1 -1
- package/dist/utils/marginfi/data.d.ts.map +1 -1
- package/dist/utils/marginfi/data.js +12 -12
- package/dist/utils/marginfi/general.d.ts +1 -1
- package/dist/utils/marginfi/general.d.ts.map +1 -1
- package/dist/utils/marginfi/general.js +8 -8
- package/dist/utils/priceUtils.d.ts +1 -1
- package/dist/utils/priceUtils.d.ts.map +1 -1
- package/dist/utils/priceUtils.js +2 -2
- package/dist/utils/pythUtils.js +2 -2
- package/dist/utils/solanaUtils.js +5 -5
- package/local/patchLUT.ts +4 -0
- package/local/txSandbox.ts +3 -3
- package/package.json +1 -1
- package/src/constants/solautoConstants.ts +8 -9
- package/src/externalSdks/index.ts +3 -0
- package/src/index.ts +3 -3
- package/src/services/flashLoans/marginfiFlProvider.ts +1 -1
- package/src/services/rebalance/solautoFees.ts +0 -9
- package/src/services/solauto/solautoMarginfiClient.ts +1 -1
- package/src/services/transactions/manager/transactionsManager.ts +11 -2
- package/src/services/transactions/transactionUtils.ts +2 -2
- package/src/solautoPosition/marginfiSolautoPositionEx.ts +1 -1
- package/src/utils/marginfi/data.ts +1 -1
- package/src/utils/marginfi/general.ts +1 -1
- package/src/utils/priceUtils.ts +1 -1
- package/src/utils/pythUtils.ts +1 -1
- package/src/utils/solanaUtils.ts +1 -1
- package/dist/jupiter-sdk/errors/index.d.ts.map +0 -1
- package/dist/jupiter-sdk/errors/jupiter.d.ts.map +0 -1
- package/dist/jupiter-sdk/index.d.ts.map +0 -1
- package/dist/jupiter-sdk/programs/index.d.ts.map +0 -1
- package/dist/jupiter-sdk/programs/jupiter.d.ts.map +0 -1
- package/dist/marginfi-sdk/accounts/bank.d.ts.map +0 -1
- package/dist/marginfi-sdk/accounts/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/accounts/marginfiAccount.d.ts.map +0 -1
- package/dist/marginfi-sdk/accounts/marginfiGroup.d.ts.map +0 -1
- package/dist/marginfi-sdk/errors/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/errors/marginfi.d.ts.map +0 -1
- package/dist/marginfi-sdk/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountBorrow.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountCloseBalance.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountDeposit.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountEndFlashloan.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountLiquidate.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountRepay.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountSettleEmissions.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountStartFlashloan.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountWithdraw.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingAccountWithdrawEmissions.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolAccrueBankInterest.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolAddBank.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolAddBankWithSeed.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolCollectBankFees.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolConfigureBank.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolHandleBankruptcy.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolSetupEmissions.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/lendingPoolUpdateEmissionsParameters.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/marginfiAccountInitialize.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/marginfiGroupConfigure.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/marginfiGroupInitialize.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/setAccountFlag.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/setNewAccountAuthority.d.ts.map +0 -1
- package/dist/marginfi-sdk/instructions/unsetAccountFlag.d.ts.map +0 -1
- package/dist/marginfi-sdk/programs/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/programs/marginfi.d.ts.map +0 -1
- package/dist/marginfi-sdk/shared/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/accountEventHeader.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/balance.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/balanceDecreaseType.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/balanceIncreaseType.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/balanceSide.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/bankConfig.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/bankConfigCompact.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/bankOperationalState.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/bankVaultType.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/groupEventHeader.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/index.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/interestRateConfig.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/interestRateConfigCompact.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/interestRateConfigOpt.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/lendingAccount.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/liquidationBalances.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/oracleConfig.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/oraclePriceType.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/oracleSetup.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/priceBias.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/requirementType.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/riskRequirementType.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/riskTier.d.ts.map +0 -1
- package/dist/marginfi-sdk/types/wrappedI80F48.d.ts.map +0 -1
- package/dist/pyth-sdk/accounts/index.d.ts.map +0 -1
- package/dist/pyth-sdk/accounts/priceUpdateV2Account.d.ts.map +0 -1
- package/dist/pyth-sdk/index.d.ts.map +0 -1
- package/dist/pyth-sdk/types/index.d.ts.map +0 -1
- package/dist/pyth-sdk/types/priceMessage.d.ts.map +0 -1
- package/dist/pyth-sdk/types/priceUpdateV2.d.ts.map +0 -1
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/errors/index.d.ts +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/errors/index.js +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/errors/jupiter.d.ts +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/errors/jupiter.js +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/index.d.ts +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/index.js +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/programs/index.d.ts +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/programs/index.js +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/programs/jupiter.d.ts +0 -0
- /package/dist/{jupiter-sdk → externalSdks/jupiter}/programs/jupiter.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/bank.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/bank.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/marginfiAccount.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/marginfiAccount.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/marginfiGroup.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/accounts/marginfiGroup.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/errors/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/errors/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/errors/marginfi.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/errors/marginfi.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountBorrow.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountBorrow.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountCloseBalance.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountCloseBalance.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountDeposit.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountDeposit.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountEndFlashloan.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountEndFlashloan.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountLiquidate.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountLiquidate.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountRepay.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountRepay.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountSettleEmissions.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountSettleEmissions.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountStartFlashloan.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountStartFlashloan.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountWithdraw.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountWithdraw.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountWithdrawEmissions.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountWithdrawEmissions.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAccrueBankInterest.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAccrueBankInterest.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAddBank.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAddBank.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAddBankWithSeed.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAddBankWithSeed.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolCollectBankFees.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolCollectBankFees.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolConfigureBank.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolConfigureBank.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolHandleBankruptcy.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolHandleBankruptcy.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolSetupEmissions.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolSetupEmissions.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolUpdateEmissionsParameters.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolUpdateEmissionsParameters.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiAccountInitialize.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiAccountInitialize.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiGroupConfigure.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiGroupConfigure.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiGroupInitialize.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiGroupInitialize.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/setAccountFlag.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/setAccountFlag.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/setNewAccountAuthority.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/setNewAccountAuthority.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/unsetAccountFlag.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/instructions/unsetAccountFlag.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/programs/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/programs/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/programs/marginfi.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/programs/marginfi.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/shared/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/shared/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/accountEventHeader.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/accountEventHeader.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balance.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balance.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balanceDecreaseType.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balanceDecreaseType.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balanceIncreaseType.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balanceIncreaseType.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balanceSide.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/balanceSide.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankConfig.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankConfig.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankConfigCompact.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankConfigCompact.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankOperationalState.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankOperationalState.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankVaultType.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/bankVaultType.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/groupEventHeader.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/groupEventHeader.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/index.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/index.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfig.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfig.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfigCompact.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfigCompact.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfigOpt.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfigOpt.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/lendingAccount.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/lendingAccount.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/liquidationBalances.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/liquidationBalances.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/oracleConfig.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/oracleConfig.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/oraclePriceType.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/oraclePriceType.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/oracleSetup.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/oracleSetup.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/priceBias.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/priceBias.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/requirementType.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/requirementType.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/riskRequirementType.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/riskRequirementType.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/riskTier.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/riskTier.js +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/wrappedI80F48.d.ts +0 -0
- /package/dist/{marginfi-sdk → externalSdks/marginfi}/types/wrappedI80F48.js +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/accounts/index.d.ts +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/accounts/index.js +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/accounts/priceUpdateV2Account.d.ts +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/accounts/priceUpdateV2Account.js +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/index.d.ts +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/index.js +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/types/index.d.ts +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/types/index.js +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/types/priceMessage.d.ts +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/types/priceMessage.js +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/types/priceUpdateV2.d.ts +0 -0
- /package/dist/{pyth-sdk → externalSdks/pyth}/types/priceUpdateV2.js +0 -0
- /package/src/{jupiter-sdk → externalSdks/jupiter}/errors/index.ts +0 -0
- /package/src/{jupiter-sdk → externalSdks/jupiter}/errors/jupiter.ts +0 -0
- /package/src/{jupiter-sdk → externalSdks/jupiter}/index.ts +0 -0
- /package/src/{jupiter-sdk → externalSdks/jupiter}/programs/index.ts +0 -0
- /package/src/{jupiter-sdk → externalSdks/jupiter}/programs/jupiter.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/accounts/bank.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/accounts/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/accounts/marginfiAccount.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/accounts/marginfiGroup.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/errors/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/errors/marginfi.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountBorrow.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountCloseBalance.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountDeposit.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountEndFlashloan.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountLiquidate.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountRepay.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountSettleEmissions.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountStartFlashloan.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountWithdraw.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingAccountWithdrawEmissions.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAccrueBankInterest.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAddBank.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolAddBankWithSeed.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolCollectBankFees.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolConfigureBank.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolHandleBankruptcy.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolSetupEmissions.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/lendingPoolUpdateEmissionsParameters.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiAccountInitialize.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiGroupConfigure.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/marginfiGroupInitialize.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/setAccountFlag.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/setNewAccountAuthority.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/instructions/unsetAccountFlag.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/programs/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/programs/marginfi.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/shared/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/accountEventHeader.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/balance.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/balanceDecreaseType.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/balanceIncreaseType.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/balanceSide.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/bankConfig.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/bankConfigCompact.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/bankOperationalState.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/bankVaultType.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/groupEventHeader.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/index.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfig.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfigCompact.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/interestRateConfigOpt.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/lendingAccount.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/liquidationBalances.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/oracleConfig.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/oraclePriceType.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/oracleSetup.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/priceBias.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/requirementType.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/riskRequirementType.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/riskTier.ts +0 -0
- /package/src/{marginfi-sdk → externalSdks/marginfi}/types/wrappedI80F48.ts +0 -0
- /package/src/{pyth-sdk → externalSdks/pyth}/accounts/index.ts +0 -0
- /package/src/{pyth-sdk → externalSdks/pyth}/accounts/priceUpdateV2Account.ts +0 -0
- /package/src/{pyth-sdk → externalSdks/pyth}/index.ts +0 -0
- /package/src/{pyth-sdk → externalSdks/pyth}/types/index.ts +0 -0
- /package/src/{pyth-sdk → externalSdks/pyth}/types/priceMessage.ts +0 -0
- /package/src/{pyth-sdk → externalSdks/pyth}/types/priceUpdateV2.ts +0 -0
@@ -5,7 +5,7 @@ const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
const umi_1 = require("@metaplex-foundation/umi");
|
6
6
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
7
7
|
const constants_1 = require("../../constants");
|
8
|
-
const
|
8
|
+
const marginfi_1 = require("../../externalSdks/marginfi");
|
9
9
|
const flProviderBase_1 = require("./flProviderBase");
|
10
10
|
const utils_1 = require("../../utils");
|
11
11
|
const generated_1 = require("../../generated");
|
@@ -34,7 +34,7 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
|
|
34
34
|
checkIfUsable(group, this.supplyMint.toString());
|
35
35
|
checkIfUsable(group, this.debtMint.toString());
|
36
36
|
}
|
37
|
-
const banks = await (0,
|
37
|
+
const banks = await (0, marginfi_1.safeFetchAllBank)(this.umi, availableBanks.map((x) => (0, umi_1.publicKey)(x)));
|
38
38
|
if (!(0, utils_1.safeGetPrice)(this.supplyMint) || !(0, utils_1.safeGetPrice)(this.debtMint)) {
|
39
39
|
await (0, utils_1.fetchTokenPrices)([this.supplyMint, this.debtMint]);
|
40
40
|
}
|
@@ -96,7 +96,7 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
|
|
96
96
|
]);
|
97
97
|
let tx = (0, umi_1.transactionBuilder)();
|
98
98
|
if (!(0, utils_1.rpcAccountCreated)(supplyImfiRpcAccount)) {
|
99
|
-
tx = tx.add((0,
|
99
|
+
tx = tx.add((0, marginfi_1.marginfiAccountInitialize)(this.umi, {
|
100
100
|
marginfiAccount: supplyImfiAccount.signer,
|
101
101
|
marginfiGroup: this.supplyBankLiquiditySource.group,
|
102
102
|
authority: this.signer,
|
@@ -106,7 +106,7 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
|
|
106
106
|
if (supplyImfiAccount.accountPk.toString() !==
|
107
107
|
debtImfiAccount.accountPk.toString() &&
|
108
108
|
!(0, utils_1.rpcAccountCreated)(debtImfiRpcAccount)) {
|
109
|
-
tx = tx.add((0,
|
109
|
+
tx = tx.add((0, marginfi_1.marginfiAccountInitialize)(this.umi, {
|
110
110
|
marginfiAccount: debtImfiAccount.signer,
|
111
111
|
marginfiGroup: this.debtBankLiquiditySource.group,
|
112
112
|
authority: this.signer,
|
@@ -155,13 +155,13 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
|
|
155
155
|
const associatedBankAccs = (0, utils_1.findMarginfiAccounts)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.publicKey));
|
156
156
|
const iMfiAccount = this.iMfiAccount(flashLoan.liquiditySource);
|
157
157
|
return (0, umi_1.transactionBuilder)()
|
158
|
-
.add((0,
|
158
|
+
.add((0, marginfi_1.lendingAccountStartFlashloan)(this.umi, {
|
159
159
|
endIndex: 0, // We set this after building the transaction
|
160
160
|
ixsSysvar: (0, umi_1.publicKey)(web3_js_1.SYSVAR_INSTRUCTIONS_PUBKEY),
|
161
161
|
marginfiAccount: (0, umi_1.publicKey)(iMfiAccount.accountPk),
|
162
162
|
signer: this.signer,
|
163
163
|
}))
|
164
|
-
.add((0,
|
164
|
+
.add((0, marginfi_1.lendingAccountBorrow)(this.umi, {
|
165
165
|
amount: flashLoan.baseUnitAmount,
|
166
166
|
bank: (0, umi_1.publicKey)(bank),
|
167
167
|
bankLiquidityVault: (0, umi_1.publicKey)(associatedBankAccs.liquidityVault),
|
@@ -185,7 +185,7 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
|
|
185
185
|
: this.debtRemainingAccounts;
|
186
186
|
let iMfiAccountHadPrevFlBalance = remainingAccounts.find((x) => x.pubkey.toString() === bank.publicKey.toString());
|
187
187
|
return (0, umi_1.transactionBuilder)()
|
188
|
-
.add((0,
|
188
|
+
.add((0, marginfi_1.lendingAccountRepay)(this.umi, {
|
189
189
|
amount: flashLoan.baseUnitAmount,
|
190
190
|
repayAll: !iMfiAccountHadPrevFlBalance,
|
191
191
|
bank: bank.publicKey,
|
@@ -195,13 +195,13 @@ class MarginfiFlProvider extends flProviderBase_1.FlProviderBase {
|
|
195
195
|
signer: this.signer,
|
196
196
|
signerTokenAccount: (0, umi_1.publicKey)((0, utils_1.getTokenAccount)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.signer.publicKey), flashLoan.mint)),
|
197
197
|
}))
|
198
|
-
.add((0,
|
198
|
+
.add((0, marginfi_1.lendingAccountEndFlashloan)(this.umi, {
|
199
199
|
marginfiAccount: (0, umi_1.publicKey)(iMfiAccount.accountPk),
|
200
200
|
signer: this.signer,
|
201
201
|
}).addRemainingAccounts(remainingAccounts));
|
202
202
|
}
|
203
203
|
closeBalance(marginfiAccount, bank, marginfiGroup) {
|
204
|
-
return (0, umi_1.transactionBuilder)().add((0,
|
204
|
+
return (0, umi_1.transactionBuilder)().add((0, marginfi_1.lendingAccountCloseBalance)(this.umi, {
|
205
205
|
signer: this.signer,
|
206
206
|
marginfiAccount: (0, umi_1.publicKey)(marginfiAccount),
|
207
207
|
bank: (0, umi_1.publicKey)(bank),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoFees.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/solautoFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,cAAc;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,2BAA2B;IACnC,OAAO,CAAC,mBAAmB;gBAFnB,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,mBAAmB,EAAE,MAAM;IAGrC,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM;IASrB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB;;;;;
|
1
|
+
{"version":3,"file":"solautoFees.d.ts","sourceRoot":"","sources":["../../../src/services/rebalance/solautoFees.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,qBAAa,cAAc;IAEvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,2BAA2B;IACnC,OAAO,CAAC,mBAAmB;gBAFnB,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,mBAAmB,EAAE,MAAM;IAGrC,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,OAAO,EACnB,2BAA2B,EAAE,MAAM,GAAG,SAAS,EAC/C,WAAW,EAAE,MAAM;IASrB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB;;;;;CAqCzD"}
|
@@ -18,13 +18,6 @@ class SolautoFeesBps {
|
|
18
18
|
const maxFeeBps = 50; // Fee in basis points for minSize (0.5%)
|
19
19
|
const minFeeBps = 25; // Fee in basis points for maxSize (0.25%)
|
20
20
|
const k = 1.5;
|
21
|
-
if (this.targetLiqUtilizationRateBps === 0) {
|
22
|
-
return {
|
23
|
-
solauto: 0,
|
24
|
-
referrer: 0,
|
25
|
-
total: 0,
|
26
|
-
};
|
27
|
-
}
|
28
21
|
let feeBps = 0;
|
29
22
|
if (this.targetLiqUtilizationRateBps !== undefined) {
|
30
23
|
feeBps = 15;
|
@@ -7,7 +7,7 @@ const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters"
|
|
7
7
|
const constants_1 = require("../../constants");
|
8
8
|
const generated_1 = require("../../generated");
|
9
9
|
const utils_1 = require("../../utils");
|
10
|
-
const
|
10
|
+
const marginfi_1 = require("../../externalSdks/marginfi");
|
11
11
|
const solautoClient_1 = require("./solautoClient");
|
12
12
|
function isSigner(account) {
|
13
13
|
return "publicKey" in account;
|
@@ -33,7 +33,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
33
33
|
else {
|
34
34
|
const accounts = await (0, utils_1.getAllMarginfiAccountsByAuthority)(this.umi, this.pos.publicKey, this.marginfiGroup, false);
|
35
35
|
const reusableAccounts = accounts.length > 0
|
36
|
-
? (await (0,
|
36
|
+
? (await (0, marginfi_1.safeFetchAllMarginfiAccount)(this.umi, accounts.map((x) => (0, umi_1.publicKey)(x.marginfiAccount)))).filter((x) => (0, utils_1.marginfiAccountEmpty)(x))
|
37
37
|
: [];
|
38
38
|
this.marginfiAccount =
|
39
39
|
reusableAccounts.length > 0
|
@@ -48,7 +48,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
48
48
|
this.otherSigners.push(this.marginfiAccount);
|
49
49
|
}
|
50
50
|
else if (this.pos.selfManaged) {
|
51
|
-
const accountData = await (0,
|
51
|
+
const accountData = await (0, marginfi_1.fetchMarginfiAccount)(this.umi, (0, umi_web3js_adapters_1.fromWeb3JsPublicKey)(this.marginfiAccount));
|
52
52
|
this.healthCheckRemainingAccounts = (await Promise.all(accountData.lendingAccount.balances.map((balance) => (0, utils_1.getRemainingAccountsForMarginfiHealthCheck)(this.umi, balance)))).flat();
|
53
53
|
}
|
54
54
|
this.marginfiSupplyAccounts =
|
@@ -71,7 +71,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
71
71
|
return [...super.lutAccountsToAdd(), this.marginfiAccountPk];
|
72
72
|
}
|
73
73
|
marginfiAccountInitialize(marginfiAccount) {
|
74
|
-
return (0,
|
74
|
+
return (0, marginfi_1.marginfiAccountInitialize)(this.umi, {
|
75
75
|
marginfiAccount: marginfiAccount,
|
76
76
|
marginfiGroup: (0, umi_1.publicKey)(this.marginfiGroup),
|
77
77
|
authority: this.signer,
|
@@ -155,7 +155,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
155
155
|
marginfiProtocolInteractionIx(args) {
|
156
156
|
switch (args.__kind) {
|
157
157
|
case "Deposit": {
|
158
|
-
return (0,
|
158
|
+
return (0, marginfi_1.lendingAccountDeposit)(this.umi, {
|
159
159
|
signer: this.signer,
|
160
160
|
signerTokenAccount: (0, umi_1.publicKey)(this.signerSupplyTa),
|
161
161
|
marginfiAccount: (0, umi_1.publicKey)(this.marginfiAccountPk),
|
@@ -174,7 +174,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
174
174
|
(0, utils_1.getAccountMeta)(this.debtPriceOracle),
|
175
175
|
]);
|
176
176
|
}
|
177
|
-
return (0,
|
177
|
+
return (0, marginfi_1.lendingAccountBorrow)(this.umi, {
|
178
178
|
amount: args.fields[0],
|
179
179
|
signer: this.signer,
|
180
180
|
destinationTokenAccount: (0, umi_1.publicKey)(this.signerDebtTa),
|
@@ -186,7 +186,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
186
186
|
}).addRemainingAccounts(remainingAccounts);
|
187
187
|
}
|
188
188
|
case "Repay": {
|
189
|
-
return (0,
|
189
|
+
return (0, marginfi_1.lendingAccountRepay)(this.umi, {
|
190
190
|
amount: args.fields[0].__kind === "Some" ? args.fields[0].fields[0] : 0,
|
191
191
|
repayAll: args.fields[0].__kind === "All" ? true : false,
|
192
192
|
signer: this.signer,
|
@@ -198,7 +198,7 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
198
198
|
});
|
199
199
|
}
|
200
200
|
case "Withdraw": {
|
201
|
-
return (0,
|
201
|
+
return (0, marginfi_1.lendingAccountWithdraw)(this.umi, {
|
202
202
|
amount: args.fields[0].__kind === "Some" ? args.fields[0].fields[0] : 0,
|
203
203
|
withdrawAll: args.fields[0].__kind === "All" ? true : false,
|
204
204
|
signer: this.signer,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../../src/services/transactions/manager/transactionsManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,aAAa,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAEzE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,0BAA0B,GAAG,wBAAwB,EAAE,CAAC;AAEpE,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS;IAC1D,SAAS,EAAE,CAAC,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,SAAS;IAClD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IACvB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC1E,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACxC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAAM;IACpD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE5C,kBAAkB,SAAmB;gBAEzB,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAoB9B,uBAAuB;
|
1
|
+
{"version":3,"file":"transactionsManager.d.ts","sourceRoot":"","sources":["../../../../src/services/transactions/manager/transactionsManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,aAAa,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAEzE,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAK5B;AAED,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,0BAA0B,GAAG,wBAAwB,EAAE,CAAC;AAEpE,UAAU,WAAW;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,SAAS;IAC1D,SAAS,EAAE,CAAC,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,SAAS;IAClD,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IACvB,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC1E,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACzC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACxC,SAAS,CAAC,QAAQ,EAAE,0BAA0B,CAAM;IACpD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE5C,kBAAkB,SAAmB;gBAEzB,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAoB9B,uBAAuB;IAmDrC,OAAO,CAAC,YAAY;YA+BN,aAAa;IAoB3B,SAAS,CAAC,4BAA4B,CACpC,SAAS,EAAE,KAAK,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM;IAcpB,OAAO,CAAC,mBAAmB;IAkBd,IAAI,CACf,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,0BAA0B,CAAC;IAoCtC,OAAO,CAAC,mBAAmB;YA0Bb,eAAe;YAkDf,6BAA6B;YAyC7B,cAAc;YA0Ed,qBAAqB;cAuDnB,eAAe,CAC7B,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,SAAS,CAAC,EAAE,kBAAkB;IAqChC,OAAO,CAAC,gBAAgB;CAqCzB"}
|
@@ -48,6 +48,7 @@ class TransactionsManager {
|
|
48
48
|
let transactionSets = [];
|
49
49
|
(0, utils_1.consoleLog)(`Reassembling ${items.length} items`);
|
50
50
|
const txItems = items.sort((a, b) => a.orderPrio - b.orderPrio);
|
51
|
+
const splitTxsGenerously = this.statuses.find((x) => x.moreInfo === "ProgramFailedToComplete");
|
51
52
|
for (let i = txItems.length - 1; i >= 0;) {
|
52
53
|
let item = txItems[i];
|
53
54
|
i--;
|
@@ -63,8 +64,12 @@ class TransactionsManager {
|
|
63
64
|
item,
|
64
65
|
]);
|
65
66
|
for (let j = i; j >= 0; j--) {
|
66
|
-
|
67
|
-
|
67
|
+
const tx = txItems[j];
|
68
|
+
const separateTx = splitTxsGenerously &&
|
69
|
+
j < i &&
|
70
|
+
txItems[j + 1].name?.toLowerCase() === "rebalance";
|
71
|
+
if ((await newSet.fitsWith(tx)) && !separateTx) {
|
72
|
+
newSet.prepend(tx);
|
68
73
|
i--;
|
69
74
|
}
|
70
75
|
else {
|
@@ -11,9 +11,9 @@ const umi_1 = require("@metaplex-foundation/umi");
|
|
11
11
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
12
12
|
const generated_1 = require("../../generated");
|
13
13
|
const utils_1 = require("../../utils");
|
14
|
-
const
|
14
|
+
const marginfi_1 = require("../../externalSdks/marginfi");
|
15
15
|
const swap_1 = require("../swap");
|
16
|
-
const
|
16
|
+
const jupiter_1 = require("../../externalSdks/jupiter");
|
17
17
|
const types_1 = require("../../types");
|
18
18
|
const constants_1 = require("../../constants");
|
19
19
|
function getWSolUsage(client, solautoActions, initiatingDcaIn, cancellingDcaIn) {
|
@@ -209,7 +209,7 @@ function getSolautoActions(umi, tx) {
|
|
209
209
|
}
|
210
210
|
if ((0, constants_1.isMarginfiProgram)((0, umi_web3js_adapters_1.toWeb3JsPublicKey)(x.programId))) {
|
211
211
|
try {
|
212
|
-
const serializer = (0,
|
212
|
+
const serializer = (0, marginfi_1.getLendingAccountDepositInstructionDataSerializer)();
|
213
213
|
const discriminator = (0, utils_1.uint8ArrayToBigInt)(serializer
|
214
214
|
.serialize({
|
215
215
|
amount: 0,
|
@@ -227,7 +227,7 @@ function getSolautoActions(umi, tx) {
|
|
227
227
|
}
|
228
228
|
catch { }
|
229
229
|
try {
|
230
|
-
const serializer = (0,
|
230
|
+
const serializer = (0, marginfi_1.getLendingAccountBorrowInstructionDataSerializer)();
|
231
231
|
const discriminator = (0, utils_1.uint8ArrayToBigInt)(serializer
|
232
232
|
.serialize({
|
233
233
|
amount: 0,
|
@@ -244,7 +244,7 @@ function getSolautoActions(umi, tx) {
|
|
244
244
|
}
|
245
245
|
catch { }
|
246
246
|
try {
|
247
|
-
const serializer = (0,
|
247
|
+
const serializer = (0, marginfi_1.getLendingAccountWithdrawInstructionDataSerializer)();
|
248
248
|
const discriminator = (0, utils_1.uint8ArrayToBigInt)(serializer
|
249
249
|
.serialize({
|
250
250
|
amount: 0,
|
@@ -271,7 +271,7 @@ function getSolautoActions(umi, tx) {
|
|
271
271
|
}
|
272
272
|
catch { }
|
273
273
|
try {
|
274
|
-
const serializer = (0,
|
274
|
+
const serializer = (0, marginfi_1.getLendingAccountRepayInstructionDataSerializer)();
|
275
275
|
const discriminator = (0, utils_1.uint8ArrayToBigInt)(serializer
|
276
276
|
.serialize({
|
277
277
|
amount: 0,
|
@@ -384,7 +384,7 @@ function getErrorInfo(umi, txs, error, simulationSuccessful, priorityFeeSetting)
|
|
384
384
|
(0, utils_1.consoleLog)("Error code:", errCode);
|
385
385
|
(0, utils_1.consoleLog)("Error instruction program:", errIx?.programId.toString());
|
386
386
|
const solautoError = (0, generated_1.getSolautoErrorFromCode)(errCode ?? -1, (0, generated_1.createSolautoProgram)());
|
387
|
-
const marginfiError = (0,
|
387
|
+
const marginfiError = (0, marginfi_1.getMarginfiErrorFromCode)(errCode ?? -1, (0, marginfi_1.createMarginfiProgram)());
|
388
388
|
if (errCode !== undefined &&
|
389
389
|
errIx?.programId.toString() ===
|
390
390
|
umi.programs.get("solauto").publicKey.toString()) {
|
@@ -402,9 +402,9 @@ function getErrorInfo(umi, txs, error, simulationSuccessful, priorityFeeSetting)
|
|
402
402
|
programError = marginfiError;
|
403
403
|
}
|
404
404
|
else if (errCode !== undefined &&
|
405
|
-
errIx?.programId ===
|
405
|
+
errIx?.programId === jupiter_1.JUPITER_PROGRAM_ID) {
|
406
406
|
programName = "Jupiter";
|
407
|
-
programError = (0,
|
407
|
+
programError = (0, jupiter_1.getJupiterErrorFromCode)(errCode, (0, jupiter_1.createJupiterProgram)());
|
408
408
|
}
|
409
409
|
if (programError) {
|
410
410
|
errorName = programError?.name;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
|
-
import { Bank } from "../marginfi
|
2
|
+
import { Bank } from "../externalSdks/marginfi";
|
3
3
|
import { SolautoPositionEx } from "./solautoPositionEx";
|
4
4
|
import { LendingPlatform, PriceType } from "../generated";
|
5
5
|
export declare class MarginfiSolautoPositionEx extends SolautoPositionEx {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"marginfiSolautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/marginfiSolautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAA+B,MAAM,
|
1
|
+
{"version":3,"file":"marginfiSolautoPositionEx.d.ts","sourceRoot":"","sources":["../../src/solautoPosition/marginfiSolautoPositionEx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAA+B,MAAM,0BAA0B,CAAC;AAgB7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,eAAe,kBAA4B;IAC3C,eAAe,YAAiB;IAEzB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC/B,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAQ;IAEpC,WAAW,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAOtD,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAMpD,OAAO,CAAC,eAAe;IAMjB,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAW3B,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASpC,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa3D,OAAO,CAAC,6BAA6B;IAwBrC,gCAAgC,CAAC,KAAK,EAAE,IAAI,EAAE;IAK9C,4BAA4B,CAAC,KAAK,EAAE,IAAI,EAAE;IAQ1C,IAAI,eAAe,cAElB;IAED,IAAI,aAAa,cAEhB;IAED,IAAI,wBAAwB,IAAI,MAAM,CAKrC;IAED,IAAI,qBAAqB,IAAI,MAAM,CAUlC;IAEK,oBAAoB,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BjE"}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.MarginfiSolautoPositionEx = void 0;
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
5
|
-
const
|
5
|
+
const marginfi_1 = require("../externalSdks/marginfi");
|
6
6
|
const umi_1 = require("@metaplex-foundation/umi");
|
7
7
|
const utils_1 = require("../utils");
|
8
8
|
const constants_1 = require("../constants");
|
@@ -18,10 +18,10 @@ class MarginfiSolautoPositionEx extends solautoPositionEx_1.SolautoPositionEx {
|
|
18
18
|
}
|
19
19
|
supplyPrice(priceType) {
|
20
20
|
return (this._supplyPrice ??
|
21
|
-
(0, utils_1.safeGetPrice)(this.supplyMint, priceType,
|
21
|
+
(0, utils_1.safeGetPrice)(this.supplyMint, priceType, marginfi_1.PriceBias.Low));
|
22
22
|
}
|
23
23
|
debtPrice(priceType) {
|
24
|
-
return (this._debtPrice ?? (0, utils_1.safeGetPrice)(this.debtMint, priceType,
|
24
|
+
return (this._debtPrice ?? (0, utils_1.safeGetPrice)(this.debtMint, priceType, marginfi_1.PriceBias.High));
|
25
25
|
}
|
26
26
|
getBankAccounts(mint) {
|
27
27
|
const group = this.lpPoolAccount.toString();
|
@@ -30,7 +30,7 @@ class MarginfiSolautoPositionEx extends solautoPositionEx_1.SolautoPositionEx {
|
|
30
30
|
}
|
31
31
|
async getBanks() {
|
32
32
|
if (!this.supplyBank || !this.debtBank) {
|
33
|
-
[this.supplyBank, this.debtBank] = await (0,
|
33
|
+
[this.supplyBank, this.debtBank] = await (0, marginfi_1.safeFetchAllBank)(this.umi, [
|
34
34
|
(0, umi_1.publicKey)(this.lpSupplyAccount),
|
35
35
|
(0, umi_1.publicKey)(this.lpDebtAccount),
|
36
36
|
]);
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
2
|
import { Umi } from "@metaplex-foundation/umi";
|
3
3
|
import { PositionState, PriceType } from "../../generated";
|
4
|
-
import { Bank, MarginfiAccount } from "../../marginfi
|
4
|
+
import { Bank, MarginfiAccount } from "../../externalSdks/marginfi";
|
5
5
|
import { ContextUpdates } from "../solautoUtils";
|
6
6
|
export declare function getMarginfiMaxLtvAndLiqThresholdBps(umi: Umi, marginfiGroup: PublicKey, supply: {
|
7
7
|
mint: PublicKey;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/utils/marginfi/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAsB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO/E,OAAO,EACL,IAAI,EAGJ,eAAe,EAIhB,MAAM,
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/utils/marginfi/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAsB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO/E,OAAO,EACL,IAAI,EAGJ,eAAe,EAIhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgBjD,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE;IACN,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,EACD,IAAI,EAAE;IACJ,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB,EACD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8C3B;AAED,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,eAAe,EAAE,CAAC,CA6B5B;AAED,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,CAAC,EAAE,SAAS,EACjB,qBAAqB,CAAC,EAAE,OAAO,GAC9B,OAAO,CACR;IAAE,eAAe,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,EAAE,CAC/E,CAyDA;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,kBAAkB,EAAE,OAAO,UAqB5B;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,KAAK,EAAE,OAAO,UAgBf;AA0DD,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,KAAK,UAAU,GAAG;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC;AAwBhE,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE;IAAE,EAAE,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,EAChE,aAAa,CAAC,EAAE,SAAS,EACzB,MAAM,CAAC,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,aAAa,EACpB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CACN;IACE,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,SAAS,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;CACtB,GACD,SAAS,CACZ,CAmLA;AA+DD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,oBAU7C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBnE"}
|
@@ -12,7 +12,7 @@ const web3_js_1 = require("@solana/web3.js");
|
|
12
12
|
const umi_1 = require("@metaplex-foundation/umi");
|
13
13
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
14
14
|
const constants_1 = require("../../constants");
|
15
|
-
const
|
15
|
+
const marginfi_1 = require("../../externalSdks/marginfi");
|
16
16
|
const priceUtils_1 = require("../priceUtils");
|
17
17
|
const generalUtils_1 = require("../generalUtils");
|
18
18
|
const numberUtils_1 = require("../numberUtils");
|
@@ -23,10 +23,10 @@ async function getMarginfiMaxLtvAndLiqThresholdBps(umi, marginfiGroup, supply, d
|
|
23
23
|
}
|
24
24
|
const bankAccounts = (0, constants_1.getMarginfiAccounts)(undefined, marginfiGroup).bankAccounts;
|
25
25
|
if (!supply.bank || supply.bank === null) {
|
26
|
-
supply.bank = await (0,
|
26
|
+
supply.bank = await (0, marginfi_1.safeFetchBank)(umi, (0, umi_1.publicKey)(bankAccounts[marginfiGroup.toString()][supply.mint.toString()].bank), { commitment: "confirmed" });
|
27
27
|
}
|
28
28
|
if ((!debt.bank || debt.bank === null) && !(0, generalUtils_1.validPubkey)(debt.mint)) {
|
29
|
-
debt.bank = await (0,
|
29
|
+
debt.bank = await (0, marginfi_1.safeFetchBank)(umi, (0, umi_1.publicKey)(bankAccounts[marginfiGroup.toString()][debt.mint.toString()].bank), { commitment: "confirmed" });
|
30
30
|
}
|
31
31
|
if (!supplyPrice) {
|
32
32
|
const [price] = await (0, priceUtils_1.fetchTokenPrices)([
|
@@ -44,7 +44,7 @@ async function getEmptyMarginfiAccountsByAuthority(umi, authority) {
|
|
44
44
|
commitment: "confirmed",
|
45
45
|
filters: [
|
46
46
|
{
|
47
|
-
dataSize: (0,
|
47
|
+
dataSize: (0, marginfi_1.getMarginfiAccountSize)(),
|
48
48
|
},
|
49
49
|
{
|
50
50
|
memcmp: {
|
@@ -62,7 +62,7 @@ async function getEmptyMarginfiAccountsByAuthority(umi, authority) {
|
|
62
62
|
],
|
63
63
|
});
|
64
64
|
return marginfiAccounts
|
65
|
-
.map((x) => (0,
|
65
|
+
.map((x) => (0, marginfi_1.deserializeMarginfiAccount)(x))
|
66
66
|
.filter((x) => (0, general_1.marginfiAccountEmpty)(x));
|
67
67
|
}
|
68
68
|
async function getAllMarginfiAccountsByAuthority(umi, authority, group, compatibleWithSolauto) {
|
@@ -74,7 +74,7 @@ async function getAllMarginfiAccountsByAuthority(umi, authority, group, compatib
|
|
74
74
|
},
|
75
75
|
filters: [
|
76
76
|
{
|
77
|
-
dataSize: (0,
|
77
|
+
dataSize: (0, marginfi_1.getMarginfiAccountSize)(),
|
78
78
|
},
|
79
79
|
{
|
80
80
|
memcmp: {
|
@@ -179,13 +179,13 @@ async function getBank(umi, data, marginfiGroup) {
|
|
179
179
|
return data?.banksCache && mint
|
180
180
|
? data.banksCache[marginfiGroup.toString()][mint]
|
181
181
|
: mint && mint !== web3_js_1.PublicKey.default.toString()
|
182
|
-
? await (0,
|
182
|
+
? await (0, marginfi_1.safeFetchBank)(umi, (0, umi_1.publicKey)((0, constants_1.getMarginfiAccounts)(undefined, marginfiGroup).bankAccounts[marginfiGroup.toString()][mint].bank), { commitment: "confirmed" })
|
183
183
|
: null;
|
184
184
|
}
|
185
185
|
async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup, supply, debt, contextUpdates, priceType) {
|
186
186
|
let marginfiAccount = lpUserAccount.data ??
|
187
187
|
((0, generalUtils_1.validPubkey)(lpUserAccount.pk)
|
188
|
-
? await (0,
|
188
|
+
? await (0, marginfi_1.safeFetchMarginfiAccount)(umi, (0, umi_1.publicKey)(lpUserAccount.pk), {
|
189
189
|
commitment: "confirmed",
|
190
190
|
})
|
191
191
|
: null);
|
@@ -215,7 +215,7 @@ async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup
|
|
215
215
|
}
|
216
216
|
if (supplyBalances.length > 0) {
|
217
217
|
if (supplyBank === null) {
|
218
|
-
supplyBank = await (0,
|
218
|
+
supplyBank = await (0, marginfi_1.safeFetchBank)(umi, supplyBalances[0].bankPk, {
|
219
219
|
commitment: "confirmed",
|
220
220
|
});
|
221
221
|
}
|
@@ -226,7 +226,7 @@ async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup
|
|
226
226
|
}
|
227
227
|
if (debtBalances.length > 0) {
|
228
228
|
if (debtBank === null) {
|
229
|
-
debtBank = await (0,
|
229
|
+
debtBank = await (0, marginfi_1.safeFetchBank)(umi, debtBalances[0].bankPk, {
|
230
230
|
commitment: "confirmed",
|
231
231
|
});
|
232
232
|
}
|
@@ -252,8 +252,8 @@ async function getMarginfiAccountPositionState(umi, lpUserAccount, marginfiGroup
|
|
252
252
|
(supplyMint.isStableCoin && debtMint.isStableCoin) ||
|
253
253
|
!constants_1.ALL_SUPPORTED_TOKENS.includes(supplyBank.mint.toString()) ||
|
254
254
|
!constants_1.ALL_SUPPORTED_TOKENS.includes(debtBank.mint.toString()) ||
|
255
|
-
supplyBank.config.oracleSetup ===
|
256
|
-
debtBank.config.oracleSetup ===
|
255
|
+
supplyBank.config.oracleSetup === marginfi_1.OracleSetup.StakedWithPythPush ||
|
256
|
+
debtBank.config.oracleSetup === marginfi_1.OracleSetup.StakedWithPythPush) {
|
257
257
|
return undefined;
|
258
258
|
}
|
259
259
|
if (!debtUsage) {
|
@@ -2,7 +2,7 @@ import { PublicKey } from "@solana/web3.js";
|
|
2
2
|
import { AccountMeta, Program, Umi } from "@metaplex-foundation/umi";
|
3
3
|
import { ProgramEnv, MarginfiAssetAccounts } from "../../types";
|
4
4
|
import { MarginfiBankAccountsMap } from "../../constants";
|
5
|
-
import { Balance, Bank, MarginfiAccount } from "../../marginfi
|
5
|
+
import { Balance, Bank, MarginfiAccount } from "../../externalSdks/marginfi";
|
6
6
|
export declare function createDynamicMarginfiProgram(env?: ProgramEnv): Program;
|
7
7
|
export declare function umiWithMarginfiProgram(umi: Umi, marginfiEnv?: ProgramEnv): Umi;
|
8
8
|
export declare function getAllBankRelatedAccounts(umi: Umi, bankAccountsMap: MarginfiBankAccountsMap): Promise<PublicKey[]>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/marginfi/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAKhF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,IAAI,EAIJ,eAAe,EAGhB,MAAM,
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/marginfi/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAa,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAKhF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAGL,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EACP,IAAI,EAIJ,eAAe,EAGhB,MAAM,6BAA6B,CAAC;AASrC,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CActE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,UAAU,OASxE;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,uBAAuB,GACvC,OAAO,CAAC,SAAS,EAAE,CAAC,CAkCtB;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS;;;;;GAanE;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,sBAgBtC;AAED,UAAU,wBAAyB,SAAQ,qBAAqB;IAC9D,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,GACd,wBAAwB,CAyB1B;AAED,wBAAsB,0CAA0C,CAC9D,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,EAAE,CAAC,CAWxB;AAED,wBAAgB,oCAAoC,CAClD,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BlB;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,eAAe,WASpE"}
|
@@ -13,7 +13,7 @@ const web3_js_1 = require("@solana/web3.js");
|
|
13
13
|
const umi_1 = require("@metaplex-foundation/umi");
|
14
14
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
15
15
|
const constants_1 = require("../../constants");
|
16
|
-
const
|
16
|
+
const marginfi_1 = require("../../externalSdks/marginfi");
|
17
17
|
const numberUtils_1 = require("../numberUtils");
|
18
18
|
const accountUtils_1 = require("../accountUtils");
|
19
19
|
const pythUtils_1 = require("../pythUtils");
|
@@ -23,10 +23,10 @@ function createDynamicMarginfiProgram(env) {
|
|
23
23
|
name: "marginfi",
|
24
24
|
publicKey: (0, umi_1.publicKey)((0, constants_1.getMarginfiAccounts)(env ?? "Prod").program),
|
25
25
|
getErrorFromCode(code, cause) {
|
26
|
-
return (0,
|
26
|
+
return (0, marginfi_1.getMarginfiErrorFromCode)(code, this, cause);
|
27
27
|
},
|
28
28
|
getErrorFromName(name, cause) {
|
29
|
-
return (0,
|
29
|
+
return (0, marginfi_1.getMarginfiErrorFromName)(name, this, cause);
|
30
30
|
},
|
31
31
|
isOnCluster() {
|
32
32
|
return true;
|
@@ -42,11 +42,11 @@ function umiWithMarginfiProgram(umi, marginfiEnv) {
|
|
42
42
|
}
|
43
43
|
async function getAllBankRelatedAccounts(umi, bankAccountsMap) {
|
44
44
|
const banks = Object.values(bankAccountsMap).flatMap((group) => Object.values(group).map((accounts) => accounts.bank));
|
45
|
-
const banksData = await (0,
|
45
|
+
const banksData = await (0, marginfi_1.safeFetchAllBank)(umi, banks.map((x) => (0, umi_1.publicKey)(x)));
|
46
46
|
const oracles = banksData
|
47
47
|
.map((bank) => {
|
48
48
|
const oracleKey = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.config.oracleKeys[0]);
|
49
|
-
return bank.config.oracleSetup ===
|
49
|
+
return bank.config.oracleSetup === marginfi_1.OracleSetup.PythPushOracle
|
50
50
|
? [
|
51
51
|
(0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.PYTH_SPONSORED_SHARD_ID),
|
52
52
|
(0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.MARGINFI_SPONSORED_SHARD_ID),
|
@@ -65,7 +65,7 @@ async function getAllBankRelatedAccounts(umi, bankAccountsMap) {
|
|
65
65
|
.map((x) => new web3_js_1.PublicKey(x));
|
66
66
|
}
|
67
67
|
async function fetchBankAddresses(umi, bankPk) {
|
68
|
-
const bank = await (0,
|
68
|
+
const bank = await (0, marginfi_1.fetchBank)(umi, (0, umi_web3js_adapters_1.fromWeb3JsPublicKey)(bankPk));
|
69
69
|
const liquidityVault = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.liquidityVault);
|
70
70
|
const vaultAuthority = (await (0, accountUtils_1.getTokenAccountData)(umi, liquidityVault))
|
71
71
|
?.owner;
|
@@ -79,10 +79,10 @@ async function fetchBankAddresses(umi, bankPk) {
|
|
79
79
|
}
|
80
80
|
async function getMarginfiPriceOracle(umi, bank) {
|
81
81
|
if (!bank.data) {
|
82
|
-
bank.data = await (0,
|
82
|
+
bank.data = await (0, marginfi_1.fetchBank)(umi, (0, umi_web3js_adapters_1.fromWeb3JsPublicKey)(bank.pk));
|
83
83
|
}
|
84
84
|
const oracleKey = (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(bank.data.config.oracleKeys[0]);
|
85
|
-
const priceOracle = bank.data.config.oracleSetup ===
|
85
|
+
const priceOracle = bank.data.config.oracleSetup === marginfi_1.OracleSetup.PythPushOracle
|
86
86
|
? await (0, pythUtils_1.getMostUpToDatePythOracle)(umi, [
|
87
87
|
(0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.PYTH_SPONSORED_SHARD_ID),
|
88
88
|
(0, pythUtils_1.getPythPushOracleAddress)(oracleKey, constants_1.MARGINFI_SPONSORED_SHARD_ID),
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { PublicKey } from "@solana/web3.js";
|
2
2
|
import { PublicKey as UmiPublicKey } from "@metaplex-foundation/umi";
|
3
3
|
import { PriceType } from "../generated";
|
4
|
-
import { PriceBias } from "../marginfi
|
4
|
+
import { PriceBias } from "../externalSdks/marginfi";
|
5
5
|
interface PriceResult {
|
6
6
|
realtimePrice: number;
|
7
7
|
confInterval?: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"priceUtils.d.ts","sourceRoot":"","sources":["../../src/utils/priceUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgBrE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnB;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAqDtC;AAkBD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAkDtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAiBtC;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,EACnD,SAAS,GAAE,SAA8B,EACzC,SAAS,CAAC,EAAE,SAAS,GACpB,MAAM,GAAG,SAAS,CAyBpB"}
|
package/dist/utils/priceUtils.js
CHANGED
@@ -35,7 +35,7 @@ const numberUtils_1 = require("./numberUtils");
|
|
35
35
|
const generalUtils_1 = require("./generalUtils");
|
36
36
|
const jupiterUtils_1 = require("./jupiterUtils");
|
37
37
|
const generated_1 = require("../generated");
|
38
|
-
const
|
38
|
+
const marginfi_1 = require("../externalSdks/marginfi");
|
39
39
|
async function fetchTokenPrices(mints, priceType = generated_1.PriceType.Realtime, priceBias) {
|
40
40
|
const currentTime = (0, generalUtils_1.currentUnixSeconds)();
|
41
41
|
const mintStrs = mints.map((x) => x.toString());
|
@@ -170,7 +170,7 @@ function safeGetPrice(mint, priceType = generated_1.PriceType.Realtime, priceBia
|
|
170
170
|
? priceData.emaConfInterval
|
171
171
|
: priceData.confInterval;
|
172
172
|
const conf = Math.min(confInterval, price * 0.05);
|
173
|
-
if (priceBias ===
|
173
|
+
if (priceBias === marginfi_1.PriceBias.Low) {
|
174
174
|
price -= conf;
|
175
175
|
}
|
176
176
|
else {
|
package/dist/utils/pythUtils.js
CHANGED
@@ -6,9 +6,9 @@ const web3_js_1 = require("@solana/web3.js");
|
|
6
6
|
const umi_1 = require("@metaplex-foundation/umi");
|
7
7
|
const constants_1 = require("../constants");
|
8
8
|
const generalUtils_1 = require("./generalUtils");
|
9
|
-
const
|
9
|
+
const pyth_1 = require("../externalSdks/pyth");
|
10
10
|
async function getMostUpToDatePythOracle(umi, oracleKeys) {
|
11
|
-
const oracles = (0, generalUtils_1.zip)(oracleKeys, await (0,
|
11
|
+
const oracles = (0, generalUtils_1.zip)(oracleKeys, await (0, pyth_1.safeFetchAllPriceUpdateV2Account)(umi, oracleKeys.map((x) => (0, umi_1.publicKey)(x)), { commitment: "confirmed" })).sort((a, b) => Number(b[1]?.priceMessage.publishTime ?? 0) -
|
12
12
|
Number(a[1]?.priceMessage.publishTime ?? 0));
|
13
13
|
return oracles[0][0];
|
14
14
|
}
|
@@ -26,11 +26,11 @@ const umi_1 = require("@metaplex-foundation/umi");
|
|
26
26
|
const umi_web3js_adapters_1 = require("@metaplex-foundation/umi-web3js-adapters");
|
27
27
|
const umi_bundle_defaults_1 = require("@metaplex-foundation/umi-bundle-defaults");
|
28
28
|
const types_1 = require("../types");
|
29
|
-
const
|
29
|
+
const marginfi_1 = require("../externalSdks/marginfi");
|
30
30
|
const accountUtils_1 = require("./accountUtils");
|
31
31
|
const generalUtils_1 = require("./generalUtils");
|
32
32
|
const solautoUtils_1 = require("./solautoUtils");
|
33
|
-
const
|
33
|
+
const marginfi_2 = require("./marginfi");
|
34
34
|
const services_1 = require("../services");
|
35
35
|
function getSolanaRpcConnection(rpcUrl, programId, lpEnv) {
|
36
36
|
const connection = new web3_js_1.Connection(rpcUrl, {
|
@@ -39,7 +39,7 @@ function getSolanaRpcConnection(rpcUrl, programId, lpEnv) {
|
|
39
39
|
const umi = (0, umi_bundle_defaults_1.createUmi)(connection).use({
|
40
40
|
install(umi) {
|
41
41
|
umi.programs.add((0, solautoUtils_1.createDynamicSolautoProgram)(programId), false);
|
42
|
-
umi.programs.add((0,
|
42
|
+
umi.programs.add((0, marginfi_2.createDynamicMarginfiProgram)(lpEnv), false);
|
43
43
|
},
|
44
44
|
});
|
45
45
|
return [connection, umi];
|
@@ -129,13 +129,13 @@ function addTxOptimizations(umi, tx, computeUnitPrice, computeUnitLimit) {
|
|
129
129
|
}
|
130
130
|
function assembleFinalTransaction(umi, transaction, computeUnitPrice, computeUnitLimit) {
|
131
131
|
const tx = addTxOptimizations(umi, transaction, computeUnitPrice, computeUnitLimit);
|
132
|
-
const marginfiStartFlSerializer = (0,
|
132
|
+
const marginfiStartFlSerializer = (0, marginfi_1.getLendingAccountStartFlashloanInstructionDataSerializer)();
|
133
133
|
const marginfiStartFlDiscriminator = marginfiStartFlSerializer
|
134
134
|
.serialize({
|
135
135
|
endIndex: 0,
|
136
136
|
})
|
137
137
|
.slice(0, 8);
|
138
|
-
const marginfiEndFlSerializer = (0,
|
138
|
+
const marginfiEndFlSerializer = (0, marginfi_1.getLendingAccountEndFlashloanInstructionDataSerializer)();
|
139
139
|
const marginfiEndFlDiscriminator = marginfiEndFlSerializer
|
140
140
|
.serialize({
|
141
141
|
endIndex: 0,
|
package/local/patchLUT.ts
CHANGED
@@ -43,6 +43,7 @@ async function getMissingAccounts() {
|
|
43
43
|
const users = Array.from(
|
44
44
|
new Set(positions.map((x) => x.authority.toString()))
|
45
45
|
);
|
46
|
+
const usersRequiringPatchLut = [];
|
46
47
|
for (const user of users) {
|
47
48
|
const authority = new PublicKey(user);
|
48
49
|
const referralState = referralStatesData.find((x) =>
|
@@ -82,9 +83,12 @@ async function getMissingAccounts() {
|
|
82
83
|
console.log("\nMissing accounts for", referralState.publicKey.toString());
|
83
84
|
console.log(missingAccounts);
|
84
85
|
allMissingAccounts.push(...missingAccounts);
|
86
|
+
usersRequiringPatchLut.push(user);
|
85
87
|
}
|
86
88
|
}
|
87
89
|
|
90
|
+
console.log("Users requiring patch LUT:");
|
91
|
+
console.log(Array.from(new Set(usersRequiringPatchLut)));
|
88
92
|
return allMissingAccounts;
|
89
93
|
}
|
90
94
|
|