@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,38 +0,0 @@
|
|
|
1
|
-
import { AddressSet } from "../../onchain/utils/AddressSet.js";
|
|
2
|
-
import "../../onchain/index.js";
|
|
3
|
-
import { RWAOpenRequirementsPrerequisite } from "./RWAOpenRequirementsPrerequisite.js";
|
|
4
|
-
//#region src/preview/prerequisites/buildRWAPrerequisites.ts
|
|
5
|
-
/**
|
|
6
|
-
* For RWA-factory open-account operations (e.g. `RWAOpenCreditAccount`),
|
|
7
|
-
* builds a prerequisite per RWA token the multicall touches; each one checks
|
|
8
|
-
* the factory's open-account requirements (issuer-side token registration,
|
|
9
|
-
* EIP-712 signatures) at verify time.
|
|
10
|
-
*
|
|
11
|
-
* The `providedArgs` params are the registration values decoded from the
|
|
12
|
-
* transaction calldata itself: signatures already included there satisfy the
|
|
13
|
-
* signature requirement, so a fully built transaction is not reported as
|
|
14
|
-
* missing signatures. In the template flow they are empty and the verified
|
|
15
|
-
* result's `detail.missing` describes what is still unfulfilled; acting on it
|
|
16
|
-
* (signing, rebuilding calldata) is up to the consumer.
|
|
17
|
-
*
|
|
18
|
-
* Returns nothing for non-RWA markets.
|
|
19
|
-
*/
|
|
20
|
-
function buildRWAPrerequisites(multicall, creditManager, providedArgs, ctx) {
|
|
21
|
-
const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(creditManager);
|
|
22
|
-
if (!rwaFactory) return [];
|
|
23
|
-
const rwaTokens = new AddressSet(rwaFactory.getTokens());
|
|
24
|
-
const candidates = new AddressSet();
|
|
25
|
-
for (const op of multicall) if (op.operation === "AddCollateral" || op.operation === "UpdateQuota") candidates.add(op.token);
|
|
26
|
-
const prereqs = [];
|
|
27
|
-
for (const token of candidates) {
|
|
28
|
-
if (!rwaTokens.has(token)) continue;
|
|
29
|
-
prereqs.push(new RWAOpenRequirementsPrerequisite({
|
|
30
|
-
token,
|
|
31
|
-
creditManager,
|
|
32
|
-
factory: rwaFactory.address
|
|
33
|
-
}, providedArgs));
|
|
34
|
-
}
|
|
35
|
-
return prereqs;
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { buildRWAPrerequisites };
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { isSDKError, sdkOk } from "../../model/result.js";
|
|
2
|
-
import "../../model/index.js";
|
|
3
|
-
import { parseOperationCalldata } from "../parse/parseOperationCalldata.js";
|
|
4
|
-
import "../parse/index.js";
|
|
5
|
-
import { buildCollateralPrerequisites } from "./buildCollateralPrerequisites.js";
|
|
6
|
-
import { buildPartialLiquidationPrerequisites } from "./buildPartialLiquidationPrerequisites.js";
|
|
7
|
-
import { buildPoolPrerequisites } from "./buildPoolPrerequisites.js";
|
|
8
|
-
import { buildRWAPrerequisites } from "./buildRWAPrerequisites.js";
|
|
9
|
-
//#region src/preview/prerequisites/checkPrerequisites.ts
|
|
10
|
-
/**
|
|
11
|
-
* Derives and verifies the on-chain prerequisites for an operation given its
|
|
12
|
-
* raw calldata: the conditions that must hold for the call not to revert and
|
|
13
|
-
* that we can verify with the SDK (token approvals, wallet balances, RWA
|
|
14
|
-
* open-account requirements).
|
|
15
|
-
*
|
|
16
|
-
* Each prerequisite performs its own reads and resolves into a
|
|
17
|
-
* {@link PrerequisiteResult} (`satisfied` or `error`).
|
|
18
|
-
*
|
|
19
|
-
* Only *sender-actionable* prerequisites belong here: conditions the LP
|
|
20
|
-
* provider or borrower can fix themselves before retrying (e.g. approve a
|
|
21
|
-
* token, sign the RWA factory's messages). Non-actionable protocol/admin state
|
|
22
|
-
* (e.g. pool is paused) is intentionally out of scope, since the user cannot
|
|
23
|
-
* resolve it.
|
|
24
|
-
*/
|
|
25
|
-
async function checkPrerequisites(input, options) {
|
|
26
|
-
const { sdk, sender: wallet } = input;
|
|
27
|
-
const tx = parseOperationCalldata(input);
|
|
28
|
-
if (isSDKError(tx)) return tx;
|
|
29
|
-
const ctx = {
|
|
30
|
-
sdk,
|
|
31
|
-
wallet,
|
|
32
|
-
blockNumber: options?.blockNumber,
|
|
33
|
-
value: input.value ?? 0n
|
|
34
|
-
};
|
|
35
|
-
const prereqs = await buildPrerequisites(tx.data, ctx);
|
|
36
|
-
return sdkOk(await Promise.all(prereqs.map((p) => p.verify(ctx))));
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Dispatches a parsed operation to the per-operation-family prerequisite
|
|
40
|
-
* builders.
|
|
41
|
-
*/
|
|
42
|
-
async function buildPrerequisites(tx, ctx) {
|
|
43
|
-
const { wallet } = ctx;
|
|
44
|
-
switch (tx.operation) {
|
|
45
|
-
case "Deposit":
|
|
46
|
-
case "Mint":
|
|
47
|
-
case "Redeem":
|
|
48
|
-
case "Withdraw": return buildPoolPrerequisites(tx, wallet);
|
|
49
|
-
case "MultiCall":
|
|
50
|
-
case "BotMulticall":
|
|
51
|
-
case "OpenCreditAccount":
|
|
52
|
-
case "CloseCreditAccount":
|
|
53
|
-
case "LiquidateCreditAccount": return buildCollateralPrerequisites(tx.operation === "OpenCreditAccount" ? {
|
|
54
|
-
creditManager: tx.creditManager,
|
|
55
|
-
borrower: wallet
|
|
56
|
-
} : {
|
|
57
|
-
creditManager: tx.creditManager,
|
|
58
|
-
creditAccount: tx.creditAccount
|
|
59
|
-
}, tx.multicall, ctx);
|
|
60
|
-
case "RWAOpenCreditAccount": return [...await buildCollateralPrerequisites({
|
|
61
|
-
creditManager: tx.creditManager,
|
|
62
|
-
borrower: wallet
|
|
63
|
-
}, tx.multicall, ctx), ...buildRWAPrerequisites(tx.multicall, tx.creditManager, tx.args, ctx)];
|
|
64
|
-
case "RWAMulticall": return buildCollateralPrerequisites({
|
|
65
|
-
creditManager: tx.creditManager,
|
|
66
|
-
creditAccount: tx.creditAccount
|
|
67
|
-
}, tx.multicall, ctx);
|
|
68
|
-
case "PartiallyLiquidateCreditAccount": return buildPartialLiquidationPrerequisites(tx, ctx);
|
|
69
|
-
default: return [];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//#endregion
|
|
73
|
-
export { checkPrerequisites };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
|
|
2
|
-
import { BalancePrerequisite } from "./BalancePrerequisite.js";
|
|
3
|
-
//#region src/preview/prerequisites/helpers.ts
|
|
4
|
-
/**
|
|
5
|
-
* The most common prerequisite pair: `owner` must have approved `spender` for
|
|
6
|
-
* `required` of `token` and must hold at least that much of it.
|
|
7
|
-
*/
|
|
8
|
-
function allowanceAndBalance(props) {
|
|
9
|
-
const { token, owner, spender, required } = props;
|
|
10
|
-
return [new AllowancePrerequisite({
|
|
11
|
-
token,
|
|
12
|
-
owner,
|
|
13
|
-
spender,
|
|
14
|
-
required
|
|
15
|
-
}), new BalancePrerequisite({
|
|
16
|
-
token,
|
|
17
|
-
owner,
|
|
18
|
-
required
|
|
19
|
-
})];
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
22
|
-
export { allowanceAndBalance };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Prerequisite } from "./Prerequisite.js";
|
|
2
|
-
import { AllowancePrerequisite } from "./AllowancePrerequisite.js";
|
|
3
|
-
import { BalancePrerequisite } from "./BalancePrerequisite.js";
|
|
4
|
-
import { RWAOpenRequirementsPrerequisite } from "./RWAOpenRequirementsPrerequisite.js";
|
|
5
|
-
import { checkPrerequisites } from "./checkPrerequisites.js";
|
|
6
|
-
import "./types.js";
|
|
7
|
-
export { AllowancePrerequisite, BalancePrerequisite, Prerequisite, RWAOpenRequirementsPrerequisite, checkPrerequisites };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
//#region src/preview/preview/errors.ts
|
|
2
|
-
const MALFORMED_BRACKET_MESSAGE = {
|
|
3
|
-
nested: "nested storeExpectedBalances/compareBalances bracket",
|
|
4
|
-
unmatchedCompare: "compareBalances without a preceding storeExpectedBalances",
|
|
5
|
-
unmatchedStore: "storeExpectedBalances without a matching compareBalances"
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Builds a {@link MalformedBracketError} for the given bracket invariant.
|
|
9
|
-
**/
|
|
10
|
-
function malformedBracketError(kind) {
|
|
11
|
-
return {
|
|
12
|
-
code: "malformedBracket",
|
|
13
|
-
message: MALFORMED_BRACKET_MESSAGE[kind],
|
|
14
|
-
kind
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Builds an {@link AdapterCallOutsideBracketError} for `adapter`.
|
|
19
|
-
**/
|
|
20
|
-
function adapterCallOutsideBracketError(adapter) {
|
|
21
|
-
return {
|
|
22
|
-
code: "adapterCallOutsideBracket",
|
|
23
|
-
message: `call to ${adapter} outside of a storeExpectedBalances/compareBalances bracket`,
|
|
24
|
-
adapter
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Builds a {@link NonAdapterCallInBracketError} for `target`.
|
|
29
|
-
**/
|
|
30
|
-
function nonAdapterCallInBracketError(target) {
|
|
31
|
-
return {
|
|
32
|
-
code: "nonAdapterCallInBracket",
|
|
33
|
-
message: `call to ${target} between storeExpectedBalances and compareBalances is not an adapter call`,
|
|
34
|
-
target
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
function asCause(cause) {
|
|
38
|
-
return cause instanceof Error ? cause : new Error(String(cause));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Builds an {@link UnpreviewableAdapterCallError} for a bracketed adapter
|
|
42
|
-
* call that could not be replayed.
|
|
43
|
-
**/
|
|
44
|
-
function unpreviewableAdapterCallError(adapter, cause) {
|
|
45
|
-
const err = asCause(cause);
|
|
46
|
-
return {
|
|
47
|
-
code: "unpreviewableAdapterCall",
|
|
48
|
-
message: err.message,
|
|
49
|
-
adapter,
|
|
50
|
-
cause: err
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Builds an {@link UnsupportedOutOfBracketCallError} for an allowed
|
|
55
|
-
* out-of-bracket adapter call that could not be replayed.
|
|
56
|
-
**/
|
|
57
|
-
function unsupportedOutOfBracketCallError(adapter, cause) {
|
|
58
|
-
const err = asCause(cause);
|
|
59
|
-
return {
|
|
60
|
-
code: "unsupportedOutOfBracketCall",
|
|
61
|
-
message: err.message,
|
|
62
|
-
adapter,
|
|
63
|
-
cause: err
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Builds an {@link InvalidTransactionValueError} when `msg.value` does not
|
|
68
|
-
* fit into the declared WETH collateral.
|
|
69
|
-
**/
|
|
70
|
-
function invalidTransactionValueError(value, wethCollateral) {
|
|
71
|
-
return {
|
|
72
|
-
code: "invalidTransactionValue",
|
|
73
|
-
message: `transaction value ${value} exceeds WETH collateral ${wethCollateral}`,
|
|
74
|
-
value,
|
|
75
|
-
wethCollateral
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
//#endregion
|
|
79
|
-
export { adapterCallOutsideBracketError, invalidTransactionValueError, malformedBracketError, nonAdapterCallInBracketError, unpreviewableAdapterCallError, unsupportedOutOfBracketCallError };
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ierc20Abi } from "../../abi/iERC20.js";
|
|
2
|
-
import { sdkErr, sdkOk } from "../../model/result.js";
|
|
3
|
-
import "../../model/index.js";
|
|
4
|
-
import { asPreviewSimulationError } from "../simulate/errors.js";
|
|
5
|
-
import { amountsInOut, previewContract } from "../simulate/simulatePoolOperation.js";
|
|
6
|
-
//#region src/preview/preview/previewPoolPositionOperation.ts
|
|
7
|
-
async function previewPoolPositionOperation(input, operation, options) {
|
|
8
|
-
const { sdk } = input;
|
|
9
|
-
const { tokenIn, tokenOut } = operation;
|
|
10
|
-
const market = sdk.marketRegister.findByPool(operation.pool);
|
|
11
|
-
const pool = market.pool.pool;
|
|
12
|
-
const holder = "owner" in operation ? operation.owner : operation.receiver;
|
|
13
|
-
let previewAmount;
|
|
14
|
-
let shares;
|
|
15
|
-
try {
|
|
16
|
-
[previewAmount, shares] = await sdk.client.multicall({
|
|
17
|
-
contracts: [previewContract(operation), {
|
|
18
|
-
address: operation.pool,
|
|
19
|
-
abi: ierc20Abi,
|
|
20
|
-
functionName: "balanceOf",
|
|
21
|
-
args: [holder]
|
|
22
|
-
}],
|
|
23
|
-
allowFailure: false,
|
|
24
|
-
batchSize: 0,
|
|
25
|
-
blockNumber: options?.blockNumber
|
|
26
|
-
});
|
|
27
|
-
} catch (cause) {
|
|
28
|
-
const error = asPreviewSimulationError(cause, "multicall");
|
|
29
|
-
options?.logger?.error(error, "pool operation simulation failed");
|
|
30
|
-
return sdkErr(error);
|
|
31
|
-
}
|
|
32
|
-
const sim = amountsInOut(operation, previewAmount);
|
|
33
|
-
const inflow = operation.operation === "Deposit" || operation.operation === "Mint";
|
|
34
|
-
const after = shares + (inflow ? sim.amountOut : -sim.amountIn);
|
|
35
|
-
return sdkOk({
|
|
36
|
-
operation: operation.operation,
|
|
37
|
-
pool: operation.pool,
|
|
38
|
-
name: sdk.tokensMeta.mustGetToken(operation.pool).name,
|
|
39
|
-
underlyingToken: market.underlyingToken,
|
|
40
|
-
shareRate: pool.dieselRate,
|
|
41
|
-
tokenIn: market.priceOracle.toTokenAmount(tokenIn, sim.amountIn),
|
|
42
|
-
tokenOut: market.priceOracle.toTokenAmount(tokenOut, sim.amountOut),
|
|
43
|
-
curator: market.curator,
|
|
44
|
-
netValue: market.toUnderlyingAmount(pool.sharesToUnderlying(after > 0n ? after : 0n))
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
//#endregion
|
|
48
|
-
export { previewPoolPositionOperation };
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { AssetsMap } from "../../onchain/utils/AssetsMap.js";
|
|
2
|
-
import "../../onchain/constants/math.js";
|
|
3
|
-
import { AbstractAdapterContract } from "../../onchain/market/adapters/contracts/AbstractAdapter.js";
|
|
4
|
-
import "../../onchain/index.js";
|
|
5
|
-
import { adapterCallOutsideBracketError, malformedBracketError, nonAdapterCallInBracketError, unpreviewableAdapterCallError, unsupportedOutOfBracketCallError } from "./errors.js";
|
|
6
|
-
//#region src/preview/preview/replayInnerOperations.ts
|
|
7
|
-
/**
|
|
8
|
-
* Creates a {@link ReplayState} around the given account seed, with empty
|
|
9
|
-
* bookkeeping.
|
|
10
|
-
*/
|
|
11
|
-
function makeReplayState(account) {
|
|
12
|
-
return {
|
|
13
|
-
account,
|
|
14
|
-
collateralAdded: new AssetsMap(),
|
|
15
|
-
collateralWithdrawn: new AssetsMap()
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Replays a credit-facade multicall over `state`, mutating it in place in
|
|
20
|
-
* facade execution order. The result is the *minimal guaranteed* post-state.
|
|
21
|
-
*
|
|
22
|
-
* The function assumes that the call was generated by our frontend using
|
|
23
|
-
* router/withdrawal compressor, otherwise it returns a warning, but still
|
|
24
|
-
* proceeds best-effort.
|
|
25
|
-
*
|
|
26
|
-
* @returns `undefined` on success, the warning on a malformed multicall.
|
|
27
|
-
*/
|
|
28
|
-
function replayInnerOperations(sdk, multicall, state) {
|
|
29
|
-
let inBracket = false;
|
|
30
|
-
let warning;
|
|
31
|
-
for (const op of multicall) {
|
|
32
|
-
let opWarning;
|
|
33
|
-
switch (op.operation) {
|
|
34
|
-
case "AddCollateral":
|
|
35
|
-
applyAddCollateral(state, op);
|
|
36
|
-
break;
|
|
37
|
-
case "WithdrawCollateral":
|
|
38
|
-
applyWithdrawCollateral(state, op);
|
|
39
|
-
break;
|
|
40
|
-
case "IncreaseBorrowedAmount":
|
|
41
|
-
state.account.increaseDebt(op.amount);
|
|
42
|
-
break;
|
|
43
|
-
case "DecreaseBorrowedAmount":
|
|
44
|
-
state.account.repay(op.amount);
|
|
45
|
-
break;
|
|
46
|
-
case "UpdateQuota":
|
|
47
|
-
state.account.updateQuota(op.token, op.change);
|
|
48
|
-
break;
|
|
49
|
-
case "StoreExpectedBalances":
|
|
50
|
-
if (inBracket) opWarning = malformedBracketError("nested");
|
|
51
|
-
inBracket = true;
|
|
52
|
-
for (const { token, balance } of op.deltas) state.account.balances.inc(token, balance);
|
|
53
|
-
break;
|
|
54
|
-
case "CompareBalances":
|
|
55
|
-
if (!inBracket) opWarning = malformedBracketError("unmatchedCompare");
|
|
56
|
-
inBracket = false;
|
|
57
|
-
break;
|
|
58
|
-
case "Execute": opWarning = applyExecute(sdk, op, inBracket, state.account.balances);
|
|
59
|
-
}
|
|
60
|
-
warning ??= opWarning;
|
|
61
|
-
}
|
|
62
|
-
if (inBracket) warning ??= malformedBracketError("unmatchedStore");
|
|
63
|
-
return warning;
|
|
64
|
-
}
|
|
65
|
-
function applyAddCollateral(state, op) {
|
|
66
|
-
state.collateralAdded.inc(op.token, op.amount);
|
|
67
|
-
state.account.balances.inc(op.token, op.amount);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* `MAX_UINT256` is the facade sentinel for "withdraw the entire balance", so
|
|
71
|
-
* it is resolved against the running balance at the point of the call.
|
|
72
|
-
*/
|
|
73
|
-
function applyWithdrawCollateral(state, op) {
|
|
74
|
-
const running = state.account.balances.getOrZero(op.token);
|
|
75
|
-
const amount = op.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n ? running > 0n ? running : 0n : op.amount;
|
|
76
|
-
state.account.balances.dec(op.token, amount);
|
|
77
|
-
state.collateralWithdrawn.inc(op.token, amount);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Replays an adapter `Execute` call against the running balances.
|
|
81
|
-
*
|
|
82
|
-
* Inside a bracket, the adapter's balance changes are previewed via
|
|
83
|
-
* {@link AbstractAdapterContract.previewBalanceChanges}. Outside a bracket,
|
|
84
|
-
* only calls that {@link AbstractAdapterContract.replayOutOfBracketCall}
|
|
85
|
-
* accepts are allowed; nothing enforces the outcome of any other out-of-bracket
|
|
86
|
-
* adapter call on-chain, so its effect on balances cannot be previewed.
|
|
87
|
-
*/
|
|
88
|
-
function applyExecute(sdk, op, inBracket, balances) {
|
|
89
|
-
const adapter = sdk.getContract(op.adapter);
|
|
90
|
-
if (!inBracket) {
|
|
91
|
-
if (adapter instanceof AbstractAdapterContract) try {
|
|
92
|
-
if (adapter.replayOutOfBracketCall(balances, op.calldata)) return;
|
|
93
|
-
} catch (e) {
|
|
94
|
-
return unsupportedOutOfBracketCallError(op.adapter, e);
|
|
95
|
-
}
|
|
96
|
-
return adapterCallOutsideBracketError(op.adapter);
|
|
97
|
-
}
|
|
98
|
-
if (!(adapter instanceof AbstractAdapterContract)) return nonAdapterCallInBracketError(op.adapter);
|
|
99
|
-
try {
|
|
100
|
-
adapter.previewBalanceChanges(balances, op.calldata);
|
|
101
|
-
return;
|
|
102
|
-
} catch (e) {
|
|
103
|
-
return unpreviewableAdapterCallError(op.adapter, e);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
//#endregion
|
|
107
|
-
export { makeReplayState, replayInnerOperations };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CreditAccountState } from "./CreditAccountState.js";
|
|
2
|
-
import { makeReplayState, replayInnerOperations } from "./replayInnerOperations.js";
|
|
3
|
-
//#region src/preview/preview/replayMulticall.ts
|
|
4
|
-
/**
|
|
5
|
-
* Replays the operation's multicall over the account's pre-resolved
|
|
6
|
-
* pre-state (`options.creditAccount`) via {@link replayInnerOperations}.
|
|
7
|
-
*/
|
|
8
|
-
function replayMulticall(sdk, operation, options) {
|
|
9
|
-
const before = CreditAccountState.fromCreditAccountData(options.creditAccount);
|
|
10
|
-
const after = makeReplayState(before.clone());
|
|
11
|
-
return {
|
|
12
|
-
before,
|
|
13
|
-
after,
|
|
14
|
-
warning: replayInnerOperations(sdk, operation.multicall, after)
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
export { replayMulticall };
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { errorAbis } from "../../abi/errors.js";
|
|
2
|
-
import { BaseError, ContractFunctionRevertedError, decodeErrorResult } from "viem";
|
|
3
|
-
//#region src/preview/simulate/errors.ts
|
|
4
|
-
function isPreviewSimulationError(value) {
|
|
5
|
-
return typeof value === "object" && value !== null && !(value instanceof Error) && value.code === "previewSimulationFailed";
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Normalises an unknown rejection reason into a {@link PreviewSimulationError}.
|
|
9
|
-
* Pass-through when it already is one; otherwise decodes it under `source`.
|
|
10
|
-
*/
|
|
11
|
-
function asPreviewSimulationError(reason, source) {
|
|
12
|
-
if (isPreviewSimulationError(reason)) return reason;
|
|
13
|
-
const error = reason instanceof Error ? reason : new Error(String(reason));
|
|
14
|
-
const detail = decodeSimulationError({ error });
|
|
15
|
-
return {
|
|
16
|
-
code: "previewSimulationFailed",
|
|
17
|
-
message: detail.reason,
|
|
18
|
-
failures: [{
|
|
19
|
-
source,
|
|
20
|
-
detail
|
|
21
|
-
}],
|
|
22
|
-
cause: error
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Decodes a simulated call revert into a {@link SimulationError}.
|
|
27
|
-
*
|
|
28
|
-
* We first try to decode any raw return bytes against the SDK's
|
|
29
|
-
* {@link errorAbis} (Gearbox protocol exceptions plus standard ERC-20 custom
|
|
30
|
-
* errors); failing that, we walk viem's error chain for a
|
|
31
|
-
* {@link ContractFunctionRevertedError} (covers `Error(string)` / `Panic`).
|
|
32
|
-
*/
|
|
33
|
-
function decodeSimulationError(revert) {
|
|
34
|
-
const { error, data } = revert;
|
|
35
|
-
if (data && data !== "0x") try {
|
|
36
|
-
const decoded = decodeErrorResult({
|
|
37
|
-
abi: errorAbis,
|
|
38
|
-
data
|
|
39
|
-
});
|
|
40
|
-
return {
|
|
41
|
-
reason: formatDecodedError(decoded.errorName, decoded.args),
|
|
42
|
-
cause: error
|
|
43
|
-
};
|
|
44
|
-
} catch {}
|
|
45
|
-
if (error instanceof BaseError) {
|
|
46
|
-
const reverted = error.walk((e) => e instanceof ContractFunctionRevertedError);
|
|
47
|
-
if (reverted instanceof ContractFunctionRevertedError) return {
|
|
48
|
-
reason: reverted.data?.errorName ?? reverted.reason ?? reverted.shortMessage ?? "reverted",
|
|
49
|
-
cause: error
|
|
50
|
-
};
|
|
51
|
-
return {
|
|
52
|
-
reason: error.shortMessage ?? error.name,
|
|
53
|
-
cause: error
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
if (error instanceof Error) return {
|
|
57
|
-
reason: error.message,
|
|
58
|
-
cause: error
|
|
59
|
-
};
|
|
60
|
-
return {
|
|
61
|
-
reason: "reverted",
|
|
62
|
-
cause: error
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/** Renders `Name` or `Name(arg0, arg1)` for a decoded custom error. */
|
|
66
|
-
function formatDecodedError(errorName, args) {
|
|
67
|
-
if (!args || args.length === 0) return errorName;
|
|
68
|
-
return `${errorName}(${args.map((arg) => String(arg)).join(", ")})`;
|
|
69
|
-
}
|
|
70
|
-
//#endregion
|
|
71
|
-
export { asPreviewSimulationError, decodeSimulationError };
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { asPreviewSimulationError } from "./errors.js";
|
|
2
|
-
import { simulatePoolOperation } from "./simulatePoolOperation.js";
|
|
3
|
-
import { simulateFacadeOperation } from "./simulateFacadeOperation.js";
|
|
4
|
-
import { simulateRWAOperation } from "./simulateRWAOperation.js";
|
|
5
|
-
import { simulateOperation } from "./simulateOperation.js";
|
|
6
|
-
export { asPreviewSimulationError, simulateFacadeOperation, simulateOperation, simulatePoolOperation, simulateRWAOperation };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/preview/simulate/simulateFacadeOperation.ts
|
|
2
|
-
/**
|
|
3
|
-
* Simulates a credit-facade operation.
|
|
4
|
-
*
|
|
5
|
-
* Not yet implemented: credit-facade simulation requires multicall-aware
|
|
6
|
-
* balance/transfer accounting that the pool simulation does not cover. The
|
|
7
|
-
* signature mirrors {@link simulatePoolOperation} so the
|
|
8
|
-
* {@link simulateOperation} wrapper can delegate uniformly once implemented.
|
|
9
|
-
*/
|
|
10
|
-
async function simulateFacadeOperation(_input, _options) {
|
|
11
|
-
throw new Error("not yet implemented");
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
export { simulateFacadeOperation };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { sdkOk } from "../../model/result.js";
|
|
2
|
-
import "../../model/index.js";
|
|
3
|
-
import { isPoolOperation, isRWAOperation } from "../parse/types.js";
|
|
4
|
-
import "../parse/index.js";
|
|
5
|
-
import { simulatePoolOperation } from "./simulatePoolOperation.js";
|
|
6
|
-
import { simulateFacadeOperation } from "./simulateFacadeOperation.js";
|
|
7
|
-
import { simulateRWAOperation } from "./simulateRWAOperation.js";
|
|
8
|
-
//#region src/preview/simulate/simulateOperation.ts
|
|
9
|
-
/**
|
|
10
|
-
* Simulates a parsed pool or credit account operation
|
|
11
|
-
*/
|
|
12
|
-
async function simulateOperation(input, options) {
|
|
13
|
-
const { operation } = input;
|
|
14
|
-
if (isPoolOperation(operation)) return simulatePoolOperation({
|
|
15
|
-
...input,
|
|
16
|
-
operation
|
|
17
|
-
}, options);
|
|
18
|
-
if (isRWAOperation(operation)) return sdkOk(await simulateRWAOperation({
|
|
19
|
-
...input,
|
|
20
|
-
operation
|
|
21
|
-
}, options));
|
|
22
|
-
return sdkOk(await simulateFacadeOperation({
|
|
23
|
-
...input,
|
|
24
|
-
operation
|
|
25
|
-
}, options));
|
|
26
|
-
}
|
|
27
|
-
//#endregion
|
|
28
|
-
export { simulateOperation };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/preview/simulate/simulateRWAOperation.ts
|
|
2
|
-
/**
|
|
3
|
-
* Simulates an RWA-factory operation.
|
|
4
|
-
*
|
|
5
|
-
* Not yet implemented: like credit-facade simulation, it requires
|
|
6
|
-
* multicall-aware balance/transfer accounting that the pool simulation does
|
|
7
|
-
* not cover. The signature mirrors {@link simulatePoolOperation} so the
|
|
8
|
-
* {@link simulateOperation} wrapper can delegate uniformly once implemented.
|
|
9
|
-
*/
|
|
10
|
-
async function simulateRWAOperation(_input, _options) {
|
|
11
|
-
throw new Error("not yet implemented");
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
export { simulateRWAOperation };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|