@gearbox-protocol/sdk 16.2.0 → 16.3.0-next.2
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/cjs/abi/rwa/iMidasAccessControl.js +23 -0
- package/dist/cjs/abi/rwa/iMidasDegenNFT.js +92 -0
- package/dist/cjs/history/assembleOperations.js +3 -3
- package/dist/cjs/history/classifyMulticallOperations.js +7 -7
- package/dist/cjs/history/index.js +13 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +5 -5
- package/dist/cjs/{preview → history}/trace/errors.js +1 -1
- package/dist/cjs/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
- package/dist/cjs/{preview → history}/trace/extractTransfers.js +3 -3
- package/dist/cjs/{preview → history}/trace/findFacadeCalls.js +3 -3
- package/dist/cjs/history/trace/index.js +14 -0
- package/dist/cjs/model/errors/index.js +37 -0
- package/dist/cjs/model/errors/liquidation-errors.js +32 -0
- package/dist/cjs/model/errors/operation-errors.js +135 -0
- package/dist/cjs/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
- package/dist/cjs/model/errors/prepare-errors.js +108 -0
- package/dist/cjs/model/errors/preview-errors.js +12 -0
- package/dist/cjs/model/index.js +45 -2
- package/dist/cjs/model/opportunities.schema.js +3 -1
- package/dist/cjs/model/positions.js +1 -1
- package/dist/cjs/model/result.js +0 -8
- package/dist/cjs/model/rwa.js +53 -0
- package/dist/cjs/model/rwa.schema.js +20 -0
- package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +1 -1
- package/dist/cjs/onchain/accounts/index.js +0 -2
- package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
- package/dist/cjs/onchain/accounts/intents/index.js +38 -35
- package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
- package/dist/cjs/onchain/accounts/intents/math.js +19 -15
- package/dist/cjs/onchain/accounts/intents/open-strategy.js +6 -4
- package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
- package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
- package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
- package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
- package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
- package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
- package/dist/cjs/onchain/accounts/intents/view.js +1 -1
- package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +2 -2
- package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
- package/dist/cjs/onchain/index.js +130 -38
- package/dist/cjs/onchain/market/MarketSuite.js +10 -4
- package/dist/cjs/onchain/market/adapters/index.js +1 -0
- package/dist/cjs/onchain/market/credit/CreditSuite.js +77 -15
- package/dist/cjs/onchain/market/index.js +8 -8
- package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
- package/dist/cjs/onchain/market/oracle/index.js +0 -2
- package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
- package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
- package/dist/cjs/onchain/market/rwa/createDegenNFT.js +53 -0
- package/dist/cjs/onchain/market/rwa/index.js +7 -5
- package/dist/cjs/onchain/market/rwa/midas/MidasDegenNFT.js +56 -0
- package/dist/cjs/onchain/market/rwa/midas/constants.js +2 -0
- package/dist/cjs/onchain/market/rwa/midas/index.js +3 -0
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +22 -3
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +9 -9
- package/dist/cjs/onchain/market/rwa/securitize/constants.js +2 -2
- package/dist/cjs/onchain/market/rwa/securitize/index.js +4 -3
- package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
- package/dist/cjs/onchain/market/rwa/types.js +0 -7
- package/dist/cjs/onchain/market/zapper/index.js +0 -1
- package/dist/cjs/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
- package/dist/cjs/onchain/opportunities/OpportunitiesService.js +11 -3
- package/dist/cjs/onchain/pools/PoolService.js +10 -16
- package/dist/cjs/onchain/preview/index.js +41 -0
- package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
- package/dist/cjs/onchain/preview/parse/index.js +14 -0
- package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
- package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
- package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
- package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
- package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
- package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
- package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
- package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
- package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
- package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
- package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
- package/dist/cjs/onchain/preview/preview/index.js +26 -0
- package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
- package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
- package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
- package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
- package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
- package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
- package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
- package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
- package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
- package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
- package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
- package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
- package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
- package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
- package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
- package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
- package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
- package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
- package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
- package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
- package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
- package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
- package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
- package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
- package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
- package/dist/cjs/onchain/validation/bundles/index.js +35 -0
- package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
- package/dist/cjs/onchain/validation/checkOperation.js +62 -0
- package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
- package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
- package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
- package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
- package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
- package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
- package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
- package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
- package/dist/cjs/onchain/validation/checks/index.js +31 -0
- package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
- package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
- package/dist/cjs/onchain/validation/helpers/index.js +11 -0
- package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
- package/dist/cjs/onchain/validation/index.js +85 -27
- package/dist/cjs/onchain/validation/raise.js +33 -0
- package/dist/cjs/sdk/index.js +6 -11
- package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +19 -4
- package/dist/cjs/sdk/prepare/PrepareApi.js +40 -50
- package/dist/cjs/sdk/prepare/index.js +7 -11
- package/dist/cjs/sdk/prepare/types.js +0 -4
- package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
- package/dist/esm/abi/rwa/iMidasAccessControl.js +22 -0
- package/dist/esm/abi/rwa/iMidasDegenNFT.js +91 -0
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/history/assembleOperations.js +2 -2
- package/dist/esm/history/classifyMulticallOperations.js +2 -2
- package/dist/esm/history/index.js +6 -1
- package/dist/esm/history/parseCreditAccountTransaction.js +3 -3
- package/dist/esm/{preview → history}/trace/errors.js +1 -1
- package/dist/esm/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
- package/dist/esm/{preview → history}/trace/extractTransfers.js +2 -2
- package/dist/esm/{preview → history}/trace/findFacadeCalls.js +1 -1
- package/dist/esm/model/errors/index.js +7 -0
- package/dist/esm/model/errors/liquidation-errors.js +29 -0
- package/dist/esm/model/errors/operation-errors.js +121 -0
- package/dist/esm/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
- package/dist/esm/model/errors/prepare-errors.js +97 -0
- package/dist/esm/model/errors/preview-errors.js +11 -0
- package/dist/esm/model/index.js +10 -3
- package/dist/esm/model/opportunities.schema.js +3 -1
- package/dist/esm/model/positions.js +1 -1
- package/dist/esm/model/result.js +1 -8
- package/dist/esm/model/rwa.js +48 -0
- package/dist/esm/model/rwa.schema.js +18 -0
- package/dist/esm/offchain/opportunities/OffchainOpportunities.js +1 -1
- package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
- package/dist/esm/onchain/accounts/index.js +1 -2
- package/dist/esm/onchain/accounts/intents/guards.js +29 -52
- package/dist/esm/onchain/accounts/intents/index.js +39 -35
- package/dist/esm/onchain/accounts/intents/leverage-band.js +1 -1
- package/dist/esm/onchain/accounts/intents/math.js +18 -14
- package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -6
- package/dist/esm/onchain/accounts/intents/plan.js +51 -47
- package/dist/esm/onchain/accounts/intents/realize.js +26 -24
- package/dist/esm/onchain/accounts/intents/tail.js +14 -11
- package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +7 -0
- package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
- package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
- package/dist/esm/onchain/accounts/intents/view.js +1 -1
- package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +3 -3
- package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
- package/dist/esm/onchain/base/TokensMeta.js +3 -3
- package/dist/esm/onchain/core/createAddressProvider.js +1 -1
- package/dist/esm/onchain/index.js +64 -11
- package/dist/esm/onchain/market/MarketSuite.js +10 -4
- package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/index.js +1 -0
- package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/onchain/market/credit/CreditSuite.js +77 -15
- package/dist/esm/onchain/market/index.js +6 -6
- package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
- package/dist/esm/onchain/market/oracle/index.js +1 -2
- package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
- package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
- package/dist/esm/onchain/market/rwa/createDegenNFT.js +52 -0
- package/dist/esm/onchain/market/rwa/index.js +6 -5
- package/dist/esm/onchain/market/rwa/midas/MidasDegenNFT.js +55 -0
- package/dist/esm/onchain/market/rwa/midas/constants.js +2 -1
- package/dist/esm/onchain/market/rwa/midas/index.js +3 -2
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +20 -2
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +4 -4
- package/dist/esm/onchain/market/rwa/securitize/constants.js +2 -2
- package/dist/esm/onchain/market/rwa/securitize/index.js +4 -3
- package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
- package/dist/esm/onchain/market/rwa/types.js +1 -7
- package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/index.js +0 -1
- package/dist/esm/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
- package/dist/esm/onchain/opportunities/OpportunitiesService.js +11 -3
- package/dist/esm/onchain/pools/PoolService.js +10 -16
- package/dist/esm/onchain/preview/index.js +20 -0
- package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
- package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
- package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
- package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
- package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
- package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
- package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
- package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
- package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
- package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
- package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
- package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
- package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
- package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
- package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
- package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
- package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
- package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
- package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
- package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
- package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
- package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
- package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
- package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
- package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
- package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
- package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
- package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
- package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
- package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
- package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
- package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
- package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
- package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
- package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
- package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
- package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
- package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
- package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
- package/dist/esm/onchain/validation/bundles/index.js +18 -0
- package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
- package/dist/esm/onchain/validation/checkOperation.js +61 -0
- package/dist/esm/onchain/validation/checkSimulation.js +59 -0
- package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
- package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
- package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
- package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
- package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
- package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
- package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
- package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
- package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
- package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
- package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
- package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
- package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
- package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
- package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
- package/dist/esm/onchain/validation/checks/index.js +16 -0
- package/dist/esm/onchain/validation/helpers/amount.js +11 -0
- package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
- package/dist/esm/onchain/validation/helpers/index.js +4 -0
- package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
- package/dist/esm/onchain/validation/index.js +43 -4
- package/dist/esm/onchain/validation/raise.js +31 -0
- package/dist/esm/sdk/index.js +2 -3
- package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +19 -4
- package/dist/esm/sdk/prepare/PrepareApi.js +25 -35
- package/dist/esm/sdk/prepare/index.js +3 -3
- package/dist/esm/sdk/prepare/types.js +1 -2
- package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
- package/dist/types/abi/rwa/iMidasAccessControl.d.ts +22 -0
- package/dist/types/abi/rwa/iMidasDegenNFT.d.ts +82 -0
- package/dist/types/history/assembleOperations.d.ts +4 -5
- package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
- package/dist/types/history/index.d.ts +8 -2
- package/dist/types/history/mapOperations.d.ts +1 -1
- package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
- package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
- package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
- package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
- package/dist/types/{preview → history}/trace/types.d.ts +1 -1
- package/dist/types/history/types.d.ts +2 -3
- package/dist/types/model/errors/base.d.ts +28 -0
- package/dist/types/model/errors/index.d.ts +7 -0
- package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
- package/dist/types/model/errors/operation-errors.d.ts +216 -0
- package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
- package/dist/types/model/errors/prepare-errors.d.ts +131 -0
- package/dist/types/model/errors/preview-errors.d.ts +72 -0
- package/dist/types/model/index.d.ts +12 -4
- package/dist/types/model/opportunities.d.ts +12 -2
- package/dist/types/model/opportunities.schema.d.ts +30 -0
- package/dist/types/model/positions.d.ts +2 -2
- package/dist/types/model/previews.d.ts +52 -113
- package/dist/types/model/result.d.ts +4 -8
- package/dist/types/model/rwa.d.ts +167 -0
- package/dist/types/model/rwa.schema.d.ts +29 -0
- package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +2 -1
- package/dist/types/offchain/opportunities/types.d.ts +4 -1
- package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
- package/dist/types/onchain/accounts/index.d.ts +2 -4
- package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
- package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
- package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
- package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
- package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
- package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
- package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
- package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
- package/dist/types/onchain/accounts/types.d.ts +2 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
- package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
- package/dist/types/onchain/index.d.ts +73 -16
- package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
- package/dist/types/onchain/market/adapters/index.d.ts +2 -1
- package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
- package/dist/types/onchain/market/credit/CreditSuite.d.ts +30 -8
- package/dist/types/onchain/market/credit/index.d.ts +2 -2
- package/dist/types/onchain/market/credit/types.d.ts +11 -1
- package/dist/types/onchain/market/index.d.ts +11 -10
- package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
- package/dist/types/onchain/market/oracle/index.d.ts +1 -2
- package/dist/types/onchain/market/oracle/types.d.ts +1 -1
- package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
- package/dist/types/onchain/market/rwa/RWARegistry.d.ts +1 -1
- package/dist/types/onchain/market/rwa/createDegenNFT.d.ts +12 -0
- package/dist/types/onchain/market/rwa/index.d.ts +10 -8
- package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +98 -0
- package/dist/types/onchain/market/rwa/midas/constants.d.ts +2 -1
- package/dist/types/onchain/market/rwa/midas/index.d.ts +3 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +8 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +4 -3
- package/dist/types/onchain/market/rwa/securitize/constants.d.ts +2 -2
- package/dist/types/onchain/market/rwa/securitize/index.d.ts +5 -4
- package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
- package/dist/types/onchain/market/rwa/types.d.ts +24 -32
- package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
- package/dist/types/onchain/market/zapper/index.d.ts +1 -2
- package/dist/types/onchain/market/zapper/types.d.ts +1 -1
- package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -1
- package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +5 -1
- package/dist/types/onchain/opportunities/types.d.ts +3 -2
- package/dist/types/onchain/pools/types.d.ts +2 -2
- package/dist/types/onchain/preview/index.d.ts +24 -0
- package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
- package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
- package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
- package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
- package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
- package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
- package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
- package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
- package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
- package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
- package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
- package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
- package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
- package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
- package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
- package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
- package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
- package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
- package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
- package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
- package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
- package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
- package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
- package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
- package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
- package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
- package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
- package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
- package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
- package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
- package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
- package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
- package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
- package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
- package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
- package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
- package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
- package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
- package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
- package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
- package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
- package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
- package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
- package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
- package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
- package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
- package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
- package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
- package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
- package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
- package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
- package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
- package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
- package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
- package/dist/types/onchain/validation/checks/index.d.ts +16 -0
- package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
- package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
- package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
- package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
- package/dist/types/onchain/validation/index.d.ts +43 -4
- package/dist/types/onchain/validation/raise.d.ts +33 -0
- package/dist/types/sdk/execute/types.d.ts +2 -2
- package/dist/types/sdk/index.d.ts +5 -6
- package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
- package/dist/types/sdk/liquidations/types.d.ts +8 -0
- package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +2 -1
- package/dist/types/sdk/opportunities/types.d.ts +8 -2
- package/dist/types/sdk/prepare/PrepareApi.d.ts +5 -4
- package/dist/types/sdk/prepare/index.d.ts +5 -5
- package/dist/types/sdk/prepare/types.d.ts +41 -22
- package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
- package/dist/types/sdk/preview/index.d.ts +2 -2
- package/dist/types/sdk/preview/types.d.ts +30 -7
- package/package.json +1 -6
- package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
- package/dist/cjs/onchain/market/zapper/errors.js +0 -1
- package/dist/cjs/onchain/validation/checks.js +0 -258
- package/dist/cjs/onchain/validation/refusal.js +0 -39
- package/dist/cjs/preview/index.js +0 -86
- package/dist/cjs/preview/package.json +0 -1
- package/dist/cjs/preview/parse/errors.js +0 -1
- package/dist/cjs/preview/parse/index.js +0 -15
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
- package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
- package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
- package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
- package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
- package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
- package/dist/cjs/preview/prerequisites/helpers.js +0 -23
- package/dist/cjs/preview/prerequisites/index.js +0 -12
- package/dist/cjs/preview/preview/errors.js +0 -85
- package/dist/cjs/preview/preview/index.js +0 -33
- package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
- package/dist/cjs/preview/preview/previewOperation.js +0 -100
- package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
- package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
- package/dist/cjs/preview/preview/replayMulticall.js +0 -19
- package/dist/cjs/preview/simulate/errors.js +0 -73
- package/dist/cjs/preview/simulate/index.js +0 -11
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
- package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
- package/dist/cjs/preview/simulate/types.js +0 -1
- package/dist/cjs/preview/trace/index.js +0 -14
- package/dist/cjs/preview/trace/types.js +0 -1
- package/dist/cjs/preview/types.js +0 -1
- package/dist/cjs/preview/validate/checkOperation.js +0 -187
- package/dist/cjs/preview/validate/checkSimulation.js +0 -39
- package/dist/cjs/preview/validate/index.js +0 -8
- package/dist/cjs/sdk/prepare/errors.js +0 -114
- package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
- package/dist/esm/onchain/market/zapper/errors.js +0 -1
- package/dist/esm/onchain/validation/checks.js +0 -238
- package/dist/esm/onchain/validation/refusal.js +0 -36
- package/dist/esm/preview/index.js +0 -38
- package/dist/esm/preview/package.json +0 -1
- package/dist/esm/preview/parse/errors.js +0 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
- package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
- package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
- package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
- package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
- package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
- package/dist/esm/preview/prerequisites/helpers.js +0 -22
- package/dist/esm/preview/prerequisites/index.js +0 -7
- package/dist/esm/preview/preview/errors.js +0 -79
- package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
- package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
- package/dist/esm/preview/preview/replayMulticall.js +0 -18
- package/dist/esm/preview/simulate/errors.js +0 -71
- package/dist/esm/preview/simulate/index.js +0 -6
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
- package/dist/esm/preview/simulate/simulateOperation.js +0 -28
- package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
- package/dist/esm/preview/simulate/types.js +0 -1
- package/dist/esm/preview/trace/types.js +0 -1
- package/dist/esm/preview/types.js +0 -1
- package/dist/esm/preview/validate/checkOperation.js +0 -183
- package/dist/esm/preview/validate/checkSimulation.js +0 -38
- package/dist/esm/preview/validate/index.js +0 -3
- package/dist/esm/sdk/prepare/errors.js +0 -108
- package/dist/types/model/errors.d.ts +0 -46
- package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
- package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
- package/dist/types/onchain/validation/checks.d.ts +0 -164
- package/dist/types/onchain/validation/refusal.d.ts +0 -242
- package/dist/types/preview/index.d.ts +0 -47
- package/dist/types/preview/parse/errors.d.ts +0 -29
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
- package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
- package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
- package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
- package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
- package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
- package/dist/types/preview/prerequisites/index.d.ts +0 -7
- package/dist/types/preview/prerequisites/types.d.ts +0 -53
- package/dist/types/preview/preview/errors.d.ts +0 -44
- package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
- package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
- package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
- package/dist/types/preview/preview/previewOperation.d.ts +0 -32
- package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
- package/dist/types/preview/simulate/errors.d.ts +0 -52
- package/dist/types/preview/simulate/index.d.ts +0 -7
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
- package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
- package/dist/types/preview/simulate/types.d.ts +0 -48
- package/dist/types/preview/types.d.ts +0 -65
- package/dist/types/preview/validate/checkOperation.d.ts +0 -71
- package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
- package/dist/types/preview/validate/index.d.ts +0 -3
- package/dist/types/sdk/prepare/errors.d.ts +0 -343
- /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
- /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
- /package/dist/esm/{preview → history}/trace/index.js +0 -0
- /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
- /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
- /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ZapperContract } from "./ZapperContract.js";
|
|
2
1
|
import { iethZapperAbi } from "../../../abi/iETHZapper.js";
|
|
2
|
+
import { ZapperContract } from "./ZapperContract.js";
|
|
3
3
|
//#region src/onchain/market/zapper/IETHZapperContract.ts
|
|
4
4
|
const abi = iethZapperAbi;
|
|
5
5
|
var IETHZapperContract = class extends ZapperContract {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { iZapperAbi } from "../../../abi/iZapper.js";
|
|
1
2
|
import { BaseContract } from "../../base/BaseContract.js";
|
|
2
3
|
import "../../base/index.js";
|
|
3
4
|
import { sdkErr, sdkOk } from "../../../model/result.js";
|
|
4
5
|
import "../../../model/index.js";
|
|
5
|
-
import { iZapperAbi } from "../../../abi/iZapper.js";
|
|
6
6
|
//#region src/onchain/market/zapper/ZapperContract.ts
|
|
7
7
|
/**
|
|
8
8
|
* Base contract for every Gearbox zapper. Specialized zappers (e.g.
|
|
@@ -2,6 +2,5 @@ import { ZapperContract } from "./ZapperContract.js";
|
|
|
2
2
|
import { IERC20ZapperContract } from "./IERC20ZapperContract.js";
|
|
3
3
|
import { IETHZapperContract } from "./IETHZapperContract.js";
|
|
4
4
|
import { createZapper } from "./createZapper.js";
|
|
5
|
-
import "./errors.js";
|
|
6
5
|
import "./types.js";
|
|
7
6
|
export { IERC20ZapperContract, IETHZapperContract, ZapperContract, createZapper };
|
|
@@ -37,10 +37,10 @@ var MultichainOpportunitiesService = class extends MultichainConstruct {
|
|
|
37
37
|
*
|
|
38
38
|
* See {@link MultichainOpportunitiesService.getPool}.
|
|
39
39
|
**/
|
|
40
|
-
async getStrategy(key) {
|
|
40
|
+
async getStrategy(key, wallet) {
|
|
41
41
|
return this.queryChain({
|
|
42
42
|
network: key.chainId,
|
|
43
|
-
run: (sdk) => sdk.opportunities.getStrategy(key)
|
|
43
|
+
run: (sdk) => sdk.opportunities.getStrategy(key, wallet)
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
};
|
|
@@ -36,13 +36,21 @@ var OpportunitiesService = class extends SDKConstruct {
|
|
|
36
36
|
* A single strategy opportunity plus the rate curve of the pool it borrows
|
|
37
37
|
* from and the price feeds its liquidation price depends on.
|
|
38
38
|
*
|
|
39
|
+
* @param wallet - When given, `kyc` says whether this wallet must register
|
|
40
|
+
* with the strategy's KYC provider first; `null` otherwise.
|
|
41
|
+
*
|
|
39
42
|
* @throws If the credit manager is unknown, or does not currently offer a
|
|
40
43
|
* strategy.
|
|
41
44
|
**/
|
|
42
|
-
async getStrategy(key) {
|
|
43
|
-
const
|
|
45
|
+
async getStrategy(key, wallet) {
|
|
46
|
+
const suite = this.sdk.marketRegister.findCreditManager(key.creditManager);
|
|
47
|
+
const detail = suite.strategyOpportunityDetail();
|
|
44
48
|
if (!detail) throw new Error(`credit manager ${key.creditManager} does not currently offer a strategy`);
|
|
45
|
-
|
|
49
|
+
const kyc = wallet ? await suite.kycRequirement(wallet, detail.targetCollateral.address) : null;
|
|
50
|
+
return {
|
|
51
|
+
...detail,
|
|
52
|
+
kyc
|
|
53
|
+
};
|
|
46
54
|
}
|
|
47
55
|
};
|
|
48
56
|
//#endregion
|
|
@@ -14,20 +14,6 @@ import { IERC20ZapperContract } from "../market/zapper/IERC20ZapperContract.js";
|
|
|
14
14
|
import { IETHZapperContract } from "../market/zapper/IETHZapperContract.js";
|
|
15
15
|
import "../market/index.js";
|
|
16
16
|
//#region src/onchain/pools/PoolService.ts
|
|
17
|
-
/**
|
|
18
|
-
* Haircut on reported pool liquidity, so a withdrawal sized against the reported
|
|
19
|
-
* figure is not defeated by rounding in the share conversion.
|
|
20
|
-
*/
|
|
21
|
-
const LIQUIDITY_SAFETY_NUM = 99999n;
|
|
22
|
-
const LIQUIDITY_SAFETY_DENOM = 100000n;
|
|
23
|
-
/**
|
|
24
|
-
* What the pool can actually pay out right now, shaved by a hair so a
|
|
25
|
-
* withdrawal sized against it does not fail on rounding.
|
|
26
|
-
**/
|
|
27
|
-
function payoutCeiling(market) {
|
|
28
|
-
const { pool } = market;
|
|
29
|
-
return market.priceOracle.toAmount(pool.underlying, pool.pool.availableLiquidity * LIQUIDITY_SAFETY_NUM / LIQUIDITY_SAFETY_DENOM);
|
|
30
|
-
}
|
|
31
17
|
var PoolService = class extends SDKConstruct {
|
|
32
18
|
/**
|
|
33
19
|
* {@inheritDoc IPoolsService.getDepositTokensIn}
|
|
@@ -168,7 +154,7 @@ var PoolService = class extends SDKConstruct {
|
|
|
168
154
|
tokenIn: toTokenAmount(tokenIn, pool.pool.underlyingToShares(amount * PERCENTAGE_FACTOR / (PERCENTAGE_FACTOR - pool.pool.withdrawFee), true)),
|
|
169
155
|
tokenOut: toTokenAmount(tokenOut, amount),
|
|
170
156
|
zapper: zapper?.baseParams.addr,
|
|
171
|
-
availableLiquidity:
|
|
157
|
+
availableLiquidity: this.#withdrawableLiquidity(market)
|
|
172
158
|
};
|
|
173
159
|
}
|
|
174
160
|
/**
|
|
@@ -190,7 +176,7 @@ var PoolService = class extends SDKConstruct {
|
|
|
190
176
|
tokenIn: toTokenAmount(tokenIn, amount),
|
|
191
177
|
tokenOut: toTokenAmount(tokenOut, pool.pool.sharesToUnderlying(amount) * (PERCENTAGE_FACTOR - pool.pool.withdrawFee) / PERCENTAGE_FACTOR),
|
|
192
178
|
zapper: zapper?.baseParams.addr,
|
|
193
|
-
availableLiquidity:
|
|
179
|
+
availableLiquidity: this.#withdrawableLiquidity(market)
|
|
194
180
|
};
|
|
195
181
|
}
|
|
196
182
|
/**
|
|
@@ -418,6 +404,14 @@ var PoolService = class extends SDKConstruct {
|
|
|
418
404
|
apy: { organicApy: rayToBps(pool.supplyRate) }
|
|
419
405
|
};
|
|
420
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* The most the pool can actually hand over right now, trimmed slightly so a
|
|
409
|
+
* withdrawal sized against it does not fail on rounding.
|
|
410
|
+
**/
|
|
411
|
+
#withdrawableLiquidity(market) {
|
|
412
|
+
const { pool } = market;
|
|
413
|
+
return market.priceOracle.toAmount(pool.underlying, pool.pool.availableLiquidity * 99999n / 100000n);
|
|
414
|
+
}
|
|
421
415
|
};
|
|
422
416
|
//#endregion
|
|
423
417
|
export { PoolService };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { classifyInnerOperations } from "./parse/classifyInnerOperations.js";
|
|
2
|
+
import { parseFacadeOperationCalldata } from "./parse/parseFacadeOperationCalldata.js";
|
|
3
|
+
import { parsePoolOperationCalldata } from "./parse/parsePoolOperationCalldata.js";
|
|
4
|
+
import { parseRWAFactoryOperationCalldata } from "./parse/parseRWAFactoryOperationCalldata.js";
|
|
5
|
+
import { parseOperationCalldata } from "./parse/parseOperationCalldata.js";
|
|
6
|
+
import { isPoolOperation, isRWAOperation } from "./parse/types.js";
|
|
7
|
+
import "./parse/index.js";
|
|
8
|
+
import { buildDelayedStrategyPositionOperationPreview } from "./preview/buildDelayedStrategyPositionOperationPreview.js";
|
|
9
|
+
import { CreditAccountState } from "./preview/CreditAccountState.js";
|
|
10
|
+
import { classifyCloseOrRepay, isCloseOrRepay } from "./preview/detectCloseOrRepay.js";
|
|
11
|
+
import { detectDelayedClaim, resolveDelayedClaimIntent } from "./preview/detectDelayedClaim.js";
|
|
12
|
+
import { detectDelayedOperation } from "./preview/detectDelayedOperation.js";
|
|
13
|
+
import { estimateClaimableAt } from "./preview/estimateClaimableAt.js";
|
|
14
|
+
import { previewAdjustStrategyPosition } from "./preview/previewAdjustStrategyPosition.js";
|
|
15
|
+
import { previewExitOrRepayStrategyPosition } from "./preview/previewExitOrRepayStrategyPosition.js";
|
|
16
|
+
import { makeReplayState, replayInnerOperations } from "./preview/replayInnerOperations.js";
|
|
17
|
+
import { replayMulticall } from "./preview/replayMulticall.js";
|
|
18
|
+
import { previewOperation } from "./preview/previewOperation.js";
|
|
19
|
+
import "./preview/index.js";
|
|
20
|
+
export { CreditAccountState, buildDelayedStrategyPositionOperationPreview, classifyCloseOrRepay, classifyInnerOperations, detectDelayedClaim, detectDelayedOperation, estimateClaimableAt, isCloseOrRepay, isPoolOperation, isRWAOperation, makeReplayState, parseFacadeOperationCalldata, parseOperationCalldata, parsePoolOperationCalldata, parseRWAFactoryOperationCalldata, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { AbstractAdapterContract } from "../../
|
|
2
|
-
|
|
3
|
-
//#region src/preview/parse/classifyInnerOperations.ts
|
|
1
|
+
import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
|
|
2
|
+
//#region src/onchain/preview/parse/classifyInnerOperations.ts
|
|
4
3
|
/**
|
|
5
4
|
* Maps each inner multicall entry to an {@link InnerOperation}:
|
|
6
5
|
* - adapter and unknown targets become a pure-descriptor `Execute`
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { classifyInnerOperations } from "./classifyInnerOperations.js";
|
|
2
|
-
import "./errors.js";
|
|
3
2
|
import { parseFacadeOperationCalldata } from "./parseFacadeOperationCalldata.js";
|
|
4
3
|
import { parsePoolOperationCalldata } from "./parsePoolOperationCalldata.js";
|
|
5
4
|
import { parseRWAFactoryOperationCalldata } from "./parseRWAFactoryOperationCalldata.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { classifyInnerOperations } from "./classifyInnerOperations.js";
|
|
2
2
|
import { isAddressEqual, zeroAddress } from "viem";
|
|
3
|
-
//#region src/preview/parse/parseFacadeOperationCalldata.ts
|
|
3
|
+
//#region src/onchain/preview/parse/parseFacadeOperationCalldata.ts
|
|
4
4
|
/**
|
|
5
5
|
* Decodes a credit-facade entry-point call into the matching
|
|
6
6
|
* {@link OuterFacadeOperation}.
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import { CreditFacadeV310Contract } from "../../
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import { PoolV310Contract } from "../../
|
|
5
|
-
import { ZapperContract } from "../../
|
|
6
|
-
import { isRWAFactory } from "../../
|
|
7
|
-
import "../../onchain/index.js";
|
|
1
|
+
import { CreditFacadeV310Contract } from "../../market/credit/CreditFacadeV310Contract.js";
|
|
2
|
+
import { sdkErr, sdkOk } from "../../../model/result.js";
|
|
3
|
+
import "../../../model/index.js";
|
|
4
|
+
import { PoolV310Contract } from "../../market/pool/PoolV310Contract.js";
|
|
5
|
+
import { ZapperContract } from "../../market/zapper/ZapperContract.js";
|
|
6
|
+
import { isRWAFactory } from "../../market/rwa/types.js";
|
|
8
7
|
import { parseFacadeOperationCalldata } from "./parseFacadeOperationCalldata.js";
|
|
9
8
|
import { parsePoolOperationCalldata } from "./parsePoolOperationCalldata.js";
|
|
10
9
|
import { parseRWAFactoryOperationCalldata } from "./parseRWAFactoryOperationCalldata.js";
|
|
11
|
-
//#region src/preview/parse/parseOperationCalldata.ts
|
|
10
|
+
//#region src/onchain/preview/parse/parseOperationCalldata.ts
|
|
12
11
|
/**
|
|
13
12
|
* Decodes raw operation calldata into an {@link Operation}.
|
|
14
13
|
*
|
|
15
14
|
* Support parsing of pool operations (including via zappers),
|
|
16
15
|
* credit facade operations and RWA factory operations.
|
|
17
16
|
*/
|
|
18
|
-
function parseOperationCalldata(input) {
|
|
19
|
-
const {
|
|
17
|
+
function parseOperationCalldata(sdk, input) {
|
|
18
|
+
const { to, calldata, value, sender } = input;
|
|
20
19
|
const contract = sdk.getContract(to);
|
|
21
20
|
if (contract instanceof PoolV310Contract) return parsePoolOperationCalldata(sdk, contract, calldata);
|
|
22
21
|
if (contract instanceof ZapperContract) {
|
|
23
22
|
const answer = contract.parseOperation(calldata, value);
|
|
24
|
-
if (
|
|
23
|
+
if (!answer.ok) return answer;
|
|
25
24
|
const parsed = answer.data;
|
|
26
25
|
if (parsed.operation === "Deposit") {
|
|
27
26
|
const op = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { sdkErr, sdkOk } from "
|
|
2
|
-
import "
|
|
3
|
-
//#region src/preview/parse/parsePoolOperationCalldata.ts
|
|
1
|
+
import { sdkErr, sdkOk } from "../../../model/result.js";
|
|
2
|
+
import "../../../model/index.js";
|
|
3
|
+
//#region src/onchain/preview/parse/parsePoolOperationCalldata.ts
|
|
4
4
|
/**
|
|
5
5
|
* Decodes pool calldata into a {@link PoolOperation}.
|
|
6
6
|
*
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { hexEq } from "../../
|
|
2
|
-
import { AbstractAdapterContract } from "../../
|
|
3
|
-
import { CreditFacadeV310Contract } from "../../
|
|
4
|
-
import { RWA_FACTORY_SECURITIZE } from "
|
|
5
|
-
import
|
|
6
|
-
import "../../
|
|
1
|
+
import { hexEq } from "../../utils/hex.js";
|
|
2
|
+
import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
|
|
3
|
+
import { CreditFacadeV310Contract } from "../../market/credit/CreditFacadeV310Contract.js";
|
|
4
|
+
import { RWA_FACTORY_SECURITIZE } from "../../../model/rwa.js";
|
|
5
|
+
import "../../../model/index.js";
|
|
6
|
+
import { isRWAFactory } from "../../market/rwa/types.js";
|
|
7
7
|
import { classifyInnerOperations } from "./classifyInnerOperations.js";
|
|
8
|
-
//#region src/preview/parse/parseRWAFactoryOperationCalldata.ts
|
|
8
|
+
//#region src/onchain/preview/parse/parseRWAFactoryOperationCalldata.ts
|
|
9
9
|
/**
|
|
10
10
|
* Decodes a RWA-factory entry-point call into the matching
|
|
11
11
|
* {@link RWAOperation}.
|
|
@@ -24,8 +24,7 @@ function parseRWAFactoryOperationCalldata(sdk, factory, calldata) {
|
|
|
24
24
|
* Securitize branch of {@link parseRWAFactoryOperationCalldata}
|
|
25
25
|
*
|
|
26
26
|
* In the template flow `tokensToRegister`/`signaturesToCache` are empty; the
|
|
27
|
-
* real values come from the factory's open-account requirements
|
|
28
|
-
* `checkPrerequisites`).
|
|
27
|
+
* real values come from the factory's open-account requirements.
|
|
29
28
|
*/
|
|
30
29
|
function parseSecuritizeOperationCalldata(sdk, factory, calldata) {
|
|
31
30
|
const parsed = sdk.parseFunctionDataV2(factory.address, calldata);
|
|
@@ -2,7 +2,7 @@ import "./types-adapters.js";
|
|
|
2
2
|
import "./types-facades.js";
|
|
3
3
|
import "./types-pools.js";
|
|
4
4
|
import "./types-rwa.js";
|
|
5
|
-
//#region src/preview/parse/types.ts
|
|
5
|
+
//#region src/onchain/preview/parse/types.ts
|
|
6
6
|
/**
|
|
7
7
|
* Narrows an {@link Operation} to a {@link PoolOperation} (deposit, mint,
|
|
8
8
|
* withdraw or redeem). Used by the UI to decide whether a custom view exists for
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { AssetsMap } from "../../
|
|
2
|
-
import { DUST_THRESHOLD } from "../../
|
|
3
|
-
import "../../onchain/index.js";
|
|
1
|
+
import { AssetsMap } from "../../utils/AssetsMap.js";
|
|
2
|
+
import { DUST_THRESHOLD } from "../../constants/math.js";
|
|
4
3
|
import { zeroAddress } from "viem";
|
|
5
|
-
//#region src/preview/preview/CreditAccountState.ts
|
|
4
|
+
//#region src/onchain/preview/preview/CreditAccountState.ts
|
|
6
5
|
/**
|
|
7
6
|
* A snapshot of a credit account's economic state (balances, quotas, debt)
|
|
8
7
|
* as used by operation previews, together with the account's identity.
|
package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js
RENAMED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { AssetsMap } from "../../
|
|
2
|
-
import { BigIntMath } from "../../
|
|
3
|
-
import { DUST_THRESHOLD } from "../../
|
|
4
|
-
import { asEstimated } from "
|
|
5
|
-
import "
|
|
6
|
-
import "../../onchain/index.js";
|
|
1
|
+
import { AssetsMap } from "../../utils/AssetsMap.js";
|
|
2
|
+
import { BigIntMath } from "../../utils/bigint-math.js";
|
|
3
|
+
import { DUST_THRESHOLD } from "../../constants/math.js";
|
|
4
|
+
import { asEstimated } from "../../../model/previews.js";
|
|
5
|
+
import "../../../model/index.js";
|
|
7
6
|
import { isAddressEqual } from "viem";
|
|
8
|
-
//#region src/preview/preview/buildDelayedStrategyPositionOperationPreview.ts
|
|
7
|
+
//#region src/onchain/preview/preview/buildDelayedStrategyPositionOperationPreview.ts
|
|
9
8
|
/**
|
|
10
9
|
* Builds the best-effort preview of the account state after the detected
|
|
11
10
|
* delayed withdrawal is claimed and its intent (if any) is resumed:
|
|
@@ -65,11 +64,11 @@ function applyClaim(post, request) {
|
|
|
65
64
|
/**
|
|
66
65
|
* `WITHDRAW_COLLATERAL` operation tail:
|
|
67
66
|
* after the claim, `withdrawAmount` of `withdrawToken` goes to the
|
|
68
|
-
* user's wallet and the rest of the claim
|
|
67
|
+
* user's wallet and the rest of the claim repays the debt.
|
|
69
68
|
*
|
|
70
69
|
* Tokens involved (Securitize ACRED redemption as the example):
|
|
71
|
-
* - claim token (`request.claimToken`) - the token the claim
|
|
72
|
-
* redeeming ACRED
|
|
70
|
+
* - claim token (`request.claimToken`) - the token the claim settles in;
|
|
71
|
+
* redeeming ACRED settles in USDC.
|
|
73
72
|
* - withdraw token (`intent.withdrawToken`) - the token the user receives
|
|
74
73
|
* in the wallet. It can be the claim token itself (withdraw USDC) or a
|
|
75
74
|
* different token (withdraw RLUSD, bought with the claimed USDC).
|
|
@@ -86,7 +85,7 @@ function applyClaim(post, request) {
|
|
|
86
85
|
* 2. If the account holds less than `withdrawAmount` of `withdrawToken`,
|
|
87
86
|
* buy the missing part with the claim-token balance. This happens when
|
|
88
87
|
* the withdraw token differs from the claim token: e.g. withdrawing
|
|
89
|
-
* RLUSD from a claim that
|
|
88
|
+
* RLUSD from a claim that settled in USDC - RLUSD is bought with the
|
|
90
89
|
* claimed USDC. If even the whole claim balance cannot cover it, spend
|
|
91
90
|
* all of it and withdraw whatever it buys.
|
|
92
91
|
* 3. Convert the claim tokens still left into the underlying and repay the
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import "../../
|
|
2
|
-
import "../../onchain/index.js";
|
|
1
|
+
import "../../constants/math.js";
|
|
3
2
|
import { isAddressEqual } from "viem";
|
|
4
|
-
//#region src/preview/preview/detectCloseOrRepay.ts
|
|
3
|
+
//#region src/onchain/preview/preview/detectCloseOrRepay.ts
|
|
5
4
|
/**
|
|
6
5
|
* Detects whether a credit-facade multicall fully closes or repays the
|
|
7
6
|
* account: any multicall that calls `decreaseDebt(MAX_UINT256)`.
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { AbstractAdapterContract } from "../../
|
|
2
|
-
import { sdkOk } from "
|
|
3
|
-
import "
|
|
4
|
-
|
|
5
|
-
//#region src/preview/preview/detectDelayedClaim.ts
|
|
1
|
+
import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
|
|
2
|
+
import { sdkOk } from "../../../model/result.js";
|
|
3
|
+
import "../../../model/index.js";
|
|
4
|
+
//#region src/onchain/preview/preview/detectDelayedClaim.ts
|
|
6
5
|
/**
|
|
7
6
|
* Scans a credit-facade multicall for a delayed-withdrawal claim call.
|
|
8
7
|
*
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { AbstractAdapterContract } from "../../
|
|
2
|
-
import { sdkErr, sdkOk } from "
|
|
3
|
-
import "
|
|
4
|
-
import { decodeDelayedIntent } from "../../
|
|
5
|
-
import "../../onchain/index.js";
|
|
1
|
+
import { AbstractAdapterContract } from "../../market/adapters/contracts/AbstractAdapter.js";
|
|
2
|
+
import { sdkErr, sdkOk } from "../../../model/result.js";
|
|
3
|
+
import "../../../model/index.js";
|
|
4
|
+
import { decodeDelayedIntent } from "../../accounts/withdrawal-compressor/intent-codec.js";
|
|
6
5
|
import { isAddressEqual } from "viem";
|
|
7
|
-
//#region src/preview/preview/detectDelayedOperation.ts
|
|
6
|
+
//#region src/onchain/preview/preview/detectDelayedOperation.ts
|
|
8
7
|
/**
|
|
9
8
|
* Scans a credit-facade multicall for a delayed-withdrawal request.
|
|
10
9
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isAddressEqual } from "viem";
|
|
2
|
-
//#region src/preview/preview/estimateClaimableAt.ts
|
|
2
|
+
//#region src/onchain/preview/preview/estimateClaimableAt.ts
|
|
3
3
|
/**
|
|
4
4
|
* Estimates when a newly requested delayed withdrawal becomes claimable:
|
|
5
5
|
* `now + withdrawalLength` of the cached withdrawable asset whose phantom
|
|
@@ -3,11 +3,10 @@ import { CreditAccountState } from "./CreditAccountState.js";
|
|
|
3
3
|
import { classifyCloseOrRepay, isCloseOrRepay } from "./detectCloseOrRepay.js";
|
|
4
4
|
import { detectDelayedClaim, resolveDelayedClaimIntent } from "./detectDelayedClaim.js";
|
|
5
5
|
import { detectDelayedOperation } from "./detectDelayedOperation.js";
|
|
6
|
-
import { adapterCallOutsideBracketError, invalidTransactionValueError, malformedBracketError, nonAdapterCallInBracketError, unpreviewableAdapterCallError, unsupportedOutOfBracketCallError } from "./errors.js";
|
|
7
6
|
import { estimateClaimableAt } from "./estimateClaimableAt.js";
|
|
8
|
-
import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
|
|
9
|
-
import { replayMulticall } from "./replayMulticall.js";
|
|
10
7
|
import { previewAdjustStrategyPosition } from "./previewAdjustStrategyPosition.js";
|
|
11
8
|
import { previewExitOrRepayStrategyPosition } from "./previewExitOrRepayStrategyPosition.js";
|
|
9
|
+
import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
|
|
10
|
+
import { replayMulticall } from "./replayMulticall.js";
|
|
12
11
|
import { previewOperation } from "./previewOperation.js";
|
|
13
|
-
export { CreditAccountState,
|
|
12
|
+
export { CreditAccountState, buildDelayedStrategyPositionOperationPreview, classifyCloseOrRepay, detectDelayedClaim, detectDelayedOperation, estimateClaimableAt, isCloseOrRepay, makeReplayState, previewAdjustStrategyPosition, previewExitOrRepayStrategyPosition, previewOperation, replayInnerOperations, replayMulticall, resolveDelayedClaimIntent };
|
|
@@ -1,33 +1,29 @@
|
|
|
1
|
-
import { AP_WETH_TOKEN } from "../../
|
|
2
|
-
import { DUST_THRESHOLD } from "../../
|
|
3
|
-
import { asEstimated } from "
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
6
|
-
import { replayMulticall } from "./replayMulticall.js";
|
|
1
|
+
import { AP_WETH_TOKEN } from "../../constants/address-provider.js";
|
|
2
|
+
import { DUST_THRESHOLD } from "../../constants/math.js";
|
|
3
|
+
import { asEstimated } from "../../../model/previews.js";
|
|
4
|
+
import { sdkOk } from "../../../model/result.js";
|
|
5
|
+
import "../../../model/index.js";
|
|
7
6
|
import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
|
|
8
|
-
//#region src/preview/preview/previewAdjustStrategyPosition.ts
|
|
7
|
+
//#region src/onchain/preview/preview/previewAdjustStrategyPosition.ts
|
|
9
8
|
/**
|
|
10
9
|
* Previews a `multicall`/`botMulticall` operation on an existing credit
|
|
11
|
-
* account:
|
|
12
|
-
* pre-
|
|
13
|
-
* minimal guaranteed post-state alongside the changes relative to the
|
|
14
|
-
* pre-state.
|
|
10
|
+
* account: reports the replayed post-state alongside the changes relative
|
|
11
|
+
* to the pre-state.
|
|
15
12
|
*/
|
|
16
|
-
function previewAdjustStrategyPosition(input, operation,
|
|
17
|
-
const {
|
|
13
|
+
function previewAdjustStrategyPosition(sdk, input, operation, replay) {
|
|
14
|
+
const { value = 0n } = input;
|
|
18
15
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
19
16
|
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
20
17
|
const oracle = market.priceOracle;
|
|
21
|
-
const { before, after
|
|
18
|
+
const { before, after } = replay;
|
|
22
19
|
const account = after.account;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const unwrapped = unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
|
|
21
|
+
if (!unwrapped.ok) return unwrapped;
|
|
22
|
+
const collateralAdded = unwrapped.data;
|
|
26
23
|
const assetsChange = account.balances.difference(before.balances).toAssets(DUST_THRESHOLD);
|
|
27
24
|
const priced = oracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
|
|
28
|
-
warning ??= priced.error;
|
|
29
25
|
const snap = account.toSnapshot(priced.value);
|
|
30
|
-
return {
|
|
26
|
+
return sdkOk({
|
|
31
27
|
operation: "AdjustCreditAccount",
|
|
32
28
|
...asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: before.totalDebt - account.totalDebt })),
|
|
33
29
|
creditAccount: operation.creditAccount,
|
|
@@ -41,8 +37,8 @@ function previewAdjustStrategyPosition(input, operation, options) {
|
|
|
41
37
|
...oracle.toAmount(market.underlying, q.balance)
|
|
42
38
|
})),
|
|
43
39
|
assetsChange: assetsChange.map((a) => oracle.toTokenAmount(a.token, a.balance)),
|
|
44
|
-
warning
|
|
45
|
-
};
|
|
40
|
+
warning: priced.error
|
|
41
|
+
});
|
|
46
42
|
}
|
|
47
43
|
//#endregion
|
|
48
44
|
export { previewAdjustStrategyPosition };
|
|
@@ -1,34 +1,28 @@
|
|
|
1
|
-
import { AP_WETH_TOKEN } from "../../
|
|
2
|
-
import "../../
|
|
3
|
-
import { asEstimated } from "
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
1
|
+
import { AP_WETH_TOKEN } from "../../constants/address-provider.js";
|
|
2
|
+
import "../../constants/math.js";
|
|
3
|
+
import { asEstimated } from "../../../model/previews.js";
|
|
4
|
+
import { sdkOk } from "../../../model/result.js";
|
|
5
|
+
import "../../../model/index.js";
|
|
6
6
|
import { classifyCloseOrRepay } from "./detectCloseOrRepay.js";
|
|
7
|
-
import { replayMulticall } from "./replayMulticall.js";
|
|
8
7
|
import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
|
|
9
|
-
//#region src/preview/preview/previewExitOrRepayStrategyPosition.ts
|
|
10
|
-
function previewExitOrRepayStrategyPosition(input, operation, permanent,
|
|
11
|
-
const { sdk } = input;
|
|
8
|
+
//#region src/onchain/preview/preview/previewExitOrRepayStrategyPosition.ts
|
|
9
|
+
function previewExitOrRepayStrategyPosition(sdk, input, operation, permanent, replay) {
|
|
12
10
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
13
11
|
const exitTokens = [market.underlying];
|
|
14
12
|
const meta = sdk.tokensMeta.get(market.underlying);
|
|
15
13
|
if (meta && sdk.tokensMeta.isRWAUnderlying(meta)) exitTokens.push(meta.asset);
|
|
16
|
-
|
|
17
|
-
return classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? previewCloseCreditAccount(input, operation, permanent, replay) : previewRepayCreditAccount(input, operation, permanent, replay);
|
|
14
|
+
return classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? sdkOk(previewCloseCreditAccount(sdk, operation, permanent, replay)) : previewRepayCreditAccount(sdk, input, operation, permanent, replay);
|
|
18
15
|
}
|
|
19
16
|
/**
|
|
20
17
|
* Previews a credit account closure: all collateral is swapped into
|
|
21
18
|
* underlying, the debt is fully repaid and the remaining underlying is
|
|
22
19
|
* withdrawn to the user.
|
|
23
20
|
*/
|
|
24
|
-
function previewCloseCreditAccount(
|
|
25
|
-
const { sdk } = input;
|
|
21
|
+
function previewCloseCreditAccount(sdk, operation, permanent, replay) {
|
|
26
22
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
27
|
-
const { before, after
|
|
23
|
+
const { before, after } = replay;
|
|
28
24
|
const account = after.account;
|
|
29
|
-
let warning = replayWarning;
|
|
30
25
|
const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
|
|
31
|
-
warning ??= priced.error;
|
|
32
26
|
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
33
27
|
let receivedToken = market.underlying;
|
|
34
28
|
for (const m of operation.multicall) if (m.operation === "WithdrawCollateral" && m.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n) {
|
|
@@ -43,7 +37,7 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
|
|
|
43
37
|
name: suite.accountStrategyName(operation.creditAccount),
|
|
44
38
|
targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
|
|
45
39
|
receivedAmount: market.priceOracle.toTokenAmount(receivedToken, after.collateralWithdrawn.getOrZero(receivedToken)),
|
|
46
|
-
warning
|
|
40
|
+
warning: priced.error
|
|
47
41
|
};
|
|
48
42
|
}
|
|
49
43
|
/**
|
|
@@ -51,17 +45,17 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
|
|
|
51
45
|
* from the wallet when needed) and collateral is returned to the user
|
|
52
46
|
* in-kind.
|
|
53
47
|
*/
|
|
54
|
-
function previewRepayCreditAccount(input, operation, permanent, replay) {
|
|
55
|
-
const {
|
|
48
|
+
function previewRepayCreditAccount(sdk, input, operation, permanent, replay) {
|
|
49
|
+
const { value = 0n } = input;
|
|
56
50
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
57
|
-
const { before, after
|
|
51
|
+
const { before, after } = replay;
|
|
58
52
|
const account = after.account;
|
|
59
|
-
const
|
|
60
|
-
|
|
53
|
+
const unwrapped = unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
|
|
54
|
+
if (!unwrapped.ok) return unwrapped;
|
|
55
|
+
const collateralAdded = unwrapped.data;
|
|
61
56
|
const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
|
|
62
|
-
warning ??= priced.error;
|
|
63
57
|
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
64
|
-
return {
|
|
58
|
+
return sdkOk({
|
|
65
59
|
operation: "RepayCreditAccount",
|
|
66
60
|
permanent,
|
|
67
61
|
...asEstimated(sdk.positions.projection(account.toSnapshot(priced.value), { availableLiquidityChange: before.totalDebt - account.totalDebt })),
|
|
@@ -71,8 +65,8 @@ function previewRepayCreditAccount(input, operation, permanent, replay) {
|
|
|
71
65
|
collateralAdded: collateralAdded.map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
|
|
72
66
|
debtRepaid: market.toUnderlyingAmount(before.totalDebt - account.totalDebt),
|
|
73
67
|
collateralWithdrawn: after.collateralWithdrawn.toAssets().map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
|
|
74
|
-
warning
|
|
75
|
-
};
|
|
68
|
+
warning: priced.error
|
|
69
|
+
});
|
|
76
70
|
}
|
|
77
71
|
//#endregion
|
|
78
72
|
export { previewExitOrRepayStrategyPosition };
|
|
@@ -1,35 +1,45 @@
|
|
|
1
|
-
import { AP_WETH_TOKEN } from "../../
|
|
2
|
-
import { asEstimated } from "
|
|
3
|
-
import "
|
|
4
|
-
import "
|
|
1
|
+
import { AP_WETH_TOKEN } from "../../constants/address-provider.js";
|
|
2
|
+
import { asEstimated } from "../../../model/previews.js";
|
|
3
|
+
import { sdkErr, sdkOk } from "../../../model/result.js";
|
|
4
|
+
import "../../../model/index.js";
|
|
5
5
|
import { CreditAccountState } from "./CreditAccountState.js";
|
|
6
|
-
import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
|
|
7
6
|
import { unwrapNativeCollateral } from "./unwrapNativeCollateral.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
|
|
8
|
+
//#region src/onchain/preview/preview/previewOpenStrategyPosition.ts
|
|
9
|
+
function previewOpenStrategyPosition(sdk, input, operation) {
|
|
10
|
+
const { value = 0n } = input;
|
|
11
11
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
12
12
|
const oracle = market.priceOracle;
|
|
13
13
|
const state = makeReplayState(CreditAccountState.beforeOpen(operation.creditManager, market.underlying));
|
|
14
|
-
|
|
14
|
+
const replayError = replayInnerOperations(sdk, operation.multicall, state);
|
|
15
|
+
if (replayError) return sdkErr(replayError);
|
|
15
16
|
const account = state.account;
|
|
16
|
-
let
|
|
17
|
+
let warning;
|
|
17
18
|
const netValue = state.collateralAdded.sum((token, balance) => {
|
|
18
19
|
const priced = oracle.safeConvert(token, market.underlying, balance);
|
|
19
|
-
|
|
20
|
+
warning ??= priced.error;
|
|
20
21
|
return priced.value;
|
|
21
22
|
});
|
|
22
|
-
const
|
|
23
|
-
|
|
23
|
+
const unwrapped = unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(AP_WETH_TOKEN, 0));
|
|
24
|
+
if (!unwrapped.ok) return unwrapped;
|
|
25
|
+
const collateral = unwrapped.data;
|
|
24
26
|
const snap = account.toSnapshot(netValue + account.totalDebt);
|
|
25
27
|
const targetAsset = inferTargetAsset(operation.multicall, account.balances);
|
|
26
|
-
|
|
27
|
-
operation: operation.operation,
|
|
28
|
+
const projection = {
|
|
28
29
|
...asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: -account.totalDebt })),
|
|
29
30
|
targetCollateral: targetAsset ? oracle.toTokenAmount(targetAsset.token, targetAsset.balance) : void 0,
|
|
30
31
|
collateralAdded: collateral.map((a) => oracle.toTokenAmount(a.token, a.balance)),
|
|
31
32
|
warning
|
|
32
33
|
};
|
|
34
|
+
if (operation.operation === "RWAOpenCreditAccount") return sdkOk({
|
|
35
|
+
...projection,
|
|
36
|
+
operation: "RWAOpenCreditAccount",
|
|
37
|
+
rwaArgs: operation.args
|
|
38
|
+
});
|
|
39
|
+
return sdkOk({
|
|
40
|
+
...projection,
|
|
41
|
+
operation: "OpenCreditAccount"
|
|
42
|
+
});
|
|
33
43
|
}
|
|
34
44
|
/**
|
|
35
45
|
* Infers the strategy target token of an account opening: the first quoted
|