@gearbox-protocol/sdk 16.1.2 → 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/CreditAccountsServiceV310.js +2 -2
- 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 +44 -8
- 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/execute/ExecuteApi.js +1 -0
- package/dist/cjs/sdk/index.js +6 -9
- package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/cjs/sdk/prepare/PrepareApi.js +55 -48
- package/dist/cjs/sdk/prepare/index.js +7 -9
- package/dist/cjs/sdk/prepare/types.js +0 -4
- package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
- 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 +1 -1
- 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 +46 -10
- 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/withdrawal-compressor/index.js +0 -1
- package/dist/esm/onchain/index.js +61 -10
- package/dist/esm/onchain/market/MarketSuite.js +7 -1
- package/dist/esm/onchain/market/adapters/index.js +1 -0
- 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/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/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/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/execute/ExecuteApi.js +1 -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 +43 -36
- 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/open-strategy.d.ts +34 -3
- 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/open-strategy.fixtures.d.ts +2 -2
- 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 +4 -2
- 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 +6 -5
- package/dist/types/sdk/prepare/index.d.ts +5 -5
- package/dist/types/sdk/prepare/types.d.ts +65 -23
- 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 -93
- 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 -89
- 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 -319
- /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,9 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../
|
|
3
|
-
const require_model_result = require("
|
|
4
|
-
require("
|
|
5
|
-
|
|
6
|
-
//#region src/preview/preview/detectDelayedClaim.ts
|
|
2
|
+
const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../market/adapters/contracts/AbstractAdapter.js");
|
|
3
|
+
const require_model_result = require("../../../model/result.js");
|
|
4
|
+
require("../../../model/index.js");
|
|
5
|
+
//#region src/onchain/preview/preview/detectDelayedClaim.ts
|
|
7
6
|
/**
|
|
8
7
|
* Scans a credit-facade multicall for a delayed-withdrawal claim call.
|
|
9
8
|
*
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../
|
|
3
|
-
const require_model_result = require("
|
|
4
|
-
require("
|
|
5
|
-
const require_onchain_accounts_withdrawal_compressor_intent_codec = require("../../
|
|
6
|
-
require("../../onchain/index.js");
|
|
2
|
+
const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../market/adapters/contracts/AbstractAdapter.js");
|
|
3
|
+
const require_model_result = require("../../../model/result.js");
|
|
4
|
+
require("../../../model/index.js");
|
|
5
|
+
const require_onchain_accounts_withdrawal_compressor_intent_codec = require("../../accounts/withdrawal-compressor/intent-codec.js");
|
|
7
6
|
let viem = require("viem");
|
|
8
|
-
//#region src/preview/preview/detectDelayedOperation.ts
|
|
7
|
+
//#region src/onchain/preview/preview/detectDelayedOperation.ts
|
|
9
8
|
/**
|
|
10
9
|
* Scans a credit-facade multicall for a delayed-withdrawal request.
|
|
11
10
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
let viem = require("viem");
|
|
3
|
-
//#region src/preview/preview/estimateClaimableAt.ts
|
|
3
|
+
//#region src/onchain/preview/preview/estimateClaimableAt.ts
|
|
4
4
|
/**
|
|
5
5
|
* Estimates when a newly requested delayed withdrawal becomes claimable:
|
|
6
6
|
* `now + withdrawalLength` of the cached withdrawable asset whose phantom
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
|
|
3
|
+
const require_onchain_preview_preview_CreditAccountState = require("./CreditAccountState.js");
|
|
4
|
+
const require_onchain_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
|
|
5
|
+
const require_onchain_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
|
|
6
|
+
const require_onchain_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
|
|
7
|
+
const require_onchain_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
|
|
8
|
+
const require_onchain_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
|
|
9
|
+
const require_onchain_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
|
|
10
|
+
const require_onchain_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
|
|
11
|
+
const require_onchain_preview_preview_replayMulticall = require("./replayMulticall.js");
|
|
12
|
+
const require_onchain_preview_preview_previewOperation = require("./previewOperation.js");
|
|
13
|
+
exports.CreditAccountState = require_onchain_preview_preview_CreditAccountState.CreditAccountState;
|
|
14
|
+
exports.buildDelayedStrategyPositionOperationPreview = require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview;
|
|
15
|
+
exports.classifyCloseOrRepay = require_onchain_preview_preview_detectCloseOrRepay.classifyCloseOrRepay;
|
|
16
|
+
exports.detectDelayedClaim = require_onchain_preview_preview_detectDelayedClaim.detectDelayedClaim;
|
|
17
|
+
exports.detectDelayedOperation = require_onchain_preview_preview_detectDelayedOperation.detectDelayedOperation;
|
|
18
|
+
exports.estimateClaimableAt = require_onchain_preview_preview_estimateClaimableAt.estimateClaimableAt;
|
|
19
|
+
exports.isCloseOrRepay = require_onchain_preview_preview_detectCloseOrRepay.isCloseOrRepay;
|
|
20
|
+
exports.makeReplayState = require_onchain_preview_preview_replayInnerOperations.makeReplayState;
|
|
21
|
+
exports.previewAdjustStrategyPosition = require_onchain_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition;
|
|
22
|
+
exports.previewExitOrRepayStrategyPosition = require_onchain_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition;
|
|
23
|
+
exports.previewOperation = require_onchain_preview_preview_previewOperation.previewOperation;
|
|
24
|
+
exports.replayInnerOperations = require_onchain_preview_preview_replayInnerOperations.replayInnerOperations;
|
|
25
|
+
exports.replayMulticall = require_onchain_preview_preview_replayMulticall.replayMulticall;
|
|
26
|
+
exports.resolveDelayedClaimIntent = require_onchain_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent;
|
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_address_provider = require("../../
|
|
3
|
-
const require_onchain_constants_math = require("../../
|
|
4
|
-
const require_model_previews = require("
|
|
5
|
-
require("
|
|
6
|
-
require("
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
//#region src/preview/preview/previewAdjustStrategyPosition.ts
|
|
2
|
+
const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
|
|
3
|
+
const require_onchain_constants_math = require("../../constants/math.js");
|
|
4
|
+
const require_model_previews = require("../../../model/previews.js");
|
|
5
|
+
const require_model_result = require("../../../model/result.js");
|
|
6
|
+
require("../../../model/index.js");
|
|
7
|
+
const require_onchain_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
|
|
8
|
+
//#region src/onchain/preview/preview/previewAdjustStrategyPosition.ts
|
|
10
9
|
/**
|
|
11
10
|
* Previews a `multicall`/`botMulticall` operation on an existing credit
|
|
12
|
-
* account:
|
|
13
|
-
* pre-
|
|
14
|
-
* minimal guaranteed post-state alongside the changes relative to the
|
|
15
|
-
* pre-state.
|
|
11
|
+
* account: reports the replayed post-state alongside the changes relative
|
|
12
|
+
* to the pre-state.
|
|
16
13
|
*/
|
|
17
|
-
function previewAdjustStrategyPosition(input, operation,
|
|
18
|
-
const {
|
|
14
|
+
function previewAdjustStrategyPosition(sdk, input, operation, replay) {
|
|
15
|
+
const { value = 0n } = input;
|
|
19
16
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
20
17
|
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
21
18
|
const oracle = market.priceOracle;
|
|
22
|
-
const { before, after
|
|
19
|
+
const { before, after } = replay;
|
|
23
20
|
const account = after.account;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
const unwrapped = require_onchain_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
|
|
22
|
+
if (!unwrapped.ok) return unwrapped;
|
|
23
|
+
const collateralAdded = unwrapped.data;
|
|
27
24
|
const assetsChange = account.balances.difference(before.balances).toAssets(require_onchain_constants_math.DUST_THRESHOLD);
|
|
28
25
|
const priced = oracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
|
|
29
|
-
warning ??= priced.error;
|
|
30
26
|
const snap = account.toSnapshot(priced.value);
|
|
31
|
-
return {
|
|
27
|
+
return require_model_result.sdkOk({
|
|
32
28
|
operation: "AdjustCreditAccount",
|
|
33
29
|
...require_model_previews.asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: before.totalDebt - account.totalDebt })),
|
|
34
30
|
creditAccount: operation.creditAccount,
|
|
@@ -42,8 +38,8 @@ function previewAdjustStrategyPosition(input, operation, options) {
|
|
|
42
38
|
...oracle.toAmount(market.underlying, q.balance)
|
|
43
39
|
})),
|
|
44
40
|
assetsChange: assetsChange.map((a) => oracle.toTokenAmount(a.token, a.balance)),
|
|
45
|
-
warning
|
|
46
|
-
};
|
|
41
|
+
warning: priced.error
|
|
42
|
+
});
|
|
47
43
|
}
|
|
48
44
|
//#endregion
|
|
49
45
|
exports.previewAdjustStrategyPosition = previewAdjustStrategyPosition;
|
|
@@ -1,35 +1,29 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_address_provider = require("../../
|
|
3
|
-
require("../../
|
|
4
|
-
const require_model_previews = require("
|
|
5
|
-
require("
|
|
6
|
-
require("
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function previewExitOrRepayStrategyPosition(input, operation, permanent, options) {
|
|
12
|
-
const { sdk } = input;
|
|
2
|
+
const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
|
|
3
|
+
require("../../constants/math.js");
|
|
4
|
+
const require_model_previews = require("../../../model/previews.js");
|
|
5
|
+
const require_model_result = require("../../../model/result.js");
|
|
6
|
+
require("../../../model/index.js");
|
|
7
|
+
const require_onchain_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
|
|
8
|
+
const require_onchain_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
|
|
9
|
+
//#region src/onchain/preview/preview/previewExitOrRepayStrategyPosition.ts
|
|
10
|
+
function previewExitOrRepayStrategyPosition(sdk, input, operation, permanent, replay) {
|
|
13
11
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
14
12
|
const exitTokens = [market.underlying];
|
|
15
13
|
const meta = sdk.tokensMeta.get(market.underlying);
|
|
16
14
|
if (meta && sdk.tokensMeta.isRWAUnderlying(meta)) exitTokens.push(meta.asset);
|
|
17
|
-
|
|
18
|
-
return require_preview_preview_detectCloseOrRepay.classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? previewCloseCreditAccount(input, operation, permanent, replay) : previewRepayCreditAccount(input, operation, permanent, replay);
|
|
15
|
+
return require_onchain_preview_preview_detectCloseOrRepay.classifyCloseOrRepay(operation.multicall, exitTokens) === "close" ? require_model_result.sdkOk(previewCloseCreditAccount(sdk, operation, permanent, replay)) : previewRepayCreditAccount(sdk, input, operation, permanent, replay);
|
|
19
16
|
}
|
|
20
17
|
/**
|
|
21
18
|
* Previews a credit account closure: all collateral is swapped into
|
|
22
19
|
* underlying, the debt is fully repaid and the remaining underlying is
|
|
23
20
|
* withdrawn to the user.
|
|
24
21
|
*/
|
|
25
|
-
function previewCloseCreditAccount(
|
|
26
|
-
const { sdk } = input;
|
|
22
|
+
function previewCloseCreditAccount(sdk, operation, permanent, replay) {
|
|
27
23
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
28
|
-
const { before, after
|
|
24
|
+
const { before, after } = replay;
|
|
29
25
|
const account = after.account;
|
|
30
|
-
let warning = replayWarning;
|
|
31
26
|
const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
|
|
32
|
-
warning ??= priced.error;
|
|
33
27
|
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
34
28
|
let receivedToken = market.underlying;
|
|
35
29
|
for (const m of operation.multicall) if (m.operation === "WithdrawCollateral" && m.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n) {
|
|
@@ -44,7 +38,7 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
|
|
|
44
38
|
name: suite.accountStrategyName(operation.creditAccount),
|
|
45
39
|
targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
|
|
46
40
|
receivedAmount: market.priceOracle.toTokenAmount(receivedToken, after.collateralWithdrawn.getOrZero(receivedToken)),
|
|
47
|
-
warning
|
|
41
|
+
warning: priced.error
|
|
48
42
|
};
|
|
49
43
|
}
|
|
50
44
|
/**
|
|
@@ -52,17 +46,17 @@ function previewCloseCreditAccount(input, operation, permanent, replay) {
|
|
|
52
46
|
* from the wallet when needed) and collateral is returned to the user
|
|
53
47
|
* in-kind.
|
|
54
48
|
*/
|
|
55
|
-
function previewRepayCreditAccount(input, operation, permanent, replay) {
|
|
56
|
-
const {
|
|
49
|
+
function previewRepayCreditAccount(sdk, input, operation, permanent, replay) {
|
|
50
|
+
const { value = 0n } = input;
|
|
57
51
|
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
58
|
-
const { before, after
|
|
52
|
+
const { before, after } = replay;
|
|
59
53
|
const account = after.account;
|
|
60
|
-
const
|
|
61
|
-
|
|
54
|
+
const unwrapped = require_onchain_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(after.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
|
|
55
|
+
if (!unwrapped.ok) return unwrapped;
|
|
56
|
+
const collateralAdded = unwrapped.data;
|
|
62
57
|
const priced = market.priceOracle.safeConvertAssets(account.balances.toAssets(), market.underlying);
|
|
63
|
-
warning ??= priced.error;
|
|
64
58
|
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
65
|
-
return {
|
|
59
|
+
return require_model_result.sdkOk({
|
|
66
60
|
operation: "RepayCreditAccount",
|
|
67
61
|
permanent,
|
|
68
62
|
...require_model_previews.asEstimated(sdk.positions.projection(account.toSnapshot(priced.value), { availableLiquidityChange: before.totalDebt - account.totalDebt })),
|
|
@@ -72,8 +66,8 @@ function previewRepayCreditAccount(input, operation, permanent, replay) {
|
|
|
72
66
|
collateralAdded: collateralAdded.map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
|
|
73
67
|
debtRepaid: market.toUnderlyingAmount(before.totalDebt - account.totalDebt),
|
|
74
68
|
collateralWithdrawn: after.collateralWithdrawn.toAssets().map((a) => market.priceOracle.toTokenAmount(a.token, a.balance)),
|
|
75
|
-
warning
|
|
76
|
-
};
|
|
69
|
+
warning: priced.error
|
|
70
|
+
});
|
|
77
71
|
}
|
|
78
72
|
//#endregion
|
|
79
73
|
exports.previewExitOrRepayStrategyPosition = previewExitOrRepayStrategyPosition;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_constants_address_provider = require("../../constants/address-provider.js");
|
|
3
|
+
const require_model_previews = require("../../../model/previews.js");
|
|
4
|
+
const require_model_result = require("../../../model/result.js");
|
|
5
|
+
require("../../../model/index.js");
|
|
6
|
+
const require_onchain_preview_preview_CreditAccountState = require("./CreditAccountState.js");
|
|
7
|
+
const require_onchain_preview_preview_unwrapNativeCollateral = require("./unwrapNativeCollateral.js");
|
|
8
|
+
const require_onchain_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
|
|
9
|
+
//#region src/onchain/preview/preview/previewOpenStrategyPosition.ts
|
|
10
|
+
function previewOpenStrategyPosition(sdk, input, operation) {
|
|
11
|
+
const { value = 0n } = input;
|
|
12
|
+
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
13
|
+
const oracle = market.priceOracle;
|
|
14
|
+
const state = require_onchain_preview_preview_replayInnerOperations.makeReplayState(require_onchain_preview_preview_CreditAccountState.CreditAccountState.beforeOpen(operation.creditManager, market.underlying));
|
|
15
|
+
const replayError = require_onchain_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, state);
|
|
16
|
+
if (replayError) return require_model_result.sdkErr(replayError);
|
|
17
|
+
const account = state.account;
|
|
18
|
+
let warning;
|
|
19
|
+
const netValue = state.collateralAdded.sum((token, balance) => {
|
|
20
|
+
const priced = oracle.safeConvert(token, market.underlying, balance);
|
|
21
|
+
warning ??= priced.error;
|
|
22
|
+
return priced.value;
|
|
23
|
+
});
|
|
24
|
+
const unwrapped = require_onchain_preview_preview_unwrapNativeCollateral.unwrapNativeCollateral(state.collateralAdded.toAssets(), value, sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0));
|
|
25
|
+
if (!unwrapped.ok) return unwrapped;
|
|
26
|
+
const collateral = unwrapped.data;
|
|
27
|
+
const snap = account.toSnapshot(netValue + account.totalDebt);
|
|
28
|
+
const targetAsset = inferTargetAsset(operation.multicall, account.balances);
|
|
29
|
+
const projection = {
|
|
30
|
+
...require_model_previews.asEstimated(sdk.positions.projection(snap, { availableLiquidityChange: -account.totalDebt })),
|
|
31
|
+
targetCollateral: targetAsset ? oracle.toTokenAmount(targetAsset.token, targetAsset.balance) : void 0,
|
|
32
|
+
collateralAdded: collateral.map((a) => oracle.toTokenAmount(a.token, a.balance)),
|
|
33
|
+
warning
|
|
34
|
+
};
|
|
35
|
+
if (operation.operation === "RWAOpenCreditAccount") return require_model_result.sdkOk({
|
|
36
|
+
...projection,
|
|
37
|
+
operation: "RWAOpenCreditAccount",
|
|
38
|
+
rwaArgs: operation.args
|
|
39
|
+
});
|
|
40
|
+
return require_model_result.sdkOk({
|
|
41
|
+
...projection,
|
|
42
|
+
operation: "OpenCreditAccount"
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Infers the strategy target token of an account opening: the first quoted
|
|
47
|
+
* token (first `UpdateQuota` with a positive change), with its balance taken
|
|
48
|
+
* from the computed assets. Returns `undefined` when nothing is quoted.
|
|
49
|
+
*/
|
|
50
|
+
function inferTargetAsset(multicall, balances) {
|
|
51
|
+
for (const op of multicall) if (op.operation === "UpdateQuota" && op.change > 0n) {
|
|
52
|
+
const balance = balances.get(op.token);
|
|
53
|
+
return balance ? {
|
|
54
|
+
token: op.token,
|
|
55
|
+
balance
|
|
56
|
+
} : void 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
exports.previewOpenStrategyPosition = previewOpenStrategyPosition;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_prepare_errors = require("../../../model/errors/prepare-errors.js");
|
|
3
|
+
const require_model_result = require("../../../model/result.js");
|
|
4
|
+
require("../../../model/index.js");
|
|
5
|
+
const require_onchain_preview_parse_parseOperationCalldata = require("../parse/parseOperationCalldata.js");
|
|
6
|
+
const require_onchain_preview_parse_types = require("../parse/types.js");
|
|
7
|
+
require("../parse/index.js");
|
|
8
|
+
const require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./buildDelayedStrategyPositionOperationPreview.js");
|
|
9
|
+
const require_onchain_preview_preview_detectCloseOrRepay = require("./detectCloseOrRepay.js");
|
|
10
|
+
const require_onchain_preview_preview_detectDelayedClaim = require("./detectDelayedClaim.js");
|
|
11
|
+
const require_onchain_preview_preview_detectDelayedOperation = require("./detectDelayedOperation.js");
|
|
12
|
+
const require_onchain_preview_preview_estimateClaimableAt = require("./estimateClaimableAt.js");
|
|
13
|
+
const require_onchain_preview_preview_previewAdjustStrategyPosition = require("./previewAdjustStrategyPosition.js");
|
|
14
|
+
const require_onchain_preview_preview_previewExitOrRepayStrategyPosition = require("./previewExitOrRepayStrategyPosition.js");
|
|
15
|
+
const require_onchain_preview_preview_previewOpenStrategyPosition = require("./previewOpenStrategyPosition.js");
|
|
16
|
+
const require_onchain_preview_preview_previewPoolPositionOperation = require("./previewPoolPositionOperation.js");
|
|
17
|
+
const require_onchain_preview_preview_replayMulticall = require("./replayMulticall.js");
|
|
18
|
+
//#region src/onchain/preview/preview/previewOperation.ts
|
|
19
|
+
/**
|
|
20
|
+
* Previews a raw operation calldata: decodes it into a typed operation and
|
|
21
|
+
* assembles an operation-specific, human-displayable preview.
|
|
22
|
+
*
|
|
23
|
+
* Answers an {@link SDKReturn} envelope: the preview behind `ok: true`, or —
|
|
24
|
+
* when the transaction is one the previewer refuses to read — a
|
|
25
|
+
* {@link PreviewOperationError} behind `ok: false`. A thrown exception
|
|
26
|
+
* still means the SDK could not do its job (a read failed), not a refusal
|
|
27
|
+
* of the transaction.
|
|
28
|
+
*
|
|
29
|
+
* `input.chainId` and `sdk` both name the chain; the engine does not read
|
|
30
|
+
* `input.chainId`.
|
|
31
|
+
*/
|
|
32
|
+
async function previewOperation(sdk, input, options, creditAccount) {
|
|
33
|
+
const parsed = require_onchain_preview_parse_parseOperationCalldata.parseOperationCalldata(sdk, input);
|
|
34
|
+
if (!parsed.ok) return parsed;
|
|
35
|
+
const operation = parsed.data;
|
|
36
|
+
if (require_onchain_preview_parse_types.isPoolOperation(operation)) return require_onchain_preview_preview_previewPoolPositionOperation.previewPoolPositionOperation(sdk, operation, options);
|
|
37
|
+
if (operation.operation === "OpenCreditAccount" || operation.operation === "RWAOpenCreditAccount") return require_onchain_preview_preview_previewOpenStrategyPosition.previewOpenStrategyPosition(sdk, input, operation);
|
|
38
|
+
if (operation.operation === "CloseCreditAccount") {
|
|
39
|
+
const resolved = await resolveCreditAccount(sdk, operation, options, creditAccount);
|
|
40
|
+
if (!resolved.ok) return resolved;
|
|
41
|
+
const replayed = require_onchain_preview_preview_replayMulticall.replayMulticall(sdk, operation, resolved.data);
|
|
42
|
+
if (!replayed.ok) return replayed;
|
|
43
|
+
const preview = require_onchain_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(sdk, input, operation, true, replayed.data);
|
|
44
|
+
if (!preview.ok) return preview;
|
|
45
|
+
const intent = await require_onchain_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(sdk, operation.multicall, options?.blockNumber);
|
|
46
|
+
if (!intent.ok) return intent;
|
|
47
|
+
preview.data.intent = intent.data;
|
|
48
|
+
return preview;
|
|
49
|
+
}
|
|
50
|
+
if (operation.operation === "MultiCall" || operation.operation === "BotMulticall" || operation.operation === "RWAMulticall") {
|
|
51
|
+
const resolved = await resolveCreditAccount(sdk, operation, options, creditAccount);
|
|
52
|
+
if (!resolved.ok) return resolved;
|
|
53
|
+
const replayed = require_onchain_preview_preview_replayMulticall.replayMulticall(sdk, operation, resolved.data);
|
|
54
|
+
if (!replayed.ok) return replayed;
|
|
55
|
+
return previewMulticallOperation(sdk, input, operation, replayed.data, options?.blockNumber);
|
|
56
|
+
}
|
|
57
|
+
return require_model_result.sdkErr({
|
|
58
|
+
code: "unsupportedOperation",
|
|
59
|
+
message: `operation "${operation.operation}" is not supported by previewOperation`,
|
|
60
|
+
operation: operation.operation
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Resolves the pre-state of the credit account an operation targets: uses the
|
|
65
|
+
* injected state when present, otherwise fetches it from the credit account
|
|
66
|
+
* compressor.
|
|
67
|
+
*/
|
|
68
|
+
async function resolveCreditAccount(sdk, operation, options, creditAccount) {
|
|
69
|
+
let resolved = creditAccount;
|
|
70
|
+
if (!resolved) resolved = await sdk.accounts.getCreditAccountData(operation.creditAccount, options?.blockNumber);
|
|
71
|
+
if (!resolved) return require_model_result.sdkErr(require_model_errors_prepare_errors.creditAccountNotFound(operation.creditAccount));
|
|
72
|
+
return require_model_result.sdkOk(resolved);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Previews a plain/bot/RWA multicall: classifies the instant preview
|
|
76
|
+
* (zero-debt closure/repay vs adjustment) and, when the multicall requests a
|
|
77
|
+
* delayed withdrawal, wraps the instant preview into a
|
|
78
|
+
* `DelayedCreditAccountOperation` together with the best-effort preview of
|
|
79
|
+
* the state after the withdrawal is claimed.
|
|
80
|
+
*/
|
|
81
|
+
async function previewMulticallOperation(sdk, input, operation, replay, blockNumber) {
|
|
82
|
+
let instantPreview;
|
|
83
|
+
if (require_onchain_preview_preview_detectCloseOrRepay.isCloseOrRepay(operation.multicall)) {
|
|
84
|
+
const instant = require_onchain_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition(sdk, input, operation, false, replay);
|
|
85
|
+
if (!instant.ok) return instant;
|
|
86
|
+
instantPreview = instant.data;
|
|
87
|
+
} else {
|
|
88
|
+
const instant = require_onchain_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition(sdk, input, operation, replay);
|
|
89
|
+
if (!instant.ok) return instant;
|
|
90
|
+
instantPreview = instant.data;
|
|
91
|
+
}
|
|
92
|
+
const detected = require_onchain_preview_preview_detectDelayedOperation.detectDelayedOperation(sdk, operation.multicall);
|
|
93
|
+
if (!detected.ok) return detected;
|
|
94
|
+
const delayed = detected.data;
|
|
95
|
+
if (!delayed) {
|
|
96
|
+
const intent = await require_onchain_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent(sdk, operation.multicall, blockNumber);
|
|
97
|
+
if (!intent.ok) return intent;
|
|
98
|
+
instantPreview.intent = intent.data;
|
|
99
|
+
return require_model_result.sdkOk(instantPreview);
|
|
100
|
+
}
|
|
101
|
+
const { before, after } = replay;
|
|
102
|
+
const market = sdk.marketRegister.findByCreditManager(operation.creditManager);
|
|
103
|
+
const meta = sdk.tokensMeta.get(market.underlying);
|
|
104
|
+
const receivedToken = meta && sdk.tokensMeta.isRWAUnderlying(meta) ? meta.asset : market.underlying;
|
|
105
|
+
const suite = sdk.marketRegister.findCreditManager(operation.creditManager);
|
|
106
|
+
return require_model_result.sdkOk({
|
|
107
|
+
operation: "DelayedCreditAccountOperation",
|
|
108
|
+
creditAccount: operation.creditAccount,
|
|
109
|
+
...suite.creditOperationMarket(),
|
|
110
|
+
name: suite.accountStrategyName(operation.creditAccount),
|
|
111
|
+
targetCollateral: suite.accountTargetCollateral(operation.creditAccount),
|
|
112
|
+
intent: delayed.intent,
|
|
113
|
+
estClaimableAt: require_onchain_preview_preview_estimateClaimableAt.estimateClaimableAt(sdk, delayed.request.phantomToken),
|
|
114
|
+
instantPreview,
|
|
115
|
+
delayedPreview: require_onchain_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview(after.account, before, delayed, receivedToken, sdk)
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
//#endregion
|
|
119
|
+
exports.previewOperation = previewOperation;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
require("
|
|
6
|
-
|
|
7
|
-
//#region src/preview/
|
|
2
|
+
const require_abi_iERC20 = require("../../../abi/iERC20.js");
|
|
3
|
+
const require_abi_iZapper = require("../../../abi/iZapper.js");
|
|
4
|
+
const require_abi_310_generated = require("../../../abi/310/generated.js");
|
|
5
|
+
const require_model_result = require("../../../model/result.js");
|
|
6
|
+
require("../../../model/index.js");
|
|
7
|
+
//#region src/onchain/preview/preview/previewPoolPositionOperation.ts
|
|
8
8
|
function previewRead(operation) {
|
|
9
9
|
switch (operation.operation) {
|
|
10
10
|
case "Deposit": return {
|
|
@@ -74,36 +74,50 @@ function amountsInOut(operation, previewAmount) {
|
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
* `previewDeposit`/`previewMint`/`previewWithdraw`/`previewRedeem`, or the
|
|
85
|
-
* zapper's `previewDeposit`/`previewRedeem`) to convert the calldata-known
|
|
86
|
-
* amount into its counterpart. It works on every network the SDK supports.
|
|
87
|
-
*
|
|
88
|
-
* It does not execute the calldata, so it ignores balance/allowance
|
|
89
|
-
* prerequisites (preview reads succeed regardless).
|
|
90
|
-
*/
|
|
91
|
-
async function simulatePoolOperation(input, options = {}) {
|
|
92
|
-
const { sdk, operation } = input;
|
|
93
|
-
const { blockNumber, logger } = options;
|
|
77
|
+
async function previewPoolPositionOperation(sdk, operation, options) {
|
|
78
|
+
const { tokenIn, tokenOut } = operation;
|
|
79
|
+
const market = sdk.marketRegister.findByPool(operation.pool);
|
|
80
|
+
const pool = market.pool.pool;
|
|
81
|
+
const holder = "owner" in operation ? operation.owner : operation.receiver;
|
|
82
|
+
let previewAmount;
|
|
83
|
+
let shares;
|
|
94
84
|
try {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
85
|
+
[previewAmount, shares] = await sdk.client.multicall({
|
|
86
|
+
contracts: [previewContract(operation), {
|
|
87
|
+
address: operation.pool,
|
|
88
|
+
abi: require_abi_iERC20.ierc20Abi,
|
|
89
|
+
functionName: "balanceOf",
|
|
90
|
+
args: [holder]
|
|
91
|
+
}],
|
|
92
|
+
allowFailure: false,
|
|
93
|
+
batchSize: 0,
|
|
94
|
+
blockNumber: options?.blockNumber
|
|
98
95
|
});
|
|
99
|
-
return require_model_result.sdkOk(amountsInOut(operation, previewAmount));
|
|
100
96
|
} catch (cause) {
|
|
101
|
-
const error =
|
|
102
|
-
|
|
97
|
+
const error = {
|
|
98
|
+
code: "poolOperationPreviewError",
|
|
99
|
+
message: cause instanceof Error ? cause.message : String(cause),
|
|
100
|
+
pool: operation.pool,
|
|
101
|
+
cause: cause instanceof Error ? cause : new Error(String(cause))
|
|
102
|
+
};
|
|
103
103
|
return require_model_result.sdkErr(error);
|
|
104
104
|
}
|
|
105
|
+
const sim = amountsInOut(operation, previewAmount);
|
|
106
|
+
const inflow = operation.operation === "Deposit" || operation.operation === "Mint";
|
|
107
|
+
const after = shares + (inflow ? sim.amountOut : -sim.amountIn);
|
|
108
|
+
return require_model_result.sdkOk({
|
|
109
|
+
operation: operation.operation,
|
|
110
|
+
pool: operation.pool,
|
|
111
|
+
zapper: operation.zapper,
|
|
112
|
+
holder,
|
|
113
|
+
name: sdk.tokensMeta.mustGetToken(operation.pool).name,
|
|
114
|
+
underlyingToken: market.underlyingToken,
|
|
115
|
+
shareRate: pool.dieselRate,
|
|
116
|
+
tokenIn: market.priceOracle.toTokenAmount(tokenIn, sim.amountIn),
|
|
117
|
+
tokenOut: market.priceOracle.toTokenAmount(tokenOut, sim.amountOut),
|
|
118
|
+
curator: market.curator,
|
|
119
|
+
netValue: market.toUnderlyingAmount(pool.sharesToUnderlying(after > 0n ? after : 0n))
|
|
120
|
+
});
|
|
105
121
|
}
|
|
106
122
|
//#endregion
|
|
107
|
-
exports.
|
|
108
|
-
exports.previewContract = previewContract;
|
|
109
|
-
exports.simulatePoolOperation = simulatePoolOperation;
|
|
123
|
+
exports.previewPoolPositionOperation = previewPoolPositionOperation;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_utils_AssetsMap = require("../../utils/AssetsMap.js");
|
|
3
|
+
require("../../constants/math.js");
|
|
4
|
+
const require_onchain_market_adapters_contracts_AbstractAdapter = require("../../market/adapters/contracts/AbstractAdapter.js");
|
|
5
|
+
const require_model_errors_preview_errors = require("../../../model/errors/preview-errors.js");
|
|
6
|
+
require("../../../model/index.js");
|
|
7
|
+
//#region src/onchain/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 answers the error on a malformed
|
|
25
|
+
* multicall; state is left as replayed up to that op.
|
|
26
|
+
*
|
|
27
|
+
* @returns `undefined` on success, the error on a malformed multicall.
|
|
28
|
+
*/
|
|
29
|
+
function replayInnerOperations(sdk, multicall, state) {
|
|
30
|
+
let inBracket = false;
|
|
31
|
+
for (const op of multicall) switch (op.operation) {
|
|
32
|
+
case "AddCollateral":
|
|
33
|
+
applyAddCollateral(state, op);
|
|
34
|
+
break;
|
|
35
|
+
case "WithdrawCollateral":
|
|
36
|
+
applyWithdrawCollateral(state, op);
|
|
37
|
+
break;
|
|
38
|
+
case "IncreaseBorrowedAmount":
|
|
39
|
+
state.account.increaseDebt(op.amount);
|
|
40
|
+
break;
|
|
41
|
+
case "DecreaseBorrowedAmount":
|
|
42
|
+
state.account.repay(op.amount);
|
|
43
|
+
break;
|
|
44
|
+
case "UpdateQuota":
|
|
45
|
+
state.account.updateQuota(op.token, op.change);
|
|
46
|
+
break;
|
|
47
|
+
case "StoreExpectedBalances":
|
|
48
|
+
if (inBracket) return require_model_errors_preview_errors.malformedTransaction("nested storeExpectedBalances/compareBalances bracket");
|
|
49
|
+
inBracket = true;
|
|
50
|
+
for (const { token, balance } of op.deltas) state.account.balances.inc(token, balance);
|
|
51
|
+
break;
|
|
52
|
+
case "CompareBalances":
|
|
53
|
+
if (!inBracket) return require_model_errors_preview_errors.malformedTransaction("compareBalances without a preceding storeExpectedBalances");
|
|
54
|
+
inBracket = false;
|
|
55
|
+
break;
|
|
56
|
+
case "Execute": {
|
|
57
|
+
const error = applyExecute(sdk, op, inBracket, state.account.balances);
|
|
58
|
+
if (error) return error;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (inBracket) return require_model_errors_preview_errors.malformedTransaction("storeExpectedBalances without a matching compareBalances");
|
|
63
|
+
}
|
|
64
|
+
function applyAddCollateral(state, op) {
|
|
65
|
+
state.collateralAdded.inc(op.token, op.amount);
|
|
66
|
+
state.account.balances.inc(op.token, op.amount);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* `MAX_UINT256` is the facade sentinel for "withdraw the entire balance", so
|
|
70
|
+
* it is resolved against the running balance at the point of the call.
|
|
71
|
+
*/
|
|
72
|
+
function applyWithdrawCollateral(state, op) {
|
|
73
|
+
const running = state.account.balances.getOrZero(op.token);
|
|
74
|
+
const amount = op.amount === 115792089237316195423570985008687907853269984665640564039457584007913129639935n ? running > 0n ? running : 0n : op.amount;
|
|
75
|
+
state.account.balances.dec(op.token, amount);
|
|
76
|
+
state.collateralWithdrawn.inc(op.token, amount);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Replays an adapter `Execute` call against the running balances.
|
|
80
|
+
*
|
|
81
|
+
* Inside a bracket, the adapter's balance changes are previewed via
|
|
82
|
+
* {@link AbstractAdapterContract.previewBalanceChanges}. Outside a bracket,
|
|
83
|
+
* only calls that {@link AbstractAdapterContract.replayOutOfBracketCall}
|
|
84
|
+
* accepts are allowed; nothing enforces the outcome of any other out-of-bracket
|
|
85
|
+
* adapter call on-chain, so its effect on balances cannot be previewed.
|
|
86
|
+
*/
|
|
87
|
+
function applyExecute(sdk, op, inBracket, balances) {
|
|
88
|
+
const adapter = sdk.getContract(op.adapter);
|
|
89
|
+
if (!inBracket) {
|
|
90
|
+
if (adapter instanceof require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract) try {
|
|
91
|
+
if (adapter.replayOutOfBracketCall(balances, op.calldata)) return;
|
|
92
|
+
} catch (e) {
|
|
93
|
+
const cause = e instanceof Error ? e : new Error(String(e));
|
|
94
|
+
return require_model_errors_preview_errors.malformedTransaction(`cannot replay out-of-bracket call to ${op.adapter}: ${cause.message}`, cause);
|
|
95
|
+
}
|
|
96
|
+
return require_model_errors_preview_errors.malformedTransaction(`call to ${op.adapter} outside of a storeExpectedBalances/compareBalances bracket`);
|
|
97
|
+
}
|
|
98
|
+
if (!(adapter instanceof require_onchain_market_adapters_contracts_AbstractAdapter.AbstractAdapterContract)) return require_model_errors_preview_errors.malformedTransaction(`call to ${op.adapter} between storeExpectedBalances and compareBalances is not an adapter call`);
|
|
99
|
+
try {
|
|
100
|
+
adapter.previewBalanceChanges(balances, op.calldata);
|
|
101
|
+
return;
|
|
102
|
+
} catch (e) {
|
|
103
|
+
const cause = e instanceof Error ? e : new Error(String(e));
|
|
104
|
+
return require_model_errors_preview_errors.malformedTransaction(`cannot replay adapter call to ${op.adapter}: ${cause.message}`, cause);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
exports.makeReplayState = makeReplayState;
|
|
109
|
+
exports.replayInnerOperations = replayInnerOperations;
|
|
@@ -0,0 +1,22 @@
|
|
|
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_onchain_preview_preview_CreditAccountState = require("./CreditAccountState.js");
|
|
5
|
+
const require_onchain_preview_preview_replayInnerOperations = require("./replayInnerOperations.js");
|
|
6
|
+
//#region src/onchain/preview/preview/replayMulticall.ts
|
|
7
|
+
/**
|
|
8
|
+
* Replays the operation's multicall over the account's pre-resolved
|
|
9
|
+
* pre-state via {@link replayInnerOperations}.
|
|
10
|
+
*/
|
|
11
|
+
function replayMulticall(sdk, operation, creditAccount) {
|
|
12
|
+
const before = require_onchain_preview_preview_CreditAccountState.CreditAccountState.fromCreditAccountData(creditAccount);
|
|
13
|
+
const after = require_onchain_preview_preview_replayInnerOperations.makeReplayState(before.clone());
|
|
14
|
+
const error = require_onchain_preview_preview_replayInnerOperations.replayInnerOperations(sdk, operation.multicall, after);
|
|
15
|
+
if (error) return require_model_result.sdkErr(error);
|
|
16
|
+
return require_model_result.sdkOk({
|
|
17
|
+
before,
|
|
18
|
+
after
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
exports.replayMulticall = replayMulticall;
|