@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,258 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/onchain/validation/checks.ts
|
|
3
|
-
/**
|
|
4
|
-
* Every refusal the protocol can pass on an operation, as values.
|
|
5
|
-
*
|
|
6
|
-
* Each check is handed the numbers it compares — never a suite, a market or an
|
|
7
|
-
* SDK — so the engine, `checkOperation` and the strategy lists share one
|
|
8
|
-
* implementation.
|
|
9
|
-
*
|
|
10
|
-
* Ladders stay with the caller because they differ deliberately: the engine
|
|
11
|
-
* reports the tightest ceiling it found, the account-opening path the first one
|
|
12
|
-
* exceeded in its own order.
|
|
13
|
-
*/
|
|
14
|
-
/** A factor at or below this is refused; kept for the callers that size on it. */
|
|
15
|
-
const MIN_HF_LIMITED = 10100n;
|
|
16
|
-
/** The same bar as a `required` argument — the lowest factor that passes. */
|
|
17
|
-
const MIN_HEALTH_FACTOR_FORM = 10101;
|
|
18
|
-
/** The bar the facade itself enforces: an account may end exactly at 1.0. */
|
|
19
|
-
const MIN_HEALTH_FACTOR_FACADE = 1e4;
|
|
20
|
-
/**
|
|
21
|
-
* The safe-price bar a form holds an account to. A step above the facade's,
|
|
22
|
-
* because a factor of exactly 1.0 at safe prices is already a refusal.
|
|
23
|
-
*/
|
|
24
|
-
const MIN_SAFE_HEALTH_FACTOR_FORM = 10001;
|
|
25
|
-
/** A refusal names what a limit was measured in, never what it is worth. */
|
|
26
|
-
function amountOf(token, value) {
|
|
27
|
-
return {
|
|
28
|
-
token,
|
|
29
|
-
value,
|
|
30
|
-
valueUsd: null
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/** The credit manager takes no multicall while it is paused. */
|
|
34
|
-
function checkCreditManagerPaused(args) {
|
|
35
|
-
if (!args.isPaused) return null;
|
|
36
|
-
return {
|
|
37
|
-
reason: "marketPaused",
|
|
38
|
-
detail: { creditManager: args.creditManager }
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/** Past its expiration date the facade takes no more multicalls. */
|
|
42
|
-
function checkMarketExpired(args) {
|
|
43
|
-
if (!args.isExpired) return null;
|
|
44
|
-
return {
|
|
45
|
-
reason: "marketExpired",
|
|
46
|
-
detail: {
|
|
47
|
-
creditManager: args.creditManager,
|
|
48
|
-
expirationDate: args.expirationDate
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/** A paused pool neither takes deposits nor pays out. */
|
|
53
|
-
function checkPoolPaused(args) {
|
|
54
|
-
return args.isPaused ? {
|
|
55
|
-
reason: "marketPaused",
|
|
56
|
-
detail: { pool: args.pool }
|
|
57
|
-
} : null;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* A pool winding down still pays out, so only what puts money in is refused.
|
|
61
|
-
*/
|
|
62
|
-
function checkPoolSunset(args) {
|
|
63
|
-
return args.isSunset && args.isDeposit ? {
|
|
64
|
-
reason: "poolSunset",
|
|
65
|
-
detail: { pool: args.pool }
|
|
66
|
-
} : null;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* What the pool will hand over, against what is asked for.
|
|
70
|
-
*
|
|
71
|
-
* `binding` and `available` are the caller's answer to "which ceiling stands in
|
|
72
|
-
* the way", not this check's: see the ladder note above. `solutionAmount` is
|
|
73
|
-
* the largest position still openable, left out when none is.
|
|
74
|
-
*/
|
|
75
|
-
function checkBorrowLimit(args) {
|
|
76
|
-
if (args.requested <= args.available) return null;
|
|
77
|
-
return {
|
|
78
|
-
reason: "insufficientPoolLiquidity",
|
|
79
|
-
detail: {
|
|
80
|
-
requested: amountOf(args.underlying, args.requested),
|
|
81
|
-
available: amountOf(args.underlying, args.available),
|
|
82
|
-
binding: args.binding,
|
|
83
|
-
...args.solutionAmount === void 0 ? {} : { solutionAmount: amountOf(args.underlying, args.solutionAmount) }
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* What the pool can pay out, against what is being taken out.
|
|
89
|
-
*
|
|
90
|
-
* The operator is not `checkBorrowLimit`'s: a pool holding exactly the amount
|
|
91
|
-
* asked for still cannot serve it, so equality is already a refusal. That is
|
|
92
|
-
* the rule the legacy withdrawal validator enforced and it is preserved to the
|
|
93
|
-
* unit.
|
|
94
|
-
*/
|
|
95
|
-
function checkPoolPayout(args) {
|
|
96
|
-
if (args.requested < args.available) return null;
|
|
97
|
-
return {
|
|
98
|
-
reason: "insufficientPoolLiquidity",
|
|
99
|
-
detail: {
|
|
100
|
-
requested: amountOf(args.underlying, args.requested),
|
|
101
|
-
available: amountOf(args.underlying, args.available),
|
|
102
|
-
binding: "poolAvailableLiquidity"
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* A debt the facade would revert on.
|
|
108
|
-
*
|
|
109
|
-
* `allowZero` is the one place the two callers genuinely disagree: an account
|
|
110
|
-
* being adjusted may end owing nothing, while one being opened may not — so the
|
|
111
|
-
* exemption is stated rather than assumed.
|
|
112
|
-
*/
|
|
113
|
-
function checkDebtInBand(args) {
|
|
114
|
-
const { debt, minDebt, maxDebt, underlying, allowZero } = args;
|
|
115
|
-
if (!(debt > maxDebt || debt < minDebt && !(allowZero && debt === 0n))) return null;
|
|
116
|
-
return {
|
|
117
|
-
reason: "debtOutOfRange",
|
|
118
|
-
detail: {
|
|
119
|
-
requested: amountOf(underlying, debt),
|
|
120
|
-
minDebt: amountOf(underlying, minDebt),
|
|
121
|
-
maxDebt: amountOf(underlying, maxDebt)
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
/** Leverage below 1x is not a position, it is a withdrawal. */
|
|
126
|
-
function checkLeverageAtLeastOne(args) {
|
|
127
|
-
return args.leverage < args.min ? {
|
|
128
|
-
reason: "leverageOutOfRange",
|
|
129
|
-
detail: {
|
|
130
|
-
requested: args.leverage,
|
|
131
|
-
min: args.min
|
|
132
|
-
}
|
|
133
|
-
} : null;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* The account against its debt, at whichever bar the caller holds it to.
|
|
137
|
-
*
|
|
138
|
-
* An unread factor counts as failing: a check that cannot see the number is not
|
|
139
|
-
* evidence that the number is fine.
|
|
140
|
-
*/
|
|
141
|
-
function checkCollateralised(args) {
|
|
142
|
-
const { healthFactor, required, safePrices, improvesFrom } = args;
|
|
143
|
-
if (healthFactor === void 0) return {
|
|
144
|
-
reason: "insufficientCollateral",
|
|
145
|
-
detail: {
|
|
146
|
-
healthFactor: 0,
|
|
147
|
-
required,
|
|
148
|
-
safePrices
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
if (healthFactor >= required || improvesFrom !== void 0 && healthFactor > improvesFrom) return null;
|
|
152
|
-
return {
|
|
153
|
-
reason: "insufficientCollateral",
|
|
154
|
-
detail: {
|
|
155
|
-
healthFactor,
|
|
156
|
-
required,
|
|
157
|
-
safePrices
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
/** A token the market will not let the account hold. */
|
|
162
|
-
function checkForbiddenToken(args) {
|
|
163
|
-
return args.isForbidden ? {
|
|
164
|
-
reason: "forbiddenToken",
|
|
165
|
-
detail: { token: args.token }
|
|
166
|
-
} : null;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* The room the keeper still has for a token's quota, in the underlying.
|
|
170
|
-
*
|
|
171
|
-
* `requested` is absent for a token the market opened no quota for at all —
|
|
172
|
-
* nothing was weighed against a limit, the token simply counts as no collateral.
|
|
173
|
-
*/
|
|
174
|
-
function checkQuotaLimit(args) {
|
|
175
|
-
const { token, requested, available, underlying } = args;
|
|
176
|
-
if (requested !== void 0 && requested <= available) return null;
|
|
177
|
-
return {
|
|
178
|
-
reason: "quotaLimitReached",
|
|
179
|
-
detail: {
|
|
180
|
-
token,
|
|
181
|
-
requested: requested === void 0 ? void 0 : amountOf(underlying, requested),
|
|
182
|
-
available: amountOf(underlying, available)
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
/** How many quoted tokens the facade enables at once. */
|
|
187
|
-
function checkQuotaCount(args) {
|
|
188
|
-
return args.count > args.max ? {
|
|
189
|
-
reason: "quotaCountExceeded",
|
|
190
|
-
detail: {
|
|
191
|
-
count: args.count,
|
|
192
|
-
max: args.max
|
|
193
|
-
}
|
|
194
|
-
} : null;
|
|
195
|
-
}
|
|
196
|
-
/** What the operation is funded from, against what is there. */
|
|
197
|
-
function checkFunding(args) {
|
|
198
|
-
const { token, required, held } = args;
|
|
199
|
-
if (required <= held) return null;
|
|
200
|
-
return {
|
|
201
|
-
reason: "insufficientSourceBalance",
|
|
202
|
-
detail: {
|
|
203
|
-
required: amountOf(token, required),
|
|
204
|
-
held: amountOf(token, held)
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* The SDK could not replay the transaction.
|
|
210
|
-
*
|
|
211
|
-
* Only a {@link MalformedPreviewError} lands here. An `unpriceableToken`
|
|
212
|
-
* warning says the transaction is fine and the SDK could not fully evaluate
|
|
213
|
-
* it, which is a caveat on the numbers rather than a reason to refuse — it
|
|
214
|
-
* stays on the preview for the caller to surface.
|
|
215
|
-
*/
|
|
216
|
-
function checkPreviewError(warning) {
|
|
217
|
-
if (!warning || !isMalformedPreviewError(warning)) return null;
|
|
218
|
-
return {
|
|
219
|
-
reason: "malformedTransaction",
|
|
220
|
-
detail: warning
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Whether the preview warning means the transaction itself is malformed,
|
|
225
|
-
* rather than that only the evaluation was incomplete.
|
|
226
|
-
*/
|
|
227
|
-
function isMalformedPreviewError(warning) {
|
|
228
|
-
switch (warning.code) {
|
|
229
|
-
case "malformedBracket":
|
|
230
|
-
case "adapterCallOutsideBracket":
|
|
231
|
-
case "nonAdapterCallInBracket":
|
|
232
|
-
case "unpreviewableAdapterCall":
|
|
233
|
-
case "unsupportedOutOfBracketCall":
|
|
234
|
-
case "invalidTransactionValue": return true;
|
|
235
|
-
default: return false;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
//#endregion
|
|
239
|
-
exports.MIN_HEALTH_FACTOR_FACADE = MIN_HEALTH_FACTOR_FACADE;
|
|
240
|
-
exports.MIN_HEALTH_FACTOR_FORM = MIN_HEALTH_FACTOR_FORM;
|
|
241
|
-
exports.MIN_HF_LIMITED = MIN_HF_LIMITED;
|
|
242
|
-
exports.MIN_SAFE_HEALTH_FACTOR_FORM = MIN_SAFE_HEALTH_FACTOR_FORM;
|
|
243
|
-
exports.amountOf = amountOf;
|
|
244
|
-
exports.checkBorrowLimit = checkBorrowLimit;
|
|
245
|
-
exports.checkCollateralised = checkCollateralised;
|
|
246
|
-
exports.checkCreditManagerPaused = checkCreditManagerPaused;
|
|
247
|
-
exports.checkDebtInBand = checkDebtInBand;
|
|
248
|
-
exports.checkForbiddenToken = checkForbiddenToken;
|
|
249
|
-
exports.checkFunding = checkFunding;
|
|
250
|
-
exports.checkLeverageAtLeastOne = checkLeverageAtLeastOne;
|
|
251
|
-
exports.checkMarketExpired = checkMarketExpired;
|
|
252
|
-
exports.checkPoolPaused = checkPoolPaused;
|
|
253
|
-
exports.checkPoolPayout = checkPoolPayout;
|
|
254
|
-
exports.checkPoolSunset = checkPoolSunset;
|
|
255
|
-
exports.checkPreviewError = checkPreviewError;
|
|
256
|
-
exports.checkQuotaCount = checkQuotaCount;
|
|
257
|
-
exports.checkQuotaLimit = checkQuotaLimit;
|
|
258
|
-
exports.isMalformedPreviewError = isMalformedPreviewError;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/onchain/validation/refusal.ts
|
|
3
|
-
/** Builds the refusal a caller sees. */
|
|
4
|
-
function refuse(reason, detail) {
|
|
5
|
-
return {
|
|
6
|
-
ok: false,
|
|
7
|
-
reason,
|
|
8
|
-
detail
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Validation failure that maps onto {@link PreviewErrorReason} rather than
|
|
13
|
-
* crashing the caller: raised by the planners and the guards, turned into
|
|
14
|
-
* `{ ok: false }` by `CreditAccountOperationsService`.
|
|
15
|
-
*/
|
|
16
|
-
var IntentPreviewError = class extends Error {
|
|
17
|
-
reason;
|
|
18
|
-
detail;
|
|
19
|
-
constructor(reason, detail, message) {
|
|
20
|
-
super(message ?? reason);
|
|
21
|
-
this.name = "IntentPreviewError";
|
|
22
|
-
this.reason = reason;
|
|
23
|
-
this.detail = detail;
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Throws the issue a check found, with the sentence the engine logs for it.
|
|
28
|
-
*
|
|
29
|
-
* Returns normally when there is nothing to raise, so it cannot narrow a type
|
|
30
|
-
* the way a bare `throw` does — a site that guards a value for the code below
|
|
31
|
-
* it keeps throwing directly.
|
|
32
|
-
*/
|
|
33
|
-
function raise(issue, message) {
|
|
34
|
-
if (issue) throw new IntentPreviewError(issue.reason, issue.detail, message);
|
|
35
|
-
}
|
|
36
|
-
//#endregion
|
|
37
|
-
exports.IntentPreviewError = IntentPreviewError;
|
|
38
|
-
exports.raise = raise;
|
|
39
|
-
exports.refuse = refuse;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_validation_refusal = require("../onchain/validation/refusal.js");
|
|
3
|
-
const require_preview_trace_errors = require("./trace/errors.js");
|
|
4
|
-
const require_preview_trace_extractAdapterCallTraces = require("./trace/extractAdapterCallTraces.js");
|
|
5
|
-
const require_preview_trace_extractTransfers = require("./trace/extractTransfers.js");
|
|
6
|
-
const require_preview_trace_findFacadeCalls = require("./trace/findFacadeCalls.js");
|
|
7
|
-
require("./trace/index.js");
|
|
8
|
-
const require_preview_parse_classifyInnerOperations = require("./parse/classifyInnerOperations.js");
|
|
9
|
-
const require_preview_parse_parseFacadeOperationCalldata = require("./parse/parseFacadeOperationCalldata.js");
|
|
10
|
-
const require_preview_parse_parsePoolOperationCalldata = require("./parse/parsePoolOperationCalldata.js");
|
|
11
|
-
const require_preview_parse_parseRWAFactoryOperationCalldata = require("./parse/parseRWAFactoryOperationCalldata.js");
|
|
12
|
-
const require_preview_parse_parseOperationCalldata = require("./parse/parseOperationCalldata.js");
|
|
13
|
-
const require_preview_parse_types = require("./parse/types.js");
|
|
14
|
-
require("./parse/index.js");
|
|
15
|
-
const require_preview_prerequisites_Prerequisite = require("./prerequisites/Prerequisite.js");
|
|
16
|
-
const require_preview_prerequisites_AllowancePrerequisite = require("./prerequisites/AllowancePrerequisite.js");
|
|
17
|
-
const require_preview_prerequisites_BalancePrerequisite = require("./prerequisites/BalancePrerequisite.js");
|
|
18
|
-
const require_preview_prerequisites_RWAOpenRequirementsPrerequisite = require("./prerequisites/RWAOpenRequirementsPrerequisite.js");
|
|
19
|
-
const require_preview_prerequisites_checkPrerequisites = require("./prerequisites/checkPrerequisites.js");
|
|
20
|
-
require("./prerequisites/index.js");
|
|
21
|
-
const require_preview_preview_buildDelayedStrategyPositionOperationPreview = require("./preview/buildDelayedStrategyPositionOperationPreview.js");
|
|
22
|
-
const require_preview_preview_CreditAccountState = require("./preview/CreditAccountState.js");
|
|
23
|
-
const require_preview_preview_detectCloseOrRepay = require("./preview/detectCloseOrRepay.js");
|
|
24
|
-
const require_preview_preview_detectDelayedClaim = require("./preview/detectDelayedClaim.js");
|
|
25
|
-
const require_preview_preview_detectDelayedOperation = require("./preview/detectDelayedOperation.js");
|
|
26
|
-
const require_preview_preview_errors = require("./preview/errors.js");
|
|
27
|
-
const require_preview_preview_estimateClaimableAt = require("./preview/estimateClaimableAt.js");
|
|
28
|
-
const require_preview_preview_replayInnerOperations = require("./preview/replayInnerOperations.js");
|
|
29
|
-
const require_preview_preview_replayMulticall = require("./preview/replayMulticall.js");
|
|
30
|
-
const require_preview_preview_previewAdjustStrategyPosition = require("./preview/previewAdjustStrategyPosition.js");
|
|
31
|
-
const require_preview_preview_previewExitOrRepayStrategyPosition = require("./preview/previewExitOrRepayStrategyPosition.js");
|
|
32
|
-
const require_preview_simulate_errors = require("./simulate/errors.js");
|
|
33
|
-
const require_preview_preview_previewOperation = require("./preview/previewOperation.js");
|
|
34
|
-
require("./preview/index.js");
|
|
35
|
-
require("./types.js");
|
|
36
|
-
const require_preview_validate_checkOperation = require("./validate/checkOperation.js");
|
|
37
|
-
const require_preview_validate_checkSimulation = require("./validate/checkSimulation.js");
|
|
38
|
-
require("./validate/index.js");
|
|
39
|
-
exports.AllowancePrerequisite = require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite;
|
|
40
|
-
exports.BalancePrerequisite = require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite;
|
|
41
|
-
exports.CreditAccountState = require_preview_preview_CreditAccountState.CreditAccountState;
|
|
42
|
-
exports.Prerequisite = require_preview_prerequisites_Prerequisite.Prerequisite;
|
|
43
|
-
exports.RWAOpenRequirementsPrerequisite = require_preview_prerequisites_RWAOpenRequirementsPrerequisite.RWAOpenRequirementsPrerequisite;
|
|
44
|
-
exports.TransferAlignmentError = require_preview_trace_errors.TransferAlignmentError;
|
|
45
|
-
exports.UnexpectedFacadeEventOrderError = require_preview_trace_errors.UnexpectedFacadeEventOrderError;
|
|
46
|
-
exports.UnknownAdapterError = require_preview_trace_errors.UnknownAdapterError;
|
|
47
|
-
exports.UnknownFacadeCallError = require_preview_trace_errors.UnknownFacadeCallError;
|
|
48
|
-
exports.WithdrawCollateralAlignmentError = require_preview_trace_errors.WithdrawCollateralAlignmentError;
|
|
49
|
-
exports.adapterCallOutsideBracketError = require_preview_preview_errors.adapterCallOutsideBracketError;
|
|
50
|
-
exports.asPreviewSimulationError = require_preview_simulate_errors.asPreviewSimulationError;
|
|
51
|
-
exports.buildDelayedStrategyPositionOperationPreview = require_preview_preview_buildDelayedStrategyPositionOperationPreview.buildDelayedStrategyPositionOperationPreview;
|
|
52
|
-
exports.checkOperation = require_preview_validate_checkOperation.checkOperation;
|
|
53
|
-
exports.checkPrerequisites = require_preview_prerequisites_checkPrerequisites.checkPrerequisites;
|
|
54
|
-
exports.checkSimulation = require_preview_validate_checkSimulation.checkSimulation;
|
|
55
|
-
exports.classifyCloseOrRepay = require_preview_preview_detectCloseOrRepay.classifyCloseOrRepay;
|
|
56
|
-
exports.classifyInnerOperations = require_preview_parse_classifyInnerOperations.classifyInnerOperations;
|
|
57
|
-
exports.collateralIssue = require_preview_validate_checkOperation.collateralIssue;
|
|
58
|
-
exports.detectDelayedClaim = require_preview_preview_detectDelayedClaim.detectDelayedClaim;
|
|
59
|
-
exports.detectDelayedOperation = require_preview_preview_detectDelayedOperation.detectDelayedOperation;
|
|
60
|
-
exports.estimateClaimableAt = require_preview_preview_estimateClaimableAt.estimateClaimableAt;
|
|
61
|
-
exports.extractAdapterCallTraces = require_preview_trace_extractAdapterCallTraces.extractAdapterCallTraces;
|
|
62
|
-
exports.extractTransfers = require_preview_trace_extractTransfers.extractTransfers;
|
|
63
|
-
exports.findFacadeCalls = require_preview_trace_findFacadeCalls.findFacadeCalls;
|
|
64
|
-
exports.invalidTransactionValueError = require_preview_preview_errors.invalidTransactionValueError;
|
|
65
|
-
exports.isCloseOrRepay = require_preview_preview_detectCloseOrRepay.isCloseOrRepay;
|
|
66
|
-
exports.isPoolOperation = require_preview_parse_types.isPoolOperation;
|
|
67
|
-
exports.isRWAOperation = require_preview_parse_types.isRWAOperation;
|
|
68
|
-
exports.makeReplayState = require_preview_preview_replayInnerOperations.makeReplayState;
|
|
69
|
-
exports.malformedBracketError = require_preview_preview_errors.malformedBracketError;
|
|
70
|
-
exports.marketIssues = require_preview_validate_checkOperation.marketIssues;
|
|
71
|
-
exports.nonAdapterCallInBracketError = require_preview_preview_errors.nonAdapterCallInBracketError;
|
|
72
|
-
exports.parseFacadeOperationCalldata = require_preview_parse_parseFacadeOperationCalldata.parseFacadeOperationCalldata;
|
|
73
|
-
exports.parseOperationCalldata = require_preview_parse_parseOperationCalldata.parseOperationCalldata;
|
|
74
|
-
exports.parsePoolOperationCalldata = require_preview_parse_parsePoolOperationCalldata.parsePoolOperationCalldata;
|
|
75
|
-
exports.parseRWAFactoryOperationCalldata = require_preview_parse_parseRWAFactoryOperationCalldata.parseRWAFactoryOperationCalldata;
|
|
76
|
-
exports.previewAdjustStrategyPosition = require_preview_preview_previewAdjustStrategyPosition.previewAdjustStrategyPosition;
|
|
77
|
-
exports.previewExitOrRepayStrategyPosition = require_preview_preview_previewExitOrRepayStrategyPosition.previewExitOrRepayStrategyPosition;
|
|
78
|
-
exports.previewOperation = require_preview_preview_previewOperation.previewOperation;
|
|
79
|
-
exports.quotaCountIssue = require_preview_validate_checkOperation.quotaCountIssue;
|
|
80
|
-
exports.raise = require_onchain_validation_refusal.raise;
|
|
81
|
-
exports.refuse = require_onchain_validation_refusal.refuse;
|
|
82
|
-
exports.replayInnerOperations = require_preview_preview_replayInnerOperations.replayInnerOperations;
|
|
83
|
-
exports.replayMulticall = require_preview_preview_replayMulticall.replayMulticall;
|
|
84
|
-
exports.resolveDelayedClaimIntent = require_preview_preview_detectDelayedClaim.resolveDelayedClaimIntent;
|
|
85
|
-
exports.unpreviewableAdapterCallError = require_preview_preview_errors.unpreviewableAdapterCallError;
|
|
86
|
-
exports.unsupportedOutOfBracketCallError = require_preview_preview_errors.unsupportedOutOfBracketCallError;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"type": "commonjs"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_parse_classifyInnerOperations = require("./classifyInnerOperations.js");
|
|
3
|
-
require("./errors.js");
|
|
4
|
-
const require_preview_parse_parseFacadeOperationCalldata = require("./parseFacadeOperationCalldata.js");
|
|
5
|
-
const require_preview_parse_parsePoolOperationCalldata = require("./parsePoolOperationCalldata.js");
|
|
6
|
-
const require_preview_parse_parseRWAFactoryOperationCalldata = require("./parseRWAFactoryOperationCalldata.js");
|
|
7
|
-
const require_preview_parse_parseOperationCalldata = require("./parseOperationCalldata.js");
|
|
8
|
-
const require_preview_parse_types = require("./types.js");
|
|
9
|
-
exports.classifyInnerOperations = require_preview_parse_classifyInnerOperations.classifyInnerOperations;
|
|
10
|
-
exports.isPoolOperation = require_preview_parse_types.isPoolOperation;
|
|
11
|
-
exports.isRWAOperation = require_preview_parse_types.isRWAOperation;
|
|
12
|
-
exports.parseFacadeOperationCalldata = require_preview_parse_parseFacadeOperationCalldata.parseFacadeOperationCalldata;
|
|
13
|
-
exports.parseOperationCalldata = require_preview_parse_parseOperationCalldata.parseOperationCalldata;
|
|
14
|
-
exports.parsePoolOperationCalldata = require_preview_parse_parsePoolOperationCalldata.parsePoolOperationCalldata;
|
|
15
|
-
exports.parseRWAFactoryOperationCalldata = require_preview_parse_parseRWAFactoryOperationCalldata.parseRWAFactoryOperationCalldata;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_prerequisites_Prerequisite = require("./Prerequisite.js");
|
|
3
|
-
let viem = require("viem");
|
|
4
|
-
//#region src/preview/prerequisites/AllowancePrerequisite.ts
|
|
5
|
-
/** Checks that `owner` granted `spender` an ERC-20 allowance >= `required`. */
|
|
6
|
-
var AllowancePrerequisite = class extends require_preview_prerequisites_Prerequisite.Prerequisite {
|
|
7
|
-
#detail;
|
|
8
|
-
constructor(detail) {
|
|
9
|
-
super();
|
|
10
|
-
this.#detail = { ...detail };
|
|
11
|
-
}
|
|
12
|
-
async check(ctx) {
|
|
13
|
-
const actual = await ctx.sdk.client.readContract({
|
|
14
|
-
address: this.#detail.token,
|
|
15
|
-
abi: viem.erc20Abi,
|
|
16
|
-
functionName: "allowance",
|
|
17
|
-
args: [this.#detail.owner, this.#detail.spender],
|
|
18
|
-
blockNumber: ctx.blockNumber
|
|
19
|
-
});
|
|
20
|
-
return {
|
|
21
|
-
kind: "allowance",
|
|
22
|
-
detail: {
|
|
23
|
-
...this.#detail,
|
|
24
|
-
actual
|
|
25
|
-
},
|
|
26
|
-
satisfied: actual >= this.#detail.required
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
errorResult(error) {
|
|
30
|
-
return {
|
|
31
|
-
kind: "allowance",
|
|
32
|
-
detail: this.#detail,
|
|
33
|
-
error
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
//#endregion
|
|
38
|
-
exports.AllowancePrerequisite = AllowancePrerequisite;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
require("../../onchain/constants/addresses.js");
|
|
3
|
-
const require_onchain_utils_hex = require("../../onchain/utils/hex.js");
|
|
4
|
-
require("../../onchain/index.js");
|
|
5
|
-
const require_preview_prerequisites_Prerequisite = require("./Prerequisite.js");
|
|
6
|
-
let viem = require("viem");
|
|
7
|
-
//#region src/preview/prerequisites/BalancePrerequisite.ts
|
|
8
|
-
/**
|
|
9
|
-
* Checks that `owner` holds a token balance >= `required`. The token is read
|
|
10
|
-
* as an ERC-20, except for the native pseudo-address ({@link NATIVE_ADDRESS},
|
|
11
|
-
* e.g. ETH-zapper deposits) whose balance is read via `getBalance`.
|
|
12
|
-
*/
|
|
13
|
-
var BalancePrerequisite = class extends require_preview_prerequisites_Prerequisite.Prerequisite {
|
|
14
|
-
#detail;
|
|
15
|
-
constructor(detail) {
|
|
16
|
-
super();
|
|
17
|
-
this.#detail = { ...detail };
|
|
18
|
-
}
|
|
19
|
-
async check(ctx) {
|
|
20
|
-
const actual = await this.#readBalance(ctx);
|
|
21
|
-
return {
|
|
22
|
-
kind: "balance",
|
|
23
|
-
detail: {
|
|
24
|
-
...this.#detail,
|
|
25
|
-
actual
|
|
26
|
-
},
|
|
27
|
-
satisfied: actual >= this.#detail.required
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
errorResult(error) {
|
|
31
|
-
return {
|
|
32
|
-
kind: "balance",
|
|
33
|
-
detail: this.#detail,
|
|
34
|
-
error
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
async #readBalance(ctx) {
|
|
38
|
-
if (require_onchain_utils_hex.hexEq(this.#detail.token, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE")) return ctx.sdk.client.getBalance({
|
|
39
|
-
address: this.#detail.owner,
|
|
40
|
-
blockNumber: ctx.blockNumber
|
|
41
|
-
});
|
|
42
|
-
return ctx.sdk.client.readContract({
|
|
43
|
-
address: this.#detail.token,
|
|
44
|
-
abi: viem.erc20Abi,
|
|
45
|
-
functionName: "balanceOf",
|
|
46
|
-
args: [this.#detail.owner],
|
|
47
|
-
blockNumber: ctx.blockNumber
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
//#endregion
|
|
52
|
-
exports.BalancePrerequisite = BalancePrerequisite;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
let viem = require("viem");
|
|
3
|
-
//#region src/preview/prerequisites/Prerequisite.ts
|
|
4
|
-
/**
|
|
5
|
-
* Decodes an unknown error into a {@link PrerequisiteError} with a
|
|
6
|
-
* human-readable revert reason. Mirrors the SDK's `extractCallError`: walk the
|
|
7
|
-
* viem error chain for a {@link ContractFunctionRevertedError} and use its
|
|
8
|
-
* `errorName`, otherwise fall back to the error's short message / name.
|
|
9
|
-
*/
|
|
10
|
-
function toPrerequisiteError(cause) {
|
|
11
|
-
if (cause instanceof viem.BaseError) {
|
|
12
|
-
const reverted = cause.walk((e) => e instanceof viem.ContractFunctionRevertedError);
|
|
13
|
-
if (reverted instanceof viem.ContractFunctionRevertedError) return {
|
|
14
|
-
reason: reverted.data?.errorName ?? reverted.shortMessage ?? "reverted",
|
|
15
|
-
cause
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
reason: cause.shortMessage ?? cause.name,
|
|
19
|
-
cause
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
if (cause instanceof Error) return {
|
|
23
|
-
reason: cause.message,
|
|
24
|
-
cause
|
|
25
|
-
};
|
|
26
|
-
return {
|
|
27
|
-
reason: "unknown error",
|
|
28
|
-
cause
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* A single verifiable prerequisite for a transaction. Subclasses implement
|
|
33
|
-
* {@link check} to perform whatever async reads they need (an ERC-20
|
|
34
|
-
* `readContract`, a compressor call, ...) and map the outcome into a
|
|
35
|
-
* {@link PrerequisiteResult}.
|
|
36
|
-
*/
|
|
37
|
-
var Prerequisite = class {
|
|
38
|
-
/**
|
|
39
|
-
* Verifies this prerequisite. Never rejects: any error thrown by
|
|
40
|
-
* {@link check} (revert, RPC/network failure, compressor error) is
|
|
41
|
-
* normalized into an `error` result.
|
|
42
|
-
*/
|
|
43
|
-
async verify(ctx) {
|
|
44
|
-
try {
|
|
45
|
-
return await this.check(ctx);
|
|
46
|
-
} catch (cause) {
|
|
47
|
-
return this.errorResult(toPrerequisiteError(cause));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
//#endregion
|
|
52
|
-
exports.Prerequisite = Prerequisite;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_preview_prerequisites_Prerequisite = require("./Prerequisite.js");
|
|
3
|
-
//#region src/preview/prerequisites/RWAOpenRequirementsPrerequisite.ts
|
|
4
|
-
/**
|
|
5
|
-
* Checks that the borrower has fulfilled the RWA factory's open-account
|
|
6
|
-
* requirements (issuer-side token registration, EIP-712 signatures).
|
|
7
|
-
*
|
|
8
|
-
* The requirements are fetched at verify time via
|
|
9
|
-
* `sdk.accounts.getOpenAccountRequirements`, so re-running verification picks
|
|
10
|
-
* up off-chain progress (the borrower registering on the issuer's website or
|
|
11
|
-
* signing the factory's message) without rebuilding the prerequisites. The
|
|
12
|
-
* unfulfilled subset is computed by the factory itself
|
|
13
|
-
* (`IRWAFactory.getMissingRequirements`) and exposed on the result's
|
|
14
|
-
* `detail.missing`; the full requirements are kept on `detail.requirements`.
|
|
15
|
-
*/
|
|
16
|
-
var RWAOpenRequirementsPrerequisite = class extends require_preview_prerequisites_Prerequisite.Prerequisite {
|
|
17
|
-
#detail;
|
|
18
|
-
#providedArgs;
|
|
19
|
-
constructor(detail, providedArgs) {
|
|
20
|
-
super();
|
|
21
|
-
this.#detail = { ...detail };
|
|
22
|
-
this.#providedArgs = providedArgs;
|
|
23
|
-
}
|
|
24
|
-
async check(ctx) {
|
|
25
|
-
const requirements = await ctx.sdk.accounts.getOpenAccountRequirements(ctx.wallet, this.#detail.creditManager, { tokenOutAddress: this.#detail.token });
|
|
26
|
-
if (!requirements) return {
|
|
27
|
-
kind: "rwaOpenRequirements",
|
|
28
|
-
detail: this.#detail,
|
|
29
|
-
satisfied: true
|
|
30
|
-
};
|
|
31
|
-
const { rwaFactory } = ctx.sdk.marketRegister.findByCreditManager(this.#detail.creditManager);
|
|
32
|
-
if (!rwaFactory) throw new Error(`no RWA factory found for credit manager ${this.#detail.creditManager}`);
|
|
33
|
-
const missing = rwaFactory.getMissingRequirements(requirements, this.#providedArgs);
|
|
34
|
-
return {
|
|
35
|
-
kind: "rwaOpenRequirements",
|
|
36
|
-
detail: {
|
|
37
|
-
...this.#detail,
|
|
38
|
-
requirements,
|
|
39
|
-
missing
|
|
40
|
-
},
|
|
41
|
-
satisfied: !missing && requirements.securitizeTokensToRegister.length === 0
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
errorResult(error) {
|
|
45
|
-
return {
|
|
46
|
-
kind: "rwaOpenRequirements",
|
|
47
|
-
detail: this.#detail,
|
|
48
|
-
error
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
//#endregion
|
|
53
|
-
exports.RWAOpenRequirementsPrerequisite = RWAOpenRequirementsPrerequisite;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_utils_AssetsMap = require("../../onchain/utils/AssetsMap.js");
|
|
3
|
-
const require_onchain_constants_address_provider = require("../../onchain/constants/address-provider.js");
|
|
4
|
-
const require_onchain_constants_addresses = require("../../onchain/constants/addresses.js");
|
|
5
|
-
require("../../onchain/index.js");
|
|
6
|
-
const require_preview_prerequisites_AllowancePrerequisite = require("./AllowancePrerequisite.js");
|
|
7
|
-
const require_preview_prerequisites_BalancePrerequisite = require("./BalancePrerequisite.js");
|
|
8
|
-
const require_preview_prerequisites_helpers = require("./helpers.js");
|
|
9
|
-
let viem = require("viem");
|
|
10
|
-
//#region src/preview/prerequisites/buildCollateralPrerequisites.ts
|
|
11
|
-
/**
|
|
12
|
-
* For every `addCollateral` inside a multicall, requires the wallet to approve
|
|
13
|
-
* and hold the collateral token for the collateral spender.
|
|
14
|
-
*
|
|
15
|
-
* The approval spender is resolved via {@link OnchainSDK.accounts.getApprovalAddress}:
|
|
16
|
-
* the credit manager for classic markets, but a per-investor "special wallet"
|
|
17
|
-
* for RWA markets. The resolution happens at build time because the spender is
|
|
18
|
-
* part of the prerequisite's identity and UI detail.
|
|
19
|
-
*
|
|
20
|
-
*/
|
|
21
|
-
async function buildCollateralPrerequisites(spenderOptions, multicall, ctx) {
|
|
22
|
-
const { sdk, wallet, value = 0n } = ctx;
|
|
23
|
-
const required = new require_onchain_utils_AssetsMap.AssetsMap();
|
|
24
|
-
for (const op of multicall) {
|
|
25
|
-
if (op.operation !== "AddCollateral" || op.amount === 0n) continue;
|
|
26
|
-
required.inc(op.token, op.amount);
|
|
27
|
-
}
|
|
28
|
-
if (required.size === 0 && value === 0n) return [];
|
|
29
|
-
const prereqs = [];
|
|
30
|
-
if (value > 0n) prereqs.push(new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
|
|
31
|
-
token: require_onchain_constants_addresses.NATIVE_ADDRESS,
|
|
32
|
-
owner: wallet,
|
|
33
|
-
required: value
|
|
34
|
-
}));
|
|
35
|
-
if (required.size === 0) return prereqs;
|
|
36
|
-
const spender = await sdk.accounts.getApprovalAddress(spenderOptions);
|
|
37
|
-
const weth = sdk.addressProvider.getAddress(require_onchain_constants_address_provider.AP_WETH_TOKEN, 0);
|
|
38
|
-
for (const [token, amount] of required.entries()) {
|
|
39
|
-
if (value > 0n && (0, viem.isAddressEqual)(token, weth)) {
|
|
40
|
-
prereqs.push(new require_preview_prerequisites_AllowancePrerequisite.AllowancePrerequisite({
|
|
41
|
-
token,
|
|
42
|
-
owner: wallet,
|
|
43
|
-
spender,
|
|
44
|
-
required: amount
|
|
45
|
-
}));
|
|
46
|
-
if (amount > value) prereqs.push(new require_preview_prerequisites_BalancePrerequisite.BalancePrerequisite({
|
|
47
|
-
token,
|
|
48
|
-
owner: wallet,
|
|
49
|
-
required: amount - value
|
|
50
|
-
}));
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
prereqs.push(...require_preview_prerequisites_helpers.allowanceAndBalance({
|
|
54
|
-
token,
|
|
55
|
-
owner: wallet,
|
|
56
|
-
spender,
|
|
57
|
-
required: amount
|
|
58
|
-
}));
|
|
59
|
-
}
|
|
60
|
-
return prereqs;
|
|
61
|
-
}
|
|
62
|
-
//#endregion
|
|
63
|
-
exports.buildCollateralPrerequisites = buildCollateralPrerequisites;
|