@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,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;
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_utils_AssetsMap = require("../../onchain/utils/AssetsMap.js");
|
|
3
|
-
require("../../onchain/constants/math.js");
|
|
4
|
-
const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../onchain/market/adapters/contracts/AbstractAdapter.js");
|
|
5
|
-
require("../../onchain/index.js");
|
|
6
|
-
const require_preview_preview_errors = require("./errors.js");
|
|
7
|
-
//#region src/preview/preview/replayInnerOperations.ts
|
|
8
|
-
/**
|
|
9
|
-
* Creates a {@link ReplayState} around the given account seed, with empty
|
|
10
|
-
* bookkeeping.
|
|
11
|
-
*/
|
|
12
|
-
function makeReplayState(account) {
|
|
13
|
-
return {
|
|
14
|
-
account,
|
|
15
|
-
collateralAdded: new require_onchain_utils_AssetsMap.AssetsMap(),
|
|
16
|
-
collateralWithdrawn: new require_onchain_utils_AssetsMap.AssetsMap()
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Replays a credit-facade multicall over `state`, mutating it in place in
|
|
21
|
-
* facade execution order. The result is the *minimal guaranteed* post-state.
|
|
22
|
-
*
|
|
23
|
-
* The function assumes that the call was generated by our frontend using
|
|
24
|
-
* router/withdrawal compressor, otherwise it returns a warning, but still
|
|
25
|
-
* proceeds best-effort.
|
|
26
|
-
*
|
|
27
|
-
* @returns `undefined` on success, the warning on a malformed multicall.
|
|
28
|
-
*/
|
|
29
|
-
function replayInnerOperations(sdk, multicall, state) {
|
|
30
|
-
let inBracket = false;
|
|
31
|
-
let warning;
|
|
32
|
-
for (const op of multicall) {
|
|
33
|
-
let opWarning;
|
|
34
|
-
switch (op.operation) {
|
|
35
|
-
case "AddCollateral":
|
|
36
|
-
applyAddCollateral(state, op);
|
|
37
|
-
break;
|
|
38
|
-
case "WithdrawCollateral":
|
|
39
|
-
applyWithdrawCollateral(state, op);
|
|
40
|
-
break;
|
|
41
|
-
case "IncreaseBorrowedAmount":
|
|
42
|
-
state.account.increaseDebt(op.amount);
|
|
43
|
-
break;
|
|
44
|
-
case "DecreaseBorrowedAmount":
|
|
45
|
-
state.account.repay(op.amount);
|
|
46
|
-
break;
|
|
47
|
-
case "UpdateQuota":
|
|
48
|
-
state.account.updateQuota(op.token, op.change);
|
|
49
|
-
break;
|
|
50
|
-
case "StoreExpectedBalances":
|
|
51
|
-
if (inBracket) opWarning = require_preview_preview_errors.malformedBracketError("nested");
|
|
52
|
-
inBracket = true;
|
|
53
|
-
for (const { token, balance } of op.deltas) state.account.balances.inc(token, balance);
|
|
54
|
-
break;
|
|
55
|
-
case "CompareBalances":
|
|
56
|
-
if (!inBracket) opWarning = require_preview_preview_errors.malformedBracketError("unmatchedCompare");
|
|
57
|
-
inBracket = false;
|
|
58
|
-
break;
|
|
59
|
-
case "Execute": opWarning = applyExecute(sdk, op, inBracket, state.account.balances);
|
|
60
|
-
}
|
|
61
|
-
warning ??= opWarning;
|
|
62
|
-
}
|
|
63
|
-
if (inBracket) warning ??= require_preview_preview_errors.malformedBracketError("unmatchedStore");
|
|
64
|
-
return warning;
|
|
65
|
-
}
|
|
66
|
-
function applyAddCollateral(state, op) {
|
|
67
|
-
state.collateralAdded.inc(op.token, op.amount);
|
|
68
|
-
state.account.balances.inc(op.token, op.amount);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* `MAX_UINT256` is the facade sentinel for "withdraw the entire balance", so
|
|
72
|
-
* it is resolved against the running balance at the point of the call.
|
|
73
|
-
*/
|
|
74
|
-
function applyWithdrawCollateral(state, op) {
|
|
75
|
-
const running = state.account.balances.getOrZero(op.token);
|
|
76
|
-
const amount = op.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n ? running > 0n ? running : 0n : op.amount;
|
|
77
|
-
state.account.balances.dec(op.token, amount);
|
|
78
|
-
state.collateralWithdrawn.inc(op.token, amount);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Replays an adapter `Execute` call against the running balances.
|
|
82
|
-
*
|
|
83
|
-
* Inside a bracket, the adapter's balance changes are previewed via
|
|
84
|
-
* {@link AbstractAdapterContract.previewBalanceChanges}. Outside a bracket,
|
|
85
|
-
* only calls that {@link AbstractAdapterContract.replayOutOfBracketCall}
|
|
86
|
-
* accepts are allowed; nothing enforces the outcome of any other out-of-bracket
|
|
87
|
-
* adapter call on-chain, so its effect on balances cannot be previewed.
|
|
88
|
-
*/
|
|
89
|
-
function applyExecute(sdk, op, inBracket, balances) {
|
|
90
|
-
const adapter = sdk.getContract(op.adapter);
|
|
91
|
-
if (!inBracket) {
|
|
92
|
-
if (adapter instanceof require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract) try {
|
|
93
|
-
if (adapter.replayOutOfBracketCall(balances, op.calldata)) return;
|
|
94
|
-
} catch (e) {
|
|
95
|
-
return require_preview_preview_errors.unsupportedOutOfBracketCallError(op.adapter, e);
|
|
96
|
-
}
|
|
97
|
-
return require_preview_preview_errors.adapterCallOutsideBracketError(op.adapter);
|
|
98
|
-
}
|
|
99
|
-
if (!(adapter instanceof require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract)) return require_preview_preview_errors.nonAdapterCallInBracketError(op.adapter);
|
|
100
|
-
try {
|
|
101
|
-
adapter.previewBalanceChanges(balances, op.calldata);
|
|
102
|
-
return;
|
|
103
|
-
} catch (e) {
|
|
104
|
-
return require_preview_preview_errors.unpreviewableAdapterCallError(op.adapter, e);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//#endregion
|
|
108
|
-
exports.makeReplayState = makeReplayState;
|
|
109
|
-
exports.replayInnerOperations = replayInnerOperations;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_preview_CreditAccountState = require("./CreditAccountState.js");
|
|
3
|
-
const require_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
|
|
4
|
-
//#region src/preview/preview/replayMulticall.ts
|
|
5
|
-
/**
|
|
6
|
-
* Replays the operation's multicall over the account's pre-resolved
|
|
7
|
-
* pre-state (`options.creditAccount`) via {@link replayInnerOperations}.
|
|
8
|
-
*/
|
|
9
|
-
function replayMulticall(sdk, operation, options) {
|
|
10
|
-
const before = require_preview_preview_CreditAccountState.CreditAccountState.fromCreditAccountData(options.creditAccount);
|
|
11
|
-
const after = require_preview_preview_replayInnerOperations.makeReplayState(before.clone());
|
|
12
|
-
return {
|
|
13
|
-
before,
|
|
14
|
-
after,
|
|
15
|
-
warning: require_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, after)
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//#endregion
|
|
19
|
-
exports.replayMulticall = replayMulticall;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_abi_errors = require("../../abi/errors.js");
|
|
3
|
-
let viem = require("viem");
|
|
4
|
-
//#region src/preview/simulate/errors.ts
|
|
5
|
-
function isPreviewSimulationError(value) {
|
|
6
|
-
return typeof value === "object" && value !== null && !(value instanceof Error) && value.code === "previewSimulationFailed";
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Normalises an unknown rejection reason into a {@link PreviewSimulationError}.
|
|
10
|
-
* Pass-through when it already is one; otherwise decodes it under `source`.
|
|
11
|
-
*/
|
|
12
|
-
function asPreviewSimulationError(reason, source) {
|
|
13
|
-
if (isPreviewSimulationError(reason)) return reason;
|
|
14
|
-
const error = reason instanceof Error ? reason : new Error(String(reason));
|
|
15
|
-
const detail = decodeSimulationError({ error });
|
|
16
|
-
return {
|
|
17
|
-
code: "previewSimulationFailed",
|
|
18
|
-
message: detail.reason,
|
|
19
|
-
failures: [{
|
|
20
|
-
source,
|
|
21
|
-
detail
|
|
22
|
-
}],
|
|
23
|
-
cause: error
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Decodes a simulated call revert into a {@link SimulationError}.
|
|
28
|
-
*
|
|
29
|
-
* We first try to decode any raw return bytes against the SDK's
|
|
30
|
-
* {@link errorAbis} (Gearbox protocol exceptions plus standard ERC-20 custom
|
|
31
|
-
* errors); failing that, we walk viem's error chain for a
|
|
32
|
-
* {@link ContractFunctionRevertedError} (covers `Error(string)` / `Panic`).
|
|
33
|
-
*/
|
|
34
|
-
function decodeSimulationError(revert) {
|
|
35
|
-
const { error, data } = revert;
|
|
36
|
-
if (data && data !== "0x") try {
|
|
37
|
-
const decoded = (0, viem.decodeErrorResult)({
|
|
38
|
-
abi: require_abi_errors.errorAbis,
|
|
39
|
-
data
|
|
40
|
-
});
|
|
41
|
-
return {
|
|
42
|
-
reason: formatDecodedError(decoded.errorName, decoded.args),
|
|
43
|
-
cause: error
|
|
44
|
-
};
|
|
45
|
-
} catch {}
|
|
46
|
-
if (error instanceof viem.BaseError) {
|
|
47
|
-
const reverted = error.walk((e) => e instanceof viem.ContractFunctionRevertedError);
|
|
48
|
-
if (reverted instanceof viem.ContractFunctionRevertedError) return {
|
|
49
|
-
reason: reverted.data?.errorName ?? reverted.reason ?? reverted.shortMessage ?? "reverted",
|
|
50
|
-
cause: error
|
|
51
|
-
};
|
|
52
|
-
return {
|
|
53
|
-
reason: error.shortMessage ?? error.name,
|
|
54
|
-
cause: error
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
if (error instanceof Error) return {
|
|
58
|
-
reason: error.message,
|
|
59
|
-
cause: error
|
|
60
|
-
};
|
|
61
|
-
return {
|
|
62
|
-
reason: "reverted",
|
|
63
|
-
cause: error
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
/** Renders `Name` or `Name(arg0, arg1)` for a decoded custom error. */
|
|
67
|
-
function formatDecodedError(errorName, args) {
|
|
68
|
-
if (!args || args.length === 0) return errorName;
|
|
69
|
-
return `${errorName}(${args.map((arg) => String(arg)).join(", ")})`;
|
|
70
|
-
}
|
|
71
|
-
//#endregion
|
|
72
|
-
exports.asPreviewSimulationError = asPreviewSimulationError;
|
|
73
|
-
exports.decodeSimulationError = decodeSimulationError;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_simulate_errors = require("./errors.js");
|
|
3
|
-
const require_preview_simulate_simulatePoolOperation = require("./simulatePoolOperation.js");
|
|
4
|
-
const require_preview_simulate_simulateFacadeOperation = require("./simulateFacadeOperation.js");
|
|
5
|
-
const require_preview_simulate_simulateRWAOperation = require("./simulateRWAOperation.js");
|
|
6
|
-
const require_preview_simulate_simulateOperation = require("./simulateOperation.js");
|
|
7
|
-
exports.asPreviewSimulationError = require_preview_simulate_errors.asPreviewSimulationError;
|
|
8
|
-
exports.simulateFacadeOperation = require_preview_simulate_simulateFacadeOperation.simulateFacadeOperation;
|
|
9
|
-
exports.simulateOperation = require_preview_simulate_simulateOperation.simulateOperation;
|
|
10
|
-
exports.simulatePoolOperation = require_preview_simulate_simulatePoolOperation.simulatePoolOperation;
|
|
11
|
-
exports.simulateRWAOperation = require_preview_simulate_simulateRWAOperation.simulateRWAOperation;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/preview/simulate/simulateFacadeOperation.ts
|
|
3
|
-
/**
|
|
4
|
-
* Simulates a credit-facade operation.
|
|
5
|
-
*
|
|
6
|
-
* Not yet implemented: credit-facade simulation requires multicall-aware
|
|
7
|
-
* balance/transfer accounting that the pool simulation does not cover. The
|
|
8
|
-
* signature mirrors {@link simulatePoolOperation} so the
|
|
9
|
-
* {@link simulateOperation} wrapper can delegate uniformly once implemented.
|
|
10
|
-
*/
|
|
11
|
-
async function simulateFacadeOperation(_input, _options) {
|
|
12
|
-
throw new Error("not yet implemented");
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
exports.simulateFacadeOperation = simulateFacadeOperation;
|
|
@@ -1,29 +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_types = require("../parse/types.js");
|
|
5
|
-
require("../parse/index.js");
|
|
6
|
-
const require_preview_simulate_simulatePoolOperation = require("./simulatePoolOperation.js");
|
|
7
|
-
const require_preview_simulate_simulateFacadeOperation = require("./simulateFacadeOperation.js");
|
|
8
|
-
const require_preview_simulate_simulateRWAOperation = require("./simulateRWAOperation.js");
|
|
9
|
-
//#region src/preview/simulate/simulateOperation.ts
|
|
10
|
-
/**
|
|
11
|
-
* Simulates a parsed pool or credit account operation
|
|
12
|
-
*/
|
|
13
|
-
async function simulateOperation(input, options) {
|
|
14
|
-
const { operation } = input;
|
|
15
|
-
if (require_preview_parse_types.isPoolOperation(operation)) return require_preview_simulate_simulatePoolOperation.simulatePoolOperation({
|
|
16
|
-
...input,
|
|
17
|
-
operation
|
|
18
|
-
}, options);
|
|
19
|
-
if (require_preview_parse_types.isRWAOperation(operation)) return require_model_result.sdkOk(await require_preview_simulate_simulateRWAOperation.simulateRWAOperation({
|
|
20
|
-
...input,
|
|
21
|
-
operation
|
|
22
|
-
}, options));
|
|
23
|
-
return require_model_result.sdkOk(await require_preview_simulate_simulateFacadeOperation.simulateFacadeOperation({
|
|
24
|
-
...input,
|
|
25
|
-
operation
|
|
26
|
-
}, options));
|
|
27
|
-
}
|
|
28
|
-
//#endregion
|
|
29
|
-
exports.simulateOperation = simulateOperation;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/preview/simulate/simulateRWAOperation.ts
|
|
3
|
-
/**
|
|
4
|
-
* Simulates an RWA-factory operation.
|
|
5
|
-
*
|
|
6
|
-
* Not yet implemented: like credit-facade simulation, it requires
|
|
7
|
-
* multicall-aware balance/transfer accounting that the pool simulation does
|
|
8
|
-
* not cover. The signature mirrors {@link simulatePoolOperation} so the
|
|
9
|
-
* {@link simulateOperation} wrapper can delegate uniformly once implemented.
|
|
10
|
-
*/
|
|
11
|
-
async function simulateRWAOperation(_input, _options) {
|
|
12
|
-
throw new Error("not yet implemented");
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
exports.simulateRWAOperation = simulateRWAOperation;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_trace_errors = require("./errors.js");
|
|
3
|
-
const require_preview_trace_extractAdapterCallTraces = require("./extractAdapterCallTraces.js");
|
|
4
|
-
const require_preview_trace_extractTransfers = require("./extractTransfers.js");
|
|
5
|
-
const require_preview_trace_findFacadeCalls = require("./findFacadeCalls.js");
|
|
6
|
-
require("./types.js");
|
|
7
|
-
exports.TransferAlignmentError = require_preview_trace_errors.TransferAlignmentError;
|
|
8
|
-
exports.UnexpectedFacadeEventOrderError = require_preview_trace_errors.UnexpectedFacadeEventOrderError;
|
|
9
|
-
exports.UnknownAdapterError = require_preview_trace_errors.UnknownAdapterError;
|
|
10
|
-
exports.UnknownFacadeCallError = require_preview_trace_errors.UnknownFacadeCallError;
|
|
11
|
-
exports.WithdrawCollateralAlignmentError = require_preview_trace_errors.WithdrawCollateralAlignmentError;
|
|
12
|
-
exports.extractAdapterCallTraces = require_preview_trace_extractAdapterCallTraces.extractAdapterCallTraces;
|
|
13
|
-
exports.extractTransfers = require_preview_trace_extractTransfers.extractTransfers;
|
|
14
|
-
exports.findFacadeCalls = require_preview_trace_findFacadeCalls.findFacadeCalls;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|