@gearbox-protocol/sdk 16.2.0 → 16.3.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/rwa/iMidasAccessControl.js +23 -0
- package/dist/cjs/abi/rwa/iMidasDegenNFT.js +92 -0
- package/dist/cjs/history/assembleOperations.js +3 -3
- package/dist/cjs/history/classifyMulticallOperations.js +7 -7
- package/dist/cjs/history/index.js +13 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +5 -5
- package/dist/cjs/{preview → history}/trace/errors.js +1 -1
- package/dist/cjs/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
- package/dist/cjs/{preview → history}/trace/extractTransfers.js +3 -3
- package/dist/cjs/{preview → history}/trace/findFacadeCalls.js +3 -3
- package/dist/cjs/history/trace/index.js +14 -0
- package/dist/cjs/model/errors/index.js +37 -0
- package/dist/cjs/model/errors/liquidation-errors.js +32 -0
- package/dist/cjs/model/errors/operation-errors.js +135 -0
- package/dist/cjs/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
- package/dist/cjs/model/errors/prepare-errors.js +108 -0
- package/dist/cjs/model/errors/preview-errors.js +12 -0
- package/dist/cjs/model/index.js +45 -2
- package/dist/cjs/model/opportunities.schema.js +3 -1
- package/dist/cjs/model/positions.js +1 -1
- package/dist/cjs/model/result.js +0 -8
- package/dist/cjs/model/rwa.js +53 -0
- package/dist/cjs/model/rwa.schema.js +20 -0
- package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +1 -1
- package/dist/cjs/onchain/accounts/index.js +0 -2
- package/dist/cjs/onchain/accounts/intents/guards.js +42 -66
- package/dist/cjs/onchain/accounts/intents/index.js +38 -35
- package/dist/cjs/onchain/accounts/intents/leverage-band.js +1 -1
- package/dist/cjs/onchain/accounts/intents/math.js +19 -15
- package/dist/cjs/onchain/accounts/intents/open-strategy.js +6 -4
- package/dist/cjs/onchain/accounts/intents/plan.js +52 -48
- package/dist/cjs/onchain/accounts/intents/realize.js +26 -24
- package/dist/cjs/onchain/accounts/intents/tail.js +15 -12
- package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +7 -0
- package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
- package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
- package/dist/cjs/onchain/accounts/intents/view.js +1 -1
- package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +2 -2
- package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +0 -1
- package/dist/cjs/onchain/index.js +130 -38
- package/dist/cjs/onchain/market/MarketSuite.js +10 -4
- package/dist/cjs/onchain/market/adapters/index.js +1 -0
- package/dist/cjs/onchain/market/credit/CreditSuite.js +77 -15
- package/dist/cjs/onchain/market/index.js +8 -8
- package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +6 -6
- package/dist/cjs/onchain/market/oracle/index.js +0 -2
- package/dist/cjs/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
- package/dist/cjs/onchain/market/rwa/RWARegistry.js +3 -2
- package/dist/cjs/onchain/market/rwa/createDegenNFT.js +53 -0
- package/dist/cjs/onchain/market/rwa/index.js +7 -5
- package/dist/cjs/onchain/market/rwa/midas/MidasDegenNFT.js +56 -0
- package/dist/cjs/onchain/market/rwa/midas/constants.js +2 -0
- package/dist/cjs/onchain/market/rwa/midas/index.js +3 -0
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +22 -3
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +9 -9
- package/dist/cjs/onchain/market/rwa/securitize/constants.js +2 -2
- package/dist/cjs/onchain/market/rwa/securitize/index.js +4 -3
- package/dist/cjs/onchain/market/rwa/securitize/types.js +0 -29
- package/dist/cjs/onchain/market/rwa/types.js +0 -7
- package/dist/cjs/onchain/market/zapper/index.js +0 -1
- package/dist/cjs/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
- package/dist/cjs/onchain/opportunities/OpportunitiesService.js +11 -3
- package/dist/cjs/onchain/pools/PoolService.js +10 -16
- package/dist/cjs/onchain/preview/index.js +41 -0
- package/dist/cjs/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
- package/dist/cjs/onchain/preview/parse/index.js +14 -0
- package/dist/cjs/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +3 -3
- package/dist/cjs/{preview → onchain/preview}/parse/parseOperationCalldata.js +16 -17
- package/dist/cjs/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
- package/dist/cjs/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +11 -12
- package/dist/cjs/{preview → onchain/preview}/parse/types.js +1 -1
- package/dist/cjs/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
- package/dist/cjs/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
- package/dist/cjs/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
- package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
- package/dist/cjs/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
- package/dist/cjs/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
- package/dist/cjs/onchain/preview/preview/index.js +26 -0
- package/dist/cjs/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +18 -22
- package/dist/cjs/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +22 -28
- package/dist/cjs/onchain/preview/preview/previewOpenStrategyPosition.js +60 -0
- package/dist/cjs/onchain/preview/preview/previewOperation.js +119 -0
- package/dist/cjs/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -32
- package/dist/cjs/onchain/preview/preview/replayInnerOperations.js +109 -0
- package/dist/cjs/onchain/preview/preview/replayMulticall.js +22 -0
- package/dist/cjs/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
- package/dist/cjs/onchain/validation/bundles/checkAccountQuotas.js +20 -0
- package/dist/cjs/onchain/validation/bundles/checkCollateralFunding.js +59 -0
- package/dist/cjs/onchain/validation/bundles/checkCreditOperation.js +65 -0
- package/dist/cjs/onchain/validation/bundles/checkDraw.js +28 -0
- package/dist/cjs/onchain/validation/bundles/checkHealthFactors.js +27 -0
- package/dist/cjs/onchain/validation/bundles/checkLiquidationEligibility.js +33 -0
- package/dist/cjs/onchain/validation/bundles/checkLiquidationFunding.js +29 -0
- package/dist/cjs/onchain/validation/bundles/checkMarket.js +24 -0
- package/dist/cjs/onchain/validation/bundles/checkObtained.js +13 -0
- package/dist/cjs/onchain/validation/bundles/checkPoolFunding.js +22 -0
- package/dist/cjs/onchain/validation/bundles/checkPoolOperation.js +35 -0
- package/dist/cjs/onchain/validation/bundles/checkQuotasAsked.js +20 -0
- package/dist/cjs/onchain/validation/bundles/checkRWAOpenRequirements.js +33 -0
- package/dist/cjs/onchain/validation/bundles/checkRWAOpening.js +24 -0
- package/dist/cjs/onchain/validation/bundles/checkWallet.js +22 -0
- package/dist/cjs/onchain/validation/bundles/checkWalletAllowance.js +32 -0
- package/dist/cjs/onchain/validation/bundles/checkWalletBalance.js +41 -0
- package/dist/cjs/onchain/validation/bundles/index.js +35 -0
- package/dist/cjs/onchain/validation/checkLiquidation.js +22 -0
- package/dist/cjs/onchain/validation/checkOperation.js +62 -0
- package/dist/cjs/onchain/validation/checkSimulation.js +60 -0
- package/dist/cjs/onchain/validation/checks/checkBorrowLimit.js +25 -0
- package/dist/cjs/onchain/validation/checks/checkCollateralised.js +26 -0
- package/dist/cjs/onchain/validation/checks/checkCreditAccountFrozen.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkCreditManagerPaused.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkDebtLimits.js +18 -0
- package/dist/cjs/onchain/validation/checks/checkEmergencyLiquidator.js +13 -0
- package/dist/cjs/onchain/validation/checks/checkForbiddenToken.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkLeverage.js +13 -0
- package/dist/cjs/onchain/validation/checks/checkLiquidatorEligible.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkMarketExpired.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkPoolLiquidity.js +25 -0
- package/dist/cjs/onchain/validation/checks/checkPoolPaused.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkPoolSunset.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkQuotaCount.js +10 -0
- package/dist/cjs/onchain/validation/checks/checkQuotaLimit.js +18 -0
- package/dist/cjs/onchain/validation/checks/index.js +31 -0
- package/dist/cjs/onchain/validation/helpers/amount.js +12 -0
- package/dist/cjs/onchain/validation/helpers/health-factor-limits.js +25 -0
- package/dist/cjs/onchain/validation/helpers/index.js +11 -0
- package/dist/cjs/onchain/validation/{token.js → helpers/token.js} +4 -4
- package/dist/cjs/onchain/validation/index.js +85 -27
- package/dist/cjs/onchain/validation/raise.js +33 -0
- package/dist/cjs/sdk/index.js +6 -11
- package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +19 -4
- package/dist/cjs/sdk/prepare/PrepareApi.js +40 -50
- package/dist/cjs/sdk/prepare/index.js +7 -11
- package/dist/cjs/sdk/prepare/types.js +0 -4
- package/dist/cjs/sdk/preview/PreviewNamespace.js +24 -13
- package/dist/esm/abi/rwa/iMidasAccessControl.js +22 -0
- package/dist/esm/abi/rwa/iMidasDegenNFT.js +91 -0
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/history/assembleOperations.js +2 -2
- package/dist/esm/history/classifyMulticallOperations.js +2 -2
- package/dist/esm/history/index.js +6 -1
- package/dist/esm/history/parseCreditAccountTransaction.js +3 -3
- package/dist/esm/{preview → history}/trace/errors.js +1 -1
- package/dist/esm/{preview → history}/trace/extractAdapterCallTraces.js +1 -1
- package/dist/esm/{preview → history}/trace/extractTransfers.js +2 -2
- package/dist/esm/{preview → history}/trace/findFacadeCalls.js +1 -1
- package/dist/esm/model/errors/index.js +7 -0
- package/dist/esm/model/errors/liquidation-errors.js +29 -0
- package/dist/esm/model/errors/operation-errors.js +121 -0
- package/dist/esm/{onchain/market/oracle/errors.js → model/errors/oracle-errors.js} +1 -1
- package/dist/esm/model/errors/prepare-errors.js +97 -0
- package/dist/esm/model/errors/preview-errors.js +11 -0
- package/dist/esm/model/index.js +10 -3
- package/dist/esm/model/opportunities.schema.js +3 -1
- package/dist/esm/model/positions.js +1 -1
- package/dist/esm/model/result.js +1 -8
- package/dist/esm/model/rwa.js +48 -0
- package/dist/esm/model/rwa.schema.js +18 -0
- package/dist/esm/offchain/opportunities/OffchainOpportunities.js +1 -1
- package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
- package/dist/esm/onchain/accounts/index.js +1 -2
- package/dist/esm/onchain/accounts/intents/guards.js +29 -52
- package/dist/esm/onchain/accounts/intents/index.js +39 -35
- package/dist/esm/onchain/accounts/intents/leverage-band.js +1 -1
- package/dist/esm/onchain/accounts/intents/math.js +18 -14
- package/dist/esm/onchain/accounts/intents/open-strategy.js +8 -6
- package/dist/esm/onchain/accounts/intents/plan.js +51 -47
- package/dist/esm/onchain/accounts/intents/realize.js +26 -24
- package/dist/esm/onchain/accounts/intents/tail.js +14 -11
- package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +7 -0
- package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +6 -6
- package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +12 -12
- package/dist/esm/onchain/accounts/intents/view.js +1 -1
- package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +3 -3
- package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +0 -1
- package/dist/esm/onchain/base/TokensMeta.js +3 -3
- package/dist/esm/onchain/core/createAddressProvider.js +1 -1
- package/dist/esm/onchain/index.js +64 -11
- package/dist/esm/onchain/market/MarketSuite.js +10 -4
- package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/index.js +1 -0
- package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/onchain/market/credit/CreditSuite.js +77 -15
- package/dist/esm/onchain/market/index.js +6 -6
- package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
- package/dist/esm/onchain/market/oracle/index.js +1 -2
- package/dist/esm/onchain/market/pool/PoolQuotaKeeperV310Contract.js +8 -0
- package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/onchain/market/rwa/RWARegistry.js +2 -1
- package/dist/esm/onchain/market/rwa/createDegenNFT.js +52 -0
- package/dist/esm/onchain/market/rwa/index.js +6 -5
- package/dist/esm/onchain/market/rwa/midas/MidasDegenNFT.js +55 -0
- package/dist/esm/onchain/market/rwa/midas/constants.js +2 -1
- package/dist/esm/onchain/market/rwa/midas/index.js +3 -2
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeDegenNFT.js +20 -2
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +4 -4
- package/dist/esm/onchain/market/rwa/securitize/constants.js +2 -2
- package/dist/esm/onchain/market/rwa/securitize/index.js +4 -3
- package/dist/esm/onchain/market/rwa/securitize/types.js +1 -29
- package/dist/esm/onchain/market/rwa/types.js +1 -7
- package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/index.js +0 -1
- package/dist/esm/onchain/opportunities/MultichainOpportunitiesService.js +2 -2
- package/dist/esm/onchain/opportunities/OpportunitiesService.js +11 -3
- package/dist/esm/onchain/pools/PoolService.js +10 -16
- package/dist/esm/onchain/preview/index.js +20 -0
- package/dist/esm/{preview → onchain/preview}/parse/classifyInnerOperations.js +2 -3
- package/dist/esm/{preview → onchain/preview}/parse/index.js +0 -1
- package/dist/esm/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.js +1 -1
- package/dist/esm/{preview → onchain/preview}/parse/parseOperationCalldata.js +10 -11
- package/dist/esm/{preview → onchain/preview}/parse/parsePoolOperationCalldata.js +3 -3
- package/dist/esm/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.js +8 -9
- package/dist/esm/{preview → onchain/preview}/parse/types.js +1 -1
- package/dist/esm/{preview → onchain/preview}/preview/CreditAccountState.js +3 -4
- package/dist/esm/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.js +10 -11
- package/dist/esm/{preview → onchain/preview}/preview/detectCloseOrRepay.js +2 -3
- package/dist/esm/{preview → onchain/preview}/preview/detectDelayedClaim.js +4 -5
- package/dist/esm/{preview → onchain/preview}/preview/detectDelayedOperation.js +5 -6
- package/dist/esm/{preview → onchain/preview}/preview/estimateClaimableAt.js +1 -1
- package/dist/esm/{preview → onchain/preview}/preview/index.js +3 -4
- package/dist/esm/{preview → onchain/preview}/preview/previewAdjustStrategyPosition.js +17 -21
- package/dist/esm/{preview → onchain/preview}/preview/previewExitOrRepayStrategyPosition.js +20 -26
- package/dist/esm/{preview → onchain/preview}/preview/previewOpenStrategyPosition.js +25 -15
- package/dist/esm/{preview → onchain/preview}/preview/previewOperation.js +54 -35
- package/dist/esm/{preview/simulate/simulatePoolOperation.js → onchain/preview/preview/previewPoolPositionOperation.js} +46 -30
- package/dist/esm/onchain/preview/preview/replayInnerOperations.js +107 -0
- package/dist/esm/onchain/preview/preview/replayMulticall.js +21 -0
- package/dist/esm/{preview → onchain/preview}/preview/unwrapNativeCollateral.js +11 -14
- package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/esm/onchain/validation/bundles/checkAccountQuotas.js +19 -0
- package/dist/esm/onchain/validation/bundles/checkCollateralFunding.js +58 -0
- package/dist/esm/onchain/validation/bundles/checkCreditOperation.js +64 -0
- package/dist/esm/onchain/validation/bundles/checkDraw.js +27 -0
- package/dist/esm/onchain/validation/bundles/checkHealthFactors.js +26 -0
- package/dist/esm/onchain/validation/bundles/checkLiquidationEligibility.js +32 -0
- package/dist/esm/onchain/validation/bundles/checkLiquidationFunding.js +28 -0
- package/dist/esm/onchain/validation/bundles/checkMarket.js +23 -0
- package/dist/esm/onchain/validation/bundles/checkObtained.js +12 -0
- package/dist/esm/onchain/validation/bundles/checkPoolFunding.js +21 -0
- package/dist/esm/onchain/validation/bundles/checkPoolOperation.js +34 -0
- package/dist/esm/onchain/validation/bundles/checkQuotasAsked.js +19 -0
- package/dist/esm/onchain/validation/bundles/checkRWAOpenRequirements.js +32 -0
- package/dist/esm/onchain/validation/bundles/checkRWAOpening.js +23 -0
- package/dist/esm/onchain/validation/bundles/checkWallet.js +21 -0
- package/dist/esm/onchain/validation/bundles/checkWalletAllowance.js +31 -0
- package/dist/esm/onchain/validation/bundles/checkWalletBalance.js +40 -0
- package/dist/esm/onchain/validation/bundles/index.js +18 -0
- package/dist/esm/onchain/validation/checkLiquidation.js +21 -0
- package/dist/esm/onchain/validation/checkOperation.js +61 -0
- package/dist/esm/onchain/validation/checkSimulation.js +59 -0
- package/dist/esm/onchain/validation/checks/checkBorrowLimit.js +24 -0
- package/dist/esm/onchain/validation/checks/checkCollateralised.js +25 -0
- package/dist/esm/onchain/validation/checks/checkCreditAccountFrozen.js +9 -0
- package/dist/esm/onchain/validation/checks/checkCreditManagerPaused.js +9 -0
- package/dist/esm/onchain/validation/checks/checkDebtLimits.js +17 -0
- package/dist/esm/onchain/validation/checks/checkEmergencyLiquidator.js +12 -0
- package/dist/esm/onchain/validation/checks/checkForbiddenToken.js +9 -0
- package/dist/esm/onchain/validation/checks/checkLeverage.js +12 -0
- package/dist/esm/onchain/validation/checks/checkLiquidatorEligible.js +9 -0
- package/dist/esm/onchain/validation/checks/checkMarketExpired.js +9 -0
- package/dist/esm/onchain/validation/checks/checkPoolLiquidity.js +24 -0
- package/dist/esm/onchain/validation/checks/checkPoolPaused.js +9 -0
- package/dist/esm/onchain/validation/checks/checkPoolSunset.js +9 -0
- package/dist/esm/onchain/validation/checks/checkQuotaCount.js +9 -0
- package/dist/esm/onchain/validation/checks/checkQuotaLimit.js +17 -0
- package/dist/esm/onchain/validation/checks/index.js +16 -0
- package/dist/esm/onchain/validation/helpers/amount.js +11 -0
- package/dist/esm/onchain/validation/helpers/health-factor-limits.js +21 -0
- package/dist/esm/onchain/validation/helpers/index.js +4 -0
- package/dist/esm/onchain/validation/{token.js → helpers/token.js} +3 -3
- package/dist/esm/onchain/validation/index.js +43 -4
- package/dist/esm/onchain/validation/raise.js +31 -0
- package/dist/esm/sdk/index.js +2 -3
- package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +9 -0
- package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +19 -4
- package/dist/esm/sdk/prepare/PrepareApi.js +25 -35
- package/dist/esm/sdk/prepare/index.js +3 -3
- package/dist/esm/sdk/prepare/types.js +1 -2
- package/dist/esm/sdk/preview/PreviewNamespace.js +24 -13
- package/dist/types/abi/rwa/iMidasAccessControl.d.ts +22 -0
- package/dist/types/abi/rwa/iMidasDegenNFT.d.ts +82 -0
- package/dist/types/history/assembleOperations.d.ts +4 -5
- package/dist/types/history/classifyMulticallOperations.d.ts +3 -4
- package/dist/types/history/index.d.ts +8 -2
- package/dist/types/history/mapOperations.d.ts +1 -1
- package/dist/types/{preview → history}/trace/errors.d.ts +1 -1
- package/dist/types/{preview → history}/trace/extractAdapterCallTraces.d.ts +1 -1
- package/dist/types/{preview → history}/trace/extractTransfers.d.ts +2 -3
- package/dist/types/{preview → history}/trace/findFacadeCalls.d.ts +1 -1
- package/dist/types/{preview → history}/trace/types.d.ts +1 -1
- package/dist/types/history/types.d.ts +2 -3
- package/dist/types/model/errors/base.d.ts +28 -0
- package/dist/types/model/errors/index.d.ts +7 -0
- package/dist/types/model/errors/liquidation-errors.d.ts +45 -0
- package/dist/types/model/errors/operation-errors.d.ts +216 -0
- package/dist/types/{onchain/market/oracle/errors.d.ts → model/errors/oracle-errors.d.ts} +3 -5
- package/dist/types/model/errors/prepare-errors.d.ts +131 -0
- package/dist/types/model/errors/preview-errors.d.ts +72 -0
- package/dist/types/model/index.d.ts +12 -4
- package/dist/types/model/opportunities.d.ts +12 -2
- package/dist/types/model/opportunities.schema.d.ts +30 -0
- package/dist/types/model/positions.d.ts +2 -2
- package/dist/types/model/previews.d.ts +52 -113
- package/dist/types/model/result.d.ts +4 -8
- package/dist/types/model/rwa.d.ts +167 -0
- package/dist/types/model/rwa.schema.d.ts +29 -0
- package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +2 -1
- package/dist/types/offchain/opportunities/types.d.ts +4 -1
- package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +3 -1
- package/dist/types/onchain/accounts/index.d.ts +2 -4
- package/dist/types/onchain/accounts/intents/guards.d.ts +8 -18
- package/dist/types/onchain/accounts/intents/index.d.ts +20 -19
- package/dist/types/onchain/accounts/intents/leverage-band.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/math.d.ts +6 -6
- package/dist/types/onchain/accounts/intents/operations.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/plan.d.ts +9 -9
- package/dist/types/onchain/accounts/intents/tail.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/testing/expect.d.ts +3 -3
- package/dist/types/onchain/accounts/intents/tests/finish-withdraw.fixtures.d.ts +6 -6
- package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +12 -12
- package/dist/types/onchain/accounts/intents/types.d.ts +32 -30
- package/dist/types/onchain/accounts/types.d.ts +2 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +1 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -2
- package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +1 -1
- package/dist/types/onchain/index.d.ts +73 -16
- package/dist/types/onchain/market/MarketSuite.d.ts +5 -1
- package/dist/types/onchain/market/adapters/index.d.ts +2 -1
- package/dist/types/onchain/market/adapters/transfers.d.ts +0 -7
- package/dist/types/onchain/market/credit/CreditSuite.d.ts +30 -8
- package/dist/types/onchain/market/credit/index.d.ts +2 -2
- package/dist/types/onchain/market/credit/types.d.ts +11 -1
- package/dist/types/onchain/market/index.d.ts +11 -10
- package/dist/types/onchain/market/oracle/PriceOracleBaseContract.d.ts +1 -1
- package/dist/types/onchain/market/oracle/index.d.ts +1 -2
- package/dist/types/onchain/market/oracle/types.d.ts +1 -1
- package/dist/types/onchain/market/pool/PoolQuotaKeeperV310Contract.d.ts +5 -0
- package/dist/types/onchain/market/rwa/RWARegistry.d.ts +1 -1
- package/dist/types/onchain/market/rwa/createDegenNFT.d.ts +12 -0
- package/dist/types/onchain/market/rwa/index.d.ts +10 -8
- package/dist/types/onchain/market/rwa/midas/MidasDegenNFT.d.ts +98 -0
- package/dist/types/onchain/market/rwa/midas/constants.d.ts +2 -1
- package/dist/types/onchain/market/rwa/midas/index.d.ts +3 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeDegenNFT.d.ts +8 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +4 -3
- package/dist/types/onchain/market/rwa/securitize/constants.d.ts +2 -2
- package/dist/types/onchain/market/rwa/securitize/index.d.ts +5 -4
- package/dist/types/onchain/market/rwa/securitize/types.d.ts +4 -110
- package/dist/types/onchain/market/rwa/types.d.ts +24 -32
- package/dist/types/onchain/market/zapper/ZapperContract.d.ts +1 -1
- package/dist/types/onchain/market/zapper/index.d.ts +1 -2
- package/dist/types/onchain/market/zapper/types.d.ts +1 -1
- package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -1
- package/dist/types/onchain/opportunities/OpportunitiesService.d.ts +5 -1
- package/dist/types/onchain/opportunities/types.d.ts +3 -2
- package/dist/types/onchain/pools/types.d.ts +2 -2
- package/dist/types/onchain/preview/index.d.ts +24 -0
- package/dist/types/{preview → onchain/preview}/parse/classifyInnerOperations.d.ts +4 -4
- package/dist/types/{preview → onchain/preview}/parse/index.d.ts +2 -4
- package/dist/types/{preview → onchain/preview}/parse/parseFacadeOperationCalldata.d.ts +4 -4
- package/dist/types/onchain/preview/parse/parseOperationCalldata.d.ts +18 -0
- package/dist/types/{preview → onchain/preview}/parse/parsePoolOperationCalldata.d.ts +7 -7
- package/dist/types/{preview → onchain/preview}/parse/parseRWAFactoryOperationCalldata.d.ts +4 -4
- package/dist/types/{preview → onchain/preview}/parse/types-adapters.d.ts +5 -16
- package/dist/types/{preview → onchain/preview}/parse/types-facades.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/parse/types-pools.d.ts +1 -1
- package/dist/types/{preview → onchain/preview}/parse/types-rwa.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/parse/types.d.ts +3 -3
- package/dist/types/{preview → onchain/preview}/preview/CreditAccountState.d.ts +5 -5
- package/dist/types/{preview → onchain/preview}/preview/buildDelayedStrategyPositionOperationPreview.d.ts +5 -5
- package/dist/types/{preview → onchain/preview}/preview/detectCloseOrRepay.d.ts +1 -1
- package/dist/types/{preview → onchain/preview}/preview/detectDelayedClaim.d.ts +8 -8
- package/dist/types/{preview → onchain/preview}/preview/detectDelayedOperation.d.ts +9 -9
- package/dist/types/{preview → onchain/preview}/preview/estimateClaimableAt.d.ts +6 -6
- package/dist/types/{preview → onchain/preview}/preview/index.d.ts +3 -4
- package/dist/types/onchain/preview/preview/previewAdjustStrategyPosition.d.ts +20 -0
- package/dist/types/onchain/preview/preview/previewExitOrRepayStrategyPosition.d.ts +21 -0
- package/dist/types/onchain/preview/preview/previewOpenStrategyPosition.d.ts +14 -0
- package/dist/types/onchain/preview/preview/previewOperation.d.ts +32 -0
- package/dist/types/onchain/preview/preview/previewPoolPositionOperation.d.ts +13 -0
- package/dist/types/{preview → onchain/preview}/preview/replayInnerOperations.d.ts +11 -11
- package/dist/types/{preview → onchain/preview}/preview/replayMulticall.d.ts +10 -10
- package/dist/types/{preview → onchain/preview}/preview/unwrapNativeCollateral.d.ts +10 -20
- package/dist/types/onchain/validation/bundles/checkAccountQuotas.d.ts +16 -0
- package/dist/types/onchain/validation/bundles/checkCollateralFunding.d.ts +22 -0
- package/dist/types/onchain/validation/bundles/checkCreditOperation.d.ts +31 -0
- package/dist/types/onchain/validation/bundles/checkDraw.d.ts +20 -0
- package/dist/types/onchain/validation/bundles/checkHealthFactors.d.ts +39 -0
- package/dist/types/onchain/validation/bundles/checkLiquidationEligibility.d.ts +20 -0
- package/dist/types/onchain/validation/bundles/checkLiquidationFunding.d.ts +18 -0
- package/dist/types/onchain/validation/bundles/checkMarket.d.ts +15 -0
- package/dist/types/onchain/validation/bundles/checkObtained.d.ts +9 -0
- package/dist/types/onchain/validation/bundles/checkPoolFunding.d.ts +19 -0
- package/dist/types/onchain/validation/bundles/checkPoolOperation.d.ts +31 -0
- package/dist/types/onchain/validation/bundles/checkQuotasAsked.d.ts +10 -0
- package/dist/types/onchain/validation/bundles/checkRWAOpenRequirements.d.ts +21 -0
- package/dist/types/onchain/validation/bundles/checkRWAOpening.d.ts +19 -0
- package/dist/types/onchain/validation/bundles/checkWallet.d.ts +23 -0
- package/dist/types/onchain/validation/bundles/checkWalletAllowance.d.ts +18 -0
- package/dist/types/onchain/validation/bundles/checkWalletBalance.d.ts +17 -0
- package/dist/types/onchain/validation/bundles/index.d.ts +18 -0
- package/dist/types/onchain/validation/checkLiquidation.d.ts +23 -0
- package/dist/types/onchain/validation/checkOperation.d.ts +32 -0
- package/dist/types/onchain/validation/checkSimulation.d.ts +56 -0
- package/dist/types/onchain/validation/checks/checkBorrowLimit.d.ts +21 -0
- package/dist/types/onchain/validation/checks/checkCollateralised.d.ts +25 -0
- package/dist/types/onchain/validation/checks/checkCreditAccountFrozen.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkCreditManagerPaused.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkDebtLimits.d.ts +21 -0
- package/dist/types/onchain/validation/checks/checkEmergencyLiquidator.d.ts +17 -0
- package/dist/types/onchain/validation/checks/checkForbiddenToken.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkLeverage.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkLiquidatorEligible.d.ts +13 -0
- package/dist/types/onchain/validation/checks/checkMarketExpired.d.ts +14 -0
- package/dist/types/onchain/validation/checks/checkPoolLiquidity.d.ts +20 -0
- package/dist/types/onchain/validation/checks/checkPoolPaused.d.ts +12 -0
- package/dist/types/onchain/validation/checks/checkPoolSunset.d.ts +13 -0
- package/dist/types/onchain/validation/checks/checkQuotaCount.d.ts +11 -0
- package/dist/types/onchain/validation/checks/checkQuotaLimit.d.ts +18 -0
- package/dist/types/onchain/validation/checks/index.d.ts +16 -0
- package/dist/types/onchain/validation/helpers/amount.d.ts +7 -0
- package/dist/types/onchain/validation/helpers/health-factor-limits.d.ts +21 -0
- package/dist/types/onchain/validation/helpers/index.d.ts +4 -0
- package/dist/types/onchain/validation/{token.d.ts → helpers/token.d.ts} +4 -4
- package/dist/types/onchain/validation/index.d.ts +43 -4
- package/dist/types/onchain/validation/raise.d.ts +33 -0
- package/dist/types/sdk/execute/types.d.ts +2 -2
- package/dist/types/sdk/index.d.ts +5 -6
- package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +5 -0
- package/dist/types/sdk/liquidations/types.d.ts +8 -0
- package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +2 -1
- package/dist/types/sdk/opportunities/types.d.ts +8 -2
- package/dist/types/sdk/prepare/PrepareApi.d.ts +5 -4
- package/dist/types/sdk/prepare/index.d.ts +5 -5
- package/dist/types/sdk/prepare/types.d.ts +41 -22
- package/dist/types/sdk/preview/PreviewNamespace.d.ts +13 -3
- package/dist/types/sdk/preview/index.d.ts +2 -2
- package/dist/types/sdk/preview/types.d.ts +30 -7
- package/package.json +1 -6
- package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -1
- package/dist/cjs/onchain/market/zapper/errors.js +0 -1
- package/dist/cjs/onchain/validation/checks.js +0 -258
- package/dist/cjs/onchain/validation/refusal.js +0 -39
- package/dist/cjs/preview/index.js +0 -86
- package/dist/cjs/preview/package.json +0 -1
- package/dist/cjs/preview/parse/errors.js +0 -1
- package/dist/cjs/preview/parse/index.js +0 -15
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +0 -38
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +0 -52
- package/dist/cjs/preview/prerequisites/Prerequisite.js +0 -52
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -53
- package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +0 -63
- package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -19
- package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +0 -76
- package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +0 -39
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +0 -74
- package/dist/cjs/preview/prerequisites/helpers.js +0 -23
- package/dist/cjs/preview/prerequisites/index.js +0 -12
- package/dist/cjs/preview/preview/errors.js +0 -85
- package/dist/cjs/preview/preview/index.js +0 -33
- package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +0 -50
- package/dist/cjs/preview/preview/previewOperation.js +0 -100
- package/dist/cjs/preview/preview/previewPoolPositionOperation.js +0 -49
- package/dist/cjs/preview/preview/replayInnerOperations.js +0 -109
- package/dist/cjs/preview/preview/replayMulticall.js +0 -19
- package/dist/cjs/preview/simulate/errors.js +0 -73
- package/dist/cjs/preview/simulate/index.js +0 -11
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +0 -15
- package/dist/cjs/preview/simulate/simulateOperation.js +0 -29
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +0 -15
- package/dist/cjs/preview/simulate/types.js +0 -1
- package/dist/cjs/preview/trace/index.js +0 -14
- package/dist/cjs/preview/trace/types.js +0 -1
- package/dist/cjs/preview/types.js +0 -1
- package/dist/cjs/preview/validate/checkOperation.js +0 -187
- package/dist/cjs/preview/validate/checkSimulation.js +0 -39
- package/dist/cjs/preview/validate/index.js +0 -8
- package/dist/cjs/sdk/prepare/errors.js +0 -114
- package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +0 -1
- package/dist/esm/onchain/market/zapper/errors.js +0 -1
- package/dist/esm/onchain/validation/checks.js +0 -238
- package/dist/esm/onchain/validation/refusal.js +0 -36
- package/dist/esm/preview/index.js +0 -38
- package/dist/esm/preview/package.json +0 -1
- package/dist/esm/preview/parse/errors.js +0 -1
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +0 -37
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +0 -51
- package/dist/esm/preview/prerequisites/Prerequisite.js +0 -51
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +0 -52
- package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +0 -62
- package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +0 -18
- package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +0 -75
- package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +0 -38
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +0 -73
- package/dist/esm/preview/prerequisites/helpers.js +0 -22
- package/dist/esm/preview/prerequisites/index.js +0 -7
- package/dist/esm/preview/preview/errors.js +0 -79
- package/dist/esm/preview/preview/previewPoolPositionOperation.js +0 -48
- package/dist/esm/preview/preview/replayInnerOperations.js +0 -107
- package/dist/esm/preview/preview/replayMulticall.js +0 -18
- package/dist/esm/preview/simulate/errors.js +0 -71
- package/dist/esm/preview/simulate/index.js +0 -6
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +0 -14
- package/dist/esm/preview/simulate/simulateOperation.js +0 -28
- package/dist/esm/preview/simulate/simulateRWAOperation.js +0 -14
- package/dist/esm/preview/simulate/types.js +0 -1
- package/dist/esm/preview/trace/types.js +0 -1
- package/dist/esm/preview/types.js +0 -1
- package/dist/esm/preview/validate/checkOperation.js +0 -183
- package/dist/esm/preview/validate/checkSimulation.js +0 -38
- package/dist/esm/preview/validate/index.js +0 -3
- package/dist/esm/sdk/prepare/errors.js +0 -108
- package/dist/types/model/errors.d.ts +0 -46
- package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +0 -20
- package/dist/types/onchain/market/zapper/errors.d.ts +0 -18
- package/dist/types/onchain/validation/checks.d.ts +0 -164
- package/dist/types/onchain/validation/refusal.d.ts +0 -242
- package/dist/types/preview/index.d.ts +0 -47
- package/dist/types/preview/parse/errors.d.ts +0 -29
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +0 -18
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +0 -26
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +0 -29
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +0 -26
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +0 -55
- package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +0 -20
- package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +0 -12
- package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +0 -12
- package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +0 -26
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +0 -28
- package/dist/types/preview/prerequisites/helpers.d.ts +0 -10
- package/dist/types/preview/prerequisites/index.d.ts +0 -7
- package/dist/types/preview/prerequisites/types.d.ts +0 -53
- package/dist/types/preview/preview/errors.d.ts +0 -44
- package/dist/types/preview/preview/previewAdjustStrategyPosition.d.ts +0 -19
- package/dist/types/preview/preview/previewExitOrRepayStrategyPosition.d.ts +0 -18
- package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +0 -12
- package/dist/types/preview/preview/previewOperation.d.ts +0 -32
- package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +0 -13
- package/dist/types/preview/simulate/errors.d.ts +0 -52
- package/dist/types/preview/simulate/index.d.ts +0 -7
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +0 -16
- package/dist/types/preview/simulate/simulateOperation.d.ts +0 -12
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +0 -42
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +0 -16
- package/dist/types/preview/simulate/types.d.ts +0 -48
- package/dist/types/preview/types.d.ts +0 -65
- package/dist/types/preview/validate/checkOperation.d.ts +0 -71
- package/dist/types/preview/validate/checkSimulation.d.ts +0 -32
- package/dist/types/preview/validate/index.d.ts +0 -3
- package/dist/types/sdk/prepare/errors.d.ts +0 -343
- /package/dist/cjs/{preview/prerequisites → history/trace}/types.js +0 -0
- /package/dist/cjs/model/{errors.js → errors/base.js} +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-adapters.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-facades.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-pools.js +0 -0
- /package/dist/cjs/{preview → onchain/preview}/parse/types-rwa.js +0 -0
- /package/dist/esm/{preview → history}/trace/index.js +0 -0
- /package/dist/esm/{preview/prerequisites → history/trace}/types.js +0 -0
- /package/dist/esm/model/{errors.js → errors/base.js} +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-adapters.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-facades.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-pools.js +0 -0
- /package/dist/esm/{preview → onchain/preview}/parse/types-rwa.js +0 -0
- /package/dist/types/{preview → history}/trace/index.d.ts +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { poolSunset } from "../../../model/errors/operation-errors.js";
|
|
2
|
+
import "../../../model/index.js";
|
|
3
|
+
//#region src/onchain/validation/checks/checkPoolSunset.ts
|
|
4
|
+
/** A pool winding down still serves withdrawals, so only what puts money in is refused. */
|
|
5
|
+
function checkPoolSunset(args) {
|
|
6
|
+
return args.isSunset && args.isDeposit ? [poolSunset(args.pool)] : [];
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { checkPoolSunset };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { quotaCountExceeded } from "../../../model/errors/operation-errors.js";
|
|
2
|
+
import "../../../model/index.js";
|
|
3
|
+
//#region src/onchain/validation/checks/checkQuotaCount.ts
|
|
4
|
+
/** How many quoted tokens the facade enables at once. */
|
|
5
|
+
function checkQuotaCount(args) {
|
|
6
|
+
return args.count > args.max ? [quotaCountExceeded(args.count, args.max)] : [];
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { checkQuotaCount };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { quotaLimitReached } from "../../../model/errors/operation-errors.js";
|
|
2
|
+
import "../../../model/index.js";
|
|
3
|
+
import { amountOf } from "../helpers/amount.js";
|
|
4
|
+
import "../helpers/index.js";
|
|
5
|
+
//#region src/onchain/validation/checks/checkQuotaLimit.ts
|
|
6
|
+
/** The room the keeper still has for a token's quota, in the underlying. */
|
|
7
|
+
function checkQuotaLimit(args) {
|
|
8
|
+
const { token, requested, available, underlying } = args;
|
|
9
|
+
if (requested !== void 0 && requested <= available) return [];
|
|
10
|
+
return [quotaLimitReached({
|
|
11
|
+
token,
|
|
12
|
+
requested: requested === void 0 ? void 0 : amountOf(underlying, requested),
|
|
13
|
+
available: amountOf(underlying, available)
|
|
14
|
+
})];
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { checkQuotaLimit };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { checkBorrowLimit } from "./checkBorrowLimit.js";
|
|
2
|
+
import { checkCollateralised } from "./checkCollateralised.js";
|
|
3
|
+
import { checkCreditAccountFrozen } from "./checkCreditAccountFrozen.js";
|
|
4
|
+
import { checkCreditManagerPaused } from "./checkCreditManagerPaused.js";
|
|
5
|
+
import { checkDebtLimits } from "./checkDebtLimits.js";
|
|
6
|
+
import { checkEmergencyLiquidator } from "./checkEmergencyLiquidator.js";
|
|
7
|
+
import { checkForbiddenToken } from "./checkForbiddenToken.js";
|
|
8
|
+
import { checkLeverage } from "./checkLeverage.js";
|
|
9
|
+
import { checkLiquidatorEligible } from "./checkLiquidatorEligible.js";
|
|
10
|
+
import { checkMarketExpired } from "./checkMarketExpired.js";
|
|
11
|
+
import { checkPoolLiquidity } from "./checkPoolLiquidity.js";
|
|
12
|
+
import { checkPoolPaused } from "./checkPoolPaused.js";
|
|
13
|
+
import { checkPoolSunset } from "./checkPoolSunset.js";
|
|
14
|
+
import { checkQuotaCount } from "./checkQuotaCount.js";
|
|
15
|
+
import { checkQuotaLimit } from "./checkQuotaLimit.js";
|
|
16
|
+
export { checkBorrowLimit, checkCollateralised, checkCreditAccountFrozen, checkCreditManagerPaused, checkDebtLimits, checkEmergencyLiquidator, checkForbiddenToken, checkLeverage, checkLiquidatorEligible, checkMarketExpired, checkPoolLiquidity, checkPoolPaused, checkPoolSunset, checkQuotaCount, checkQuotaLimit };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/onchain/validation/helpers/health-factor-limits.ts
|
|
2
|
+
/**
|
|
3
|
+
* The health-factor thresholds this codebase holds an account to.
|
|
4
|
+
*
|
|
5
|
+
* They are deliberately different numbers for different jobs: the facade's is
|
|
6
|
+
* what a transaction must clear to land, a form's is what makes a position
|
|
7
|
+
* worth signing, and a sizing helper leaves a margin above both.
|
|
8
|
+
**/
|
|
9
|
+
/** A factor at or below this is refused; kept for the callers that size on it. */
|
|
10
|
+
const MIN_HF_LIMITED = 10100n;
|
|
11
|
+
/** The same threshold as a `required` argument — the lowest factor that passes. */
|
|
12
|
+
const MIN_HEALTH_FACTOR_FORM = 10101;
|
|
13
|
+
/** The threshold the facade itself enforces: an account may end exactly at 1.0. */
|
|
14
|
+
const MIN_HEALTH_FACTOR_FACADE = 1e4;
|
|
15
|
+
/**
|
|
16
|
+
* The safe-price threshold a form holds an account to. A step above the
|
|
17
|
+
* facade's, because a factor of exactly 1.0 at safe prices is already refused.
|
|
18
|
+
**/
|
|
19
|
+
const MIN_SAFE_HEALTH_FACTOR_FORM = 10001;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_SAFE_HEALTH_FACTOR_FORM };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { amountOf } from "./amount.js";
|
|
2
|
+
import { MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_SAFE_HEALTH_FACTOR_FORM } from "./health-factor-limits.js";
|
|
3
|
+
import { toToken, toTokenAmount } from "./token.js";
|
|
4
|
+
export { MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_SAFE_HEALTH_FACTOR_FORM, amountOf, toToken, toTokenAmount };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { shortAddress } from "
|
|
2
|
-
import { amountOf } from "./
|
|
3
|
-
//#region src/onchain/validation/token.ts
|
|
1
|
+
import { shortAddress } from "../../utils/formatter.js";
|
|
2
|
+
import { amountOf } from "./amount.js";
|
|
3
|
+
//#region src/onchain/validation/helpers/token.ts
|
|
4
4
|
/**
|
|
5
5
|
* The token behind an address, for the refusal details that inline one.
|
|
6
6
|
*
|
|
@@ -1,4 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { toToken, toTokenAmount } from "./token.js";
|
|
4
|
-
|
|
1
|
+
import { amountOf } from "./helpers/amount.js";
|
|
2
|
+
import { MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_SAFE_HEALTH_FACTOR_FORM } from "./helpers/health-factor-limits.js";
|
|
3
|
+
import { toToken, toTokenAmount } from "./helpers/token.js";
|
|
4
|
+
import "./helpers/index.js";
|
|
5
|
+
import { checkBorrowLimit } from "./checks/checkBorrowLimit.js";
|
|
6
|
+
import { checkCollateralised } from "./checks/checkCollateralised.js";
|
|
7
|
+
import { checkCreditAccountFrozen } from "./checks/checkCreditAccountFrozen.js";
|
|
8
|
+
import { checkCreditManagerPaused } from "./checks/checkCreditManagerPaused.js";
|
|
9
|
+
import { checkDebtLimits } from "./checks/checkDebtLimits.js";
|
|
10
|
+
import { checkEmergencyLiquidator } from "./checks/checkEmergencyLiquidator.js";
|
|
11
|
+
import { checkForbiddenToken } from "./checks/checkForbiddenToken.js";
|
|
12
|
+
import { checkLeverage } from "./checks/checkLeverage.js";
|
|
13
|
+
import { checkLiquidatorEligible } from "./checks/checkLiquidatorEligible.js";
|
|
14
|
+
import { checkMarketExpired } from "./checks/checkMarketExpired.js";
|
|
15
|
+
import { checkPoolLiquidity } from "./checks/checkPoolLiquidity.js";
|
|
16
|
+
import { checkPoolPaused } from "./checks/checkPoolPaused.js";
|
|
17
|
+
import { checkPoolSunset } from "./checks/checkPoolSunset.js";
|
|
18
|
+
import { checkQuotaCount } from "./checks/checkQuotaCount.js";
|
|
19
|
+
import { checkQuotaLimit } from "./checks/checkQuotaLimit.js";
|
|
20
|
+
import "./checks/index.js";
|
|
21
|
+
import { checkAccountQuotas } from "./bundles/checkAccountQuotas.js";
|
|
22
|
+
import { checkWalletAllowance } from "./bundles/checkWalletAllowance.js";
|
|
23
|
+
import { checkWalletBalance } from "./bundles/checkWalletBalance.js";
|
|
24
|
+
import { checkCollateralFunding } from "./bundles/checkCollateralFunding.js";
|
|
25
|
+
import { checkDraw } from "./bundles/checkDraw.js";
|
|
26
|
+
import { checkHealthFactors } from "./bundles/checkHealthFactors.js";
|
|
27
|
+
import { checkMarket } from "./bundles/checkMarket.js";
|
|
28
|
+
import { checkObtained } from "./bundles/checkObtained.js";
|
|
29
|
+
import { checkQuotasAsked } from "./bundles/checkQuotasAsked.js";
|
|
30
|
+
import { checkRWAOpenRequirements } from "./bundles/checkRWAOpenRequirements.js";
|
|
31
|
+
import { checkRWAOpening } from "./bundles/checkRWAOpening.js";
|
|
32
|
+
import { checkCreditOperation } from "./bundles/checkCreditOperation.js";
|
|
33
|
+
import { checkLiquidationEligibility } from "./bundles/checkLiquidationEligibility.js";
|
|
34
|
+
import { checkLiquidationFunding } from "./bundles/checkLiquidationFunding.js";
|
|
35
|
+
import { checkWallet } from "./bundles/checkWallet.js";
|
|
36
|
+
import { checkPoolFunding } from "./bundles/checkPoolFunding.js";
|
|
37
|
+
import { checkPoolOperation } from "./bundles/checkPoolOperation.js";
|
|
38
|
+
import "./bundles/index.js";
|
|
39
|
+
import { checkLiquidation } from "./checkLiquidation.js";
|
|
40
|
+
import { checkOperation } from "./checkOperation.js";
|
|
41
|
+
import { checkSimulation } from "./checkSimulation.js";
|
|
42
|
+
import { raise } from "./raise.js";
|
|
43
|
+
export { MIN_HEALTH_FACTOR_FACADE, MIN_HEALTH_FACTOR_FORM, MIN_HF_LIMITED, MIN_SAFE_HEALTH_FACTOR_FORM, amountOf, checkAccountQuotas, checkBorrowLimit, checkCollateralFunding, checkCollateralised, checkCreditAccountFrozen, checkCreditManagerPaused, checkCreditOperation, checkDebtLimits, checkDraw, checkEmergencyLiquidator, checkForbiddenToken, checkHealthFactors, checkLeverage, checkLiquidation, checkLiquidationEligibility, checkLiquidationFunding, checkLiquidatorEligible, checkMarket, checkMarketExpired, checkObtained, checkOperation, checkPoolFunding, checkPoolLiquidity, checkPoolOperation, checkPoolPaused, checkPoolSunset, checkQuotaCount, checkQuotaLimit, checkQuotasAsked, checkRWAOpenRequirements, checkRWAOpening, checkSimulation, checkWallet, checkWalletAllowance, checkWalletBalance, raise, toToken, toTokenAmount };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/onchain/validation/raise.ts
|
|
2
|
+
/**
|
|
3
|
+
* Engine-internal throw: planners and guards raise one error object, and the
|
|
4
|
+
* service boundary turns it into {@link SDKError}.
|
|
5
|
+
**/
|
|
6
|
+
var IntentPreviewError = class IntentPreviewError extends Error {
|
|
7
|
+
error;
|
|
8
|
+
constructor(error, message) {
|
|
9
|
+
super(message ?? error.message);
|
|
10
|
+
this.name = "IntentPreviewError";
|
|
11
|
+
this.error = error;
|
|
12
|
+
}
|
|
13
|
+
/** The same wrap the checks hand out, with an optional engine-side sentence. */
|
|
14
|
+
static of(error, message) {
|
|
15
|
+
return new IntentPreviewError(error, message);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Throws the first error a check found, with the sentence the engine logs for
|
|
20
|
+
* it. An empty array is a pass.
|
|
21
|
+
*
|
|
22
|
+
* Returns normally when there is nothing to raise, so it cannot narrow a type
|
|
23
|
+
* the way a bare `throw` does — a site that guards a value for the code below
|
|
24
|
+
* it keeps throwing directly.
|
|
25
|
+
**/
|
|
26
|
+
function raise(errors, message) {
|
|
27
|
+
const [first] = errors;
|
|
28
|
+
if (first) throw IntentPreviewError.of(first, message);
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { IntentPreviewError, raise };
|
package/dist/esm/sdk/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, unexpectedFailure } from "../model/errors/prepare-errors.js";
|
|
2
2
|
import { AllSourcesFailedError } from "./errors/AllSourcesFailedError.js";
|
|
3
3
|
import { SourceChainMismatchError } from "./errors/SourceChainMismatchError.js";
|
|
4
4
|
import { assertSameChains } from "./errors/assertSameChains.js";
|
|
@@ -14,7 +14,6 @@ import { LiquidationsNamespace } from "./liquidations/LiquidationsNamespace.js";
|
|
|
14
14
|
import "./liquidations/index.js";
|
|
15
15
|
import { ExecuteApi } from "./execute/ExecuteApi.js";
|
|
16
16
|
import "./execute/index.js";
|
|
17
|
-
import { creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, toRefusalError, unexpectedFailure } from "./prepare/errors.js";
|
|
18
17
|
import { PrepareApi } from "./prepare/PrepareApi.js";
|
|
19
18
|
import "./prepare/index.js";
|
|
20
19
|
import { filterResponse } from "./utils/filterResponse.js";
|
|
@@ -28,4 +27,4 @@ import { PreviewNamespace } from "./preview/PreviewNamespace.js";
|
|
|
28
27
|
import "./preview/index.js";
|
|
29
28
|
import { DEFAULT_MAX_STATE_AGE, GearboxSDK } from "./GearboxSDK.js";
|
|
30
29
|
import "./types.js";
|
|
31
|
-
export { AbstractNamespace, AllSourcesFailedError, AnalyticsNamespace, DEFAULT_MAX_OFFCHAIN_LAG, DEFAULT_MAX_STATE_AGE, ExecuteApi, GearboxSDK,
|
|
30
|
+
export { AbstractNamespace, AllSourcesFailedError, AnalyticsNamespace, DEFAULT_MAX_OFFCHAIN_LAG, DEFAULT_MAX_STATE_AGE, ExecuteApi, GearboxSDK, LiquidationsNamespace, MissingSourceError, NoSourceServedError, OpportunitiesNamespace, PositionsNamespace, PrepareApi, PreviewNamespace, SourceChainMismatchError, SourceUnavailableError, assertSameChains, creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, everyChainFailed, filterResponse, mergeChainList, mergeChainOne, noStrategyTargetCollateral, unexpectedFailure };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { toChainIds } from "../../onchain/chain/chains.js";
|
|
2
|
+
import { checkLiquidation } from "../../onchain/validation/checkLiquidation.js";
|
|
2
3
|
import "../../onchain/index.js";
|
|
3
4
|
//#region src/sdk/liquidations/LiquidationsNamespace.ts
|
|
4
5
|
/**
|
|
@@ -39,6 +40,14 @@ var LiquidationsNamespace = class {
|
|
|
39
40
|
await this.#ensureFresh?.(props.chainIds);
|
|
40
41
|
return this.#onchain.liquidations.getLiquidationPositions(props);
|
|
41
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* {@inheritDoc ILiquidations.checkLiquidation}
|
|
45
|
+
**/
|
|
46
|
+
async checkLiquidation(props, options) {
|
|
47
|
+
await this.#ensureFresh?.([props.details.chainId]);
|
|
48
|
+
const sdk = this.#onchain.chain(props.details.chainId);
|
|
49
|
+
return checkLiquidation(sdk, props, options);
|
|
50
|
+
}
|
|
42
51
|
};
|
|
43
52
|
//#endregion
|
|
44
53
|
export { LiquidationsNamespace };
|
|
@@ -22,7 +22,7 @@ var OpportunitiesNamespace = class extends AbstractNamespace {
|
|
|
22
22
|
merge = {
|
|
23
23
|
list: (onchain, offchain) => mergeChainList(onchain, offchain, this.maxOffchainLagSeconds),
|
|
24
24
|
pool: (onchain, offchain) => mergeChainOne(onchain, offchain, this.maxOffchainLagSeconds),
|
|
25
|
-
strategy: (onchain, offchain) => mergeChainOne(onchain, offchain, this.maxOffchainLagSeconds)
|
|
25
|
+
strategy: (onchain, offchain) => overlayOnchainKyc(mergeChainOne(onchain, offchain, this.maxOffchainLagSeconds), onchain)
|
|
26
26
|
};
|
|
27
27
|
#prepare;
|
|
28
28
|
#execute;
|
|
@@ -70,11 +70,11 @@ var OpportunitiesNamespace = class extends AbstractNamespace {
|
|
|
70
70
|
/**
|
|
71
71
|
* {@inheritDoc IOpportunitiesBase.getStrategy}
|
|
72
72
|
**/
|
|
73
|
-
async getStrategy(key) {
|
|
73
|
+
async getStrategy(key, wallet) {
|
|
74
74
|
return this.merged("get strategy opportunity", {
|
|
75
75
|
chainIds: [key.chainId],
|
|
76
|
-
fromChain: (source) => source.getStrategy(key),
|
|
77
|
-
fromBackend: (source) => source.getStrategy(key),
|
|
76
|
+
fromChain: (source) => source.getStrategy(key, wallet),
|
|
77
|
+
fromBackend: (source) => source.getStrategy(key, wallet),
|
|
78
78
|
merge: this.merge.strategy
|
|
79
79
|
});
|
|
80
80
|
}
|
|
@@ -94,5 +94,20 @@ var OpportunitiesNamespace = class extends AbstractNamespace {
|
|
|
94
94
|
return this.offchain.getCharts(key, metrics, range);
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
+
/**
|
|
98
|
+
* Freshness still picks the body; `kyc` is taken from a successful chain
|
|
99
|
+
* response because the backend does not evaluate it.
|
|
100
|
+
**/
|
|
101
|
+
function overlayOnchainKyc(merged, onchain) {
|
|
102
|
+
if (!merged || !onchain || onchain.meta.chains[0]?.status !== "success") return merged;
|
|
103
|
+
if (merged === onchain) return merged;
|
|
104
|
+
return {
|
|
105
|
+
...merged,
|
|
106
|
+
data: {
|
|
107
|
+
...merged.data,
|
|
108
|
+
kyc: onchain.data.kyc
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
97
112
|
//#endregion
|
|
98
113
|
export { OpportunitiesNamespace };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { hexEq } from "../../onchain/utils/hex.js";
|
|
2
2
|
import { MultichainConstruct } from "../../onchain/base/MultichainConstruct.js";
|
|
3
|
+
import { creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noRecordedIntent, noStrategyTargetCollateral, unexpectedFailure, unsupportedTokenPair } from "../../model/errors/prepare-errors.js";
|
|
3
4
|
import { sdkErr, sdkOk } from "../../model/result.js";
|
|
4
5
|
import "../../model/index.js";
|
|
5
|
-
import { toToken } from "../../onchain/validation/token.js";
|
|
6
|
+
import { toToken } from "../../onchain/validation/helpers/token.js";
|
|
6
7
|
import { toCreditAccountSlice } from "../../onchain/accounts/intents/utils/credit-account-slice.js";
|
|
7
8
|
import { CreditAccountOperationsService } from "../../onchain/accounts/intents/index.js";
|
|
8
9
|
import "../../onchain/index.js";
|
|
9
|
-
import { creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, toRefusalError, unexpectedFailure } from "./errors.js";
|
|
10
10
|
import { withdrawableCollaterals } from "./withdrawable-collaterals.js";
|
|
11
11
|
import { isAddressEqual } from "viem";
|
|
12
12
|
//#region src/sdk/prepare/PrepareApi.ts
|
|
@@ -39,7 +39,7 @@ var PrepareApi = class extends MultichainConstruct {
|
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* The chain an async method reads, revalidated first so the state it is
|
|
42
|
-
* about to weigh is no older than the SDK's freshness
|
|
42
|
+
* about to weigh is no older than the SDK's freshness threshold.
|
|
43
43
|
**/
|
|
44
44
|
async #chain(chainId) {
|
|
45
45
|
await this.#ensureFresh?.([this.sdk.chain(chainId).chainId]);
|
|
@@ -53,10 +53,7 @@ var PrepareApi = class extends MultichainConstruct {
|
|
|
53
53
|
const sdk = await this.#chain(position.chainId);
|
|
54
54
|
const at = stateBlock(sdk);
|
|
55
55
|
const intent = resumable(params.intent ?? params.claimable.intent);
|
|
56
|
-
if (!intent) return sdkErr(
|
|
57
|
-
reason: "noRecordedIntent",
|
|
58
|
-
detail: void 0
|
|
59
|
-
}));
|
|
56
|
+
if (!intent) return sdkErr(noRecordedIntent());
|
|
60
57
|
const creditAccount = await slice(sdk, position.creditAccount);
|
|
61
58
|
if (!creditAccount) return sdkErr(creditAccountNotFound(position.creditAccount));
|
|
62
59
|
return finalized(await service(sdk).finishIntent({
|
|
@@ -348,7 +345,7 @@ var PrepareApi = class extends MultichainConstruct {
|
|
|
348
345
|
/**
|
|
349
346
|
* Shared path of the two flows that sell a position asset, and therefore
|
|
350
347
|
* have two routes to offer: one account read, one intent, both routes
|
|
351
|
-
* quoted. Every
|
|
348
|
+
* quoted. Every error, the crash wrap included, carries `errors` so a
|
|
352
349
|
* form can say which routes were ruled out and why.
|
|
353
350
|
*
|
|
354
351
|
* @typeParam X - The codes the calling flow can raise beyond the shared
|
|
@@ -451,43 +448,39 @@ function toClaimableWithdrawal(claimable) {
|
|
|
451
448
|
};
|
|
452
449
|
}
|
|
453
450
|
/**
|
|
454
|
-
* The engine's
|
|
451
|
+
* The engine's error as one flow's failure half.
|
|
455
452
|
*
|
|
456
|
-
* The engine answers with the open union of every
|
|
453
|
+
* The engine answers with the open union of every error it can raise
|
|
457
454
|
* anywhere; which of them a given flow actually reaches is the engine trace
|
|
458
455
|
* written into the public signatures. This cast is the one place the open
|
|
459
456
|
* union is narrowed onto them — a code added to or removed from a flow has to
|
|
460
457
|
* move its signature, which `types.test-d.ts` pins.
|
|
461
458
|
**/
|
|
462
|
-
function
|
|
463
|
-
return
|
|
459
|
+
function methodError(result) {
|
|
460
|
+
return result;
|
|
464
461
|
}
|
|
465
462
|
/**
|
|
466
|
-
* A flow with two routes,
|
|
463
|
+
* A flow with two routes, stopped before either could be quoted: the error is
|
|
467
464
|
* the same one any other flow would report, with nothing to say about the
|
|
468
465
|
* routes because neither was reached.
|
|
469
466
|
**/
|
|
470
467
|
function neitherRoute(error) {
|
|
471
468
|
return sdkErr({
|
|
472
469
|
...error,
|
|
473
|
-
|
|
474
|
-
instant: void 0,
|
|
475
|
-
delayed: void 0
|
|
476
|
-
}
|
|
470
|
+
errors: {}
|
|
477
471
|
});
|
|
478
472
|
}
|
|
479
473
|
/**
|
|
480
474
|
* The engine's answer, as the envelope the namespace speaks in: what the
|
|
481
475
|
* operation comes to under `data`, stamped with the block it was computed
|
|
482
|
-
* from, or the
|
|
483
|
-
* {@link refusal}.
|
|
476
|
+
* from, or the error carrying its own numbers.
|
|
484
477
|
*
|
|
485
478
|
* The engine keeps its `ok` union — it is the shape the planners, the guards
|
|
486
479
|
* and their tests are written against — and the boundary is the one place the
|
|
487
480
|
* two vocabularies meet.
|
|
488
481
|
**/
|
|
489
482
|
function planned(result, at) {
|
|
490
|
-
if (!result.ok) return
|
|
483
|
+
if (!result.ok) return methodError(result);
|
|
491
484
|
const { operations, state, calls } = result;
|
|
492
485
|
return sdkOk({
|
|
493
486
|
operations,
|
|
@@ -503,7 +496,7 @@ function planned(result, at) {
|
|
|
503
496
|
* built on finished the withdrawal, or left part of it queued for another one.
|
|
504
497
|
**/
|
|
505
498
|
function finalized(result, at) {
|
|
506
|
-
if (!result.ok) return
|
|
499
|
+
if (!result.ok) return methodError(result);
|
|
507
500
|
const { operations, state, calls, remainder } = result;
|
|
508
501
|
return sdkOk({
|
|
509
502
|
operations,
|
|
@@ -520,24 +513,24 @@ function opened(result, at) {
|
|
|
520
513
|
return result.ok ? sdkOk({
|
|
521
514
|
state: result.state,
|
|
522
515
|
...at
|
|
523
|
-
}) :
|
|
516
|
+
}) : methodError(result);
|
|
524
517
|
}
|
|
525
518
|
/**
|
|
526
519
|
* {@inheritDoc planned}
|
|
527
520
|
*
|
|
528
|
-
* Both routes are payload,
|
|
521
|
+
* Both routes are payload, error and all: `errors` says why a missing one is
|
|
529
522
|
* missing, and it stays on the error when neither route answered, since that is
|
|
530
523
|
* the same question asked of a request that has no viable half at all.
|
|
531
524
|
**/
|
|
532
525
|
function routed(result, at) {
|
|
533
526
|
if (!result.ok) {
|
|
534
|
-
const {
|
|
527
|
+
const { errors, error } = result;
|
|
535
528
|
return sdkErr({
|
|
536
|
-
...
|
|
537
|
-
|
|
529
|
+
...error,
|
|
530
|
+
errors
|
|
538
531
|
});
|
|
539
532
|
}
|
|
540
|
-
const { instant, delayed,
|
|
533
|
+
const { instant, delayed, errors } = result;
|
|
541
534
|
return sdkOk({
|
|
542
535
|
instant: instant && {
|
|
543
536
|
operations: instant.operations,
|
|
@@ -552,7 +545,7 @@ function routed(result, at) {
|
|
|
552
545
|
delayed: delayed.delayed,
|
|
553
546
|
...at
|
|
554
547
|
},
|
|
555
|
-
|
|
548
|
+
errors,
|
|
556
549
|
...at
|
|
557
550
|
});
|
|
558
551
|
}
|
|
@@ -578,19 +571,16 @@ async function lpState(sdk, pool, wallet, simulation, moved) {
|
|
|
578
571
|
};
|
|
579
572
|
}
|
|
580
573
|
/**
|
|
581
|
-
* A pool route the market does not offer, as the
|
|
574
|
+
* A pool route the market does not offer, as the error a caller reads.
|
|
582
575
|
*
|
|
583
576
|
* `to` is absent where {@link lpRoute} found no output to name at all, which
|
|
584
577
|
* is the usual way of it; both are present where a pair exists but nothing of
|
|
585
578
|
* ours implements it.
|
|
586
579
|
**/
|
|
587
580
|
function unroutable(sdk, from, to) {
|
|
588
|
-
return sdkErr(
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
from: toToken(sdk, from),
|
|
592
|
-
to: to === void 0 ? void 0 : toToken(sdk, to)
|
|
593
|
-
}
|
|
581
|
+
return sdkErr(unsupportedTokenPair({
|
|
582
|
+
from: toToken(sdk, from),
|
|
583
|
+
to: to === void 0 ? void 0 : toToken(sdk, to)
|
|
594
584
|
}));
|
|
595
585
|
}
|
|
596
586
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, unexpectedFailure } from "../../model/errors/prepare-errors.js";
|
|
2
|
+
import "../../model/index.js";
|
|
3
3
|
import { PrepareApi } from "./PrepareApi.js";
|
|
4
4
|
import "./types.js";
|
|
5
|
-
export {
|
|
5
|
+
export { PrepareApi, creditAccountNotEmpty, creditAccountNotFound, emptyOpenTakesNothing, noStrategyTargetCollateral, unexpectedFailure };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { IntentPreviewError, raise, refuse };
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../../
|
|
1
|
+
import { checkOperation } from "../../onchain/validation/checkOperation.js";
|
|
2
|
+
import { checkSimulation } from "../../onchain/validation/checkSimulation.js";
|
|
3
|
+
import { previewOperation } from "../../onchain/preview/preview/previewOperation.js";
|
|
4
|
+
import "../../onchain/index.js";
|
|
3
5
|
//#region src/sdk/preview/PreviewNamespace.ts
|
|
4
6
|
/**
|
|
5
7
|
* {@inheritDoc IPreview}
|
|
@@ -7,11 +9,9 @@ import "../../preview/index.js";
|
|
|
7
9
|
var PreviewNamespace = class {
|
|
8
10
|
#onchain;
|
|
9
11
|
#ensureFresh;
|
|
10
|
-
#logger;
|
|
11
12
|
constructor(onchain, options) {
|
|
12
13
|
this.#onchain = onchain;
|
|
13
14
|
this.#ensureFresh = options.ensureFresh;
|
|
14
|
-
this.#logger = options.logger?.child?.({ name: "Preview" }) ?? options.logger;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* {@inheritDoc IPreview.previewOperation}
|
|
@@ -19,16 +19,27 @@ var PreviewNamespace = class {
|
|
|
19
19
|
async previewOperation(input, options) {
|
|
20
20
|
await this.#ensureFresh?.([input.chainId]);
|
|
21
21
|
const sdk = this.#onchain.chain(input.chainId);
|
|
22
|
-
return previewOperation(
|
|
22
|
+
return previewOperation(sdk, input, options);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* {@inheritDoc IPreview.checkOperation}
|
|
26
|
+
**/
|
|
27
|
+
async checkOperation(props, options) {
|
|
28
|
+
const { chainId, ...input } = props;
|
|
29
|
+
await this.#ensureFresh?.([chainId]);
|
|
30
|
+
const sdk = this.#onchain.chain(chainId);
|
|
31
|
+
return checkOperation({
|
|
23
32
|
sdk,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
...input
|
|
34
|
+
}, options);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* {@inheritDoc IPreview.checkSimulation}
|
|
38
|
+
**/
|
|
39
|
+
async checkSimulation(props, options) {
|
|
40
|
+
await this.#ensureFresh?.([props.chainId]);
|
|
41
|
+
const sdk = this.#onchain.chain(props.chainId);
|
|
42
|
+
return checkSimulation(sdk, props, options);
|
|
32
43
|
}
|
|
33
44
|
};
|
|
34
45
|
//#endregion
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/abi/rwa/iMidasAccessControl.d.ts
|
|
2
|
+
declare const iMidasAccessControlAbi: readonly [{
|
|
3
|
+
readonly type: "function";
|
|
4
|
+
readonly name: "hasRole";
|
|
5
|
+
readonly inputs: readonly [{
|
|
6
|
+
readonly name: "role";
|
|
7
|
+
readonly type: "bytes32";
|
|
8
|
+
readonly internalType: "bytes32";
|
|
9
|
+
}, {
|
|
10
|
+
readonly name: "account";
|
|
11
|
+
readonly type: "address";
|
|
12
|
+
readonly internalType: "address";
|
|
13
|
+
}];
|
|
14
|
+
readonly outputs: readonly [{
|
|
15
|
+
readonly name: "";
|
|
16
|
+
readonly type: "bool";
|
|
17
|
+
readonly internalType: "bool";
|
|
18
|
+
}];
|
|
19
|
+
readonly stateMutability: "view";
|
|
20
|
+
}];
|
|
21
|
+
//#endregion
|
|
22
|
+
export { iMidasAccessControlAbi };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
//#region src/abi/rwa/iMidasDegenNFT.d.ts
|
|
2
|
+
declare const iMidasDegenNFTAbi: readonly [{
|
|
3
|
+
readonly type: "function";
|
|
4
|
+
readonly name: "accessControl";
|
|
5
|
+
readonly inputs: readonly [];
|
|
6
|
+
readonly outputs: readonly [{
|
|
7
|
+
readonly name: "";
|
|
8
|
+
readonly type: "address";
|
|
9
|
+
readonly internalType: "address";
|
|
10
|
+
}];
|
|
11
|
+
readonly stateMutability: "view";
|
|
12
|
+
}, {
|
|
13
|
+
readonly type: "function";
|
|
14
|
+
readonly name: "burn";
|
|
15
|
+
readonly inputs: readonly [{
|
|
16
|
+
readonly name: "from";
|
|
17
|
+
readonly type: "address";
|
|
18
|
+
readonly internalType: "address";
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "";
|
|
21
|
+
readonly type: "uint256";
|
|
22
|
+
readonly internalType: "uint256";
|
|
23
|
+
}];
|
|
24
|
+
readonly outputs: readonly [];
|
|
25
|
+
readonly stateMutability: "view";
|
|
26
|
+
}, {
|
|
27
|
+
readonly type: "function";
|
|
28
|
+
readonly name: "contractType";
|
|
29
|
+
readonly inputs: readonly [];
|
|
30
|
+
readonly outputs: readonly [{
|
|
31
|
+
readonly name: "";
|
|
32
|
+
readonly type: "bytes32";
|
|
33
|
+
readonly internalType: "bytes32";
|
|
34
|
+
}];
|
|
35
|
+
readonly stateMutability: "view";
|
|
36
|
+
}, {
|
|
37
|
+
readonly type: "function";
|
|
38
|
+
readonly name: "gateway";
|
|
39
|
+
readonly inputs: readonly [];
|
|
40
|
+
readonly outputs: readonly [{
|
|
41
|
+
readonly name: "";
|
|
42
|
+
readonly type: "address";
|
|
43
|
+
readonly internalType: "address";
|
|
44
|
+
}];
|
|
45
|
+
readonly stateMutability: "view";
|
|
46
|
+
}, {
|
|
47
|
+
readonly type: "function";
|
|
48
|
+
readonly name: "greenlistedRole";
|
|
49
|
+
readonly inputs: readonly [];
|
|
50
|
+
readonly outputs: readonly [{
|
|
51
|
+
readonly name: "";
|
|
52
|
+
readonly type: "bytes32";
|
|
53
|
+
readonly internalType: "bytes32";
|
|
54
|
+
}];
|
|
55
|
+
readonly stateMutability: "view";
|
|
56
|
+
}, {
|
|
57
|
+
readonly type: "function";
|
|
58
|
+
readonly name: "serialize";
|
|
59
|
+
readonly inputs: readonly [];
|
|
60
|
+
readonly outputs: readonly [{
|
|
61
|
+
readonly name: "";
|
|
62
|
+
readonly type: "bytes";
|
|
63
|
+
readonly internalType: "bytes";
|
|
64
|
+
}];
|
|
65
|
+
readonly stateMutability: "view";
|
|
66
|
+
}, {
|
|
67
|
+
readonly type: "function";
|
|
68
|
+
readonly name: "version";
|
|
69
|
+
readonly inputs: readonly [];
|
|
70
|
+
readonly outputs: readonly [{
|
|
71
|
+
readonly name: "";
|
|
72
|
+
readonly type: "uint256";
|
|
73
|
+
readonly internalType: "uint256";
|
|
74
|
+
}];
|
|
75
|
+
readonly stateMutability: "view";
|
|
76
|
+
}, {
|
|
77
|
+
readonly type: "error";
|
|
78
|
+
readonly name: "NotGreenlistedException";
|
|
79
|
+
readonly inputs: readonly [];
|
|
80
|
+
}];
|
|
81
|
+
//#endregion
|
|
82
|
+
export { iMidasDegenNFTAbi };
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { AddressMap } from "../onchain/utils/AddressMap.js";
|
|
2
|
+
import { TokenTransfer } from "../onchain/market/adapters/transfers.js";
|
|
2
3
|
import { ChainContractsRegister } from "../onchain/base/ChainContractsRegister.js";
|
|
3
4
|
import "../onchain/index.js";
|
|
4
|
-
import {
|
|
5
|
-
import "
|
|
6
|
-
import
|
|
7
|
-
import { FacadeParsedCall } from "../preview/trace/types.js";
|
|
8
|
-
import "../preview/trace/index.js";
|
|
5
|
+
import { WithdrawCollateralEventInfo } from "./trace/extractTransfers.js";
|
|
6
|
+
import { FacadeParsedCall } from "./trace/types.js";
|
|
7
|
+
import "./trace/index.js";
|
|
9
8
|
import { HistoryFacadeMetadata, OuterFacadeOperation } from "./types.js";
|
|
10
9
|
import { Address } from "viem";
|
|
11
10
|
//#region src/history/assembleOperations.d.ts
|