@gearbox-protocol/sdk 16.2.0 → 16.3.0-next.1
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/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 +40 -2
- package/dist/cjs/model/positions.js +1 -1
- package/dist/cjs/model/result.js +0 -8
- package/dist/cjs/model/rwa.js +40 -0
- 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/withdrawal-compressor/index.js +0 -1
- package/dist/cjs/onchain/index.js +122 -36
- package/dist/cjs/onchain/market/MarketSuite.js +7 -1
- package/dist/cjs/onchain/market/adapters/index.js +1 -0
- package/dist/cjs/onchain/market/credit/CreditSuite.js +47 -15
- package/dist/cjs/onchain/market/index.js +0 -6
- 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/index.js +0 -4
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +7 -7
- package/dist/cjs/onchain/market/rwa/securitize/constants.js +0 -2
- package/dist/cjs/onchain/market/rwa/securitize/index.js +1 -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/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/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/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 +9 -3
- package/dist/esm/model/positions.js +1 -1
- package/dist/esm/model/result.js +1 -8
- package/dist/esm/model/rwa.js +37 -0
- 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 +1 -1
- 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 +61 -10
- package/dist/esm/onchain/market/MarketSuite.js +7 -1
- 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 +47 -15
- package/dist/esm/onchain/market/index.js +3 -5
- 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/index.js +3 -4
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +2 -2
- package/dist/esm/onchain/market/rwa/securitize/constants.js +1 -2
- package/dist/esm/onchain/market/rwa/securitize/index.js +3 -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/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/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/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 +11 -4
- package/dist/types/model/opportunities.d.ts +3 -2
- 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 +143 -0
- 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 +68 -13
- 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 +20 -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 +6 -7
- 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/index.d.ts +4 -4
- package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +3 -2
- package/dist/types/onchain/market/rwa/securitize/constants.d.ts +1 -2
- package/dist/types/onchain/market/rwa/securitize/index.d.ts +3 -3
- package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
- package/dist/types/onchain/market/rwa/types.d.ts +6 -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/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/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,19 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_prerequisites_helpers = require("./helpers.js");
|
|
3
|
-
//#region src/preview/prerequisites/buildPartialLiquidationPrerequisites.ts
|
|
4
|
-
/**
|
|
5
|
-
* Partial liquidation pulls the repaid underlying from the liquidator: they
|
|
6
|
-
* must have approved it to the credit manager and hold enough of it.
|
|
7
|
-
*/
|
|
8
|
-
function buildPartialLiquidationPrerequisites(tx, ctx) {
|
|
9
|
-
if (tx.repaidAmount === 0n) return [];
|
|
10
|
-
const suite = ctx.sdk.marketRegister.findByCreditManager(tx.creditManager);
|
|
11
|
-
return require_preview_prerequisites_helpers.allowanceAndBalance({
|
|
12
|
-
token: suite.underlying,
|
|
13
|
-
owner: ctx.wallet,
|
|
14
|
-
spender: tx.creditManager,
|
|
15
|
-
required: tx.repaidAmount
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.buildPartialLiquidationPrerequisites = buildPartialLiquidationPrerequisites;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
require("../../onchain/constants/addresses.js");
|
|
3
|
-
require("../../onchain/index.js");
|
|
4
|
-
const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
|
|
5
|
-
const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
|
|
6
|
-
const require_preview_prerequisites_helpers = require("./helpers.js");
|
|
7
|
-
let viem = require("viem");
|
|
8
|
-
//#region src/preview/prerequisites/buildPoolPrerequisites.ts
|
|
9
|
-
/**
|
|
10
|
-
* Prerequisites for ERC4626 pool operations (deposit, mint, withdraw, redeem),
|
|
11
|
-
* either direct or zapper-routed.
|
|
12
|
-
*/
|
|
13
|
-
function buildPoolPrerequisites(tx, wallet) {
|
|
14
|
-
switch (tx.operation) {
|
|
15
|
-
case "Deposit":
|
|
16
|
-
if (tx.zapper) {
|
|
17
|
-
if ((0, viem.isAddressEqual)(tx.tokenIn, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE")) return [new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
|
|
18
|
-
token: tx.tokenIn,
|
|
19
|
-
owner: wallet,
|
|
20
|
-
required: tx.assets
|
|
21
|
-
})];
|
|
22
|
-
return require_preview_prerequisites_helpers.allowanceAndBalance({
|
|
23
|
-
token: tx.tokenIn,
|
|
24
|
-
owner: wallet,
|
|
25
|
-
spender: tx.zapper,
|
|
26
|
-
required: tx.assets
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
return require_preview_prerequisites_helpers.allowanceAndBalance({
|
|
30
|
-
token: tx.underlying,
|
|
31
|
-
owner: wallet,
|
|
32
|
-
spender: tx.pool,
|
|
33
|
-
required: tx.assets
|
|
34
|
-
});
|
|
35
|
-
case "Mint": return require_preview_prerequisites_helpers.allowanceAndBalance({
|
|
36
|
-
token: tx.underlying,
|
|
37
|
-
owner: wallet,
|
|
38
|
-
spender: tx.pool,
|
|
39
|
-
required: tx.shares
|
|
40
|
-
});
|
|
41
|
-
case "Redeem":
|
|
42
|
-
if (tx.zapper) return [new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
|
|
43
|
-
token: tx.tokenIn,
|
|
44
|
-
owner: wallet,
|
|
45
|
-
required: tx.shares
|
|
46
|
-
}), new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
|
|
47
|
-
token: tx.tokenIn,
|
|
48
|
-
owner: wallet,
|
|
49
|
-
spender: tx.zapper,
|
|
50
|
-
required: tx.shares
|
|
51
|
-
})];
|
|
52
|
-
return lpSharePrerequisites(tx.pool, tx.owner, tx.shares, wallet);
|
|
53
|
-
case "Withdraw": return lpSharePrerequisites(tx.pool, tx.owner, tx.assets, wallet);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Direct redeem/withdraw prerequisites: `owner` must hold enough LP (diesel)
|
|
58
|
-
* tokens, and a third-party caller burning on behalf of `owner` needs an LP
|
|
59
|
-
* allowance from them.
|
|
60
|
-
*/
|
|
61
|
-
function lpSharePrerequisites(pool, owner, required, wallet) {
|
|
62
|
-
const prereqs = [new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
|
|
63
|
-
token: pool,
|
|
64
|
-
owner,
|
|
65
|
-
required
|
|
66
|
-
})];
|
|
67
|
-
if (!(0, viem.isAddressEqual)(owner, wallet)) prereqs.push(new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
|
|
68
|
-
token: pool,
|
|
69
|
-
owner,
|
|
70
|
-
spender: wallet,
|
|
71
|
-
required
|
|
72
|
-
}));
|
|
73
|
-
return prereqs;
|
|
74
|
-
}
|
|
75
|
-
//#endregion
|
|
76
|
-
exports.buildPoolPrerequisites = buildPoolPrerequisites;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_utils_AddressSet = require("../../onchain/utils/AddressSet.js");
|
|
3
|
-
require("../../onchain/index.js");
|
|
4
|
-
const require_preview_prerequisites_RWAOpenRequirementsPrerequisite = require("./RWAOpenRequirementsPrerequisite.js");
|
|
5
|
-
//#region src/preview/prerequisites/buildRWAPrerequisites.ts
|
|
6
|
-
/**
|
|
7
|
-
* For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
|
|
8
|
-
* builds a prerequisite per RWA token the multicall touches; each one checks
|
|
9
|
-
* the factory's open-account requirements (issuer-side token registration,
|
|
10
|
-
* EIP-712 signatures) at verify time.
|
|
11
|
-
*
|
|
12
|
-
* The `providedArgs` params are the registration values decoded from the
|
|
13
|
-
* transaction calldata itself: signatures already included there satisfy the
|
|
14
|
-
* signature requirement, so a fully built transaction is not reported as
|
|
15
|
-
* missing signatures. In the template flow they are empty and the verified
|
|
16
|
-
* result's `detail.missing` describes what is still unfulfilled; acting on it
|
|
17
|
-
* (signing, rebuilding calldata) is up to the consumer.
|
|
18
|
-
*
|
|
19
|
-
* Returns nothing for non-RWA markets.
|
|
20
|
-
*/
|
|
21
|
-
function buildRWAPrerequisites(multicall, creditManager, providedArgs, ctx) {
|
|
22
|
-
const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(creditManager);
|
|
23
|
-
if (!rwaFactory) return [];
|
|
24
|
-
const rwaTokens = new require_onchain_utils_AddressSet.AddressSet(rwaFactory.getTokens());
|
|
25
|
-
const candidates = new require_onchain_utils_AddressSet.AddressSet();
|
|
26
|
-
for (const op of multicall) if (op.operation === "AddCollateral" || op.operation === "UpdateQuota") candidates.add(op.token);
|
|
27
|
-
const prereqs = [];
|
|
28
|
-
for (const token of candidates) {
|
|
29
|
-
if (!rwaTokens.has(token)) continue;
|
|
30
|
-
prereqs.push(new require_preview_prerequisites_RWAOpenRequirementsPrerequisite.RWAOpenRequirementsPrerequisite({
|
|
31
|
-
token,
|
|
32
|
-
creditManager,
|
|
33
|
-
factory: rwaFactory.address
|
|
34
|
-
}, providedArgs));
|
|
35
|
-
}
|
|
36
|
-
return prereqs;
|
|
37
|
-
}
|
|
38
|
-
//#endregion
|
|
39
|
-
exports.buildRWAPrerequisites = buildRWAPrerequisites;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_model_result = require("../../model/result.js");
|
|
3
|
-
require("../../model/index.js");
|
|
4
|
-
const require_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
|
|
5
|
-
require("../parse/index.js");
|
|
6
|
-
const require_preview_prerequisites_buildCollateralPrerequisites = require("./buildCollateralPrerequisites.js");
|
|
7
|
-
const require_preview_prerequisites_buildPartialLiquidationPrerequisites = require("./buildPartialLiquidationPrerequisites.js");
|
|
8
|
-
const require_preview_prerequisites_buildPoolPrerequisites = require("./buildPoolPrerequisites.js");
|
|
9
|
-
const require_preview_prerequisites_buildRWAPrerequisites = require("./buildRWAPrerequisites.js");
|
|
10
|
-
//#region src/preview/prerequisites/checkPrerequisites.ts
|
|
11
|
-
/**
|
|
12
|
-
* Derives and verifies the on-chain prerequisites for an operation given its
|
|
13
|
-
* raw calldata: the conditions that must hold for the call not to revert and
|
|
14
|
-
* that we can verify with the SDK (token approvals, wallet balances, RWA
|
|
15
|
-
* open-account requirements).
|
|
16
|
-
*
|
|
17
|
-
* Each prerequisite performs its own reads and resolves into a
|
|
18
|
-
* {@link PrerequisiteResult} (`satisfied` or `error`).
|
|
19
|
-
*
|
|
20
|
-
* Only *sender-actionable* prerequisites belong here: conditions the LP
|
|
21
|
-
* provider or borrower can fix themselves before retrying (e.g. approve a
|
|
22
|
-
* token, sign the RWA factory's messages). Non-actionable protocol/admin state
|
|
23
|
-
* (e.g. pool is paused) is intentionally out of scope, since the user cannot
|
|
24
|
-
* resolve it.
|
|
25
|
-
*/
|
|
26
|
-
async function checkPrerequisites(input, options) {
|
|
27
|
-
const { sdk, sender: wallet } = input;
|
|
28
|
-
const tx = require_preview_parse_parseOperationCalldata.parseOperationCalldata(input);
|
|
29
|
-
if (require_model_result.isSDKError(tx)) return tx;
|
|
30
|
-
const ctx = {
|
|
31
|
-
sdk,
|
|
32
|
-
wallet,
|
|
33
|
-
blockNumber: options?.blockNumber,
|
|
34
|
-
value: input.value ?? 0n
|
|
35
|
-
};
|
|
36
|
-
const prereqs = await buildPrerequisites(tx.data, ctx);
|
|
37
|
-
return require_model_result.sdkOk(await Promise.all(prereqs.map((p) => p.verify(ctx))));
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Dispatches a parsed operation to the per-operation-family prerequisite
|
|
41
|
-
* builders.
|
|
42
|
-
*/
|
|
43
|
-
async function buildPrerequisites(tx, ctx) {
|
|
44
|
-
const { wallet } = ctx;
|
|
45
|
-
switch (tx.operation) {
|
|
46
|
-
case "Deposit":
|
|
47
|
-
case "Mint":
|
|
48
|
-
case "Redeem":
|
|
49
|
-
case "Withdraw": return require_preview_prerequisites_buildPoolPrerequisites.buildPoolPrerequisites(tx, wallet);
|
|
50
|
-
case "MultiCall":
|
|
51
|
-
case "BotMulticall":
|
|
52
|
-
case "OpenCreditAccount":
|
|
53
|
-
case "CloseCreditAccount":
|
|
54
|
-
case "LiquidateCreditAccount": return require_preview_prerequisites_buildCollateralPrerequisites.buildCollateralPrerequisites(tx.operation === "OpenCreditAccount" ? {
|
|
55
|
-
creditManager: tx.creditManager,
|
|
56
|
-
borrower: wallet
|
|
57
|
-
} : {
|
|
58
|
-
creditManager: tx.creditManager,
|
|
59
|
-
creditAccount: tx.creditAccount
|
|
60
|
-
}, tx.multicall, ctx);
|
|
61
|
-
case "RWAOpenCreditAccount": return [...await require_preview_prerequisites_buildCollateralPrerequisites.buildCollateralPrerequisites({
|
|
62
|
-
creditManager: tx.creditManager,
|
|
63
|
-
borrower: wallet
|
|
64
|
-
}, tx.multicall, ctx), ...require_preview_prerequisites_buildRWAPrerequisites.buildRWAPrerequisites(tx.multicall, tx.creditManager, tx.args, ctx)];
|
|
65
|
-
case "RWAMulticall": return require_preview_prerequisites_buildCollateralPrerequisites.buildCollateralPrerequisites({
|
|
66
|
-
creditManager: tx.creditManager,
|
|
67
|
-
creditAccount: tx.creditAccount
|
|
68
|
-
}, tx.multicall, ctx);
|
|
69
|
-
case "PartiallyLiquidateCreditAccount": return require_preview_prerequisites_buildPartialLiquidationPrerequisites.buildPartialLiquidationPrerequisites(tx, ctx);
|
|
70
|
-
default: return [];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//#endregion
|
|
74
|
-
exports.checkPrerequisites = checkPrerequisites;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
|
|
3
|
-
const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
|
|
4
|
-
//#region src/preview/prerequisites/helpers.ts
|
|
5
|
-
/**
|
|
6
|
-
* The most common prerequisite pair: `owner` must have approved `spender` for
|
|
7
|
-
* `required` of `token` and must hold at least that much of it.
|
|
8
|
-
*/
|
|
9
|
-
function allowanceAndBalance(props) {
|
|
10
|
-
const { token, owner, spender, required } = props;
|
|
11
|
-
return [new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
|
|
12
|
-
token,
|
|
13
|
-
owner,
|
|
14
|
-
spender,
|
|
15
|
-
required
|
|
16
|
-
}), new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
|
|
17
|
-
token,
|
|
18
|
-
owner,
|
|
19
|
-
required
|
|
20
|
-
})];
|
|
21
|
-
}
|
|
22
|
-
//#endregion
|
|
23
|
-
exports.allowanceAndBalance = allowanceAndBalance;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_prerequisites_Prerequisite = require("./Prerequisite.js");
|
|
3
|
-
const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
|
|
4
|
-
const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
|
|
5
|
-
const require_preview_prerequisites_RWAOpenRequirementsPrerequisite = require("./RWAOpenRequirementsPrerequisite.js");
|
|
6
|
-
const require_preview_prerequisites_checkPrerequisites = require("./checkPrerequisites.js");
|
|
7
|
-
require("./types.js");
|
|
8
|
-
exports.AllowancePrerequisite = require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite;
|
|
9
|
-
exports.BalancePrerequisite = require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite;
|
|
10
|
-
exports.Prerequisite = require_preview_prerequisites_Prerequisite.Prerequisite;
|
|
11
|
-
exports.RWAOpenRequirementsPrerequisite = require_preview_prerequisites_RWAOpenRequirementsPrerequisite.RWAOpenRequirementsPrerequisite;
|
|
12
|
-
exports.checkPrerequisites = require_preview_prerequisites_checkPrerequisites.checkPrerequisites;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/preview/preview/errors.ts
|
|
3
|
-
const MALFORMED_BRACKET_MESSAGE = {
|
|
4
|
-
nested: "nested storeExpectedBalances/compareBalances bracket",
|
|
5
|
-
unmatchedCompare: "compareBalances without a preceding storeExpectedBalances",
|
|
6
|
-
unmatchedStore: "storeExpectedBalances without a matching compareBalances"
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Builds a {@link MalformedBracketError} for the given bracket invariant.
|
|
10
|
-
**/
|
|
11
|
-
function malformedBracketError(kind) {
|
|
12
|
-
return {
|
|
13
|
-
code: "malformedBracket",
|
|
14
|
-
message: MALFORMED_BRACKET_MESSAGE[kind],
|
|
15
|
-
kind
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Builds an {@link AdapterCallOutsideBracketError} for `adapter`.
|
|
20
|
-
**/
|
|
21
|
-
function adapterCallOutsideBracketError(adapter) {
|
|
22
|
-
return {
|
|
23
|
-
code: "adapterCallOutsideBracket",
|
|
24
|
-
message: `call to ${adapter} outside of a storeExpectedBalances/compareBalances bracket`,
|
|
25
|
-
adapter
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Builds a {@link NonAdapterCallInBracketError} for `target`.
|
|
30
|
-
**/
|
|
31
|
-
function nonAdapterCallInBracketError(target) {
|
|
32
|
-
return {
|
|
33
|
-
code: "nonAdapterCallInBracket",
|
|
34
|
-
message: `call to ${target} between storeExpectedBalances and compareBalances is not an adapter call`,
|
|
35
|
-
target
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function asCause(cause) {
|
|
39
|
-
return cause instanceof Error ? cause : new Error(String(cause));
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Builds an {@link UnpreviewableAdapterCallError} for a bracketed adapter
|
|
43
|
-
* call that could not be replayed.
|
|
44
|
-
**/
|
|
45
|
-
function unpreviewableAdapterCallError(adapter, cause) {
|
|
46
|
-
const err = asCause(cause);
|
|
47
|
-
return {
|
|
48
|
-
code: "unpreviewableAdapterCall",
|
|
49
|
-
message: err.message,
|
|
50
|
-
adapter,
|
|
51
|
-
cause: err
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Builds an {@link UnsupportedOutOfBracketCallError} for an allowed
|
|
56
|
-
* out-of-bracket adapter call that could not be replayed.
|
|
57
|
-
**/
|
|
58
|
-
function unsupportedOutOfBracketCallError(adapter, cause) {
|
|
59
|
-
const err = asCause(cause);
|
|
60
|
-
return {
|
|
61
|
-
code: "unsupportedOutOfBracketCall",
|
|
62
|
-
message: err.message,
|
|
63
|
-
adapter,
|
|
64
|
-
cause: err
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Builds an {@link InvalidTransactionValueError} when `msg.value` does not
|
|
69
|
-
* fit into the declared WETH collateral.
|
|
70
|
-
**/
|
|
71
|
-
function invalidTransactionValueError(value, wethCollateral) {
|
|
72
|
-
return {
|
|
73
|
-
code: "invalidTransactionValue",
|
|
74
|
-
message: `transaction value ${value} exceeds WETH collateral ${wethCollateral}`,
|
|
75
|
-
value,
|
|
76
|
-
wethCollateral
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
//#endregion
|
|
80
|
-
exports.adapterCallOutsideBracketError = adapterCallOutsideBracketError;
|
|
81
|
-
exports.invalidTransactionValueError = invalidTransactionValueError;
|
|
82
|
-
exports.malformedBracketError = malformedBracketError;
|
|
83
|
-
exports.nonAdapterCallInBracketError = nonAdapterCallInBracketError;
|
|
84
|
-
exports.unpreviewableAdapterCallError = unpreviewableAdapterCallError;
|
|
85
|
-
exports.unsupportedOutOfBracketCallError = unsupportedOutOfBracketCallError;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
|
|
3
|
-
const require_preview_preview_CreditAccountState = require("./CreditAccountState.js");
|
|
4
|
-
const require_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
|
|
5
|
-
const require_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
|
|
6
|
-
const require_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
|
|
7
|
-
const require_preview_preview_errors = require("./errors.js");
|
|
8
|
-
const require_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
|
|
9
|
-
const require_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
|
|
10
|
-
const require_preview_preview_replayMulticall = require("./replayMulticall.js");
|
|
11
|
-
const require_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
|
|
12
|
-
const require_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
|
|
13
|
-
const require_preview_preview_previewOperation = require("./previewOperation.js");
|
|
14
|
-
exports.CreditAccountState = require_preview_preview_CreditAccountState.CreditAccountState;
|
|
15
|
-
exports.adapterCallOutsideBracketError = require_preview_preview_errors.adapterCallOutsideBracketError;
|
|
16
|
-
exports.buildDelayedStrategyPositionOperationPreview = require_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview;
|
|
17
|
-
exports.classifyCloseOrRepay = require_preview_preview_detectCloseOrRepay.classifyCloseOrRepay;
|
|
18
|
-
exports.detectDelayedClaim = require_preview_preview_detectDelayedClaim.detectDelayedClaim;
|
|
19
|
-
exports.detectDelayedOperation = require_preview_preview_detectDelayedOperation.detectDelayedOperation;
|
|
20
|
-
exports.estimateClaimableAt = require_preview_preview_estimateClaimableAt.estimateClaimableAt;
|
|
21
|
-
exports.invalidTransactionValueError = require_preview_preview_errors.invalidTransactionValueError;
|
|
22
|
-
exports.isCloseOrRepay = require_preview_preview_detectCloseOrRepay.isCloseOrRepay;
|
|
23
|
-
exports.makeReplayState = require_preview_preview_replayInnerOperations.makeReplayState;
|
|
24
|
-
exports.malformedBracketError = require_preview_preview_errors.malformedBracketError;
|
|
25
|
-
exports.nonAdapterCallInBracketError = require_preview_preview_errors.nonAdapterCallInBracketError;
|
|
26
|
-
exports.previewAdjustStrategyPosition = require_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition;
|
|
27
|
-
exports.previewExitOrRepayStrategyPosition = require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition;
|
|
28
|
-
exports.previewOperation = require_preview_preview_previewOperation.previewOperation;
|
|
29
|
-
exports.replayInnerOperations = require_preview_preview_replayInnerOperations.replayInnerOperations;
|
|
30
|
-
exports.replayMulticall = require_preview_preview_replayMulticall.replayMulticall;
|
|
31
|
-
exports.resolveDelayedClaimIntent = require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent;
|
|
32
|
-
exports.unpreviewableAdapterCallError = require_preview_preview_errors.unpreviewableAdapterCallError;
|
|
33
|
-
exports.unsupportedOutOfBracketCallError = require_preview_preview_errors.unsupportedOutOfBracketCallError;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_address_provider = require("../../onchain/constants/address-provider.js");
|
|
3
|
-
const require_model_previews = require("../../model/previews.js");
|
|
4
|
-
require("../../model/index.js");
|
|
5
|
-
require("../../onchain/index.js");
|
|
6
|
-
const require_preview_preview_CreditAccountState = require("./CreditAccountState.js");
|
|
7
|
-
const require_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
|
|
8
|
-
const require_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
|
|
9
|
-
//#region src/preview/preview/previewOpenStrategyPosition.ts
|
|
10
|
-
function previewOpenStrategyPosition(input, operation) {
|
|
11
|
-
const { sdk, value = 0n } = input;
|
|
12
|
-
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
13
|
-
const oracle = market.priceOracle;
|
|
14
|
-
const state = require_preview_preview_replayInnerOperations.makeReplayState(require_preview_preview_CreditAccountState.CreditAccountState.beforeOpen(operation.creditManager, market.underlying));
|
|
15
|
-
let warning = require_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, state);
|
|
16
|
-
const account = state.account;
|
|
17
|
-
let priceWarning;
|
|
18
|
-
const netValue = state.collateralAdded.sum((token, balance) => {
|
|
19
|
-
const priced = oracle.safeConvert(token, market.underlying, balance);
|
|
20
|
-
priceWarning ??= priced.error;
|
|
21
|
-
return priced.value;
|
|
22
|
-
});
|
|
23
|
-
const { assets: collateral, warning: unwrapWarning } = require_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
|
|
24
|
-
warning ??= unwrapWarning ?? priceWarning;
|
|
25
|
-
const snap = account.toSnapshot(netValue + account.totalDebt);
|
|
26
|
-
const targetAsset = inferTargetAsset(operation.multicall, account.balances);
|
|
27
|
-
return {
|
|
28
|
-
operation: operation.operation,
|
|
29
|
-
...require_model_previews.asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: -account.totalDebt })),
|
|
30
|
-
targetCollateral: targetAsset ? oracle.toTokenAmount(targetAsset.token, targetAsset.balance) : void 0,
|
|
31
|
-
collateralAdded: collateral.map((a) => oracle.toTokenAmount(a.token, a.balance)),
|
|
32
|
-
warning
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Infers the strategy target token of an account opening: the first quoted
|
|
37
|
-
* token (first `UpdateQuota` with a positive change), with its balance taken
|
|
38
|
-
* from the computed assets. Returns `undefined` when nothing is quoted.
|
|
39
|
-
*/
|
|
40
|
-
function inferTargetAsset(multicall, balances) {
|
|
41
|
-
for (const op of multicall) if (op.operation === "UpdateQuota" && op.change > 0n) {
|
|
42
|
-
const balance = balances.get(op.token);
|
|
43
|
-
return balance ? {
|
|
44
|
-
token: op.token,
|
|
45
|
-
balance
|
|
46
|
-
} : void 0;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//#endregion
|
|
50
|
-
exports.previewOpenStrategyPosition = previewOpenStrategyPosition;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_model_result = require("../../model/result.js");
|
|
3
|
-
require("../../model/index.js");
|
|
4
|
-
const require_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
|
|
5
|
-
const require_preview_parse_types = require("../parse/types.js");
|
|
6
|
-
require("../parse/index.js");
|
|
7
|
-
const require_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
|
|
8
|
-
const require_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
|
|
9
|
-
const require_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
|
|
10
|
-
const require_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
|
|
11
|
-
const require_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
|
|
12
|
-
const require_preview_preview_replayMulticall = require("./replayMulticall.js");
|
|
13
|
-
const require_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
|
|
14
|
-
const require_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
|
|
15
|
-
const require_preview_preview_previewOpenStrategyPosition = require("./previewOpenStrategyPosition.js");
|
|
16
|
-
const require_preview_preview_previewPoolPositionOperation = require("./previewPoolPositionOperation.js");
|
|
17
|
-
//#region src/preview/preview/previewOperation.ts
|
|
18
|
-
/**
|
|
19
|
-
* Previews a raw operation calldata: decodes it into a typed operation and
|
|
20
|
-
* assembles an operation-specific, human-displayable preview.
|
|
21
|
-
*
|
|
22
|
-
* Answers an {@link SDKReturn} envelope: the preview behind `ok: true`, or —
|
|
23
|
-
* when the transaction is one the previewer refuses to read — a
|
|
24
|
-
* {@link PreviewOperationError} behind `ok: false`. A thrown exception
|
|
25
|
-
* still means the SDK could not do its job (a read failed, the targeted
|
|
26
|
-
* credit account could not be resolved), not a refusal of the transaction.
|
|
27
|
-
*/
|
|
28
|
-
async function previewOperation(input, options) {
|
|
29
|
-
const parsed = require_preview_parse_parseOperationCalldata.parseOperationCalldata(input);
|
|
30
|
-
if (require_model_result.isSDKError(parsed)) return parsed;
|
|
31
|
-
const operation = parsed.data;
|
|
32
|
-
if (require_preview_parse_types.isPoolOperation(operation)) return require_preview_preview_previewPoolPositionOperation.previewPoolPositionOperation(input, operation, options);
|
|
33
|
-
if (operation.operation === "OpenCreditAccount" || operation.operation === "RWAOpenCreditAccount") return require_model_result.sdkOk(await require_preview_preview_previewOpenStrategyPosition.previewOpenStrategyPosition(input, operation));
|
|
34
|
-
if (operation.operation === "CloseCreditAccount") {
|
|
35
|
-
const resolved = await resolveCreditAccount(input, operation, options);
|
|
36
|
-
const preview = require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(input, operation, true, resolved);
|
|
37
|
-
const intent = await require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(input.sdk, operation.multicall, options?.blockNumber);
|
|
38
|
-
if (require_model_result.isSDKError(intent)) return intent;
|
|
39
|
-
preview.intent = intent.data;
|
|
40
|
-
return require_model_result.sdkOk(preview);
|
|
41
|
-
}
|
|
42
|
-
if (operation.operation === "MultiCall" || operation.operation === "BotMulticall" || operation.operation === "RWAMulticall") return previewMulticallOperation(input, operation, await resolveCreditAccount(input, operation, options));
|
|
43
|
-
return require_model_result.sdkErr({
|
|
44
|
-
code: "unsupportedOperation",
|
|
45
|
-
message: `operation "${operation.operation}" is not supported by previewOperation`,
|
|
46
|
-
operation: operation.operation
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Resolves the pre-state of the credit account an operation targets: uses the
|
|
51
|
-
* state provided via options when present, otherwise fetches it from the
|
|
52
|
-
* credit account compressor.
|
|
53
|
-
*/
|
|
54
|
-
async function resolveCreditAccount(input, operation, options) {
|
|
55
|
-
let creditAccount = options?.creditAccount;
|
|
56
|
-
if (!creditAccount) creditAccount = await input.sdk.accounts.getCreditAccountData(operation.creditAccount, options?.blockNumber);
|
|
57
|
-
if (!creditAccount) throw new Error(`credit account ${operation.creditAccount} not found`);
|
|
58
|
-
return {
|
|
59
|
-
...options,
|
|
60
|
-
creditAccount
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Previews a plain/bot/RWA multicall: classifies the instant preview
|
|
65
|
-
* (zero-debt closure/repay vs adjustment) and, when the multicall requests a
|
|
66
|
-
* delayed withdrawal, wraps the instant preview into a
|
|
67
|
-
* `DelayedCreditAccountOperation` together with the best-effort preview of
|
|
68
|
-
* the state after the withdrawal is claimed.
|
|
69
|
-
*/
|
|
70
|
-
async function previewMulticallOperation(input, operation, options) {
|
|
71
|
-
const { sdk } = input;
|
|
72
|
-
const instantPreview = require_preview_preview_detectCloseOrRepay.isCloseOrRepay(operation.multicall) ? require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(input, operation, false, options) : require_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition(input, operation, options);
|
|
73
|
-
const detected = require_preview_preview_detectDelayedOperation.detectDelayedOperation(sdk, operation.multicall);
|
|
74
|
-
if (require_model_result.isSDKError(detected)) return detected;
|
|
75
|
-
const delayed = detected.data;
|
|
76
|
-
if (!delayed) {
|
|
77
|
-
const intent = await require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(sdk, operation.multicall, options?.blockNumber);
|
|
78
|
-
if (require_model_result.isSDKError(intent)) return intent;
|
|
79
|
-
instantPreview.intent = intent.data;
|
|
80
|
-
return require_model_result.sdkOk(instantPreview);
|
|
81
|
-
}
|
|
82
|
-
const { before, after } = require_preview_preview_replayMulticall.replayMulticall(sdk, operation, options);
|
|
83
|
-
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
84
|
-
const meta = sdk.tokensMeta.get(market.underlying);
|
|
85
|
-
const receivedToken = meta && sdk.tokensMeta.isRWAUnderlying(meta) ? meta.asset : market.underlying;
|
|
86
|
-
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
87
|
-
return require_model_result.sdkOk({
|
|
88
|
-
operation: "DelayedCreditAccountOperation",
|
|
89
|
-
creditAccount: operation.creditAccount,
|
|
90
|
-
...suite.creditOperationMarket(),
|
|
91
|
-
name: suite.accountStrategyName(operation.creditAccount),
|
|
92
|
-
targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
|
|
93
|
-
intent: delayed.intent,
|
|
94
|
-
estClaimableAt: require_preview_preview_estimateClaimableAt.estimateClaimableAt(sdk, delayed.request.phantomToken),
|
|
95
|
-
instantPreview,
|
|
96
|
-
delayedPreview: require_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview(after.account, before, delayed, receivedToken, sdk)
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
//#endregion
|
|
100
|
-
exports.previewOperation = previewOperation;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_abi_iERC20 = require("../../abi/iERC20.js");
|
|
3
|
-
const require_model_result = require("../../model/result.js");
|
|
4
|
-
require("../../model/index.js");
|
|
5
|
-
const require_preview_simulate_errors = require("../simulate/errors.js");
|
|
6
|
-
const require_preview_simulate_simulatePoolOperation = require("../simulate/simulatePoolOperation.js");
|
|
7
|
-
//#region src/preview/preview/previewPoolPositionOperation.ts
|
|
8
|
-
async function previewPoolPositionOperation(input, operation, options) {
|
|
9
|
-
const { sdk } = input;
|
|
10
|
-
const { tokenIn, tokenOut } = operation;
|
|
11
|
-
const market = sdk.marketRegister.findByPool(operation.pool);
|
|
12
|
-
const pool = market.pool.pool;
|
|
13
|
-
const holder = "owner" in operation ? operation.owner : operation.receiver;
|
|
14
|
-
let previewAmount;
|
|
15
|
-
let shares;
|
|
16
|
-
try {
|
|
17
|
-
[previewAmount, shares] = await sdk.client.multicall({
|
|
18
|
-
contracts: [require_preview_simulate_simulatePoolOperation.previewContract(operation), {
|
|
19
|
-
address: operation.pool,
|
|
20
|
-
abi: require_abi_iERC20.ierc20Abi,
|
|
21
|
-
functionName: "balanceOf",
|
|
22
|
-
args: [holder]
|
|
23
|
-
}],
|
|
24
|
-
allowFailure: false,
|
|
25
|
-
batchSize: 0,
|
|
26
|
-
blockNumber: options?.blockNumber
|
|
27
|
-
});
|
|
28
|
-
} catch (cause) {
|
|
29
|
-
const error = require_preview_simulate_errors.asPreviewSimulationError(cause, "multicall");
|
|
30
|
-
options?.logger?.error(error, "pool operation simulation failed");
|
|
31
|
-
return require_model_result.sdkErr(error);
|
|
32
|
-
}
|
|
33
|
-
const sim = require_preview_simulate_simulatePoolOperation.amountsInOut(operation, previewAmount);
|
|
34
|
-
const inflow = operation.operation === "Deposit" || operation.operation === "Mint";
|
|
35
|
-
const after = shares + (inflow ? sim.amountOut : -sim.amountIn);
|
|
36
|
-
return require_model_result.sdkOk({
|
|
37
|
-
operation: operation.operation,
|
|
38
|
-
pool: operation.pool,
|
|
39
|
-
name: sdk.tokensMeta.mustGetToken(operation.pool).name,
|
|
40
|
-
underlyingToken: market.underlyingToken,
|
|
41
|
-
shareRate: pool.dieselRate,
|
|
42
|
-
tokenIn: market.priceOracle.toTokenAmount(tokenIn, sim.amountIn),
|
|
43
|
-
tokenOut: market.priceOracle.toTokenAmount(tokenOut, sim.amountOut),
|
|
44
|
-
curator: market.curator,
|
|
45
|
-
netValue: market.toUnderlyingAmount(pool.sharesToUnderlying(after > 0n ? after : 0n))
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
//#endregion
|
|
49
|
-
exports.previewPoolPositionOperation = previewPoolPositionOperation;
|