@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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_validation_bundles_checkLiquidationEligibility = require("./bundles/checkLiquidationEligibility.js");
|
|
3
|
+
const require_onchain_validation_bundles_checkLiquidationFunding = require("./bundles/checkLiquidationFunding.js");
|
|
4
|
+
//#region src/onchain/validation/checkLiquidation.ts
|
|
5
|
+
/**
|
|
6
|
+
* Whether `liquidator` may send a full liquidation of this account
|
|
7
|
+
*/
|
|
8
|
+
async function checkLiquidation(sdk, input, options = {}) {
|
|
9
|
+
const { details, liquidator } = input;
|
|
10
|
+
return [...require_onchain_validation_bundles_checkLiquidationEligibility.checkLiquidationEligibility({
|
|
11
|
+
sdk,
|
|
12
|
+
details,
|
|
13
|
+
liquidator
|
|
14
|
+
}), ...await require_onchain_validation_bundles_checkLiquidationFunding.checkLiquidationFunding({
|
|
15
|
+
sdk,
|
|
16
|
+
details,
|
|
17
|
+
liquidator,
|
|
18
|
+
blockNumber: options.blockNumber
|
|
19
|
+
})];
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
exports.checkLiquidation = checkLiquidation;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_validation_bundles_checkCollateralFunding = require("./bundles/checkCollateralFunding.js");
|
|
3
|
+
const require_onchain_validation_bundles_checkMarket = require("./bundles/checkMarket.js");
|
|
4
|
+
const require_onchain_validation_bundles_checkCreditOperation = require("./bundles/checkCreditOperation.js");
|
|
5
|
+
const require_onchain_validation_bundles_checkPoolFunding = require("./bundles/checkPoolFunding.js");
|
|
6
|
+
const require_onchain_validation_bundles_checkPoolOperation = require("./bundles/checkPoolOperation.js");
|
|
7
|
+
//#region src/onchain/validation/checkOperation.ts
|
|
8
|
+
/**
|
|
9
|
+
* Whether a parsed operation may be signed by `sender`: protocol state first,
|
|
10
|
+
* then what the wallet has to approve, hold or sign.
|
|
11
|
+
*
|
|
12
|
+
* The array is in check order, most fundamental first, so a caller with room
|
|
13
|
+
* for one verdict reports the first entry. Approve and sign errors are picked
|
|
14
|
+
* out by `code`, not by position.
|
|
15
|
+
*/
|
|
16
|
+
async function checkOperation(input, options = {}) {
|
|
17
|
+
const { sdk, preview, sender } = input;
|
|
18
|
+
const { blockNumber, ...thresholds } = options;
|
|
19
|
+
const wallet = {
|
|
20
|
+
sdk,
|
|
21
|
+
sender,
|
|
22
|
+
blockNumber
|
|
23
|
+
};
|
|
24
|
+
switch (preview.operation) {
|
|
25
|
+
case "Deposit":
|
|
26
|
+
case "Mint":
|
|
27
|
+
case "Withdraw":
|
|
28
|
+
case "Redeem": {
|
|
29
|
+
const isDeposit = preview.operation === "Deposit" || preview.operation === "Mint";
|
|
30
|
+
return [...require_onchain_validation_bundles_checkPoolOperation.checkPoolOperation({
|
|
31
|
+
sdk,
|
|
32
|
+
pool: preview.pool,
|
|
33
|
+
isDeposit,
|
|
34
|
+
tokenOut: preview.tokenOut
|
|
35
|
+
}), ...await require_onchain_validation_bundles_checkPoolFunding.checkPoolFunding({
|
|
36
|
+
...wallet,
|
|
37
|
+
preview
|
|
38
|
+
})];
|
|
39
|
+
}
|
|
40
|
+
case "DelayedCreditAccountOperation": return checkOperation({
|
|
41
|
+
sdk,
|
|
42
|
+
preview: preview.instantPreview,
|
|
43
|
+
sender
|
|
44
|
+
}, options);
|
|
45
|
+
case "OpenCreditAccount":
|
|
46
|
+
case "RWAOpenCreditAccount":
|
|
47
|
+
case "AdjustCreditAccount": return require_onchain_validation_bundles_checkCreditOperation.checkCreditOperation({
|
|
48
|
+
sdk,
|
|
49
|
+
preview,
|
|
50
|
+
sender,
|
|
51
|
+
blockNumber,
|
|
52
|
+
...thresholds
|
|
53
|
+
});
|
|
54
|
+
case "RepayCreditAccount": return [...require_onchain_validation_bundles_checkMarket.checkMarket(sdk.marketRegister.findCreditManager(preview.creditManager)), ...await require_onchain_validation_bundles_checkCollateralFunding.checkCollateralFunding({
|
|
55
|
+
...wallet,
|
|
56
|
+
preview
|
|
57
|
+
})];
|
|
58
|
+
case "CloseCreditAccount": return require_onchain_validation_bundles_checkMarket.checkMarket(sdk.marketRegister.findCreditManager(preview.creditManager));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.checkOperation = checkOperation;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_validation_helpers_token = require("./helpers/token.js");
|
|
3
|
+
require("./helpers/index.js");
|
|
4
|
+
const require_onchain_validation_checks_checkDebtLimits = require("./checks/checkDebtLimits.js");
|
|
5
|
+
require("./checks/index.js");
|
|
6
|
+
const require_onchain_validation_bundles_checkAccountQuotas = require("./bundles/checkAccountQuotas.js");
|
|
7
|
+
const require_onchain_validation_bundles_checkHealthFactors = require("./bundles/checkHealthFactors.js");
|
|
8
|
+
const require_onchain_validation_bundles_checkMarket = require("./bundles/checkMarket.js");
|
|
9
|
+
const require_onchain_validation_bundles_checkPoolOperation = require("./bundles/checkPoolOperation.js");
|
|
10
|
+
//#region src/onchain/validation/checkSimulation.ts
|
|
11
|
+
/**
|
|
12
|
+
* Whether a simulated operation clears the caller's own thresholds.
|
|
13
|
+
*
|
|
14
|
+
* The engine holds an account to the facade's `1.0`, because its guards answer
|
|
15
|
+
* "would this revert". A form is wiser to ask for more, and the engine's own
|
|
16
|
+
* note says so — a caller wanting the stricter threshold applies it itself.
|
|
17
|
+
* This is that second opinion, over the numbers the engine already reported.
|
|
18
|
+
*
|
|
19
|
+
* Three of the checks on a credit account the engine does not make at all:
|
|
20
|
+
* both health-factor thresholds are its own `1.0`, and the quota count it never
|
|
21
|
+
* weighs. The other two run against the same numbers the engine used, and are
|
|
22
|
+
* here so that a change in the engine cannot pass silently.
|
|
23
|
+
*
|
|
24
|
+
* What is deliberately absent: the forbidden-token, quota-limit and funding
|
|
25
|
+
* checks all need the *delta* an operation applies, and `OperationState` reports
|
|
26
|
+
* only the state after it. Weighing them against absolutes would stop a
|
|
27
|
+
* forbidden token the account merely holds, or a quota the operation never
|
|
28
|
+
* touched. The engine performed all three during the walk, so a simulation that
|
|
29
|
+
* came back `ok` has already passed them.
|
|
30
|
+
*
|
|
31
|
+
* A pool operation has no account to weigh, so what is left is the pool's own
|
|
32
|
+
* state — which the engine does not read either.
|
|
33
|
+
*/
|
|
34
|
+
function checkSimulation(sdk, input, options = {}) {
|
|
35
|
+
if ("pool" in input) {
|
|
36
|
+
const { pool, state, isDeposit } = input;
|
|
37
|
+
return require_onchain_validation_bundles_checkPoolOperation.checkPoolOperation({
|
|
38
|
+
sdk,
|
|
39
|
+
pool,
|
|
40
|
+
isDeposit,
|
|
41
|
+
tokenOut: state.tokenOut
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
const { state } = input;
|
|
45
|
+
const suite = sdk.marketRegister.findCreditManager(state.creditManager);
|
|
46
|
+
return [
|
|
47
|
+
...require_onchain_validation_bundles_checkMarket.checkMarket(suite),
|
|
48
|
+
...require_onchain_validation_checks_checkDebtLimits.checkDebtLimits({
|
|
49
|
+
debt: state.totalDebt.value,
|
|
50
|
+
minDebt: suite.creditFacade.minDebt,
|
|
51
|
+
maxDebt: suite.creditFacade.maxDebt,
|
|
52
|
+
underlying: require_onchain_validation_helpers_token.toToken(sdk, suite.market.pool.underlying),
|
|
53
|
+
allowZero: true
|
|
54
|
+
}),
|
|
55
|
+
...require_onchain_validation_bundles_checkAccountQuotas.checkAccountQuotas(suite, state),
|
|
56
|
+
...require_onchain_validation_bundles_checkHealthFactors.checkHealthFactors(state, options)
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
exports.checkSimulation = checkSimulation;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
const require_onchain_validation_helpers_amount = require("../helpers/amount.js");
|
|
5
|
+
require("../helpers/index.js");
|
|
6
|
+
//#region src/onchain/validation/checks/checkBorrowLimit.ts
|
|
7
|
+
/**
|
|
8
|
+
* What the pool will hand over, against what is asked for.
|
|
9
|
+
*
|
|
10
|
+
* `available` and `limit` are the caller's reading of which limit is in the
|
|
11
|
+
* way; this check only compares. `maxBorrowAmount` is the largest debt still
|
|
12
|
+
* takeable, left out when none is.
|
|
13
|
+
*/
|
|
14
|
+
function checkBorrowLimit(args) {
|
|
15
|
+
const { requested, available, limit, underlying, maxBorrowAmount } = args;
|
|
16
|
+
if (requested <= available) return [];
|
|
17
|
+
return [require_model_errors_operation_errors.insufficientPoolLiquidity({
|
|
18
|
+
requested: require_onchain_validation_helpers_amount.amountOf(underlying, requested),
|
|
19
|
+
available: require_onchain_validation_helpers_amount.amountOf(underlying, available),
|
|
20
|
+
limit,
|
|
21
|
+
...maxBorrowAmount === void 0 ? {} : { maxBorrowAmount: require_onchain_validation_helpers_amount.amountOf(underlying, maxBorrowAmount) }
|
|
22
|
+
})];
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.checkBorrowLimit = checkBorrowLimit;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkCollateralised.ts
|
|
5
|
+
/**
|
|
6
|
+
* The account against its debt, at whichever threshold the caller holds it to.
|
|
7
|
+
*
|
|
8
|
+
* An unread factor counts as failing: a check that cannot see the number is
|
|
9
|
+
* not evidence that the number is fine.
|
|
10
|
+
*/
|
|
11
|
+
function checkCollateralised(args) {
|
|
12
|
+
const { healthFactor, healthFactorThreshold, safePrices, improvesFrom } = args;
|
|
13
|
+
if (healthFactor === void 0) return [require_model_errors_operation_errors.insufficientCollateral({
|
|
14
|
+
healthFactor: 0,
|
|
15
|
+
healthFactorThreshold,
|
|
16
|
+
safePrices
|
|
17
|
+
})];
|
|
18
|
+
if (healthFactor >= healthFactorThreshold || improvesFrom !== void 0 && healthFactor > improvesFrom) return [];
|
|
19
|
+
return [require_model_errors_operation_errors.insufficientCollateral({
|
|
20
|
+
healthFactor,
|
|
21
|
+
healthFactorThreshold,
|
|
22
|
+
safePrices
|
|
23
|
+
})];
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.checkCollateralised = checkCollateralised;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_liquidation_errors = require("../../../model/errors/liquidation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkCreditAccountFrozen.ts
|
|
5
|
+
/** An RWA factory freeze stops the account's collateral from moving. */
|
|
6
|
+
function checkCreditAccountFrozen(args) {
|
|
7
|
+
return args.frozen ? [require_model_errors_liquidation_errors.creditAccountFrozen(args.creditAccount)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkCreditAccountFrozen = checkCreditAccountFrozen;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkCreditManagerPaused.ts
|
|
5
|
+
/** The credit manager takes no multicall while it is paused. */
|
|
6
|
+
function checkCreditManagerPaused(args) {
|
|
7
|
+
return args.isPaused ? [require_model_errors_operation_errors.creditManagerPaused(args.creditManager)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkCreditManagerPaused = checkCreditManagerPaused;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
const require_onchain_validation_helpers_amount = require("../helpers/amount.js");
|
|
5
|
+
require("../helpers/index.js");
|
|
6
|
+
//#region src/onchain/validation/checks/checkDebtLimits.ts
|
|
7
|
+
/** A debt the facade would revert on. */
|
|
8
|
+
function checkDebtLimits(args) {
|
|
9
|
+
const { debt, minDebt, maxDebt, underlying, allowZero } = args;
|
|
10
|
+
if (!(debt > maxDebt || debt < minDebt && !(allowZero && debt === 0n))) return [];
|
|
11
|
+
return [require_model_errors_operation_errors.debtOutOfRange({
|
|
12
|
+
requested: require_onchain_validation_helpers_amount.amountOf(underlying, debt),
|
|
13
|
+
minDebt: require_onchain_validation_helpers_amount.amountOf(underlying, minDebt),
|
|
14
|
+
maxDebt: require_onchain_validation_helpers_amount.amountOf(underlying, maxDebt)
|
|
15
|
+
})];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.checkDebtLimits = checkDebtLimits;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_liquidation_errors = require("../../../model/errors/liquidation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkEmergencyLiquidator.ts
|
|
5
|
+
/**
|
|
6
|
+
* A paused market only accepts liquidations from its emergency liquidators.
|
|
7
|
+
* An unpaused market does not consult the list.
|
|
8
|
+
*/
|
|
9
|
+
function checkEmergencyLiquidator(args) {
|
|
10
|
+
return args.paused && !args.isEmergencyLiquidator ? [require_model_errors_liquidation_errors.notEmergencyLiquidator(args.creditManager, args.liquidator)] : [];
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.checkEmergencyLiquidator = checkEmergencyLiquidator;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkForbiddenToken.ts
|
|
5
|
+
/** A token the market will not let the account hold more of. */
|
|
6
|
+
function checkForbiddenToken(args) {
|
|
7
|
+
return args.isForbidden ? [require_model_errors_operation_errors.forbiddenToken(args.token)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkForbiddenToken = checkForbiddenToken;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkLeverage.ts
|
|
5
|
+
/** Leverage below 1x is not a position, it is a withdrawal. */
|
|
6
|
+
function checkLeverage(args) {
|
|
7
|
+
return args.leverage < args.min ? [require_model_errors_operation_errors.leverageOutOfRange({
|
|
8
|
+
requested: args.leverage,
|
|
9
|
+
min: args.min
|
|
10
|
+
})] : [];
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.checkLeverage = checkLeverage;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_liquidation_errors = require("../../../model/errors/liquidation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkLiquidatorEligible.ts
|
|
5
|
+
/** The compressor's KYC check of this wallet against the liquidated assets. */
|
|
6
|
+
function checkLiquidatorEligible(args) {
|
|
7
|
+
return args.eligible ? [] : [require_model_errors_liquidation_errors.liquidatorNotEligible(args.kycProtocol, args.kycToken)];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkLiquidatorEligible = checkLiquidatorEligible;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkMarketExpired.ts
|
|
5
|
+
/** Past its expiration date the facade takes no more multicalls. */
|
|
6
|
+
function checkMarketExpired(args) {
|
|
7
|
+
return args.isExpired ? [require_model_errors_operation_errors.marketExpired(args.creditManager, args.expirationDate)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkMarketExpired = checkMarketExpired;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
const require_onchain_validation_helpers_amount = require("../helpers/amount.js");
|
|
5
|
+
require("../helpers/index.js");
|
|
6
|
+
//#region src/onchain/validation/checks/checkPoolLiquidity.ts
|
|
7
|
+
/**
|
|
8
|
+
* What the pool holds, against what is being taken out of it.
|
|
9
|
+
*
|
|
10
|
+
* The operator is not `checkBorrowLimit`'s: a pool holding exactly the amount
|
|
11
|
+
* asked for still cannot serve it, so equality is already a refusal. That is
|
|
12
|
+
* the rule the legacy withdrawal validator enforced and it is preserved to the
|
|
13
|
+
* unit.
|
|
14
|
+
*/
|
|
15
|
+
function checkPoolLiquidity(args) {
|
|
16
|
+
const { requested, available, underlying } = args;
|
|
17
|
+
if (requested < available) return [];
|
|
18
|
+
return [require_model_errors_operation_errors.insufficientPoolLiquidity({
|
|
19
|
+
requested: require_onchain_validation_helpers_amount.amountOf(underlying, requested),
|
|
20
|
+
available: require_onchain_validation_helpers_amount.amountOf(underlying, available),
|
|
21
|
+
limit: "poolAvailableLiquidity"
|
|
22
|
+
})];
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.checkPoolLiquidity = checkPoolLiquidity;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkPoolPaused.ts
|
|
5
|
+
/** A paused pool neither takes deposits nor serves withdrawals. */
|
|
6
|
+
function checkPoolPaused(args) {
|
|
7
|
+
return args.isPaused ? [require_model_errors_operation_errors.poolPaused(args.pool)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkPoolPaused = checkPoolPaused;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkPoolSunset.ts
|
|
5
|
+
/** A pool winding down still serves withdrawals, so only what puts money in is refused. */
|
|
6
|
+
function checkPoolSunset(args) {
|
|
7
|
+
return args.isSunset && args.isDeposit ? [require_model_errors_operation_errors.poolSunset(args.pool)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkPoolSunset = checkPoolSunset;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
//#region src/onchain/validation/checks/checkQuotaCount.ts
|
|
5
|
+
/** How many quoted tokens the facade enables at once. */
|
|
6
|
+
function checkQuotaCount(args) {
|
|
7
|
+
return args.count > args.max ? [require_model_errors_operation_errors.quotaCountExceeded(args.count, args.max)] : [];
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.checkQuotaCount = checkQuotaCount;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_model_errors_operation_errors = require("../../../model/errors/operation-errors.js");
|
|
3
|
+
require("../../../model/index.js");
|
|
4
|
+
const require_onchain_validation_helpers_amount = require("../helpers/amount.js");
|
|
5
|
+
require("../helpers/index.js");
|
|
6
|
+
//#region src/onchain/validation/checks/checkQuotaLimit.ts
|
|
7
|
+
/** The room the keeper still has for a token's quota, in the underlying. */
|
|
8
|
+
function checkQuotaLimit(args) {
|
|
9
|
+
const { token, requested, available, underlying } = args;
|
|
10
|
+
if (requested !== void 0 && requested <= available) return [];
|
|
11
|
+
return [require_model_errors_operation_errors.quotaLimitReached({
|
|
12
|
+
token,
|
|
13
|
+
requested: requested === void 0 ? void 0 : require_onchain_validation_helpers_amount.amountOf(underlying, requested),
|
|
14
|
+
available: require_onchain_validation_helpers_amount.amountOf(underlying, available)
|
|
15
|
+
})];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.checkQuotaLimit = checkQuotaLimit;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_validation_checks_checkBorrowLimit = require("./checkBorrowLimit.js");
|
|
3
|
+
const require_onchain_validation_checks_checkCollateralised = require("./checkCollateralised.js");
|
|
4
|
+
const require_onchain_validation_checks_checkCreditAccountFrozen = require("./checkCreditAccountFrozen.js");
|
|
5
|
+
const require_onchain_validation_checks_checkCreditManagerPaused = require("./checkCreditManagerPaused.js");
|
|
6
|
+
const require_onchain_validation_checks_checkDebtLimits = require("./checkDebtLimits.js");
|
|
7
|
+
const require_onchain_validation_checks_checkEmergencyLiquidator = require("./checkEmergencyLiquidator.js");
|
|
8
|
+
const require_onchain_validation_checks_checkForbiddenToken = require("./checkForbiddenToken.js");
|
|
9
|
+
const require_onchain_validation_checks_checkLeverage = require("./checkLeverage.js");
|
|
10
|
+
const require_onchain_validation_checks_checkLiquidatorEligible = require("./checkLiquidatorEligible.js");
|
|
11
|
+
const require_onchain_validation_checks_checkMarketExpired = require("./checkMarketExpired.js");
|
|
12
|
+
const require_onchain_validation_checks_checkPoolLiquidity = require("./checkPoolLiquidity.js");
|
|
13
|
+
const require_onchain_validation_checks_checkPoolPaused = require("./checkPoolPaused.js");
|
|
14
|
+
const require_onchain_validation_checks_checkPoolSunset = require("./checkPoolSunset.js");
|
|
15
|
+
const require_onchain_validation_checks_checkQuotaCount = require("./checkQuotaCount.js");
|
|
16
|
+
const require_onchain_validation_checks_checkQuotaLimit = require("./checkQuotaLimit.js");
|
|
17
|
+
exports.checkBorrowLimit = require_onchain_validation_checks_checkBorrowLimit.checkBorrowLimit;
|
|
18
|
+
exports.checkCollateralised = require_onchain_validation_checks_checkCollateralised.checkCollateralised;
|
|
19
|
+
exports.checkCreditAccountFrozen = require_onchain_validation_checks_checkCreditAccountFrozen.checkCreditAccountFrozen;
|
|
20
|
+
exports.checkCreditManagerPaused = require_onchain_validation_checks_checkCreditManagerPaused.checkCreditManagerPaused;
|
|
21
|
+
exports.checkDebtLimits = require_onchain_validation_checks_checkDebtLimits.checkDebtLimits;
|
|
22
|
+
exports.checkEmergencyLiquidator = require_onchain_validation_checks_checkEmergencyLiquidator.checkEmergencyLiquidator;
|
|
23
|
+
exports.checkForbiddenToken = require_onchain_validation_checks_checkForbiddenToken.checkForbiddenToken;
|
|
24
|
+
exports.checkLeverage = require_onchain_validation_checks_checkLeverage.checkLeverage;
|
|
25
|
+
exports.checkLiquidatorEligible = require_onchain_validation_checks_checkLiquidatorEligible.checkLiquidatorEligible;
|
|
26
|
+
exports.checkMarketExpired = require_onchain_validation_checks_checkMarketExpired.checkMarketExpired;
|
|
27
|
+
exports.checkPoolLiquidity = require_onchain_validation_checks_checkPoolLiquidity.checkPoolLiquidity;
|
|
28
|
+
exports.checkPoolPaused = require_onchain_validation_checks_checkPoolPaused.checkPoolPaused;
|
|
29
|
+
exports.checkPoolSunset = require_onchain_validation_checks_checkPoolSunset.checkPoolSunset;
|
|
30
|
+
exports.checkQuotaCount = require_onchain_validation_checks_checkQuotaCount.checkQuotaCount;
|
|
31
|
+
exports.checkQuotaLimit = require_onchain_validation_checks_checkQuotaLimit.checkQuotaLimit;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/onchain/validation/helpers/amount.ts
|
|
3
|
+
/** A check names what a limit was measured in, never what it is worth. */
|
|
4
|
+
function amountOf(token, value) {
|
|
5
|
+
return {
|
|
6
|
+
token,
|
|
7
|
+
value,
|
|
8
|
+
valueUsd: null
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.amountOf = amountOf;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
//#region src/onchain/validation/helpers/health-factor-limits.ts
|
|
3
|
+
/**
|
|
4
|
+
* The health-factor thresholds this codebase holds an account to.
|
|
5
|
+
*
|
|
6
|
+
* They are deliberately different numbers for different jobs: the facade's is
|
|
7
|
+
* what a transaction must clear to land, a form's is what makes a position
|
|
8
|
+
* worth signing, and a sizing helper leaves a margin above both.
|
|
9
|
+
**/
|
|
10
|
+
/** A factor at or below this is refused; kept for the callers that size on it. */
|
|
11
|
+
const MIN_HF_LIMITED = 10100n;
|
|
12
|
+
/** The same threshold as a `required` argument — the lowest factor that passes. */
|
|
13
|
+
const MIN_HEALTH_FACTOR_FORM = 10101;
|
|
14
|
+
/** The threshold the facade itself enforces: an account may end exactly at 1.0. */
|
|
15
|
+
const MIN_HEALTH_FACTOR_FACADE = 1e4;
|
|
16
|
+
/**
|
|
17
|
+
* The safe-price threshold a form holds an account to. A step above the
|
|
18
|
+
* facade's, because a factor of exactly 1.0 at safe prices is already refused.
|
|
19
|
+
**/
|
|
20
|
+
const MIN_SAFE_HEALTH_FACTOR_FORM = 10001;
|
|
21
|
+
//#endregion
|
|
22
|
+
exports.MIN_HEALTH_FACTOR_FACADE = MIN_HEALTH_FACTOR_FACADE;
|
|
23
|
+
exports.MIN_HEALTH_FACTOR_FORM = MIN_HEALTH_FACTOR_FORM;
|
|
24
|
+
exports.MIN_HF_LIMITED = MIN_HF_LIMITED;
|
|
25
|
+
exports.MIN_SAFE_HEALTH_FACTOR_FORM = MIN_SAFE_HEALTH_FACTOR_FORM;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_onchain_validation_helpers_amount = require("./amount.js");
|
|
3
|
+
const require_onchain_validation_helpers_health_factor_limits = require("./health-factor-limits.js");
|
|
4
|
+
const require_onchain_validation_helpers_token = require("./token.js");
|
|
5
|
+
exports.MIN_HEALTH_FACTOR_FACADE = require_onchain_validation_helpers_health_factor_limits.MIN_HEALTH_FACTOR_FACADE;
|
|
6
|
+
exports.MIN_HEALTH_FACTOR_FORM = require_onchain_validation_helpers_health_factor_limits.MIN_HEALTH_FACTOR_FORM;
|
|
7
|
+
exports.MIN_HF_LIMITED = require_onchain_validation_helpers_health_factor_limits.MIN_HF_LIMITED;
|
|
8
|
+
exports.MIN_SAFE_HEALTH_FACTOR_FORM = require_onchain_validation_helpers_health_factor_limits.MIN_SAFE_HEALTH_FACTOR_FORM;
|
|
9
|
+
exports.amountOf = require_onchain_validation_helpers_amount.amountOf;
|
|
10
|
+
exports.toToken = require_onchain_validation_helpers_token.toToken;
|
|
11
|
+
exports.toTokenAmount = require_onchain_validation_helpers_token.toTokenAmount;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_utils_formatter = require("
|
|
3
|
-
const
|
|
4
|
-
//#region src/onchain/validation/token.ts
|
|
2
|
+
const require_onchain_utils_formatter = require("../../utils/formatter.js");
|
|
3
|
+
const require_onchain_validation_helpers_amount = require("./amount.js");
|
|
4
|
+
//#region src/onchain/validation/helpers/token.ts
|
|
5
5
|
/**
|
|
6
6
|
* The token behind an address, for the refusal details that inline one.
|
|
7
7
|
*
|
|
@@ -22,7 +22,7 @@ function toToken(sdk, address) {
|
|
|
22
22
|
}
|
|
23
23
|
/** {@link toToken} plus an amount denominated in it. */
|
|
24
24
|
function toTokenAmount(sdk, address, value) {
|
|
25
|
-
return
|
|
25
|
+
return require_onchain_validation_helpers_amount.amountOf(toToken(sdk, address), value);
|
|
26
26
|
}
|
|
27
27
|
//#endregion
|
|
28
28
|
exports.toToken = toToken;
|
|
@@ -1,28 +1,86 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
2
|
+
const require_onchain_validation_helpers_amount = require("./helpers/amount.js");
|
|
3
|
+
const require_onchain_validation_helpers_health_factor_limits = require("./helpers/health-factor-limits.js");
|
|
4
|
+
const require_onchain_validation_helpers_token = require("./helpers/token.js");
|
|
5
|
+
require("./helpers/index.js");
|
|
6
|
+
const require_onchain_validation_checks_checkBorrowLimit = require("./checks/checkBorrowLimit.js");
|
|
7
|
+
const require_onchain_validation_checks_checkCollateralised = require("./checks/checkCollateralised.js");
|
|
8
|
+
const require_onchain_validation_checks_checkCreditAccountFrozen = require("./checks/checkCreditAccountFrozen.js");
|
|
9
|
+
const require_onchain_validation_checks_checkCreditManagerPaused = require("./checks/checkCreditManagerPaused.js");
|
|
10
|
+
const require_onchain_validation_checks_checkDebtLimits = require("./checks/checkDebtLimits.js");
|
|
11
|
+
const require_onchain_validation_checks_checkEmergencyLiquidator = require("./checks/checkEmergencyLiquidator.js");
|
|
12
|
+
const require_onchain_validation_checks_checkForbiddenToken = require("./checks/checkForbiddenToken.js");
|
|
13
|
+
const require_onchain_validation_checks_checkLeverage = require("./checks/checkLeverage.js");
|
|
14
|
+
const require_onchain_validation_checks_checkLiquidatorEligible = require("./checks/checkLiquidatorEligible.js");
|
|
15
|
+
const require_onchain_validation_checks_checkMarketExpired = require("./checks/checkMarketExpired.js");
|
|
16
|
+
const require_onchain_validation_checks_checkPoolLiquidity = require("./checks/checkPoolLiquidity.js");
|
|
17
|
+
const require_onchain_validation_checks_checkPoolPaused = require("./checks/checkPoolPaused.js");
|
|
18
|
+
const require_onchain_validation_checks_checkPoolSunset = require("./checks/checkPoolSunset.js");
|
|
19
|
+
const require_onchain_validation_checks_checkQuotaCount = require("./checks/checkQuotaCount.js");
|
|
20
|
+
const require_onchain_validation_checks_checkQuotaLimit = require("./checks/checkQuotaLimit.js");
|
|
21
|
+
require("./checks/index.js");
|
|
22
|
+
const require_onchain_validation_bundles_checkAccountQuotas = require("./bundles/checkAccountQuotas.js");
|
|
23
|
+
const require_onchain_validation_bundles_checkWalletAllowance = require("./bundles/checkWalletAllowance.js");
|
|
24
|
+
const require_onchain_validation_bundles_checkWalletBalance = require("./bundles/checkWalletBalance.js");
|
|
25
|
+
const require_onchain_validation_bundles_checkCollateralFunding = require("./bundles/checkCollateralFunding.js");
|
|
26
|
+
const require_onchain_validation_bundles_checkDraw = require("./bundles/checkDraw.js");
|
|
27
|
+
const require_onchain_validation_bundles_checkHealthFactors = require("./bundles/checkHealthFactors.js");
|
|
28
|
+
const require_onchain_validation_bundles_checkMarket = require("./bundles/checkMarket.js");
|
|
29
|
+
const require_onchain_validation_bundles_checkObtained = require("./bundles/checkObtained.js");
|
|
30
|
+
const require_onchain_validation_bundles_checkQuotasAsked = require("./bundles/checkQuotasAsked.js");
|
|
31
|
+
const require_onchain_validation_bundles_checkRWAOpenRequirements = require("./bundles/checkRWAOpenRequirements.js");
|
|
32
|
+
const require_onchain_validation_bundles_checkRWAOpening = require("./bundles/checkRWAOpening.js");
|
|
33
|
+
const require_onchain_validation_bundles_checkCreditOperation = require("./bundles/checkCreditOperation.js");
|
|
34
|
+
const require_onchain_validation_bundles_checkLiquidationEligibility = require("./bundles/checkLiquidationEligibility.js");
|
|
35
|
+
const require_onchain_validation_bundles_checkLiquidationFunding = require("./bundles/checkLiquidationFunding.js");
|
|
36
|
+
const require_onchain_validation_bundles_checkWallet = require("./bundles/checkWallet.js");
|
|
37
|
+
const require_onchain_validation_bundles_checkPoolFunding = require("./bundles/checkPoolFunding.js");
|
|
38
|
+
const require_onchain_validation_bundles_checkPoolOperation = require("./bundles/checkPoolOperation.js");
|
|
39
|
+
require("./bundles/index.js");
|
|
40
|
+
const require_onchain_validation_checkLiquidation = require("./checkLiquidation.js");
|
|
41
|
+
const require_onchain_validation_checkOperation = require("./checkOperation.js");
|
|
42
|
+
const require_onchain_validation_checkSimulation = require("./checkSimulation.js");
|
|
43
|
+
const require_onchain_validation_raise = require("./raise.js");
|
|
44
|
+
exports.MIN_HEALTH_FACTOR_FACADE = require_onchain_validation_helpers_health_factor_limits.MIN_HEALTH_FACTOR_FACADE;
|
|
45
|
+
exports.MIN_HEALTH_FACTOR_FORM = require_onchain_validation_helpers_health_factor_limits.MIN_HEALTH_FACTOR_FORM;
|
|
46
|
+
exports.MIN_HF_LIMITED = require_onchain_validation_helpers_health_factor_limits.MIN_HF_LIMITED;
|
|
47
|
+
exports.MIN_SAFE_HEALTH_FACTOR_FORM = require_onchain_validation_helpers_health_factor_limits.MIN_SAFE_HEALTH_FACTOR_FORM;
|
|
48
|
+
exports.amountOf = require_onchain_validation_helpers_amount.amountOf;
|
|
49
|
+
exports.checkAccountQuotas = require_onchain_validation_bundles_checkAccountQuotas.checkAccountQuotas;
|
|
50
|
+
exports.checkBorrowLimit = require_onchain_validation_checks_checkBorrowLimit.checkBorrowLimit;
|
|
51
|
+
exports.checkCollateralFunding = require_onchain_validation_bundles_checkCollateralFunding.checkCollateralFunding;
|
|
52
|
+
exports.checkCollateralised = require_onchain_validation_checks_checkCollateralised.checkCollateralised;
|
|
53
|
+
exports.checkCreditAccountFrozen = require_onchain_validation_checks_checkCreditAccountFrozen.checkCreditAccountFrozen;
|
|
54
|
+
exports.checkCreditManagerPaused = require_onchain_validation_checks_checkCreditManagerPaused.checkCreditManagerPaused;
|
|
55
|
+
exports.checkCreditOperation = require_onchain_validation_bundles_checkCreditOperation.checkCreditOperation;
|
|
56
|
+
exports.checkDebtLimits = require_onchain_validation_checks_checkDebtLimits.checkDebtLimits;
|
|
57
|
+
exports.checkDraw = require_onchain_validation_bundles_checkDraw.checkDraw;
|
|
58
|
+
exports.checkEmergencyLiquidator = require_onchain_validation_checks_checkEmergencyLiquidator.checkEmergencyLiquidator;
|
|
59
|
+
exports.checkForbiddenToken = require_onchain_validation_checks_checkForbiddenToken.checkForbiddenToken;
|
|
60
|
+
exports.checkHealthFactors = require_onchain_validation_bundles_checkHealthFactors.checkHealthFactors;
|
|
61
|
+
exports.checkLeverage = require_onchain_validation_checks_checkLeverage.checkLeverage;
|
|
62
|
+
exports.checkLiquidation = require_onchain_validation_checkLiquidation.checkLiquidation;
|
|
63
|
+
exports.checkLiquidationEligibility = require_onchain_validation_bundles_checkLiquidationEligibility.checkLiquidationEligibility;
|
|
64
|
+
exports.checkLiquidationFunding = require_onchain_validation_bundles_checkLiquidationFunding.checkLiquidationFunding;
|
|
65
|
+
exports.checkLiquidatorEligible = require_onchain_validation_checks_checkLiquidatorEligible.checkLiquidatorEligible;
|
|
66
|
+
exports.checkMarket = require_onchain_validation_bundles_checkMarket.checkMarket;
|
|
67
|
+
exports.checkMarketExpired = require_onchain_validation_checks_checkMarketExpired.checkMarketExpired;
|
|
68
|
+
exports.checkObtained = require_onchain_validation_bundles_checkObtained.checkObtained;
|
|
69
|
+
exports.checkOperation = require_onchain_validation_checkOperation.checkOperation;
|
|
70
|
+
exports.checkPoolFunding = require_onchain_validation_bundles_checkPoolFunding.checkPoolFunding;
|
|
71
|
+
exports.checkPoolLiquidity = require_onchain_validation_checks_checkPoolLiquidity.checkPoolLiquidity;
|
|
72
|
+
exports.checkPoolOperation = require_onchain_validation_bundles_checkPoolOperation.checkPoolOperation;
|
|
73
|
+
exports.checkPoolPaused = require_onchain_validation_checks_checkPoolPaused.checkPoolPaused;
|
|
74
|
+
exports.checkPoolSunset = require_onchain_validation_checks_checkPoolSunset.checkPoolSunset;
|
|
75
|
+
exports.checkQuotaCount = require_onchain_validation_checks_checkQuotaCount.checkQuotaCount;
|
|
76
|
+
exports.checkQuotaLimit = require_onchain_validation_checks_checkQuotaLimit.checkQuotaLimit;
|
|
77
|
+
exports.checkQuotasAsked = require_onchain_validation_bundles_checkQuotasAsked.checkQuotasAsked;
|
|
78
|
+
exports.checkRWAOpenRequirements = require_onchain_validation_bundles_checkRWAOpenRequirements.checkRWAOpenRequirements;
|
|
79
|
+
exports.checkRWAOpening = require_onchain_validation_bundles_checkRWAOpening.checkRWAOpening;
|
|
80
|
+
exports.checkSimulation = require_onchain_validation_checkSimulation.checkSimulation;
|
|
81
|
+
exports.checkWallet = require_onchain_validation_bundles_checkWallet.checkWallet;
|
|
82
|
+
exports.checkWalletAllowance = require_onchain_validation_bundles_checkWalletAllowance.checkWalletAllowance;
|
|
83
|
+
exports.checkWalletBalance = require_onchain_validation_bundles_checkWalletBalance.checkWalletBalance;
|
|
84
|
+
exports.raise = require_onchain_validation_raise.raise;
|
|
85
|
+
exports.toToken = require_onchain_validation_helpers_token.toToken;
|
|
86
|
+
exports.toTokenAmount = require_onchain_validation_helpers_token.toTokenAmount;
|