@gearbox-protocol/sdk 15.0.0 → 15.1.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/_virtual/_rolldown/runtime.js +23 -0
- package/dist/cjs/abi/310/configure/creditSuiteParams.js +99 -124
- package/dist/cjs/abi/310/configure/iCreditConfigureActions.js +222 -179
- package/dist/cjs/abi/310/configure/iPoolConfigureActions.js +74 -78
- package/dist/cjs/abi/310/configure/iPriceOracleConfigureActions.js +33 -49
- package/dist/cjs/abi/310/crossChainMultisig.js +827 -538
- package/dist/cjs/abi/310/generated.js +8015 -5352
- package/dist/cjs/abi/310/iBytecodeRepository.js +1295 -895
- package/dist/cjs/abi/310/iLinearInterestRateModelV310.js +132 -90
- package/dist/cjs/abi/310/iMarketConfiguratorFactory.js +246 -187
- package/dist/cjs/abi/310/iPriceFeedStore.js +586 -415
- package/dist/cjs/abi/310/iTreasurySplitter.js +430 -498
- package/dist/cjs/abi/310/instanceManager.js +375 -272
- package/dist/cjs/abi/AccountMigrator.js +271 -323
- package/dist/cjs/abi/ILiquidationCompressorV313.js +174 -0
- package/dist/cjs/abi/IWithdrawalCompressorV310.js +379 -313
- package/dist/cjs/abi/IWithdrawalCompressorV311.js +384 -313
- package/dist/cjs/abi/IWithdrawalCompressorV313.js +756 -0
- package/dist/cjs/abi/compressors/creditAccountCompressor.js +1031 -454
- package/dist/cjs/abi/compressors/creditSuiteCompressor.js +1013 -772
- package/dist/cjs/abi/compressors/defillamaCompressor.js +236 -181
- package/dist/cjs/abi/compressors/gaugeCompressor.js +279 -182
- package/dist/cjs/abi/compressors/liquidationCompressor.js +343 -235
- package/dist/cjs/abi/compressors/marketCompressor.js +3161 -2475
- package/dist/cjs/abi/compressors/peripheryCompressor.js +262 -200
- package/dist/cjs/abi/compressors/priceFeedCompressor.js +853 -579
- package/dist/cjs/abi/compressors/rewardsCompressor.js +83 -80
- package/dist/cjs/abi/compressors/rwaCompressor.js +279 -205
- package/dist/cjs/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +177 -122
- package/dist/cjs/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +177 -122
- package/dist/cjs/abi/compressors/subcompressors/rwa/onDemandRWAUnderlyingSubcompressor.js +56 -58
- package/dist/cjs/abi/compressors/subcompressors/rwa/securitizeRWAFactorySubcompressor.js +94 -78
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/infinifiWithdrawalSubcompressor.js +272 -186
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/kelpLRTWithdrawalSubcompressor.js +272 -186
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowFlexibleDepositSubcompressor.js +267 -185
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowFlexibleRedeemSubcompressor.js +267 -185
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +512 -314
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +532 -318
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +532 -318
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/upshiftWithdrawalSubcompressor.js +272 -186
- package/dist/cjs/abi/compressors/tokenCompressor.js +120 -93
- package/dist/cjs/abi/compressors/withdrawalCompressor.js +925 -560
- package/dist/cjs/abi/errors.js +812 -398
- package/dist/cjs/abi/governance/batchesChain.js +37 -66
- package/dist/cjs/abi/governance/governor.js +679 -470
- package/dist/cjs/abi/governance/iTimeLock.js +392 -255
- package/dist/cjs/abi/helpers/redemptionLogger.js +195 -158
- package/dist/cjs/abi/iAirdropDistributor.js +135 -124
- package/dist/cjs/abi/iBaseRewardPool.js +427 -270
- package/dist/cjs/abi/iCurvePool.js +25 -43
- package/dist/cjs/abi/iDefaultAccountFactoryV3.js +201 -192
- package/dist/cjs/abi/iDegenNFTV2.js +426 -280
- package/dist/cjs/abi/iERC20.js +197 -143
- package/dist/cjs/abi/iERC20Permit.js +73 -56
- package/dist/cjs/abi/iERC20Zapper.js +7 -33
- package/dist/cjs/abi/iERC20ZapperDeposits.js +238 -120
- package/dist/cjs/abi/iETHZapper.js +6 -30
- package/dist/cjs/abi/iETHZapperDeposits.js +37 -50
- package/dist/cjs/abi/iExpirable.js +15 -0
- package/dist/cjs/abi/iFarmingPool.js +332 -250
- package/dist/cjs/abi/iInterestRateModel.js +33 -46
- package/dist/cjs/abi/iMulticall3.js +368 -263
- package/dist/cjs/abi/iOffchainOracle.js +49 -54
- package/dist/cjs/abi/iPausable.js +37 -60
- package/dist/cjs/abi/iPhantomToken.js +19 -0
- package/dist/cjs/abi/iPriceFeed.js +103 -82
- package/dist/cjs/abi/iRedemptionLoggerV310.js +147 -0
- package/dist/cjs/abi/iStateSerializer.js +15 -36
- package/dist/cjs/abi/iUpdatablePriceFeed.js +25 -43
- package/dist/cjs/abi/iVersion.js +25 -55
- package/dist/cjs/abi/iZapper.js +219 -105
- package/dist/cjs/abi/ierc4626Adapter.js +205 -0
- package/dist/cjs/abi/mellow.js +4458 -2930
- package/dist/cjs/abi/migration.js +822 -671
- package/dist/cjs/abi/router/balancerV2Worker.js +1170 -728
- package/dist/cjs/abi/router/balancerV3Worker.js +1170 -732
- package/dist/cjs/abi/router/balancerV3WrapperWorker.js +883 -539
- package/dist/cjs/abi/router/camelotV3Worker.js +913 -556
- package/dist/cjs/abi/router/convexWorker.js +883 -539
- package/dist/cjs/abi/router/curveWorker.js +1155 -716
- package/dist/cjs/abi/router/daiUsdsWorker.js +883 -539
- package/dist/cjs/abi/router/equalizerRouterWorker.js +883 -539
- package/dist/cjs/abi/router/erc4626Worker.js +929 -570
- package/dist/cjs/abi/router/fluidDexWorker.js +898 -549
- package/dist/cjs/abi/router/gearboxRouter.js +1056 -649
- package/dist/cjs/abi/router/infinifiWorker.js +883 -539
- package/dist/cjs/abi/router/infraredVaultWorker.js +883 -539
- package/dist/cjs/abi/router/kelpLRTDepositPoolWorker.js +883 -539
- package/dist/cjs/abi/router/kodiakWorker.js +1177 -730
- package/dist/cjs/abi/router/lidoWorker.js +883 -539
- package/dist/cjs/abi/router/mellow4626Worker.js +913 -556
- package/dist/cjs/abi/router/mellowDVVWorker.js +883 -539
- package/dist/cjs/abi/router/mellowVaultWorker.js +898 -549
- package/dist/cjs/abi/router/midasWorker.js +883 -539
- package/dist/cjs/abi/router/pendleRouterWorker.js +898 -549
- package/dist/cjs/abi/router/routingManager.js +593 -395
- package/dist/cjs/abi/router/securitizeOnrampWorker.js +883 -539
- package/dist/cjs/abi/router/stakingRewardsWorker.js +883 -539
- package/dist/cjs/abi/router/traderJoeWorker.js +883 -539
- package/dist/cjs/abi/router/uniswapV2Worker.js +883 -539
- package/dist/cjs/abi/router/uniswapV3Worker.js +939 -566
- package/dist/cjs/abi/router/uniswapV4Worker.js +935 -572
- package/dist/cjs/abi/router/upshiftWorker.js +883 -539
- package/dist/cjs/abi/router/velodromeV2Worker.js +883 -539
- package/dist/cjs/abi/router/wstETHWorker.js +883 -539
- package/dist/cjs/abi/router/yearnV2Worker.js +883 -539
- package/dist/cjs/abi/rwa/iDSRegistryService.js +460 -412
- package/dist/cjs/abi/rwa/iDSToken.js +1734 -1956
- package/dist/cjs/abi/rwa/iMidasLiquidatorV311.js +96 -0
- package/dist/cjs/abi/rwa/iRWACompressor.js +270 -194
- package/dist/cjs/abi/rwa/iRWAFactory.js +154 -120
- package/dist/cjs/abi/rwa/iRWAGateway.js +19 -0
- package/dist/cjs/abi/rwa/iRWAUnderlying.js +619 -399
- package/dist/cjs/abi/rwa/iSecuritizeDegenNFT.js +453 -324
- package/dist/cjs/abi/rwa/iSecuritizeLiquidatorV311.js +111 -0
- package/dist/cjs/abi/rwa/iSecuritizeRWAFactory.js +506 -364
- package/dist/cjs/common-utils/axios-cache/AxiosCache.js +97 -130
- package/dist/cjs/common-utils/axios-cache/index.js +3 -22
- package/dist/cjs/common-utils/charts/credit-manager-payload.js +1 -16
- package/dist/cjs/common-utils/charts/credit-manager.js +99 -133
- package/dist/cjs/common-utils/charts/credit-session.js +208 -254
- package/dist/cjs/common-utils/charts/credit-sessions-payload.js +1 -16
- package/dist/cjs/common-utils/charts/graph-payload.js +1 -16
- package/dist/cjs/common-utils/charts/index.js +18 -36
- package/dist/cjs/common-utils/charts/pool-payload.js +1 -16
- package/dist/cjs/common-utils/charts/pool.js +175 -197
- package/dist/cjs/common-utils/charts/token-data.js +66 -89
- package/dist/cjs/common-utils/index.js +209 -28
- package/dist/cjs/common-utils/static/index.js +5 -28
- package/dist/cjs/common-utils/static/migration-config.js +1 -16
- package/dist/cjs/common-utils/static/pool-config.js +1 -16
- package/dist/cjs/common-utils/static/strategy.js +1 -16
- package/dist/cjs/common-utils/static/trading-pair.js +1 -16
- package/dist/cjs/common-utils/test-utils/index.js +86 -121
- package/dist/cjs/common-utils/utils/apy/bonus-apy-from-points.js +4 -27
- package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +20 -57
- package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +33 -31
- package/dist/cjs/common-utils/utils/apy/calculate-earnings.js +22 -58
- package/dist/cjs/common-utils/utils/apy/calculate-earnings.spec.js +67 -61
- package/dist/cjs/common-utils/utils/apy/calculate-effective-borrow-rate.js +7 -34
- package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.js +19 -54
- package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +38 -38
- package/dist/cjs/common-utils/utils/apy/get-complex-apy-list.js +16 -43
- package/dist/cjs/common-utils/utils/apy/get-rate-with-fee.js +14 -29
- package/dist/cjs/common-utils/utils/apy/get-safe-base-borrow-rate.js +12 -36
- package/dist/cjs/common-utils/utils/apy/get-single-quota-borrow-rate.js +12 -31
- package/dist/cjs/common-utils/utils/apy/index.js +21 -40
- package/dist/cjs/common-utils/utils/apy/max-apy-formula.js +13 -39
- package/dist/cjs/common-utils/utils/assets-math.js +184 -215
- package/dist/cjs/common-utils/utils/constants.js +6 -31
- package/dist/cjs/common-utils/utils/creditAccount/calc-health-factor.js +37 -74
- package/dist/cjs/common-utils/utils/creditAccount/calc-overall-apy.js +45 -80
- package/dist/cjs/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +19 -41
- package/dist/cjs/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.js +15 -33
- package/dist/cjs/common-utils/utils/creditAccount/debt.js +44 -62
- package/dist/cjs/common-utils/utils/creditAccount/get-time-to-liquidation.js +20 -37
- package/dist/cjs/common-utils/utils/creditAccount/index.js +27 -40
- package/dist/cjs/common-utils/utils/creditAccount/liquidation-price.js +28 -46
- package/dist/cjs/common-utils/utils/creditAccount/quota-utils.js +136 -142
- package/dist/cjs/common-utils/utils/creditAccount/sort.js +85 -85
- package/dist/cjs/common-utils/utils/creditAccount/types.js +1 -16
- package/dist/cjs/common-utils/utils/index.js +194 -36
- package/dist/cjs/common-utils/utils/price-math.js +50 -65
- package/dist/cjs/common-utils/utils/strategies/assets/assets.js +5 -28
- package/dist/cjs/common-utils/utils/strategies/assets/index.js +3 -22
- package/dist/cjs/common-utils/utils/strategies/availability/check-boolean.js +8 -31
- package/dist/cjs/common-utils/utils/strategies/availability/check-degen-nft.js +11 -33
- package/dist/cjs/common-utils/utils/strategies/availability/index.js +5 -24
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +22 -61
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +108 -108
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.js +29 -64
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +13 -35
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +20 -49
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +28 -74
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +93 -91
- package/dist/cjs/common-utils/utils/strategies/credit-managers/index.js +13 -32
- package/dist/cjs/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +7 -29
- package/dist/cjs/common-utils/utils/strategies/eligibility/index.js +5 -24
- package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +17 -43
- package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-released.js +6 -29
- package/dist/cjs/common-utils/utils/strategies/index.js +118 -44
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-loss-coefficient.js +8 -29
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +14 -43
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +19 -61
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +303 -329
- package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +9 -33
- package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +29 -29
- package/dist/cjs/common-utils/utils/strategies/leverage/get-factor-from-leverage.js +7 -29
- package/dist/cjs/common-utils/utils/strategies/leverage/get-leverage-from-factor.js +7 -29
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.js +46 -84
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +221 -226
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +6 -32
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +18 -22
- package/dist/cjs/common-utils/utils/strategies/leverage/index.js +21 -40
- package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage-threshold.js +14 -39
- package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage.js +16 -34
- package/dist/cjs/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +14 -37
- package/dist/cjs/common-utils/utils/strategies/lists/get-available-strategies.js +30 -45
- package/dist/cjs/common-utils/utils/strategies/lists/get-disabled-strategies.js +31 -46
- package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list-core.js +23 -59
- package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list.js +14 -36
- package/dist/cjs/common-utils/utils/strategies/lists/index.js +7 -26
- package/dist/cjs/common-utils/utils/strategies/points/get-complex-points-list.js +13 -36
- package/dist/cjs/common-utils/utils/strategies/points/get-points-info.js +11 -42
- package/dist/cjs/common-utils/utils/strategies/points/get-points-rates.js +6 -31
- package/dist/cjs/common-utils/utils/strategies/points/get-strategy-points.js +37 -77
- package/dist/cjs/common-utils/utils/strategies/points/index.js +9 -28
- package/dist/cjs/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.js +3 -22
- package/dist/cjs/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.js +17 -63
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +62 -111
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +182 -181
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.js +36 -72
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +125 -130
- package/dist/cjs/common-utils/utils/strategies/strategy-info/cm-availability-condition.js +41 -62
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +307 -409
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +266 -273
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-info-core.js +67 -127
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-info.js +30 -71
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.js +64 -94
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +57 -107
- package/dist/cjs/common-utils/utils/strategies/strategy-info/index.js +20 -40
- package/dist/cjs/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +7 -31
- package/dist/cjs/common-utils/utils/strategies/strategy-info/types.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/strategy-state/index.js +3 -22
- package/dist/cjs/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +11 -35
- package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.js +16 -39
- package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +28 -37
- package/dist/cjs/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +8 -33
- package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +11 -41
- package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +36 -31
- package/dist/cjs/common-utils/utils/strategies/tokens/get-native-token-address.js +5 -28
- package/dist/cjs/common-utils/utils/strategies/tokens/index.js +26 -44
- package/dist/cjs/common-utils/utils/strategies/tokens/is-activated-token.js +8 -35
- package/dist/cjs/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +7 -33
- package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.js +27 -58
- package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +140 -132
- package/dist/cjs/common-utils/utils/strategies/tokens/is-forbidden-token.js +6 -32
- package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.js +12 -41
- package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +146 -160
- package/dist/cjs/common-utils/utils/strategies/tokens/is-usable-token.js +13 -30
- package/dist/cjs/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +21 -50
- package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.js +6 -31
- package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +14 -12
- package/dist/cjs/common-utils/utils/strategies/types/chains.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/credit-manager-data-legacy.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/curator-filter.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/index.js +14 -44
- package/dist/cjs/common-utils/utils/strategies/types/legacy-strategy-data-source.js +25 -57
- package/dist/cjs/common-utils/utils/strategies/types/points-slices.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/sdk-state.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/strategies-cm-list.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/strategy-data-source.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/strategy-data.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/strategy-earnings.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/strategy.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types/targetable.js +1 -16
- package/dist/cjs/common-utils/utils/strategies/types.js +4 -22
- package/dist/cjs/common-utils/utils/trace.js +99 -0
- package/dist/cjs/common-utils/utils/validation/index.js +23 -42
- package/dist/cjs/common-utils/utils/validation/is-zero-balance.js +5 -28
- package/dist/cjs/common-utils/utils/validation/validate-balance.js +21 -46
- package/dist/cjs/common-utils/utils/validation/validate-balance.spec.js +53 -51
- package/dist/cjs/common-utils/utils/validation/validate-balances.js +16 -43
- package/dist/cjs/common-utils/utils/validation/validate-balances.spec.js +44 -36
- package/dist/cjs/common-utils/utils/validation/validate-credit-manager.js +7 -33
- package/dist/cjs/common-utils/utils/validation/validate-credit-manager.spec.js +35 -35
- package/dist/cjs/common-utils/utils/validation/validate-hf.js +8 -36
- package/dist/cjs/common-utils/utils/validation/validate-hf.spec.js +25 -23
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.js +12 -35
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +28 -42
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.js +35 -74
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.spec.js +95 -95
- package/dist/cjs/common-utils/utils/validation/validate-open-account.js +16 -39
- package/dist/cjs/common-utils/utils/validation/validate-open-account.spec.js +54 -52
- package/dist/cjs/common-utils/utils/validation/validate-quota.js +21 -47
- package/dist/cjs/common-utils/utils/validation/validate-quota.spec.js +86 -77
- package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.js +17 -41
- package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.spec.js +35 -34
- package/dist/cjs/common-utils/utils/validation/validation-types.js +1 -16
- package/dist/cjs/dev/AccountOpener.js +685 -907
- package/dist/cjs/dev/EthCallSpy.js +55 -93
- package/dist/cjs/dev/RevolverTransport.js +302 -363
- package/dist/cjs/dev/abi.js +207 -245
- package/dist/cjs/dev/calcLiquidatableLTs.js +48 -77
- package/dist/cjs/dev/claimFromFaucet.js +66 -108
- package/dist/cjs/dev/create2.js +90 -113
- package/dist/cjs/dev/createAnvilClient.js +81 -106
- package/dist/cjs/dev/detectChain.js +20 -39
- package/dist/cjs/dev/index.js +90 -73
- package/dist/cjs/dev/isOutOfSyncError.js +22 -54
- package/dist/cjs/dev/isRateLimitError.js +35 -74
- package/dist/cjs/dev/isTransientError.js +38 -85
- package/dist/cjs/dev/kycUtils.js +369 -0
- package/dist/cjs/dev/logSplitterTransport.js +210 -142
- package/dist/cjs/dev/ltUtils.js +71 -104
- package/dist/cjs/dev/midasUtils.js +204 -0
- package/dist/cjs/dev/migrateFaucet.js +69 -80
- package/dist/cjs/dev/mint/AbstractMinter.js +63 -78
- package/dist/cjs/dev/mint/DealMinter.js +18 -53
- package/dist/cjs/dev/mint/DirectMinter.js +22 -64
- package/dist/cjs/dev/mint/FallbackMinter.js +21 -56
- package/dist/cjs/dev/mint/TransferMinter.js +35 -80
- package/dist/cjs/dev/mint/factory.js +13 -36
- package/dist/cjs/dev/mint/index.js +4 -24
- package/dist/cjs/dev/mint/types.js +1 -16
- package/dist/cjs/dev/providers.js +151 -156
- package/dist/cjs/dev/replaceStorage.js +48 -75
- package/dist/cjs/dev/resilientTransport.js +76 -101
- package/dist/cjs/dev/securitizeUtils.js +259 -0
- package/dist/cjs/dev/transports.js +37 -70
- package/dist/cjs/dev/types.js +1 -16
- package/dist/cjs/dev/verifyTestnet.js +35 -0
- package/dist/cjs/dev/withdrawalAbi.js +1836 -0
- package/dist/cjs/dev/withdrawalUtils.js +279 -0
- package/dist/cjs/history/assembleOperations.js +86 -109
- package/dist/cjs/history/classifyMulticallOperations.js +126 -167
- package/dist/cjs/history/index.js +11 -39
- package/dist/cjs/history/mapOperations.js +39 -73
- package/dist/cjs/history/parseCreditAccountTransaction.js +48 -86
- package/dist/cjs/history/populateContractsRegister.js +34 -66
- package/dist/cjs/history/toLegacyOperation.js +141 -174
- package/dist/cjs/history/types.js +1 -16
- package/dist/cjs/model/curators.js +1 -0
- package/dist/cjs/model/curators.schema.js +38 -0
- package/dist/cjs/model/filters.js +16 -0
- package/dist/cjs/model/filters.schema.js +32 -0
- package/dist/cjs/model/history.js +53 -0
- package/dist/cjs/model/history.schema.js +128 -0
- package/dist/cjs/model/index.js +114 -0
- package/dist/cjs/model/liquidations.js +25 -0
- package/dist/cjs/model/liquidations.schema.js +94 -0
- package/dist/cjs/model/opportunities.js +57 -0
- package/dist/cjs/model/opportunities.schema.js +264 -0
- package/dist/cjs/model/package.json +1 -0
- package/dist/cjs/model/positions.js +92 -0
- package/dist/cjs/model/positions.schema.js +181 -0
- package/dist/cjs/model/primitives.js +1 -0
- package/dist/cjs/model/primitives.schema.js +77 -0
- package/dist/cjs/model/response.js +1 -0
- package/dist/cjs/model/response.schema.js +64 -0
- package/dist/cjs/new-sdk/AbstractNamespace.js +76 -0
- package/dist/cjs/new-sdk/GearboxSDK.js +144 -0
- package/dist/cjs/new-sdk/errors/AllSourcesFailedError.js +20 -0
- package/dist/cjs/new-sdk/errors/MissingSourceError.js +25 -0
- package/dist/cjs/new-sdk/errors/NoSourceServedError.js +20 -0
- package/dist/cjs/new-sdk/errors/SourceChainMismatchError.js +34 -0
- package/dist/cjs/new-sdk/errors/SourceUnavailableError.js +25 -0
- package/dist/cjs/new-sdk/errors/assertSameChains.js +12 -0
- package/dist/cjs/new-sdk/errors/everyChainFailed.js +11 -0
- package/dist/cjs/new-sdk/errors/index.js +15 -0
- package/dist/cjs/new-sdk/index.js +34 -0
- package/dist/cjs/new-sdk/opportunities/OpportunitiesNamespace.js +70 -0
- package/dist/cjs/new-sdk/opportunities/index.js +4 -0
- package/dist/cjs/new-sdk/opportunities/types.js +1 -0
- package/dist/cjs/new-sdk/package.json +1 -0
- package/dist/cjs/new-sdk/positions/PositionsNamespace.js +52 -0
- package/dist/cjs/new-sdk/positions/index.js +4 -0
- package/dist/cjs/new-sdk/positions/types.js +1 -0
- package/dist/cjs/new-sdk/types.js +1 -0
- package/dist/cjs/new-sdk/utils/filterResponse.js +12 -0
- package/dist/cjs/new-sdk/utils/history.js +1 -0
- package/dist/cjs/new-sdk/utils/index.js +8 -0
- package/dist/cjs/new-sdk/utils/mergeChains.js +76 -0
- package/dist/cjs/new-sdk/utils/types.js +1 -0
- package/dist/cjs/offchain/AbstractOffchainNamespace.js +109 -0
- package/dist/cjs/offchain/GearboxAPI.js +44 -0
- package/dist/cjs/offchain/errors/OffchainInvalidJsonError.js +19 -0
- package/dist/cjs/offchain/errors/OffchainNotConfiguredError.js +20 -0
- package/dist/cjs/offchain/errors/OffchainNotImplementedError.js +19 -0
- package/dist/cjs/offchain/errors/OffchainRequestFailedError.js +24 -0
- package/dist/cjs/offchain/errors/OffchainStatusError.js +20 -0
- package/dist/cjs/offchain/errors/OffchainTransportError.js +31 -0
- package/dist/cjs/offchain/errors/OffchainValidationError.js +26 -0
- package/dist/cjs/offchain/errors/backendMessage.js +28 -0
- package/dist/cjs/offchain/errors/errorCause.js +12 -0
- package/dist/cjs/offchain/errors/index.js +21 -0
- package/dist/cjs/offchain/errors/readResponseBody.js +15 -0
- package/dist/cjs/offchain/index.js +33 -0
- package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +67 -0
- package/dist/cjs/offchain/opportunities/index.js +3 -0
- package/dist/cjs/offchain/package.json +1 -0
- package/dist/cjs/offchain/positions/OffchainPositions.js +44 -0
- package/dist/cjs/offchain/positions/index.js +3 -0
- package/dist/cjs/offchain/types.js +1 -0
- package/dist/cjs/permissionless/bindings/address-provider.js +21 -48
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +424 -507
- package/dist/cjs/permissionless/bindings/compressors/index.js +5 -24
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +80 -112
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +30 -49
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +269 -337
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +31 -54
- package/dist/cjs/permissionless/bindings/factory/credit-factory.js +152 -196
- package/dist/cjs/permissionless/bindings/factory/loss-policy-factory.js +39 -64
- package/dist/cjs/permissionless/bindings/factory/pool-factory.js +40 -68
- package/dist/cjs/permissionless/bindings/factory/price-oracle-factory.js +22 -46
- package/dist/cjs/permissionless/bindings/factory/rate-keeper-factory.js +11 -34
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +21 -40
- package/dist/cjs/permissionless/bindings/governance/governor.js +189 -229
- package/dist/cjs/permissionless/bindings/governance/index.js +6 -26
- package/dist/cjs/permissionless/bindings/governance/timelock.js +77 -103
- package/dist/cjs/permissionless/bindings/governance/types.js +1 -16
- package/dist/cjs/permissionless/bindings/index.js +34 -46
- package/dist/cjs/permissionless/bindings/instance-manager.js +217 -270
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +47 -74
- package/dist/cjs/permissionless/bindings/market-configurator.js +640 -781
- package/dist/cjs/permissionless/bindings/price-feed-store.js +305 -386
- package/dist/cjs/permissionless/bindings/pricefeeds/balancer-stable.js +40 -61
- package/dist/cjs/permissionless/bindings/pricefeeds/balancer-weighted.js +40 -61
- package/dist/cjs/permissionless/bindings/pricefeeds/bounded.js +28 -45
- package/dist/cjs/permissionless/bindings/pricefeeds/composite.js +21 -41
- package/dist/cjs/permissionless/bindings/pricefeeds/constant.js +20 -40
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-crypto.js +44 -65
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-stable.js +44 -65
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-twap.js +54 -68
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-usd.js +25 -48
- package/dist/cjs/permissionless/bindings/pricefeeds/erc4626.js +42 -70
- package/dist/cjs/permissionless/bindings/pricefeeds/external.js +11 -36
- package/dist/cjs/permissionless/bindings/pricefeeds/index.js +38 -61
- package/dist/cjs/permissionless/bindings/pricefeeds/kodiak.js +28 -48
- package/dist/cjs/permissionless/bindings/pricefeeds/mellow-lrt.js +93 -120
- package/dist/cjs/permissionless/bindings/pricefeeds/pendle-pt-twap.js +26 -49
- package/dist/cjs/permissionless/bindings/pricefeeds/pyth.js +41 -63
- package/dist/cjs/permissionless/bindings/pricefeeds/redstone.js +59 -79
- package/dist/cjs/permissionless/bindings/pricefeeds/wsteth.js +36 -61
- package/dist/cjs/permissionless/bindings/pricefeeds/zero.js +8 -31
- package/dist/cjs/permissionless/bindings/router/index.js +3 -22
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +30 -49
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +109 -123
- package/dist/cjs/permissionless/bindings/types.js +10 -33
- package/dist/cjs/permissionless/chains/archive-transport.js +195 -258
- package/dist/cjs/permissionless/chains/chunked-log-transport.js +92 -119
- package/dist/cjs/permissionless/core/auditor.js +1 -16
- package/dist/cjs/permissionless/core/bytecode.js +1 -16
- package/dist/cjs/permissionless/core/index.js +8 -32
- package/dist/cjs/permissionless/core/pricefeed-builder.js +1 -16
- package/dist/cjs/permissionless/core/pricefeed.js +1 -16
- package/dist/cjs/permissionless/core/proposal.js +1 -16
- package/dist/cjs/permissionless/core/raw-tx.js +10 -36
- package/dist/cjs/permissionless/deployment/addresses.js +13 -36
- package/dist/cjs/permissionless/deployment/mainnet.js +23 -49
- package/dist/cjs/permissionless/index.js +94 -34
- package/dist/cjs/permissionless/plugins/index.js +10 -40
- package/dist/cjs/permissionless/plugins/irm/constructor-params-abi.js +85 -71
- package/dist/cjs/permissionless/plugins/loss-policies/constructor-params-abi.js +64 -71
- package/dist/cjs/permissionless/plugins/rate-keepers/constructor-params-abi.js +73 -79
- package/dist/cjs/permissionless/utils/abi-encoder.js +61 -87
- package/dist/cjs/permissionless/utils/block-utils.js +28 -53
- package/dist/cjs/permissionless/utils/create2.js +63 -98
- package/dist/cjs/permissionless/utils/format.js +36 -77
- package/dist/cjs/permissionless/utils/governance/batch.js +68 -102
- package/dist/cjs/permissionless/utils/governance/index.js +9 -26
- package/dist/cjs/permissionless/utils/governance/timelock-txs.js +18 -42
- package/dist/cjs/permissionless/utils/governance/types.js +1 -16
- package/dist/cjs/permissionless/utils/index.js +50 -36
- package/dist/cjs/permissionless/utils/literals.js +10 -39
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +55 -93
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +38 -78
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +82 -128
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +15 -42
- package/dist/cjs/permissionless/utils/price-update/index.js +11 -28
- package/dist/cjs/permissionless/utils/signature.js +8 -33
- package/dist/cjs/plugins/accounts/AccountsPlugin.js +54 -84
- package/dist/cjs/plugins/accounts/index.js +3 -22
- package/dist/cjs/plugins/accounts-counter/AccountsCounterPlugin.js +74 -112
- package/dist/cjs/plugins/accounts-counter/index.js +3 -22
- package/dist/cjs/plugins/adapters/AdaptersPlugin.js +34 -57
- package/dist/cjs/plugins/adapters/abi/actionAbi.js +61 -126
- package/dist/cjs/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +267 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +374 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +132 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +514 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +298 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +232 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +607 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +607 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +607 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +607 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +151 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iFluidDexAdapter.js +142 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +380 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +398 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +273 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +401 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iLidoV1Adapter.js +124 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +210 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +285 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +173 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +380 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +209 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +525 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1709 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iSecuritizeOnRampAdapterV310.js +121 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js +279 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +219 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +412 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +244 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +444 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +475 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +377 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +286 -0
- package/dist/cjs/plugins/adapters/abi/adapters/index.js +77 -0
- package/dist/cjs/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +132 -0
- package/dist/cjs/plugins/adapters/abi/adapters/mellowDvvAdapter.js +253 -0
- package/dist/cjs/plugins/adapters/abi/conctructorAbi.js +76 -205
- package/dist/cjs/plugins/adapters/abi/conctructorAbiPatterns.js +157 -101
- package/dist/cjs/plugins/adapters/abi/index.js +130 -30
- package/dist/cjs/plugins/adapters/abi/midas/iMidasGatewayV311.js +298 -0
- package/dist/cjs/plugins/adapters/abi/midas/index.js +3 -0
- package/dist/cjs/plugins/adapters/abi/securitize/iBaseOnRamp.js +297 -349
- package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeOnRamp.js +79 -71
- package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js +248 -0
- package/dist/cjs/plugins/adapters/abi/securitize/index.js +7 -32
- package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +9115 -5122
- package/dist/cjs/plugins/adapters/abi/utils.js +68 -74
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +196 -158
- package/dist/cjs/plugins/adapters/contracts/AbstractCurveAdapter.js +43 -0
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +27 -41
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +108 -100
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +64 -61
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +78 -74
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +138 -134
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +126 -108
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +109 -113
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +113 -113
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +114 -118
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +93 -96
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +125 -126
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +89 -80
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +118 -97
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +87 -80
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +70 -68
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +104 -90
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +48 -65
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +58 -60
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +58 -67
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +89 -81
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +56 -63
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +88 -79
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +161 -114
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +60 -61
- package/dist/cjs/plugins/adapters/contracts/MidasGatewayAdapterContract.js +153 -92
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +81 -78
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +121 -109
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +174 -125
- package/dist/cjs/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +70 -70
- package/dist/cjs/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +111 -78
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +127 -106
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +95 -89
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +92 -99
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +156 -195
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +100 -87
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +85 -76
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +87 -80
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +77 -71
- package/dist/cjs/plugins/adapters/contracts/index.js +83 -110
- package/dist/cjs/plugins/adapters/createAdapter.js +97 -136
- package/dist/cjs/plugins/adapters/index.js +228 -34
- package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +1 -16
- package/dist/cjs/plugins/adapters/transferHelpers.js +117 -109
- package/dist/cjs/plugins/adapters/transfers.js +1 -0
- package/dist/cjs/plugins/adapters/types.js +45 -78
- package/dist/cjs/plugins/apy/ApyPlugin.js +247 -330
- package/dist/cjs/plugins/apy/apy-parser.js +123 -163
- package/dist/cjs/plugins/apy/constants.js +6 -30
- package/dist/cjs/plugins/apy/index.js +18 -32
- package/dist/cjs/plugins/apy/pool-apy-types.js +1 -16
- package/dist/cjs/plugins/apy/pool-apy-utils.js +110 -130
- package/dist/cjs/plugins/apy/strategy-data-source.js +162 -194
- package/dist/cjs/plugins/apy/types.js +1 -16
- package/dist/cjs/plugins/bots/BotsPlugin.js +106 -152
- package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +46 -72
- package/dist/cjs/plugins/bots/abi/iPartialLiquidationBotV310.js +223 -162
- package/dist/cjs/plugins/bots/abi/index.js +3 -22
- package/dist/cjs/plugins/bots/config.js +33 -71
- package/dist/cjs/plugins/bots/deserializePartialLiquidationBotParams.js +36 -46
- package/dist/cjs/plugins/bots/index.js +17 -30
- package/dist/cjs/plugins/bots/types.js +25 -34
- package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +60 -107
- package/dist/cjs/plugins/degen-distributors/index.js +4 -24
- package/dist/cjs/plugins/degen-distributors/types.js +1 -16
- package/dist/cjs/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +108 -176
- package/dist/cjs/plugins/delayed-withdrawal/index.js +4 -24
- package/dist/cjs/plugins/delayed-withdrawal/types.js +1 -16
- package/dist/cjs/plugins/remote-configs/CustomConfigSource.js +17 -40
- package/dist/cjs/plugins/remote-configs/RemoteConfigSource.js +24 -54
- package/dist/cjs/plugins/remote-configs/RemoteConfigsPlugin.js +126 -185
- package/dist/cjs/plugins/remote-configs/index.js +8 -28
- package/dist/cjs/plugins/remote-configs/types.js +1 -16
- package/dist/cjs/preview/index.js +79 -0
- package/dist/cjs/preview/package.json +1 -0
- package/dist/cjs/preview/parse/classifyInnerOperations.js +88 -0
- package/dist/cjs/preview/parse/errors.js +33 -0
- package/dist/cjs/preview/parse/index.js +19 -0
- package/dist/cjs/preview/parse/parseFacadeOperationCalldata.js +83 -0
- package/dist/cjs/preview/parse/parseOperationCalldata.js +52 -0
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +68 -0
- package/dist/cjs/preview/parse/parseRWAFactoryOperationCalldata.js +87 -0
- package/dist/cjs/preview/parse/types-adapters.js +1 -0
- package/dist/cjs/preview/parse/types-facades.js +1 -0
- package/dist/cjs/preview/parse/types-pools.js +1 -0
- package/dist/cjs/preview/parse/types-rwa.js +1 -0
- package/dist/cjs/preview/parse/types.js +25 -0
- package/dist/cjs/preview/prerequisites/AllowancePrerequisite.js +38 -0
- package/dist/cjs/preview/prerequisites/BalancePrerequisite.js +52 -0
- package/dist/cjs/preview/prerequisites/Prerequisite.js +52 -0
- package/dist/cjs/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +53 -0
- package/dist/cjs/preview/prerequisites/buildCollateralPrerequisites.js +63 -0
- package/dist/cjs/preview/prerequisites/buildPartialLiquidationPrerequisites.js +19 -0
- package/dist/cjs/preview/prerequisites/buildPoolPrerequisites.js +76 -0
- package/dist/cjs/preview/prerequisites/buildRWAPrerequisites.js +39 -0
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +71 -0
- package/dist/cjs/preview/prerequisites/helpers.js +23 -0
- package/dist/cjs/preview/prerequisites/index.js +12 -0
- package/dist/cjs/preview/prerequisites/types.js +1 -0
- package/dist/cjs/preview/preview/CreditAccountState.js +134 -0
- package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +67 -0
- package/dist/cjs/preview/preview/buildDelayedPreview.js +194 -0
- package/dist/cjs/preview/preview/detectCloseOrRepay.js +40 -0
- package/dist/cjs/preview/preview/detectDelayedClaim.js +46 -0
- package/dist/cjs/preview/preview/detectDelayedOperation.js +49 -0
- package/dist/cjs/preview/preview/errors.js +17 -0
- package/dist/cjs/preview/preview/index.js +34 -0
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +54 -0
- package/dist/cjs/preview/preview/previewCloseOrRepayCreditAccount.js +66 -0
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +57 -0
- package/dist/cjs/preview/preview/previewOperation.js +77 -0
- package/dist/cjs/preview/preview/previewPoolOperation.js +28 -0
- package/dist/cjs/preview/preview/replayInnerOperations.js +146 -0
- package/dist/cjs/preview/preview/replayMulticall.js +19 -0
- package/dist/cjs/preview/preview/types.js +42 -0
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +44 -0
- package/dist/cjs/preview/simulate/errors.js +82 -0
- package/dist/cjs/preview/simulate/index.js +11 -0
- package/dist/cjs/preview/simulate/simulateFacadeOperation.js +15 -0
- package/dist/cjs/preview/simulate/simulateOperation.js +27 -0
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +104 -0
- package/dist/cjs/preview/simulate/simulateRWAOperation.js +15 -0
- package/dist/cjs/preview/simulate/types.js +1 -0
- package/dist/cjs/preview/trace/errors.js +44 -0
- package/dist/cjs/preview/trace/extractAdapterCallTraces.js +73 -0
- package/dist/cjs/preview/trace/extractTransfers.js +162 -0
- package/dist/cjs/preview/trace/findFacadeCalls.js +59 -0
- package/dist/cjs/preview/trace/index.js +14 -0
- package/dist/cjs/preview/trace/types.js +1 -0
- package/dist/cjs/preview/types.js +1 -0
- package/dist/cjs/rewards/apy/index.js +3 -24
- package/dist/cjs/rewards/apy/output-details.js +1 -16
- package/dist/cjs/rewards/apy/output.js +1 -16
- package/dist/cjs/rewards/index.js +8 -24
- package/dist/cjs/rewards/rewards/api.js +69 -107
- package/dist/cjs/rewards/rewards/common.js +1 -16
- package/dist/cjs/rewards/rewards/extra-apy.js +70 -130
- package/dist/cjs/rewards/rewards/index.js +6 -24
- package/dist/cjs/rewards/rewards/merkl-api.js +21 -57
- package/dist/cjs/sdk/MultichainSDK.js +186 -208
- package/dist/cjs/sdk/OnchainSDK.js +498 -531
- package/dist/cjs/sdk/abi/index.js +28 -22
- package/dist/cjs/sdk/abi/oracles.js +7376 -4748
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +468 -1756
- package/dist/cjs/sdk/accounts/bots/AccountBotsService.js +132 -0
- package/dist/cjs/sdk/accounts/bots/PeripheryCompressorV310Contract.js +31 -0
- package/dist/cjs/sdk/accounts/bots/abi.js +19 -0
- package/dist/cjs/sdk/accounts/bots/index.js +6 -0
- package/dist/cjs/sdk/accounts/bots/types.js +1 -0
- package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +280 -0
- package/dist/cjs/sdk/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.js +141 -0
- package/dist/cjs/sdk/accounts/credit-account-compressor/index.js +6 -0
- package/dist/cjs/sdk/accounts/credit-account-compressor/types.js +1 -0
- package/dist/cjs/sdk/accounts/index.js +56 -24
- package/dist/cjs/sdk/accounts/intents/index.js +391 -0
- package/dist/cjs/sdk/accounts/intents/intents/index.js +14 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +121 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +15 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.fixtures.js +108 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/close/close.js +51 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +130 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +83 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +117 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/deposit/deposit.js +15 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +95 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +15 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/index.js +13 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +138 -0
- package/dist/cjs/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +161 -0
- package/dist/cjs/sdk/accounts/intents/operations/add-collateral/index.js +17 -0
- package/dist/cjs/sdk/accounts/intents/operations/claim-delayed/index.js +54 -0
- package/dist/cjs/sdk/accounts/intents/operations/close-credit-account/index.js +26 -0
- package/dist/cjs/sdk/accounts/intents/operations/decrease-debt/index.js +12 -0
- package/dist/cjs/sdk/accounts/intents/operations/increase-debt/index.js +12 -0
- package/dist/cjs/sdk/accounts/intents/operations/index.js +27 -0
- package/dist/cjs/sdk/accounts/intents/operations/quota-update/index.js +22 -0
- package/dist/cjs/sdk/accounts/intents/operations/repay-credit-account/index.js +22 -0
- package/dist/cjs/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +18 -0
- package/dist/cjs/sdk/accounts/intents/operations/swap/index.js +18 -0
- package/dist/cjs/sdk/accounts/intents/operations/types.js +1 -0
- package/dist/cjs/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +27 -0
- package/dist/cjs/sdk/accounts/intents/operations/withdraw-collateral/index.js +43 -0
- package/dist/cjs/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +27 -0
- package/dist/cjs/sdk/accounts/intents/quoters/close.js +58 -0
- package/dist/cjs/sdk/accounts/intents/quoters/index.js +7 -0
- package/dist/cjs/sdk/accounts/intents/quoters/swap.js +79 -0
- package/dist/cjs/sdk/accounts/intents/testing/expect.js +167 -0
- package/dist/cjs/sdk/accounts/intents/testing/resume.js +172 -0
- package/dist/cjs/sdk/accounts/intents/testing/sdk-mock.js +179 -0
- package/dist/cjs/sdk/accounts/intents/types.js +1 -0
- package/dist/cjs/sdk/accounts/intents/utils/assemble-operation-calls.js +7 -0
- package/dist/cjs/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.js +13 -0
- package/dist/cjs/sdk/accounts/intents/utils/common.js +43 -0
- package/dist/cjs/sdk/accounts/intents/utils/convert-amount.js +37 -0
- package/dist/cjs/sdk/accounts/intents/utils/index.js +19 -0
- package/dist/cjs/sdk/accounts/intents/utils/quotas-for-update.js +122 -0
- package/dist/cjs/sdk/accounts/intents/utils/simulate-adjust-state.js +39 -0
- package/dist/cjs/sdk/accounts/intents/utils/simulate-assets.js +69 -0
- package/dist/cjs/sdk/accounts/intents/utils/with-quota-update.js +13 -0
- package/dist/cjs/sdk/accounts/liquidations/LiquidationsService.js +297 -0
- package/dist/cjs/sdk/accounts/liquidations/MultichainLiquidationsService.js +86 -0
- package/dist/cjs/sdk/accounts/liquidations/constants.js +12 -0
- package/dist/cjs/sdk/accounts/liquidations/index.js +9 -0
- package/dist/cjs/sdk/accounts/liquidations/types.js +1 -0
- package/dist/cjs/sdk/accounts/multicall-utils.js +81 -83
- package/dist/cjs/sdk/accounts/types.js +1 -16
- package/dist/cjs/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +272 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +52 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +20 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +20 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +260 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/addresses.js +23 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +22 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +24 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/errors.js +20 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/index.js +30 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/intent-codec.js +124 -0
- package/dist/cjs/sdk/accounts/withdrawal-compressor/types.js +16 -0
- package/dist/cjs/sdk/base/BaseContract.js +341 -365
- package/dist/cjs/sdk/base/ChainContractsRegister.js +187 -202
- package/dist/cjs/sdk/base/Construct.js +86 -112
- package/dist/cjs/sdk/base/MultichainConstruct.js +119 -0
- package/dist/cjs/sdk/base/PlaceholderContract.js +16 -33
- package/dist/cjs/sdk/base/SDKConstruct.js +21 -34
- package/dist/cjs/sdk/base/TokensMeta.js +263 -196
- package/dist/cjs/sdk/base/errors.js +9 -34
- package/dist/cjs/sdk/base/index.js +25 -38
- package/dist/cjs/sdk/base/token-types.js +15 -40
- package/dist/cjs/sdk/base/types.js +13 -33
- package/dist/cjs/sdk/chain/chains.js +458 -417
- package/dist/cjs/sdk/chain/detectNetwork.js +21 -43
- package/dist/cjs/sdk/chain/index.js +18 -24
- package/dist/cjs/sdk/constants/address-provider.js +44 -95
- package/dist/cjs/sdk/constants/addresses.js +16 -33
- package/dist/cjs/sdk/constants/bot-permissions.js +25 -53
- package/dist/cjs/sdk/constants/index.js +74 -34
- package/dist/cjs/sdk/constants/math.js +30 -66
- package/dist/cjs/sdk/constants/networks.js +39 -75
- package/dist/cjs/sdk/constants/periphery.js +7 -30
- package/dist/cjs/sdk/constants/versions.js +8 -33
- package/dist/cjs/sdk/core/AbstractAddressProviderContract.js +116 -145
- package/dist/cjs/sdk/core/AddressProviderV310Contract.js +54 -96
- package/dist/cjs/sdk/core/createAddressProvider.js +31 -67
- package/dist/cjs/sdk/core/errors.js +84 -75
- package/dist/cjs/sdk/core/index.js +15 -28
- package/dist/cjs/sdk/core/types.js +1 -16
- package/dist/cjs/sdk/index.js +426 -50
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +94 -123
- package/dist/cjs/sdk/market/MarketRegister.js +256 -301
- package/dist/cjs/sdk/market/MarketSuite.js +311 -162
- package/dist/cjs/sdk/market/ZapperRegister.js +150 -118
- package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +30 -55
- package/dist/cjs/sdk/market/adapters/createAdapter.js +18 -46
- package/dist/cjs/sdk/market/adapters/index.js +6 -26
- package/dist/cjs/sdk/market/adapters/types.js +1 -16
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV310Contract.js +89 -123
- package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +84 -106
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +303 -115
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +95 -110
- package/dist/cjs/sdk/market/credit/CreditSuite.js +373 -158
- package/dist/cjs/sdk/market/credit/createCreditConfigurator.js +12 -29
- package/dist/cjs/sdk/market/credit/createCreditFacade.js +12 -29
- package/dist/cjs/sdk/market/credit/createCreditManager.js +12 -29
- package/dist/cjs/sdk/market/credit/dominantCollateral.js +47 -0
- package/dist/cjs/sdk/market/credit/expectedBalanceDeltas.js +25 -0
- package/dist/cjs/sdk/market/credit/index.js +18 -32
- package/dist/cjs/sdk/market/credit/types.js +1 -16
- package/dist/cjs/sdk/market/index.js +123 -40
- package/dist/cjs/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +101 -114
- package/dist/cjs/sdk/market/loss-policy/LossPolicyContract.js +18 -42
- package/dist/cjs/sdk/market/loss-policy/constants.js +9 -34
- package/dist/cjs/sdk/market/loss-policy/createLossPolicy.js +18 -47
- package/dist/cjs/sdk/market/loss-policy/index.js +8 -28
- package/dist/cjs/sdk/market/loss-policy/types.js +1 -16
- package/dist/cjs/sdk/market/math.js +200 -0
- package/dist/cjs/sdk/market/oracle/PriceFeedAnswerMap.js +17 -36
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +312 -284
- package/dist/cjs/sdk/market/oracle/PriceOracleV310Contract.js +46 -104
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +10 -34
- package/dist/cjs/sdk/market/oracle/index.js +6 -26
- package/dist/cjs/sdk/market/oracle/types.js +1 -16
- package/dist/cjs/sdk/market/pool/GaugeContract.js +107 -111
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +105 -86
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV310Contract.js +77 -84
- package/dist/cjs/sdk/market/pool/PoolSuite.js +170 -180
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +150 -163
- package/dist/cjs/sdk/market/pool/TumblerContract.js +54 -73
- package/dist/cjs/sdk/market/pool/createInterestRateModel.js +17 -38
- package/dist/cjs/sdk/market/pool/createPool.js +12 -29
- package/dist/cjs/sdk/market/pool/createPoolQuotaKeeper.js +12 -29
- package/dist/cjs/sdk/market/pool/createRateKeeper.js +16 -36
- package/dist/cjs/sdk/market/pool/index.js +10 -30
- package/dist/cjs/sdk/market/pool/math.js +44 -0
- package/dist/cjs/sdk/market/pool/types.js +1 -16
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +54 -63
- package/dist/cjs/sdk/market/pricefeeds/AbstractPriceFeed.js +110 -131
- package/dist/cjs/sdk/market/pricefeeds/BalancerStablePriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +53 -66
- package/dist/cjs/sdk/market/pricefeeds/BoundedPriceFeed.js +26 -54
- package/dist/cjs/sdk/market/pricefeeds/CompositePriceFeed.js +21 -43
- package/dist/cjs/sdk/market/pricefeeds/ConstantPriceFeed.js +26 -56
- package/dist/cjs/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/CurveStablePriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/CurveUSDPriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/Erc4626PriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/ExternalPriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/MellowLRTPriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +55 -62
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedRef.js +50 -68
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +300 -357
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +63 -73
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +81 -84
- package/dist/cjs/sdk/market/pricefeeds/WstETHPriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/YearnPriceFeed.js +15 -37
- package/dist/cjs/sdk/market/pricefeeds/ZeroPriceFeed.js +16 -38
- package/dist/cjs/sdk/market/pricefeeds/getRawPriceUpdates.js +16 -39
- package/dist/cjs/sdk/market/pricefeeds/index.js +51 -75
- package/dist/cjs/sdk/market/pricefeeds/isUpdatablePriceFeed.js +5 -28
- package/dist/cjs/sdk/market/pricefeeds/types.js +1 -16
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdateTx.js +26 -53
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +33 -60
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +189 -260
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +89 -151
- package/dist/cjs/sdk/market/pricefeeds/updates/index.js +8 -36
- package/dist/cjs/sdk/market/pricefeeds/updates/types.js +1 -16
- package/dist/cjs/sdk/market/rwa/RWARegistry.js +286 -273
- package/dist/cjs/sdk/market/rwa/index.js +23 -26
- package/dist/cjs/sdk/market/rwa/midas/MidasLiquidatorContract.js +43 -0
- package/dist/cjs/sdk/market/rwa/midas/constants.js +7 -0
- package/dist/cjs/sdk/market/rwa/midas/index.js +6 -0
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeDegenNFT.js +17 -40
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeLiquidatorContract.js +31 -0
- package/dist/cjs/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +314 -257
- package/dist/cjs/sdk/market/rwa/securitize/constants.js +8 -27
- package/dist/cjs/sdk/market/rwa/securitize/index.js +11 -26
- package/dist/cjs/sdk/market/rwa/securitize/types.js +30 -36
- package/dist/cjs/sdk/market/rwa/types.js +23 -33
- package/dist/cjs/sdk/market/types.js +1 -16
- package/dist/cjs/sdk/market/zapper/IERC20ZapperContract.js +51 -97
- package/dist/cjs/sdk/market/zapper/IETHZapperContract.js +30 -88
- package/dist/cjs/sdk/market/zapper/ZapperContract.js +93 -0
- package/dist/cjs/sdk/market/zapper/createZapper.js +23 -43
- package/dist/cjs/sdk/market/zapper/errors.js +18 -0
- package/dist/cjs/sdk/market/zapper/index.js +12 -28
- package/dist/cjs/sdk/market/zapper/types.js +1 -0
- package/dist/cjs/sdk/opportunities/MultichainOpportunitiesService.js +49 -0
- package/dist/cjs/sdk/opportunities/OpportunitiesService.js +48 -0
- package/dist/cjs/sdk/opportunities/index.js +18 -0
- package/dist/cjs/sdk/options.js +66 -64
- package/dist/cjs/sdk/plugins/BasePlugin.js +77 -96
- package/dist/cjs/sdk/plugins/errors.js +8 -33
- package/dist/cjs/sdk/plugins/index.js +6 -26
- package/dist/cjs/sdk/plugins/types.js +1 -16
- package/dist/cjs/sdk/pools/PoolService.js +332 -432
- package/dist/cjs/sdk/pools/index.js +4 -24
- package/dist/cjs/sdk/pools/types.js +1 -16
- package/dist/cjs/sdk/positions/MultichainPositionsService.js +28 -0
- package/dist/cjs/sdk/positions/PositionsService.js +49 -0
- package/dist/cjs/sdk/positions/index.js +6 -0
- package/dist/cjs/sdk/positions/types.js +1 -0
- package/dist/cjs/sdk/router/AbstractRouterContract.js +140 -191
- package/dist/cjs/sdk/router/RouterV310Contract.js +298 -333
- package/dist/cjs/sdk/router/createRouter.js +11 -37
- package/dist/cjs/sdk/router/helpers.js +17 -41
- package/dist/cjs/sdk/router/index.js +8 -35
- package/dist/cjs/sdk/router/types.js +1 -16
- package/dist/cjs/sdk/types/index.js +1 -16
- package/dist/cjs/sdk/types/logger.js +1 -16
- package/dist/cjs/sdk/types/multichain.js +1 -0
- package/dist/cjs/sdk/types/state-human.js +1 -16
- package/dist/cjs/sdk/types/state.js +1 -16
- package/dist/cjs/sdk/types/transactions.js +1 -16
- package/dist/cjs/sdk/utils/AddressMap.js +155 -179
- package/dist/cjs/sdk/utils/AddressSet.js +44 -56
- package/dist/cjs/sdk/utils/AssetsMap.js +71 -0
- package/dist/cjs/sdk/utils/abi-decode.js +64 -93
- package/dist/cjs/sdk/utils/bigint-math.js +47 -0
- package/dist/cjs/sdk/utils/bytes32ToString.js +6 -29
- package/dist/cjs/sdk/utils/childLogger.js +6 -29
- package/dist/cjs/sdk/utils/createRawTx.js +45 -64
- package/dist/cjs/sdk/utils/etherscan.js +25 -58
- package/dist/cjs/sdk/utils/filterDust.js +24 -51
- package/dist/cjs/sdk/utils/formatter.js +149 -233
- package/dist/cjs/sdk/utils/hex.js +10 -28
- package/dist/cjs/sdk/utils/index.js +60 -54
- package/dist/cjs/sdk/utils/internal/Hooks.js +20 -52
- package/dist/cjs/sdk/utils/internal/index.js +3 -22
- package/dist/cjs/sdk/utils/isDust.js +26 -45
- package/dist/cjs/sdk/utils/json.js +14 -43
- package/dist/cjs/sdk/utils/mappers.js +19 -42
- package/dist/cjs/sdk/utils/retry.js +17 -43
- package/dist/cjs/sdk/utils/toAddress.js +7 -34
- package/dist/cjs/sdk/utils/type-utils.js +1 -16
- package/dist/cjs/sdk/utils/viem/cast.js +26 -48
- package/dist/cjs/sdk/utils/viem/executeDelegatedMulticalls.js +21 -36
- package/dist/cjs/sdk/utils/viem/executeMulticallBatches.js +32 -0
- package/dist/cjs/sdk/utils/viem/index.js +22 -32
- package/dist/cjs/sdk/utils/viem/sendRawTx.js +22 -54
- package/dist/cjs/sdk/utils/viem/simulateCall.js +82 -0
- package/dist/cjs/sdk/utils/viem/simulateMulticall.js +120 -139
- package/dist/cjs/sdk/utils/viem/simulateWithPriceUpdates.js +184 -282
- package/dist/cjs/sdk/utils/viem/watchBlocksAsync.js +80 -74
- package/dist/cjs/sdk/utils/zod.js +48 -36
- package/dist/esm/abi/310/configure/creditSuiteParams.js +96 -98
- package/dist/esm/abi/310/configure/iCreditConfigureActions.js +221 -155
- package/dist/esm/abi/310/configure/iPoolConfigureActions.js +73 -54
- package/dist/esm/abi/310/configure/iPriceOracleConfigureActions.js +32 -25
- package/dist/esm/abi/310/crossChainMultisig.js +826 -514
- package/dist/esm/abi/310/generated.js +8001 -5315
- package/dist/esm/abi/310/iBytecodeRepository.js +1294 -871
- package/dist/esm/abi/310/iLinearInterestRateModelV310.js +131 -66
- package/dist/esm/abi/310/iMarketConfiguratorFactory.js +245 -163
- package/dist/esm/abi/310/iPriceFeedStore.js +585 -391
- package/dist/esm/abi/310/iTreasurySplitter.js +429 -474
- package/dist/esm/abi/310/instanceManager.js +374 -248
- package/dist/esm/abi/AccountMigrator.js +270 -299
- package/dist/esm/abi/ILiquidationCompressorV313.js +173 -0
- package/dist/esm/abi/IWithdrawalCompressorV310.js +378 -289
- package/dist/esm/abi/IWithdrawalCompressorV311.js +383 -289
- package/dist/esm/abi/IWithdrawalCompressorV313.js +755 -0
- package/dist/esm/abi/compressors/creditAccountCompressor.js +1030 -430
- package/dist/esm/abi/compressors/creditSuiteCompressor.js +1012 -748
- package/dist/esm/abi/compressors/defillamaCompressor.js +235 -157
- package/dist/esm/abi/compressors/gaugeCompressor.js +278 -158
- package/dist/esm/abi/compressors/liquidationCompressor.js +342 -211
- package/dist/esm/abi/compressors/marketCompressor.js +3160 -2451
- package/dist/esm/abi/compressors/peripheryCompressor.js +261 -176
- package/dist/esm/abi/compressors/priceFeedCompressor.js +852 -555
- package/dist/esm/abi/compressors/rewardsCompressor.js +82 -56
- package/dist/esm/abi/compressors/rwaCompressor.js +278 -181
- package/dist/esm/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.js +176 -98
- package/dist/esm/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.js +176 -98
- package/dist/esm/abi/compressors/subcompressors/rwa/onDemandRWAUnderlyingSubcompressor.js +55 -34
- package/dist/esm/abi/compressors/subcompressors/rwa/securitizeRWAFactorySubcompressor.js +93 -54
- package/dist/esm/abi/compressors/subcompressors/withdrawal/infinifiWithdrawalSubcompressor.js +271 -162
- package/dist/esm/abi/compressors/subcompressors/withdrawal/kelpLRTWithdrawalSubcompressor.js +271 -162
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowFlexibleDepositSubcompressor.js +266 -161
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowFlexibleRedeemSubcompressor.js +266 -161
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +511 -290
- package/dist/esm/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.js +531 -294
- package/dist/esm/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.js +531 -294
- package/dist/esm/abi/compressors/subcompressors/withdrawal/upshiftWithdrawalSubcompressor.js +271 -162
- package/dist/esm/abi/compressors/tokenCompressor.js +119 -69
- package/dist/esm/abi/compressors/withdrawalCompressor.js +924 -536
- package/dist/esm/abi/errors.js +803 -366
- package/dist/esm/abi/governance/batchesChain.js +36 -42
- package/dist/esm/abi/governance/governor.js +678 -446
- package/dist/esm/abi/governance/iTimeLock.js +391 -231
- package/dist/esm/abi/helpers/redemptionLogger.js +194 -134
- package/dist/esm/abi/iAirdropDistributor.js +134 -100
- package/dist/esm/abi/iBaseRewardPool.js +426 -246
- package/dist/esm/abi/iCurvePool.js +24 -19
- package/dist/esm/abi/iDefaultAccountFactoryV3.js +200 -168
- package/dist/esm/abi/iDegenNFTV2.js +425 -256
- package/dist/esm/abi/iERC20.js +196 -119
- package/dist/esm/abi/iERC20Permit.js +72 -32
- package/dist/esm/abi/iERC20Zapper.js +4 -7
- package/dist/esm/abi/iERC20ZapperDeposits.js +237 -96
- package/dist/esm/abi/iETHZapper.js +4 -4
- package/dist/esm/abi/iETHZapperDeposits.js +36 -26
- package/dist/esm/abi/iExpirable.js +14 -0
- package/dist/esm/abi/iFarmingPool.js +331 -226
- package/dist/esm/abi/iInterestRateModel.js +32 -22
- package/dist/esm/abi/iMulticall3.js +367 -239
- package/dist/esm/abi/iOffchainOracle.js +48 -30
- package/dist/esm/abi/iPausable.js +36 -36
- package/dist/esm/abi/iPhantomToken.js +18 -0
- package/dist/esm/abi/iPriceFeed.js +102 -58
- package/dist/esm/abi/iRedemptionLoggerV310.js +146 -0
- package/dist/esm/abi/iStateSerializer.js +14 -12
- package/dist/esm/abi/iUpdatablePriceFeed.js +24 -19
- package/dist/esm/abi/iVersion.js +24 -31
- package/dist/esm/abi/iZapper.js +218 -81
- package/dist/esm/abi/ierc4626Adapter.js +204 -0
- package/dist/esm/abi/mellow.js +4453 -2902
- package/dist/esm/abi/migration.js +820 -646
- package/dist/esm/abi/router/balancerV2Worker.js +1169 -704
- package/dist/esm/abi/router/balancerV3Worker.js +1169 -708
- package/dist/esm/abi/router/balancerV3WrapperWorker.js +882 -515
- package/dist/esm/abi/router/camelotV3Worker.js +912 -532
- package/dist/esm/abi/router/convexWorker.js +882 -515
- package/dist/esm/abi/router/curveWorker.js +1154 -692
- package/dist/esm/abi/router/daiUsdsWorker.js +882 -515
- package/dist/esm/abi/router/equalizerRouterWorker.js +882 -515
- package/dist/esm/abi/router/erc4626Worker.js +928 -546
- package/dist/esm/abi/router/fluidDexWorker.js +897 -525
- package/dist/esm/abi/router/gearboxRouter.js +1055 -625
- package/dist/esm/abi/router/infinifiWorker.js +882 -515
- package/dist/esm/abi/router/infraredVaultWorker.js +882 -515
- package/dist/esm/abi/router/kelpLRTDepositPoolWorker.js +882 -515
- package/dist/esm/abi/router/kodiakWorker.js +1176 -706
- package/dist/esm/abi/router/lidoWorker.js +882 -515
- package/dist/esm/abi/router/mellow4626Worker.js +912 -532
- package/dist/esm/abi/router/mellowDVVWorker.js +882 -515
- package/dist/esm/abi/router/mellowVaultWorker.js +897 -525
- package/dist/esm/abi/router/midasWorker.js +882 -515
- package/dist/esm/abi/router/pendleRouterWorker.js +897 -525
- package/dist/esm/abi/router/routingManager.js +592 -371
- package/dist/esm/abi/router/securitizeOnrampWorker.js +882 -515
- package/dist/esm/abi/router/stakingRewardsWorker.js +882 -515
- package/dist/esm/abi/router/traderJoeWorker.js +882 -515
- package/dist/esm/abi/router/uniswapV2Worker.js +882 -515
- package/dist/esm/abi/router/uniswapV3Worker.js +938 -542
- package/dist/esm/abi/router/uniswapV4Worker.js +934 -548
- package/dist/esm/abi/router/upshiftWorker.js +882 -515
- package/dist/esm/abi/router/velodromeV2Worker.js +882 -515
- package/dist/esm/abi/router/wstETHWorker.js +882 -515
- package/dist/esm/abi/router/yearnV2Worker.js +882 -515
- package/dist/esm/abi/rwa/iDSRegistryService.js +459 -388
- package/dist/esm/abi/rwa/iDSToken.js +1733 -1932
- package/dist/esm/abi/rwa/iMidasLiquidatorV311.js +95 -0
- package/dist/esm/abi/rwa/iRWACompressor.js +269 -170
- package/dist/esm/abi/rwa/iRWAFactory.js +153 -96
- package/dist/esm/abi/rwa/iRWAGateway.js +18 -0
- package/dist/esm/abi/rwa/iRWAUnderlying.js +618 -375
- package/dist/esm/abi/rwa/iSecuritizeDegenNFT.js +452 -300
- package/dist/esm/abi/rwa/iSecuritizeLiquidatorV311.js +110 -0
- package/dist/esm/abi/rwa/iSecuritizeRWAFactory.js +505 -340
- package/dist/esm/common-utils/axios-cache/AxiosCache.js +93 -95
- package/dist/esm/common-utils/axios-cache/index.js +2 -1
- package/dist/esm/common-utils/charts/credit-manager-payload.js +1 -0
- package/dist/esm/common-utils/charts/credit-manager.js +98 -114
- package/dist/esm/common-utils/charts/credit-session.js +203 -230
- package/dist/esm/common-utils/charts/credit-sessions-payload.js +1 -0
- package/dist/esm/common-utils/charts/graph-payload.js +1 -0
- package/dist/esm/common-utils/charts/index.js +9 -8
- package/dist/esm/common-utils/charts/pool-payload.js +1 -0
- package/dist/esm/common-utils/charts/pool.js +174 -178
- package/dist/esm/common-utils/charts/token-data.js +64 -64
- package/dist/esm/common-utils/index.js +96 -4
- package/dist/esm/common-utils/static/index.js +5 -4
- package/dist/esm/common-utils/static/migration-config.js +1 -0
- package/dist/esm/common-utils/static/pool-config.js +1 -0
- package/dist/esm/common-utils/static/strategy.js +1 -0
- package/dist/esm/common-utils/static/trading-pair.js +1 -0
- package/dist/esm/common-utils/test-utils/index.js +73 -85
- package/dist/esm/common-utils/utils/apy/bonus-apy-from-points.js +3 -3
- package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +18 -32
- package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +31 -28
- package/dist/esm/common-utils/utils/apy/calculate-earnings.js +20 -33
- package/dist/esm/common-utils/utils/apy/calculate-earnings.spec.js +63 -60
- package/dist/esm/common-utils/utils/apy/calculate-effective-borrow-rate.js +6 -10
- package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +17 -32
- package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +36 -35
- package/dist/esm/common-utils/utils/apy/get-complex-apy-list.js +15 -19
- package/dist/esm/common-utils/utils/apy/get-rate-with-fee.js +13 -5
- package/dist/esm/common-utils/utils/apy/get-safe-base-borrow-rate.js +11 -14
- package/dist/esm/common-utils/utils/apy/get-single-quota-borrow-rate.js +10 -6
- package/dist/esm/common-utils/utils/apy/index.js +11 -10
- package/dist/esm/common-utils/utils/apy/max-apy-formula.js +12 -15
- package/dist/esm/common-utils/utils/assets-math.js +182 -190
- package/dist/esm/common-utils/utils/constants.js +3 -5
- package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +35 -52
- package/dist/esm/common-utils/utils/creditAccount/calc-overall-apy.js +43 -58
- package/dist/esm/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +18 -17
- package/dist/esm/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.js +14 -9
- package/dist/esm/common-utils/utils/creditAccount/debt.js +40 -39
- package/dist/esm/common-utils/utils/creditAccount/get-time-to-liquidation.js +19 -17
- package/dist/esm/common-utils/utils/creditAccount/index.js +10 -10
- package/dist/esm/common-utils/utils/creditAccount/liquidation-price.js +27 -22
- package/dist/esm/common-utils/utils/creditAccount/quota-utils.js +132 -118
- package/dist/esm/common-utils/utils/creditAccount/sort.js +79 -56
- package/dist/esm/common-utils/utils/creditAccount/types.js +1 -0
- package/dist/esm/common-utils/utils/index.js +91 -8
- package/dist/esm/common-utils/utils/price-math.js +49 -41
- package/dist/esm/common-utils/utils/strategies/assets/assets.js +4 -4
- package/dist/esm/common-utils/utils/strategies/assets/index.js +2 -1
- package/dist/esm/common-utils/utils/strategies/availability/check-boolean.js +7 -7
- package/dist/esm/common-utils/utils/strategies/availability/check-degen-nft.js +10 -9
- package/dist/esm/common-utils/utils/strategies/availability/index.js +3 -2
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +20 -36
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +102 -108
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.js +26 -38
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +11 -10
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +17 -23
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +25 -48
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +87 -88
- package/dist/esm/common-utils/utils/strategies/credit-managers/index.js +7 -6
- package/dist/esm/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +6 -5
- package/dist/esm/common-utils/utils/strategies/eligibility/index.js +3 -2
- package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +16 -19
- package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-released.js +5 -5
- package/dist/esm/common-utils/utils/strategies/index.js +65 -12
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-loss-coefficient.js +7 -5
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +11 -17
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +16 -38
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +297 -325
- package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +6 -7
- package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +25 -24
- package/dist/esm/common-utils/utils/strategies/leverage/get-factor-from-leverage.js +6 -5
- package/dist/esm/common-utils/utils/strategies/leverage/get-leverage-from-factor.js +6 -5
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.js +41 -56
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +213 -217
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +5 -8
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +16 -19
- package/dist/esm/common-utils/utils/strategies/leverage/index.js +11 -10
- package/dist/esm/common-utils/utils/strategies/leverage/max-leverage-threshold.js +13 -15
- package/dist/esm/common-utils/utils/strategies/leverage/max-leverage.js +12 -7
- package/dist/esm/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +11 -11
- package/dist/esm/common-utils/utils/strategies/lists/get-available-strategies.js +28 -20
- package/dist/esm/common-utils/utils/strategies/lists/get-disabled-strategies.js +29 -21
- package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list-core.js +21 -34
- package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list.js +12 -11
- package/dist/esm/common-utils/utils/strategies/lists/index.js +4 -3
- package/dist/esm/common-utils/utils/strategies/points/get-complex-points-list.js +11 -11
- package/dist/esm/common-utils/utils/strategies/points/get-points-info.js +10 -18
- package/dist/esm/common-utils/utils/strategies/points/get-points-rates.js +4 -6
- package/dist/esm/common-utils/utils/strategies/points/get-strategy-points.js +33 -50
- package/dist/esm/common-utils/utils/strategies/points/index.js +5 -4
- package/dist/esm/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.js +2 -1
- package/dist/esm/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.js +15 -41
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +58 -84
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +177 -180
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +33 -50
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +121 -136
- package/dist/esm/common-utils/utils/strategies/strategy-info/cm-availability-condition.js +39 -37
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +294 -376
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +260 -274
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-info-core.js +63 -100
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-info.js +28 -46
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.js +58 -72
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +53 -80
- package/dist/esm/common-utils/utils/strategies/strategy-info/index.js +11 -10
- package/dist/esm/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +6 -7
- package/dist/esm/common-utils/utils/strategies/strategy-info/types.js +1 -0
- package/dist/esm/common-utils/utils/strategies/strategy-state/index.js +2 -1
- package/dist/esm/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +9 -10
- package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.js +14 -14
- package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +25 -37
- package/dist/esm/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +7 -9
- package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +9 -16
- package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +33 -32
- package/dist/esm/common-utils/utils/strategies/tokens/get-native-token-address.js +4 -4
- package/dist/esm/common-utils/utils/strategies/tokens/index.js +13 -12
- package/dist/esm/common-utils/utils/strategies/tokens/is-activated-token.js +7 -11
- package/dist/esm/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +5 -8
- package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.js +24 -32
- package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +138 -132
- package/dist/esm/common-utils/utils/strategies/tokens/is-forbidden-token.js +5 -8
- package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.js +11 -17
- package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +142 -155
- package/dist/esm/common-utils/utils/strategies/tokens/is-usable-token.js +10 -4
- package/dist/esm/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +20 -26
- package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.js +5 -7
- package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +12 -9
- package/dist/esm/common-utils/utils/strategies/types/chains.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/credit-manager-data-legacy.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/curator-filter.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/index.js +13 -12
- package/dist/esm/common-utils/utils/strategies/types/legacy-strategy-data-source.js +24 -33
- package/dist/esm/common-utils/utils/strategies/types/points-slices.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/sdk-state.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/strategies-cm-list.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/strategy-data-source.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/strategy-data.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/strategy-earnings.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/strategy.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types/targetable.js +1 -0
- package/dist/esm/common-utils/utils/strategies/types.js +3 -1
- package/dist/esm/common-utils/utils/trace.js +93 -0
- package/dist/esm/common-utils/utils/validation/index.js +12 -11
- package/dist/esm/common-utils/utils/validation/is-zero-balance.js +4 -4
- package/dist/esm/common-utils/utils/validation/validate-balance.js +19 -21
- package/dist/esm/common-utils/utils/validation/validate-balance.spec.js +51 -48
- package/dist/esm/common-utils/utils/validation/validate-balances.js +14 -18
- package/dist/esm/common-utils/utils/validation/validate-balances.spec.js +42 -33
- package/dist/esm/common-utils/utils/validation/validate-credit-manager.js +6 -9
- package/dist/esm/common-utils/utils/validation/validate-credit-manager.spec.js +33 -32
- package/dist/esm/common-utils/utils/validation/validate-hf.js +6 -11
- package/dist/esm/common-utils/utils/validation/validate-hf.spec.js +23 -20
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.js +11 -11
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +26 -43
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +34 -52
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.spec.js +91 -95
- package/dist/esm/common-utils/utils/validation/validate-open-account.js +14 -14
- package/dist/esm/common-utils/utils/validation/validate-open-account.spec.js +51 -51
- package/dist/esm/common-utils/utils/validation/validate-quota.js +20 -23
- package/dist/esm/common-utils/utils/validation/validate-quota.spec.js +83 -78
- package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.js +16 -17
- package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.spec.js +33 -31
- package/dist/esm/common-utils/utils/validation/validation-types.js +1 -0
- package/dist/esm/dev/AccountOpener.js +679 -894
- package/dist/esm/dev/EthCallSpy.js +54 -69
- package/dist/esm/dev/RevolverTransport.js +290 -339
- package/dist/esm/dev/abi.js +201 -216
- package/dist/esm/dev/calcLiquidatableLTs.js +47 -53
- package/dist/esm/dev/claimFromFaucet.js +64 -83
- package/dist/esm/dev/create2.js +83 -88
- package/dist/esm/dev/createAnvilClient.js +76 -74
- package/dist/esm/dev/detectChain.js +18 -14
- package/dist/esm/dev/index.js +28 -29
- package/dist/esm/dev/isOutOfSyncError.js +20 -29
- package/dist/esm/dev/isRateLimitError.js +33 -49
- package/dist/esm/dev/isTransientError.js +36 -60
- package/dist/esm/dev/kycUtils.js +364 -0
- package/dist/esm/dev/logSplitterTransport.js +205 -119
- package/dist/esm/dev/ltUtils.js +68 -81
- package/dist/esm/dev/midasUtils.js +202 -0
- package/dist/esm/dev/migrateFaucet.js +66 -54
- package/dist/esm/dev/mint/AbstractMinter.js +57 -56
- package/dist/esm/dev/mint/DealMinter.js +16 -18
- package/dist/esm/dev/mint/DirectMinter.js +20 -29
- package/dist/esm/dev/mint/FallbackMinter.js +19 -21
- package/dist/esm/dev/mint/TransferMinter.js +32 -44
- package/dist/esm/dev/mint/factory.js +8 -8
- package/dist/esm/dev/mint/index.js +3 -2
- package/dist/esm/dev/mint/types.js +1 -0
- package/dist/esm/dev/providers.js +141 -123
- package/dist/esm/dev/replaceStorage.js +46 -53
- package/dist/esm/dev/resilientTransport.js +70 -72
- package/dist/esm/dev/securitizeUtils.js +256 -0
- package/dist/esm/dev/transports.js +34 -44
- package/dist/esm/dev/types.js +1 -0
- package/dist/esm/dev/verifyTestnet.js +33 -0
- package/dist/esm/dev/withdrawalAbi.js +1828 -0
- package/dist/esm/dev/withdrawalUtils.js +278 -0
- package/dist/esm/history/assembleOperations.js +84 -84
- package/dist/esm/history/classifyMulticallOperations.js +124 -150
- package/dist/esm/history/index.js +5 -8
- package/dist/esm/history/mapOperations.js +38 -49
- package/dist/esm/history/parseCreditAccountTransaction.js +46 -61
- package/dist/esm/history/populateContractsRegister.js +32 -49
- package/dist/esm/history/toLegacyOperation.js +138 -148
- package/dist/esm/history/types.js +1 -0
- package/dist/esm/model/curators.js +1 -0
- package/dist/esm/model/curators.schema.js +36 -0
- package/dist/esm/model/filters.js +14 -0
- package/dist/esm/model/filters.schema.js +28 -0
- package/dist/esm/model/history.js +49 -0
- package/dist/esm/model/history.schema.js +116 -0
- package/dist/esm/model/index.js +17 -0
- package/dist/esm/model/liquidations.js +24 -0
- package/dist/esm/model/liquidations.schema.js +86 -0
- package/dist/esm/model/opportunities.js +53 -0
- package/dist/esm/model/opportunities.schema.js +240 -0
- package/dist/esm/model/package.json +1 -0
- package/dist/esm/model/positions.js +87 -0
- package/dist/esm/model/positions.schema.js +165 -0
- package/dist/esm/model/primitives.js +1 -0
- package/dist/esm/model/primitives.schema.js +68 -0
- package/dist/esm/model/response.js +1 -0
- package/dist/esm/model/response.schema.js +58 -0
- package/dist/esm/new-sdk/AbstractNamespace.js +75 -0
- package/dist/esm/new-sdk/GearboxSDK.js +143 -0
- package/dist/esm/new-sdk/errors/AllSourcesFailedError.js +19 -0
- package/dist/esm/new-sdk/errors/MissingSourceError.js +24 -0
- package/dist/esm/new-sdk/errors/NoSourceServedError.js +19 -0
- package/dist/esm/new-sdk/errors/SourceChainMismatchError.js +33 -0
- package/dist/esm/new-sdk/errors/SourceUnavailableError.js +24 -0
- package/dist/esm/new-sdk/errors/assertSameChains.js +11 -0
- package/dist/esm/new-sdk/errors/everyChainFailed.js +10 -0
- package/dist/esm/new-sdk/errors/index.js +8 -0
- package/dist/esm/new-sdk/index.js +19 -0
- package/dist/esm/new-sdk/opportunities/OpportunitiesNamespace.js +69 -0
- package/dist/esm/new-sdk/opportunities/index.js +3 -0
- package/dist/esm/new-sdk/opportunities/types.js +1 -0
- package/dist/esm/new-sdk/package.json +1 -0
- package/dist/esm/new-sdk/positions/PositionsNamespace.js +51 -0
- package/dist/esm/new-sdk/positions/index.js +3 -0
- package/dist/esm/new-sdk/positions/types.js +1 -0
- package/dist/esm/new-sdk/types.js +1 -0
- package/dist/esm/new-sdk/utils/filterResponse.js +11 -0
- package/dist/esm/new-sdk/utils/history.js +1 -0
- package/dist/esm/new-sdk/utils/index.js +4 -0
- package/dist/esm/new-sdk/utils/mergeChains.js +73 -0
- package/dist/esm/new-sdk/utils/types.js +1 -0
- package/dist/esm/offchain/AbstractOffchainNamespace.js +108 -0
- package/dist/esm/offchain/GearboxAPI.js +43 -0
- package/dist/esm/offchain/errors/OffchainInvalidJsonError.js +18 -0
- package/dist/esm/offchain/errors/OffchainNotConfiguredError.js +19 -0
- package/dist/esm/offchain/errors/OffchainNotImplementedError.js +18 -0
- package/dist/esm/offchain/errors/OffchainRequestFailedError.js +23 -0
- package/dist/esm/offchain/errors/OffchainStatusError.js +19 -0
- package/dist/esm/offchain/errors/OffchainTransportError.js +30 -0
- package/dist/esm/offchain/errors/OffchainValidationError.js +25 -0
- package/dist/esm/offchain/errors/backendMessage.js +27 -0
- package/dist/esm/offchain/errors/errorCause.js +11 -0
- package/dist/esm/offchain/errors/index.js +11 -0
- package/dist/esm/offchain/errors/readResponseBody.js +14 -0
- package/dist/esm/offchain/index.js +19 -0
- package/dist/esm/offchain/opportunities/OffchainOpportunities.js +66 -0
- package/dist/esm/offchain/opportunities/index.js +2 -0
- package/dist/esm/offchain/package.json +1 -0
- package/dist/esm/offchain/positions/OffchainPositions.js +43 -0
- package/dist/esm/offchain/positions/index.js +2 -0
- package/dist/esm/offchain/types.js +1 -0
- package/dist/esm/permissionless/bindings/address-provider.js +20 -26
- package/dist/esm/permissionless/bindings/bytecode-repository.js +420 -486
- package/dist/esm/permissionless/bindings/compressors/index.js +3 -2
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +77 -89
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +27 -25
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +264 -317
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +29 -31
- package/dist/esm/permissionless/bindings/factory/credit-factory.js +148 -173
- package/dist/esm/permissionless/bindings/factory/loss-policy-factory.js +35 -37
- package/dist/esm/permissionless/bindings/factory/pool-factory.js +38 -42
- package/dist/esm/permissionless/bindings/factory/price-oracle-factory.js +20 -20
- package/dist/esm/permissionless/bindings/factory/rate-keeper-factory.js +7 -7
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +19 -14
- package/dist/esm/permissionless/bindings/governance/governor.js +183 -209
- package/dist/esm/permissionless/bindings/governance/index.js +4 -3
- package/dist/esm/permissionless/bindings/governance/timelock.js +75 -78
- package/dist/esm/permissionless/bindings/governance/types.js +1 -0
- package/dist/esm/permissionless/bindings/index.js +19 -13
- package/dist/esm/permissionless/bindings/instance-manager.js +206 -243
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +45 -48
- package/dist/esm/permissionless/bindings/market-configurator.js +630 -766
- package/dist/esm/permissionless/bindings/price-feed-store.js +301 -367
- package/dist/esm/permissionless/bindings/pricefeeds/balancer-stable.js +38 -36
- package/dist/esm/permissionless/bindings/pricefeeds/balancer-weighted.js +38 -36
- package/dist/esm/permissionless/bindings/pricefeeds/bounded.js +27 -21
- package/dist/esm/permissionless/bindings/pricefeeds/composite.js +20 -17
- package/dist/esm/permissionless/bindings/pricefeeds/constant.js +19 -16
- package/dist/esm/permissionless/bindings/pricefeeds/curve-crypto.js +42 -40
- package/dist/esm/permissionless/bindings/pricefeeds/curve-stable.js +42 -40
- package/dist/esm/permissionless/bindings/pricefeeds/curve-twap.js +53 -44
- package/dist/esm/permissionless/bindings/pricefeeds/curve-usd.js +24 -24
- package/dist/esm/permissionless/bindings/pricefeeds/erc4626.js +40 -45
- package/dist/esm/permissionless/bindings/pricefeeds/external.js +10 -12
- package/dist/esm/permissionless/bindings/pricefeeds/index.js +20 -20
- package/dist/esm/permissionless/bindings/pricefeeds/kodiak.js +27 -24
- package/dist/esm/permissionless/bindings/pricefeeds/mellow-lrt.js +92 -96
- package/dist/esm/permissionless/bindings/pricefeeds/pendle-pt-twap.js +25 -25
- package/dist/esm/permissionless/bindings/pricefeeds/pyth.js +39 -38
- package/dist/esm/permissionless/bindings/pricefeeds/redstone.js +57 -54
- package/dist/esm/permissionless/bindings/pricefeeds/wsteth.js +34 -36
- package/dist/esm/permissionless/bindings/pricefeeds/zero.js +7 -7
- package/dist/esm/permissionless/bindings/router/index.js +2 -1
- package/dist/esm/permissionless/bindings/router/routing-manager.js +27 -25
- package/dist/esm/permissionless/bindings/treasury-splitter.js +106 -99
- package/dist/esm/permissionless/bindings/types.js +9 -9
- package/dist/esm/permissionless/chains/archive-transport.js +193 -233
- package/dist/esm/permissionless/chains/chunked-log-transport.js +91 -99
- package/dist/esm/permissionless/core/auditor.js +1 -0
- package/dist/esm/permissionless/core/bytecode.js +1 -0
- package/dist/esm/permissionless/core/index.js +7 -6
- package/dist/esm/permissionless/core/pricefeed-builder.js +1 -0
- package/dist/esm/permissionless/core/pricefeed.js +1 -0
- package/dist/esm/permissionless/core/proposal.js +1 -0
- package/dist/esm/permissionless/core/raw-tx.js +9 -12
- package/dist/esm/permissionless/deployment/addresses.js +12 -12
- package/dist/esm/permissionless/deployment/mainnet.js +19 -22
- package/dist/esm/permissionless/index.js +36 -7
- package/dist/esm/permissionless/plugins/index.js +4 -20
- package/dist/esm/permissionless/plugins/irm/constructor-params-abi.js +78 -41
- package/dist/esm/permissionless/plugins/loss-policies/constructor-params-abi.js +57 -41
- package/dist/esm/permissionless/plugins/rate-keepers/constructor-params-abi.js +65 -48
- package/dist/esm/permissionless/utils/abi-encoder.js +59 -62
- package/dist/esm/permissionless/utils/block-utils.js +27 -29
- package/dist/esm/permissionless/utils/create2.js +54 -69
- package/dist/esm/permissionless/utils/format.js +30 -48
- package/dist/esm/permissionless/utils/governance/batch.js +63 -74
- package/dist/esm/permissionless/utils/governance/index.js +4 -3
- package/dist/esm/permissionless/utils/governance/timelock-txs.js +15 -16
- package/dist/esm/permissionless/utils/governance/types.js +1 -0
- package/dist/esm/permissionless/utils/index.js +15 -8
- package/dist/esm/permissionless/utils/literals.js +3 -9
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +50 -68
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +37 -60
- package/dist/esm/permissionless/utils/price-update/get-prices.js +81 -106
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +13 -20
- package/dist/esm/permissionless/utils/price-update/index.js +5 -4
- package/dist/esm/permissionless/utils/signature.js +7 -9
- package/dist/esm/plugins/accounts/AccountsPlugin.js +53 -60
- package/dist/esm/plugins/accounts/index.js +2 -1
- package/dist/esm/plugins/accounts-counter/AccountsCounterPlugin.js +72 -95
- package/dist/esm/plugins/accounts-counter/index.js +2 -1
- package/dist/esm/plugins/adapters/AdaptersPlugin.js +32 -32
- package/dist/esm/plugins/adapters/abi/actionAbi.js +57 -99
- package/dist/esm/plugins/adapters/abi/adapters/erc4626ReferralAdapter.js +266 -0
- package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.js +373 -0
- package/dist/esm/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.js +131 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCamelotV3Adapter.js +513 -0
- package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.js +297 -0
- package/dist/esm/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.js +231 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.js +606 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.js +606 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.js +606 -0
- package/dist/esm/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.js +606 -0
- package/dist/esm/plugins/adapters/abi/adapters/iDaiUsdsAdapter.js +150 -0
- package/dist/esm/plugins/adapters/abi/adapters/iFluidDexAdapter.js +141 -0
- package/dist/esm/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.js +379 -0
- package/dist/esm/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.js +396 -0
- package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtDepositPool.js +271 -0
- package/dist/esm/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.js +399 -0
- package/dist/esm/plugins/adapters/abi/adapters/iLidoV1Adapter.js +123 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.js +209 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMellowClaimerAdapter.js +284 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMellowWrapperAdapter.js +172 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.js +379 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.js +208 -0
- package/dist/esm/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.js +523 -0
- package/dist/esm/plugins/adapters/abi/adapters/iPendleRouterAdapter.js +1708 -0
- package/dist/esm/plugins/adapters/abi/adapters/iSecuritizeOnRampAdapterV310.js +120 -0
- package/dist/esm/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.js +278 -0
- package/dist/esm/plugins/adapters/abi/adapters/iStakingRewardsAdapter.js +218 -0
- package/dist/esm/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.js +411 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUniswapV2Adapter.js +243 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUniswapV3Adapter.js +443 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUniswapV4Adapter.js +473 -0
- package/dist/esm/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.js +375 -0
- package/dist/esm/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.js +285 -0
- package/dist/esm/plugins/adapters/abi/adapters/index.js +36 -0
- package/dist/esm/plugins/adapters/abi/adapters/iwstEthv1Adapter.js +131 -0
- package/dist/esm/plugins/adapters/abi/adapters/mellowDvvAdapter.js +252 -0
- package/dist/esm/plugins/adapters/abi/conctructorAbi.js +75 -195
- package/dist/esm/plugins/adapters/abi/conctructorAbiPatterns.js +146 -65
- package/dist/esm/plugins/adapters/abi/index.js +47 -5
- package/dist/esm/plugins/adapters/abi/midas/iMidasGatewayV311.js +297 -0
- package/dist/esm/plugins/adapters/abi/midas/index.js +2 -0
- package/dist/esm/plugins/adapters/abi/securitize/iBaseOnRamp.js +296 -325
- package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeOnRamp.js +78 -47
- package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.js +247 -0
- package/dist/esm/plugins/adapters/abi/securitize/index.js +4 -6
- package/dist/esm/plugins/adapters/abi/targetContractAbi.js +9087 -5067
- package/dist/esm/plugins/adapters/abi/utils.js +61 -51
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +195 -143
- package/dist/esm/plugins/adapters/contracts/AbstractCurveAdapter.js +42 -0
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +22 -13
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +103 -72
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +60 -34
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +74 -47
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +134 -115
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +121 -82
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +105 -88
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +109 -88
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +110 -93
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +89 -71
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +121 -104
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +84 -54
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +113 -71
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +82 -54
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +66 -43
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +100 -65
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +44 -43
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +54 -38
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +54 -45
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +84 -55
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +52 -38
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +83 -53
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +156 -88
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +56 -36
- package/dist/esm/plugins/adapters/contracts/MidasGatewayAdapterContract.js +151 -69
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +79 -55
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +119 -89
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +168 -98
- package/dist/esm/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.js +66 -45
- package/dist/esm/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +109 -55
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +123 -81
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +90 -61
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +87 -73
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +152 -170
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +95 -62
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +81 -54
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +83 -53
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +72 -45
- package/dist/esm/plugins/adapters/contracts/index.js +40 -45
- package/dist/esm/plugins/adapters/createAdapter.js +92 -147
- package/dist/esm/plugins/adapters/index.js +90 -7
- package/dist/esm/plugins/adapters/legacyAdapterOperations.js +1 -0
- package/dist/esm/plugins/adapters/transferHelpers.js +107 -76
- package/dist/esm/plugins/adapters/transfers.js +1 -0
- package/dist/esm/plugins/adapters/types.js +44 -54
- package/dist/esm/plugins/apy/ApyPlugin.js +241 -319
- package/dist/esm/plugins/apy/apy-parser.js +120 -137
- package/dist/esm/plugins/apy/constants.js +4 -5
- package/dist/esm/plugins/apy/index.js +7 -6
- package/dist/esm/plugins/apy/pool-apy-types.js +1 -0
- package/dist/esm/plugins/apy/pool-apy-utils.js +104 -101
- package/dist/esm/plugins/apy/strategy-data-source.js +160 -176
- package/dist/esm/plugins/apy/types.js +1 -0
- package/dist/esm/plugins/bots/BotsPlugin.js +102 -140
- package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +43 -46
- package/dist/esm/plugins/bots/abi/iPartialLiquidationBotV310.js +222 -138
- package/dist/esm/plugins/bots/abi/index.js +2 -1
- package/dist/esm/plugins/bots/config.js +28 -43
- package/dist/esm/plugins/bots/deserializePartialLiquidationBotParams.js +32 -26
- package/dist/esm/plugins/bots/index.js +7 -5
- package/dist/esm/plugins/bots/types.js +23 -9
- package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +57 -81
- package/dist/esm/plugins/degen-distributors/index.js +3 -2
- package/dist/esm/plugins/degen-distributors/types.js +1 -0
- package/dist/esm/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.js +107 -156
- package/dist/esm/plugins/delayed-withdrawal/index.js +3 -2
- package/dist/esm/plugins/delayed-withdrawal/types.js +1 -0
- package/dist/esm/plugins/remote-configs/CustomConfigSource.js +16 -16
- package/dist/esm/plugins/remote-configs/RemoteConfigSource.js +22 -29
- package/dist/esm/plugins/remote-configs/RemoteConfigsPlugin.js +124 -163
- package/dist/esm/plugins/remote-configs/index.js +5 -4
- package/dist/esm/plugins/remote-configs/types.js +1 -0
- package/dist/esm/preview/index.js +35 -0
- package/dist/esm/preview/package.json +1 -0
- package/dist/esm/preview/parse/classifyInnerOperations.js +87 -0
- package/dist/esm/preview/parse/errors.js +30 -0
- package/dist/esm/preview/parse/index.js +9 -0
- package/dist/esm/preview/parse/parseFacadeOperationCalldata.js +82 -0
- package/dist/esm/preview/parse/parseOperationCalldata.js +51 -0
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +67 -0
- package/dist/esm/preview/parse/parseRWAFactoryOperationCalldata.js +86 -0
- package/dist/esm/preview/parse/types-adapters.js +1 -0
- package/dist/esm/preview/parse/types-facades.js +1 -0
- package/dist/esm/preview/parse/types-pools.js +1 -0
- package/dist/esm/preview/parse/types-rwa.js +1 -0
- package/dist/esm/preview/parse/types.js +23 -0
- package/dist/esm/preview/prerequisites/AllowancePrerequisite.js +37 -0
- package/dist/esm/preview/prerequisites/BalancePrerequisite.js +51 -0
- package/dist/esm/preview/prerequisites/Prerequisite.js +51 -0
- package/dist/esm/preview/prerequisites/RWAOpenRequirementsPrerequisite.js +52 -0
- package/dist/esm/preview/prerequisites/buildCollateralPrerequisites.js +62 -0
- package/dist/esm/preview/prerequisites/buildPartialLiquidationPrerequisites.js +18 -0
- package/dist/esm/preview/prerequisites/buildPoolPrerequisites.js +75 -0
- package/dist/esm/preview/prerequisites/buildRWAPrerequisites.js +38 -0
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +70 -0
- package/dist/esm/preview/prerequisites/helpers.js +22 -0
- package/dist/esm/preview/prerequisites/index.js +7 -0
- package/dist/esm/preview/prerequisites/types.js +1 -0
- package/dist/esm/preview/preview/CreditAccountState.js +133 -0
- package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +66 -0
- package/dist/esm/preview/preview/buildDelayedPreview.js +193 -0
- package/dist/esm/preview/preview/detectCloseOrRepay.js +38 -0
- package/dist/esm/preview/preview/detectDelayedClaim.js +44 -0
- package/dist/esm/preview/preview/detectDelayedOperation.js +48 -0
- package/dist/esm/preview/preview/errors.js +16 -0
- package/dist/esm/preview/preview/index.js +13 -0
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +53 -0
- package/dist/esm/preview/preview/previewCloseOrRepayCreditAccount.js +65 -0
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +56 -0
- package/dist/esm/preview/preview/previewOperation.js +76 -0
- package/dist/esm/preview/preview/previewPoolOperation.js +27 -0
- package/dist/esm/preview/preview/replayInnerOperations.js +144 -0
- package/dist/esm/preview/preview/replayMulticall.js +18 -0
- package/dist/esm/preview/preview/types.js +35 -0
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +43 -0
- package/dist/esm/preview/simulate/errors.js +79 -0
- package/dist/esm/preview/simulate/index.js +6 -0
- package/dist/esm/preview/simulate/simulateFacadeOperation.js +14 -0
- package/dist/esm/preview/simulate/simulateOperation.js +26 -0
- package/dist/esm/preview/simulate/simulatePoolOperation.js +103 -0
- package/dist/esm/preview/simulate/simulateRWAOperation.js +14 -0
- package/dist/esm/preview/simulate/types.js +1 -0
- package/dist/esm/preview/trace/errors.js +39 -0
- package/dist/esm/preview/trace/extractAdapterCallTraces.js +72 -0
- package/dist/esm/preview/trace/extractTransfers.js +161 -0
- package/dist/esm/preview/trace/findFacadeCalls.js +58 -0
- package/dist/esm/preview/trace/index.js +6 -0
- package/dist/esm/preview/trace/types.js +1 -0
- package/dist/esm/preview/types.js +1 -0
- package/dist/esm/rewards/apy/index.js +3 -2
- package/dist/esm/rewards/apy/output-details.js +1 -0
- package/dist/esm/rewards/apy/output.js +1 -0
- package/dist/esm/rewards/index.js +5 -2
- package/dist/esm/rewards/rewards/api.js +67 -84
- package/dist/esm/rewards/rewards/common.js +1 -0
- package/dist/esm/rewards/rewards/extra-apy.js +64 -97
- package/dist/esm/rewards/rewards/index.js +3 -2
- package/dist/esm/rewards/rewards/merkl-api.js +17 -22
- package/dist/esm/sdk/MultichainSDK.js +184 -192
- package/dist/esm/sdk/OnchainSDK.js +494 -527
- package/dist/esm/sdk/abi/index.js +2 -1
- package/dist/esm/sdk/abi/oracles.js +7350 -4699
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +466 -1749
- package/dist/esm/sdk/accounts/bots/AccountBotsService.js +131 -0
- package/dist/esm/sdk/accounts/bots/PeripheryCompressorV310Contract.js +31 -0
- package/dist/esm/sdk/accounts/bots/abi.js +18 -0
- package/dist/esm/sdk/accounts/bots/index.js +4 -0
- package/dist/esm/sdk/accounts/bots/types.js +1 -0
- package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressor.js +279 -0
- package/dist/esm/sdk/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.js +141 -0
- package/dist/esm/sdk/accounts/credit-account-compressor/index.js +4 -0
- package/dist/esm/sdk/accounts/credit-account-compressor/types.js +1 -0
- package/dist/esm/sdk/accounts/index.js +27 -2
- package/dist/esm/sdk/accounts/intents/index.js +389 -0
- package/dist/esm/sdk/accounts/intents/intents/index.js +8 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.js +107 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.js +14 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/close/close.fixtures.js +94 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/close/close.js +50 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.js +114 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.js +82 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.js +110 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/deposit/deposit.js +14 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.js +88 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.js +14 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/index.js +7 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.js +121 -0
- package/dist/esm/sdk/accounts/intents/intents/resume/withdraw/withdraw.js +160 -0
- package/dist/esm/sdk/accounts/intents/operations/add-collateral/index.js +16 -0
- package/dist/esm/sdk/accounts/intents/operations/claim-delayed/index.js +52 -0
- package/dist/esm/sdk/accounts/intents/operations/close-credit-account/index.js +25 -0
- package/dist/esm/sdk/accounts/intents/operations/decrease-debt/index.js +11 -0
- package/dist/esm/sdk/accounts/intents/operations/increase-debt/index.js +11 -0
- package/dist/esm/sdk/accounts/intents/operations/index.js +14 -0
- package/dist/esm/sdk/accounts/intents/operations/quota-update/index.js +21 -0
- package/dist/esm/sdk/accounts/intents/operations/repay-credit-account/index.js +21 -0
- package/dist/esm/sdk/accounts/intents/operations/start-delayed-withdrawal/index.js +17 -0
- package/dist/esm/sdk/accounts/intents/operations/swap/index.js +17 -0
- package/dist/esm/sdk/accounts/intents/operations/types.js +1 -0
- package/dist/esm/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.js +26 -0
- package/dist/esm/sdk/accounts/intents/operations/withdraw-collateral/index.js +42 -0
- package/dist/esm/sdk/accounts/intents/operations/wrap-rwa-collateral/index.js +26 -0
- package/dist/esm/sdk/accounts/intents/quoters/close.js +56 -0
- package/dist/esm/sdk/accounts/intents/quoters/index.js +3 -0
- package/dist/esm/sdk/accounts/intents/quoters/swap.js +77 -0
- package/dist/esm/sdk/accounts/intents/testing/expect.js +162 -0
- package/dist/esm/sdk/accounts/intents/testing/resume.js +157 -0
- package/dist/esm/sdk/accounts/intents/testing/sdk-mock.js +172 -0
- package/dist/esm/sdk/accounts/intents/types.js +1 -0
- package/dist/esm/sdk/accounts/intents/utils/assemble-operation-calls.js +6 -0
- package/dist/esm/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.js +12 -0
- package/dist/esm/sdk/accounts/intents/utils/common.js +40 -0
- package/dist/esm/sdk/accounts/intents/utils/convert-amount.js +36 -0
- package/dist/esm/sdk/accounts/intents/utils/index.js +9 -0
- package/dist/esm/sdk/accounts/intents/utils/quotas-for-update.js +121 -0
- package/dist/esm/sdk/accounts/intents/utils/simulate-adjust-state.js +38 -0
- package/dist/esm/sdk/accounts/intents/utils/simulate-assets.js +68 -0
- package/dist/esm/sdk/accounts/intents/utils/with-quota-update.js +12 -0
- package/dist/esm/sdk/accounts/liquidations/LiquidationsService.js +296 -0
- package/dist/esm/sdk/accounts/liquidations/MultichainLiquidationsService.js +85 -0
- package/dist/esm/sdk/accounts/liquidations/constants.js +10 -0
- package/dist/esm/sdk/accounts/liquidations/index.js +5 -0
- package/dist/esm/sdk/accounts/liquidations/types.js +1 -0
- package/dist/esm/sdk/accounts/multicall-utils.js +75 -54
- package/dist/esm/sdk/accounts/types.js +1 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.js +267 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +51 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +19 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +19 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +259 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/addresses.js +22 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/createRedemptionLogger.js +21 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.js +23 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/errors.js +19 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/index.js +12 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/intent-codec.js +120 -0
- package/dist/esm/sdk/accounts/withdrawal-compressor/types.js +15 -0
- package/dist/esm/sdk/base/BaseContract.js +338 -353
- package/dist/esm/sdk/base/ChainContractsRegister.js +184 -176
- package/dist/esm/sdk/base/Construct.js +84 -87
- package/dist/esm/sdk/base/MultichainConstruct.js +118 -0
- package/dist/esm/sdk/base/PlaceholderContract.js +13 -7
- package/dist/esm/sdk/base/SDKConstruct.js +19 -9
- package/dist/esm/sdk/base/TokensMeta.js +260 -175
- package/dist/esm/sdk/base/errors.js +8 -10
- package/dist/esm/sdk/base/index.js +11 -9
- package/dist/esm/sdk/base/token-types.js +11 -13
- package/dist/esm/sdk/base/types.js +12 -9
- package/dist/esm/sdk/chain/chains.js +442 -400
- package/dist/esm/sdk/chain/detectNetwork.js +18 -17
- package/dist/esm/sdk/chain/index.js +3 -2
- package/dist/esm/sdk/constants/address-provider.js +8 -37
- package/dist/esm/sdk/constants/addresses.js +12 -6
- package/dist/esm/sdk/constants/bot-permissions.js +23 -28
- package/dist/esm/sdk/constants/index.js +8 -7
- package/dist/esm/sdk/constants/math.js +12 -26
- package/dist/esm/sdk/constants/networks.js +36 -49
- package/dist/esm/sdk/constants/periphery.js +6 -6
- package/dist/esm/sdk/constants/versions.js +5 -7
- package/dist/esm/sdk/core/AbstractAddressProviderContract.js +111 -124
- package/dist/esm/sdk/core/AddressProviderV310Contract.js +50 -59
- package/dist/esm/sdk/core/createAddressProvider.js +26 -44
- package/dist/esm/sdk/core/errors.js +77 -46
- package/dist/esm/sdk/core/index.js +5 -4
- package/dist/esm/sdk/core/types.js +1 -0
- package/dist/esm/sdk/index.js +151 -15
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +91 -99
- package/dist/esm/sdk/market/MarketRegister.js +251 -279
- package/dist/esm/sdk/market/MarketSuite.js +309 -139
- package/dist/esm/sdk/market/ZapperRegister.js +148 -96
- package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +28 -33
- package/dist/esm/sdk/market/adapters/createAdapter.js +16 -21
- package/dist/esm/sdk/market/adapters/index.js +4 -3
- package/dist/esm/sdk/market/adapters/types.js +1 -0
- package/dist/esm/sdk/market/credit/CreditConfiguratorV310Contract.js +86 -97
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +80 -82
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +301 -94
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +92 -84
- package/dist/esm/sdk/market/credit/CreditSuite.js +369 -121
- package/dist/esm/sdk/market/credit/createCreditConfigurator.js +8 -9
- package/dist/esm/sdk/market/credit/createCreditFacade.js +8 -9
- package/dist/esm/sdk/market/credit/createCreditManager.js +8 -9
- package/dist/esm/sdk/market/credit/dominantCollateral.js +45 -0
- package/dist/esm/sdk/market/credit/expectedBalanceDeltas.js +24 -0
- package/dist/esm/sdk/market/credit/index.js +9 -6
- package/dist/esm/sdk/market/credit/types.js +1 -0
- package/dist/esm/sdk/market/index.js +62 -10
- package/dist/esm/sdk/market/loss-policy/AliasLossPolicyV310Contract.js +97 -90
- package/dist/esm/sdk/market/loss-policy/LossPolicyContract.js +15 -18
- package/dist/esm/sdk/market/loss-policy/constants.js +6 -8
- package/dist/esm/sdk/market/loss-policy/createLossPolicy.js +15 -21
- package/dist/esm/sdk/market/loss-policy/index.js +5 -4
- package/dist/esm/sdk/market/loss-policy/types.js +1 -0
- package/dist/esm/sdk/market/math.js +188 -0
- package/dist/esm/sdk/market/oracle/PriceFeedAnswerMap.js +13 -16
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +309 -251
- package/dist/esm/sdk/market/oracle/PriceOracleV310Contract.js +42 -84
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +8 -9
- package/dist/esm/sdk/market/oracle/index.js +4 -3
- package/dist/esm/sdk/market/oracle/types.js +1 -0
- package/dist/esm/sdk/market/pool/GaugeContract.js +104 -86
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +102 -60
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV310Contract.js +74 -58
- package/dist/esm/sdk/market/pool/PoolSuite.js +165 -142
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +147 -142
- package/dist/esm/sdk/market/pool/TumblerContract.js +51 -47
- package/dist/esm/sdk/market/pool/createInterestRateModel.js +13 -18
- package/dist/esm/sdk/market/pool/createPool.js +8 -9
- package/dist/esm/sdk/market/pool/createPoolQuotaKeeper.js +8 -9
- package/dist/esm/sdk/market/pool/createRateKeeper.js +11 -15
- package/dist/esm/sdk/market/pool/index.js +6 -5
- package/dist/esm/sdk/market/pool/math.js +41 -0
- package/dist/esm/sdk/market/pool/types.js +1 -0
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +52 -40
- package/dist/esm/sdk/market/pricefeeds/AbstractPriceFeed.js +107 -105
- package/dist/esm/sdk/market/pricefeeds/BalancerStablePriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/BalancerWeightedPriceFeed.js +51 -41
- package/dist/esm/sdk/market/pricefeeds/BoundedPriceFeed.js +24 -29
- package/dist/esm/sdk/market/pricefeeds/CompositePriceFeed.js +19 -18
- package/dist/esm/sdk/market/pricefeeds/ConstantPriceFeed.js +24 -31
- package/dist/esm/sdk/market/pricefeeds/CurveCryptoPriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/CurveStablePriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/CurveUSDPriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/Erc4626PriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/ExternalPriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/MellowLRTPriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.js +52 -36
- package/dist/esm/sdk/market/pricefeeds/PriceFeedRef.js +49 -44
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +281 -322
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +60 -47
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +79 -59
- package/dist/esm/sdk/market/pricefeeds/WstETHPriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/YearnPriceFeed.js +13 -12
- package/dist/esm/sdk/market/pricefeeds/ZeroPriceFeed.js +14 -13
- package/dist/esm/sdk/market/pricefeeds/getRawPriceUpdates.js +14 -14
- package/dist/esm/sdk/market/pricefeeds/index.js +26 -29
- package/dist/esm/sdk/market/pricefeeds/isUpdatablePriceFeed.js +4 -4
- package/dist/esm/sdk/market/pricefeeds/types.js +1 -0
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdateTx.js +24 -28
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +32 -36
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +184 -232
- package/dist/esm/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +86 -129
- package/dist/esm/sdk/market/pricefeeds/updates/index.js +2 -6
- package/dist/esm/sdk/market/pricefeeds/updates/types.js +1 -0
- package/dist/esm/sdk/market/rwa/RWARegistry.js +284 -256
- package/dist/esm/sdk/market/rwa/index.js +11 -3
- package/dist/esm/sdk/market/rwa/midas/MidasLiquidatorContract.js +43 -0
- package/dist/esm/sdk/market/rwa/midas/constants.js +5 -0
- package/dist/esm/sdk/market/rwa/midas/index.js +3 -0
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeDegenNFT.js +15 -14
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeLiquidatorContract.js +31 -0
- package/dist/esm/sdk/market/rwa/securitize/SecuritizeRWAFactory.js +311 -233
- package/dist/esm/sdk/market/rwa/securitize/constants.js +5 -3
- package/dist/esm/sdk/market/rwa/securitize/index.js +5 -3
- package/dist/esm/sdk/market/rwa/securitize/types.js +29 -12
- package/dist/esm/sdk/market/rwa/types.js +20 -7
- package/dist/esm/sdk/market/types.js +1 -0
- package/dist/esm/sdk/market/zapper/IERC20ZapperContract.js +48 -71
- package/dist/esm/sdk/market/zapper/IETHZapperContract.js +27 -62
- package/dist/esm/sdk/market/zapper/ZapperContract.js +92 -0
- package/dist/esm/sdk/market/zapper/createZapper.js +20 -17
- package/dist/esm/sdk/market/zapper/errors.js +17 -0
- package/dist/esm/sdk/market/zapper/index.js +7 -4
- package/dist/esm/sdk/market/zapper/types.js +1 -0
- package/dist/esm/sdk/opportunities/MultichainOpportunitiesService.js +48 -0
- package/dist/esm/sdk/opportunities/OpportunitiesService.js +47 -0
- package/dist/esm/sdk/opportunities/index.js +4 -0
- package/dist/esm/sdk/options.js +63 -38
- package/dist/esm/sdk/plugins/BasePlugin.js +76 -72
- package/dist/esm/sdk/plugins/errors.js +7 -9
- package/dist/esm/sdk/plugins/index.js +4 -3
- package/dist/esm/sdk/plugins/types.js +1 -0
- package/dist/esm/sdk/pools/PoolService.js +330 -415
- package/dist/esm/sdk/pools/index.js +3 -2
- package/dist/esm/sdk/pools/types.js +1 -0
- package/dist/esm/sdk/positions/MultichainPositionsService.js +27 -0
- package/dist/esm/sdk/positions/PositionsService.js +48 -0
- package/dist/esm/sdk/positions/index.js +4 -0
- package/dist/esm/sdk/positions/types.js +1 -0
- package/dist/esm/sdk/router/AbstractRouterContract.js +137 -165
- package/dist/esm/sdk/router/RouterV310Contract.js +294 -306
- package/dist/esm/sdk/router/createRouter.js +9 -12
- package/dist/esm/sdk/router/helpers.js +15 -15
- package/dist/esm/sdk/router/index.js +4 -6
- package/dist/esm/sdk/router/types.js +1 -0
- package/dist/esm/sdk/types/index.js +1 -0
- package/dist/esm/sdk/types/logger.js +1 -0
- package/dist/esm/sdk/types/multichain.js +1 -0
- package/dist/esm/sdk/types/state-human.js +1 -0
- package/dist/esm/sdk/types/state.js +1 -0
- package/dist/esm/sdk/types/transactions.js +1 -0
- package/dist/esm/sdk/utils/AddressMap.js +153 -154
- package/dist/esm/sdk/utils/AddressSet.js +42 -31
- package/dist/esm/sdk/utils/AssetsMap.js +70 -0
- package/dist/esm/sdk/utils/abi-decode.js +61 -72
- package/dist/esm/sdk/utils/bigint-math.js +46 -0
- package/dist/esm/sdk/utils/bytes32ToString.js +4 -4
- package/dist/esm/sdk/utils/childLogger.js +4 -4
- package/dist/esm/sdk/utils/createRawTx.js +43 -43
- package/dist/esm/sdk/utils/etherscan.js +23 -33
- package/dist/esm/sdk/utils/filterDust.js +21 -25
- package/dist/esm/sdk/utils/formatter.js +133 -194
- package/dist/esm/sdk/utils/hex.js +9 -4
- package/dist/esm/sdk/utils/index.js +20 -17
- package/dist/esm/sdk/utils/internal/Hooks.js +19 -28
- package/dist/esm/sdk/utils/internal/index.js +2 -1
- package/dist/esm/sdk/utils/isDust.js +25 -21
- package/dist/esm/sdk/utils/json.js +12 -18
- package/dist/esm/sdk/utils/mappers.js +18 -18
- package/dist/esm/sdk/utils/retry.js +16 -19
- package/dist/esm/sdk/utils/toAddress.js +6 -10
- package/dist/esm/sdk/utils/type-utils.js +1 -0
- package/dist/esm/sdk/utils/viem/cast.js +24 -24
- package/dist/esm/sdk/utils/viem/executeDelegatedMulticalls.js +19 -11
- package/dist/esm/sdk/utils/viem/executeMulticallBatches.js +31 -0
- package/dist/esm/sdk/utils/viem/index.js +9 -6
- package/dist/esm/sdk/utils/viem/sendRawTx.js +19 -31
- package/dist/esm/sdk/utils/viem/simulateCall.js +80 -0
- package/dist/esm/sdk/utils/viem/simulateMulticall.js +118 -123
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +175 -258
- package/dist/esm/sdk/utils/viem/watchBlocksAsync.js +78 -49
- package/dist/esm/sdk/utils/zod.js +46 -13
- package/dist/types/abi/310/configure/creditSuiteParams.d.ts +87 -84
- package/dist/types/abi/310/configure/iCreditConfigureActions.d.ts +174 -171
- package/dist/types/abi/310/configure/iPoolConfigureActions.d.ts +62 -59
- package/dist/types/abi/310/configure/iPriceOracleConfigureActions.d.ts +30 -27
- package/dist/types/abi/310/crossChainMultisig.d.ts +688 -685
- package/dist/types/abi/310/generated.d.ts +7025 -7022
- package/dist/types/abi/310/iBytecodeRepository.d.ts +1114 -1111
- package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +107 -104
- package/dist/types/abi/310/iMarketConfiguratorFactory.d.ts +220 -217
- package/dist/types/abi/310/iPriceFeedStore.d.ts +522 -519
- package/dist/types/abi/310/iTreasurySplitter.d.ts +335 -332
- package/dist/types/abi/310/instanceManager.d.ts +300 -297
- package/dist/types/abi/AccountMigrator.d.ts +210 -207
- package/dist/types/abi/ILiquidationCompressorV313.d.ts +145 -0
- package/dist/types/abi/IWithdrawalCompressorV310.d.ts +295 -292
- package/dist/types/abi/IWithdrawalCompressorV311.d.ts +299 -296
- package/dist/types/abi/IWithdrawalCompressorV313.d.ts +623 -0
- package/dist/types/abi/compressors/creditAccountCompressor.d.ts +782 -779
- package/dist/types/abi/compressors/creditSuiteCompressor.d.ts +777 -774
- package/dist/types/abi/compressors/defillamaCompressor.d.ts +184 -181
- package/dist/types/abi/compressors/gaugeCompressor.d.ts +218 -215
- package/dist/types/abi/compressors/liquidationCompressor.d.ts +274 -271
- package/dist/types/abi/compressors/marketCompressor.d.ts +2447 -2444
- package/dist/types/abi/compressors/peripheryCompressor.d.ts +198 -195
- package/dist/types/abi/compressors/priceFeedCompressor.d.ts +626 -623
- package/dist/types/abi/compressors/rewardsCompressor.d.ts +67 -64
- package/dist/types/abi/compressors/rwaCompressor.d.ts +215 -212
- package/dist/types/abi/compressors/subcompressors/liquidation/midasLiquidationSubcompressor.d.ts +135 -132
- package/dist/types/abi/compressors/subcompressors/liquidation/securitizeLiquidationSubcompressor.d.ts +135 -132
- package/dist/types/abi/compressors/subcompressors/rwa/onDemandRWAUnderlyingSubcompressor.d.ts +48 -45
- package/dist/types/abi/compressors/subcompressors/rwa/securitizeRWAFactorySubcompressor.d.ts +82 -79
- package/dist/types/abi/compressors/subcompressors/withdrawal/infinifiWithdrawalSubcompressor.d.ts +201 -198
- package/dist/types/abi/compressors/subcompressors/withdrawal/kelpLRTWithdrawalSubcompressor.d.ts +201 -198
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowFlexibleDepositSubcompressor.d.ts +197 -194
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowFlexibleRedeemSubcompressor.d.ts +197 -194
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +377 -374
- package/dist/types/abi/compressors/subcompressors/withdrawal/midasWithdrawalSubcompressor.d.ts +395 -392
- package/dist/types/abi/compressors/subcompressors/withdrawal/securitizeRedemptionSubcompressor.d.ts +395 -392
- package/dist/types/abi/compressors/subcompressors/withdrawal/upshiftWithdrawalSubcompressor.d.ts +201 -198
- package/dist/types/abi/compressors/tokenCompressor.d.ts +96 -93
- package/dist/types/abi/compressors/withdrawalCompressor.d.ts +707 -704
- package/dist/types/abi/errors.d.ts +1308 -1305
- package/dist/types/abi/governance/batchesChain.d.ts +31 -28
- package/dist/types/abi/governance/governor.d.ts +578 -575
- package/dist/types/abi/governance/iTimeLock.d.ts +309 -306
- package/dist/types/abi/helpers/redemptionLogger.d.ts +156 -153
- package/dist/types/abi/iAirdropDistributor.d.ts +108 -105
- package/dist/types/abi/iBaseRewardPool.d.ts +393 -390
- package/dist/types/abi/iCurvePool.d.ts +22 -19
- package/dist/types/abi/iDefaultAccountFactoryV3.d.ts +167 -164
- package/dist/types/abi/iDegenNFTV2.d.ts +343 -340
- package/dist/types/abi/iERC20.d.ts +163 -160
- package/dist/types/abi/iERC20Permit.d.ts +59 -56
- package/dist/types/abi/iERC20Zapper.d.ts +370 -299
- package/dist/types/abi/iERC20ZapperDeposits.d.ts +190 -187
- package/dist/types/abi/iETHZapper.d.ts +214 -143
- package/dist/types/abi/iETHZapperDeposits.d.ts +34 -31
- package/dist/types/abi/iExpirable.d.ts +14 -0
- package/dist/types/abi/iFarmingPool.d.ts +274 -271
- package/dist/types/abi/iInterestRateModel.d.ts +30 -27
- package/dist/types/abi/iMulticall3.d.ts +303 -300
- package/dist/types/abi/iOffchainOracle.d.ts +42 -39
- package/dist/types/abi/iPausable.d.ts +31 -28
- package/dist/types/abi/iPhantomToken.d.ts +18 -0
- package/dist/types/abi/iPriceFeed.d.ts +83 -80
- package/dist/types/abi/iRedemptionLoggerV310.d.ts +125 -0
- package/dist/types/abi/iStateSerializer.d.ts +13 -10
- package/dist/types/abi/iUpdatablePriceFeed.d.ts +22 -19
- package/dist/types/abi/iVersion.d.ts +22 -19
- package/dist/types/abi/iZapper.d.ts +184 -113
- package/dist/types/abi/ierc4626Adapter.d.ts +182 -0
- package/dist/types/abi/mellow.d.ts +3864 -3861
- package/dist/types/abi/migration.d.ts +625 -622
- package/dist/types/abi/router/balancerV2Worker.d.ts +919 -916
- package/dist/types/abi/router/balancerV3Worker.d.ts +919 -916
- package/dist/types/abi/router/balancerV3WrapperWorker.d.ts +690 -687
- package/dist/types/abi/router/camelotV3Worker.d.ts +710 -707
- package/dist/types/abi/router/convexWorker.d.ts +690 -687
- package/dist/types/abi/router/curveWorker.d.ts +909 -906
- package/dist/types/abi/router/daiUsdsWorker.d.ts +690 -687
- package/dist/types/abi/router/equalizerRouterWorker.d.ts +690 -687
- package/dist/types/abi/router/erc4626Worker.d.ts +726 -723
- package/dist/types/abi/router/fluidDexWorker.d.ts +700 -697
- package/dist/types/abi/router/gearboxRouter.d.ts +789 -786
- package/dist/types/abi/router/infinifiWorker.d.ts +690 -687
- package/dist/types/abi/router/infraredVaultWorker.d.ts +690 -687
- package/dist/types/abi/router/kelpLRTDepositPoolWorker.d.ts +690 -687
- package/dist/types/abi/router/kodiakWorker.d.ts +928 -925
- package/dist/types/abi/router/lidoWorker.d.ts +690 -687
- package/dist/types/abi/router/mellow4626Worker.d.ts +713 -710
- package/dist/types/abi/router/mellowDVVWorker.d.ts +690 -687
- package/dist/types/abi/router/mellowVaultWorker.d.ts +700 -697
- package/dist/types/abi/router/midasWorker.d.ts +690 -687
- package/dist/types/abi/router/pendleRouterWorker.d.ts +698 -695
- package/dist/types/abi/router/routingManager.d.ts +449 -446
- package/dist/types/abi/router/securitizeOnrampWorker.d.ts +690 -687
- package/dist/types/abi/router/stakingRewardsWorker.d.ts +690 -687
- package/dist/types/abi/router/traderJoeWorker.d.ts +690 -687
- package/dist/types/abi/router/uniswapV2Worker.d.ts +690 -687
- package/dist/types/abi/router/uniswapV3Worker.d.ts +728 -725
- package/dist/types/abi/router/uniswapV4Worker.d.ts +727 -724
- package/dist/types/abi/router/upshiftWorker.d.ts +690 -687
- package/dist/types/abi/router/velodromeV2Worker.d.ts +690 -687
- package/dist/types/abi/router/wstETHWorker.d.ts +690 -687
- package/dist/types/abi/router/yearnV2Worker.d.ts +690 -687
- package/dist/types/abi/rwa/iDSRegistryService.d.ts +377 -374
- package/dist/types/abi/rwa/iDSToken.d.ts +1500 -1497
- package/dist/types/abi/rwa/iMidasLiquidatorV311.d.ts +83 -0
- package/dist/types/abi/rwa/iRWACompressor.d.ts +208 -205
- package/dist/types/abi/rwa/iRWAFactory.d.ts +130 -127
- package/dist/types/abi/rwa/iRWAGateway.d.ts +18 -0
- package/dist/types/abi/rwa/iRWAUnderlying.d.ts +550 -547
- package/dist/types/abi/rwa/iSecuritizeDegenNFT.d.ts +371 -368
- package/dist/types/abi/rwa/iSecuritizeLiquidatorV311.d.ts +95 -0
- package/dist/types/abi/rwa/iSecuritizeRWAFactory.d.ts +417 -414
- package/dist/types/common-utils/axios-cache/AxiosCache.d.ts +20 -16
- package/dist/types/common-utils/axios-cache/index.d.ts +2 -1
- package/dist/types/common-utils/charts/credit-manager-payload.d.ts +52 -49
- package/dist/types/common-utils/charts/credit-manager.d.ts +50 -47
- package/dist/types/common-utils/charts/credit-session.d.ts +105 -103
- package/dist/types/common-utils/charts/credit-sessions-payload.d.ts +105 -103
- package/dist/types/common-utils/charts/graph-payload.d.ts +9 -7
- package/dist/types/common-utils/charts/index.d.ts +9 -8
- package/dist/types/common-utils/charts/pool-payload.d.ts +107 -104
- package/dist/types/common-utils/charts/pool.d.ts +92 -89
- package/dist/types/common-utils/charts/token-data.d.ts +34 -31
- package/dist/types/common-utils/index.d.ts +117 -4
- package/dist/types/common-utils/static/index.d.ts +5 -4
- package/dist/types/common-utils/static/migration-config.d.ts +12 -9
- package/dist/types/common-utils/static/pool-config.d.ts +13 -10
- package/dist/types/common-utils/static/strategy.d.ts +84 -81
- package/dist/types/common-utils/static/trading-pair.d.ts +17 -14
- package/dist/types/common-utils/test-utils/index.d.ts +17 -14
- package/dist/types/common-utils/utils/apy/bonus-apy-from-points.d.ts +6 -3
- package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.d.ts +5 -2
- package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/apy/calculate-earnings.d.ts +16 -13
- package/dist/types/common-utils/utils/apy/calculate-earnings.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/apy/calculate-effective-borrow-rate.d.ts +8 -5
- package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.d.ts +10 -7
- package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/apy/get-complex-apy-list.d.ts +7 -4
- package/dist/types/common-utils/utils/apy/get-rate-with-fee.d.ts +4 -1
- package/dist/types/common-utils/utils/apy/get-safe-base-borrow-rate.d.ts +6 -3
- package/dist/types/common-utils/utils/apy/get-single-quota-borrow-rate.d.ts +7 -4
- package/dist/types/common-utils/utils/apy/index.d.ts +11 -10
- package/dist/types/common-utils/utils/apy/max-apy-formula.d.ts +8 -5
- package/dist/types/common-utils/utils/assets-math.d.ts +105 -102
- package/dist/types/common-utils/utils/constants.d.ts +7 -4
- package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +17 -13
- package/dist/types/common-utils/utils/creditAccount/calc-overall-apy.d.ts +20 -16
- package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +11 -7
- package/dist/types/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.d.ts +8 -5
- package/dist/types/common-utils/utils/creditAccount/debt.d.ts +16 -12
- package/dist/types/common-utils/utils/creditAccount/get-time-to-liquidation.d.ts +7 -4
- package/dist/types/common-utils/utils/creditAccount/index.d.ts +10 -10
- package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +14 -11
- package/dist/types/common-utils/utils/creditAccount/quota-utils.d.ts +38 -36
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +12 -8
- package/dist/types/common-utils/utils/creditAccount/types.d.ts +17 -13
- package/dist/types/common-utils/utils/index.d.ts +104 -8
- package/dist/types/common-utils/utils/price-math.d.ts +38 -36
- package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +7 -3
- package/dist/types/common-utils/utils/strategies/assets/index.d.ts +2 -1
- package/dist/types/common-utils/utils/strategies/availability/check-boolean.d.ts +4 -1
- package/dist/types/common-utils/utils/strategies/availability/check-degen-nft.d.ts +7 -4
- package/dist/types/common-utils/utils/strategies/availability/index.d.ts +3 -2
- package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.d.ts +18 -16
- package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.d.ts +13 -6
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.d.ts +10 -2
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.d.ts +10 -6
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +16 -12
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/index.d.ts +7 -6
- package/dist/types/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.d.ts +6 -2
- package/dist/types/common-utils/utils/strategies/eligibility/index.d.ts +3 -2
- package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +14 -6
- package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-released.d.ts +4 -1
- package/dist/types/common-utils/utils/strategies/index.d.ts +77 -12
- package/dist/types/common-utils/utils/strategies/leverage/calculate-loss-coefficient.d.ts +4 -1
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.d.ts +14 -11
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.d.ts +13 -10
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.d.ts +5 -2
- package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/leverage/get-factor-from-leverage.d.ts +6 -3
- package/dist/types/common-utils/utils/strategies/leverage/get-leverage-from-factor.d.ts +5 -2
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.d.ts +22 -19
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.d.ts +6 -3
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/leverage/index.d.ts +11 -10
- package/dist/types/common-utils/utils/strategies/leverage/max-leverage-threshold.d.ts +7 -4
- package/dist/types/common-utils/utils/strategies/leverage/max-leverage.d.ts +7 -4
- package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +13 -6
- package/dist/types/common-utils/utils/strategies/lists/get-available-strategies.d.ts +10 -4
- package/dist/types/common-utils/utils/strategies/lists/get-disabled-strategies.d.ts +11 -4
- package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list-core.d.ts +15 -8
- package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list.d.ts +10 -2
- package/dist/types/common-utils/utils/strategies/lists/index.d.ts +4 -3
- package/dist/types/common-utils/utils/strategies/points/get-complex-points-list.d.ts +7 -3
- package/dist/types/common-utils/utils/strategies/points/get-points-info.d.ts +11 -7
- package/dist/types/common-utils/utils/strategies/points/get-points-rates.d.ts +6 -2
- package/dist/types/common-utils/utils/strategies/points/get-strategy-points.d.ts +24 -18
- package/dist/types/common-utils/utils/strategies/points/index.d.ts +5 -4
- package/dist/types/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.d.ts +2 -1
- package/dist/types/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.d.ts +25 -22
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +29 -25
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +24 -20
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/cm-availability-condition.d.ts +6 -3
- package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.d.ts +21 -18
- package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-info-core.d.ts +20 -15
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-info.d.ts +5 -2
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.d.ts +15 -13
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.d.ts +27 -25
- package/dist/types/common-utils/utils/strategies/strategy-info/index.d.ts +11 -10
- package/dist/types/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.d.ts +5 -2
- package/dist/types/common-utils/utils/strategies/strategy-info/types.d.ts +103 -99
- package/dist/types/common-utils/utils/strategies/strategy-state/index.d.ts +2 -1
- package/dist/types/common-utils/utils/strategies/strategy-state/is-strategy-disabled.d.ts +7 -3
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +9 -5
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.d.ts +6 -4
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +14 -10
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-native-token-address.d.ts +4 -1
- package/dist/types/common-utils/utils/strategies/tokens/index.d.ts +13 -12
- package/dist/types/common-utils/utils/strategies/tokens/is-activated-token.d.ts +9 -5
- package/dist/types/common-utils/utils/strategies/tokens/is-apy-with-points-exception.d.ts +6 -3
- package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.d.ts +15 -13
- package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/is-forbidden-token.d.ts +8 -5
- package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.d.ts +10 -7
- package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/tokens/is-usable-token.d.ts +6 -2
- package/dist/types/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.d.ts +19 -16
- package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.d.ts +5 -2
- package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/strategies/types/chains.d.ts +6 -2
- package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +31 -28
- package/dist/types/common-utils/utils/strategies/types/curator-filter.d.ts +5 -2
- package/dist/types/common-utils/utils/strategies/types/index.d.ts +13 -12
- package/dist/types/common-utils/utils/strategies/types/legacy-strategy-data-source.d.ts +7 -4
- package/dist/types/common-utils/utils/strategies/types/points-slices.d.ts +21 -17
- package/dist/types/common-utils/utils/strategies/types/sdk-state.d.ts +16 -13
- package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +9 -5
- package/dist/types/common-utils/utils/strategies/types/strategy-data-source.d.ts +20 -17
- package/dist/types/common-utils/utils/strategies/types/strategy-data.d.ts +17 -14
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +43 -39
- package/dist/types/common-utils/utils/strategies/types/strategy.d.ts +17 -13
- package/dist/types/common-utils/utils/strategies/types/targetable.d.ts +8 -5
- package/dist/types/common-utils/utils/strategies/types.d.ts +14 -1
- package/dist/types/common-utils/utils/trace.d.ts +76 -0
- package/dist/types/common-utils/utils/validation/index.d.ts +12 -11
- package/dist/types/common-utils/utils/validation/is-zero-balance.d.ts +4 -1
- package/dist/types/common-utils/utils/validation/validate-balance.d.ts +20 -17
- package/dist/types/common-utils/utils/validation/validate-balance.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-balances.d.ts +12 -8
- package/dist/types/common-utils/utils/validation/validate-balances.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-credit-manager.d.ts +11 -8
- package/dist/types/common-utils/utils/validation/validate-credit-manager.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-hf.d.ts +10 -7
- package/dist/types/common-utils/utils/validation/validate-hf.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.d.ts +9 -6
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.d.ts +22 -19
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +21 -17
- package/dist/types/common-utils/utils/validation/validate-open-account.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +20 -16
- package/dist/types/common-utils/utils/validation/validate-quota.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +15 -11
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.spec.d.ts +1 -1
- package/dist/types/common-utils/utils/validation/validation-types.d.ts +5 -9
- package/dist/types/dev/AccountOpener.d.ts +99 -95
- package/dist/types/dev/EthCallSpy.d.ts +25 -21
- package/dist/types/dev/RevolverTransport.d.ts +192 -189
- package/dist/types/dev/abi.d.ts +198 -195
- package/dist/types/dev/calcLiquidatableLTs.d.ts +9 -3
- package/dist/types/dev/claimFromFaucet.d.ts +27 -23
- package/dist/types/dev/create2.d.ts +45 -41
- package/dist/types/dev/createAnvilClient.d.ts +68 -69
- package/dist/types/dev/detectChain.d.ts +5 -2
- package/dist/types/dev/index.d.ts +29 -22
- package/dist/types/dev/isOutOfSyncError.d.ts +4 -1
- package/dist/types/dev/isRateLimitError.d.ts +4 -1
- package/dist/types/dev/isTransientError.d.ts +4 -1
- package/dist/types/dev/kycUtils.d.ts +141 -0
- package/dist/types/dev/logSplitterTransport.d.ts +24 -22
- package/dist/types/dev/ltUtils.d.ts +10 -5
- package/dist/types/dev/midasUtils.d.ts +68 -0
- package/dist/types/dev/migrateFaucet.d.ts +7 -3
- package/dist/types/dev/mint/AbstractMinter.d.ts +19 -14
- package/dist/types/dev/mint/DealMinter.d.ts +7 -4
- package/dist/types/dev/mint/DirectMinter.d.ts +7 -4
- package/dist/types/dev/mint/FallbackMinter.d.ts +12 -8
- package/dist/types/dev/mint/TransferMinter.d.ts +7 -4
- package/dist/types/dev/mint/factory.d.ts +9 -5
- package/dist/types/dev/mint/index.d.ts +3 -2
- package/dist/types/dev/mint/types.d.ts +22 -19
- package/dist/types/dev/providers.d.ts +18 -14
- package/dist/types/dev/replaceStorage.d.ts +18 -16
- package/dist/types/dev/resilientTransport.d.ts +14 -11
- package/dist/types/dev/securitizeUtils.d.ts +67 -0
- package/dist/types/dev/transports.d.ts +17 -14
- package/dist/types/dev/types.d.ts +14 -11
- package/dist/types/dev/verifyTestnet.d.ts +27 -0
- package/dist/types/dev/withdrawalAbi.d.ts +1611 -0
- package/dist/types/dev/withdrawalUtils.d.ts +27 -0
- package/dist/types/history/assembleOperations.d.ts +29 -16
- package/dist/types/history/classifyMulticallOperations.d.ts +39 -19
- package/dist/types/history/index.d.ts +7 -6
- package/dist/types/history/mapOperations.d.ts +19 -17
- package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -23
- package/dist/types/history/populateContractsRegister.d.ts +22 -15
- package/dist/types/history/toLegacyOperation.d.ts +18 -15
- package/dist/types/history/types.d.ts +29 -73
- package/dist/types/model/curators.d.ts +33 -0
- package/dist/types/model/curators.schema.d.ts +50 -0
- package/dist/types/model/filters.d.ts +36 -0
- package/dist/types/model/filters.schema.d.ts +26 -0
- package/dist/types/model/history.d.ts +153 -0
- package/dist/types/model/history.schema.d.ts +95 -0
- package/dist/types/model/index.d.ts +17 -0
- package/dist/types/model/liquidations.d.ts +238 -0
- package/dist/types/model/liquidations.schema.d.ts +294 -0
- package/dist/types/model/opportunities.d.ts +589 -0
- package/dist/types/model/opportunities.schema.d.ts +1236 -0
- package/dist/types/model/positions.d.ts +346 -0
- package/dist/types/model/positions.schema.d.ts +759 -0
- package/dist/types/model/primitives.d.ts +171 -0
- package/dist/types/model/primitives.schema.d.ts +74 -0
- package/dist/types/model/response.d.ts +105 -0
- package/dist/types/model/response.schema.d.ts +98 -0
- package/dist/types/new-sdk/AbstractNamespace.d.ts +54 -0
- package/dist/types/new-sdk/GearboxSDK.d.ts +69 -0
- package/dist/types/new-sdk/errors/AllSourcesFailedError.d.ts +11 -0
- package/dist/types/new-sdk/errors/MissingSourceError.d.ts +23 -0
- package/dist/types/new-sdk/errors/NoSourceServedError.d.ts +17 -0
- package/dist/types/new-sdk/errors/SourceChainMismatchError.d.ts +35 -0
- package/dist/types/new-sdk/errors/SourceUnavailableError.d.ts +22 -0
- package/dist/types/new-sdk/errors/assertSameChains.d.ts +11 -0
- package/dist/types/new-sdk/errors/everyChainFailed.d.ts +10 -0
- package/dist/types/new-sdk/errors/index.d.ts +8 -0
- package/dist/types/new-sdk/index.d.ts +23 -0
- package/dist/types/new-sdk/opportunities/OpportunitiesNamespace.d.ts +49 -0
- package/dist/types/new-sdk/opportunities/index.d.ts +3 -0
- package/dist/types/new-sdk/opportunities/types.d.ts +112 -0
- package/dist/types/new-sdk/positions/PositionsNamespace.d.ts +42 -0
- package/dist/types/new-sdk/positions/index.d.ts +3 -0
- package/dist/types/new-sdk/positions/types.d.ts +106 -0
- package/dist/types/new-sdk/types.d.ts +96 -0
- package/dist/types/new-sdk/utils/filterResponse.d.ts +19 -0
- package/dist/types/new-sdk/utils/history.d.ts +18 -0
- package/dist/types/new-sdk/utils/index.d.ts +5 -0
- package/dist/types/new-sdk/utils/mergeChains.d.ts +22 -0
- package/dist/types/new-sdk/utils/types.d.ts +43 -0
- package/dist/types/offchain/AbstractOffchainNamespace.d.ts +80 -0
- package/dist/types/offchain/GearboxAPI.d.ts +41 -0
- package/dist/types/offchain/errors/OffchainInvalidJsonError.d.ts +16 -0
- package/dist/types/offchain/errors/OffchainNotConfiguredError.d.ts +16 -0
- package/dist/types/offchain/errors/OffchainNotImplementedError.d.ts +15 -0
- package/dist/types/offchain/errors/OffchainRequestFailedError.d.ts +12 -0
- package/dist/types/offchain/errors/OffchainStatusError.d.ts +16 -0
- package/dist/types/offchain/errors/OffchainTransportError.d.ts +43 -0
- package/dist/types/offchain/errors/OffchainValidationError.d.ts +21 -0
- package/dist/types/offchain/errors/backendMessage.d.ts +9 -0
- package/dist/types/offchain/errors/errorCause.d.ts +22 -0
- package/dist/types/offchain/errors/index.d.ts +11 -0
- package/dist/types/offchain/errors/readResponseBody.d.ts +8 -0
- package/dist/types/offchain/index.d.ts +19 -0
- package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +32 -0
- package/dist/types/offchain/opportunities/index.d.ts +2 -0
- package/dist/types/offchain/positions/OffchainPositions.d.ts +26 -0
- package/dist/types/offchain/positions/index.d.ts +2 -0
- package/dist/types/offchain/types.d.ts +28 -0
- package/dist/types/permissionless/bindings/address-provider.d.ts +11 -7
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +1307 -1303
- package/dist/types/permissionless/bindings/compressors/index.d.ts +3 -2
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +111 -108
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +713 -709
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +807 -802
- package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +19 -16
- package/dist/types/permissionless/bindings/factory/credit-factory.d.ts +207 -205
- package/dist/types/permissionless/bindings/factory/loss-policy-factory.d.ts +129 -127
- package/dist/types/permissionless/bindings/factory/pool-factory.d.ts +79 -77
- package/dist/types/permissionless/bindings/factory/price-oracle-factory.d.ts +35 -33
- package/dist/types/permissionless/bindings/factory/rate-keeper-factory.d.ts +162 -160
- package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +37 -33
- package/dist/types/permissionless/bindings/governance/governor.d.ts +607 -603
- package/dist/types/permissionless/bindings/governance/index.d.ts +4 -3
- package/dist/types/permissionless/bindings/governance/timelock.d.ts +12 -8
- package/dist/types/permissionless/bindings/governance/types.d.ts +40 -36
- package/dist/types/permissionless/bindings/index.d.ts +20 -13
- package/dist/types/permissionless/bindings/instance-manager.d.ts +336 -331
- package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +243 -240
- package/dist/types/permissionless/bindings/market-configurator.d.ts +1663 -1661
- package/dist/types/permissionless/bindings/price-feed-store.d.ts +596 -589
- package/dist/types/permissionless/bindings/pricefeeds/balancer-stable.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/balancer-weighted.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/bounded.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/composite.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/constant.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/curve-crypto.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/curve-stable.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/curve-twap.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/curve-usd.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/erc4626.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/external.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/index.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/kodiak.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/mellow-lrt.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/pendle-pt-twap.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/pyth.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/redstone.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/wsteth.d.ts +6 -2
- package/dist/types/permissionless/bindings/pricefeeds/zero.d.ts +6 -2
- package/dist/types/permissionless/bindings/router/index.d.ts +2 -1
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +455 -451
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +360 -356
- package/dist/types/permissionless/bindings/types.d.ts +55 -52
- package/dist/types/permissionless/chains/archive-transport.d.ts +48 -45
- package/dist/types/permissionless/chains/chunked-log-transport.d.ts +9 -7
- package/dist/types/permissionless/core/auditor.d.ts +9 -6
- package/dist/types/permissionless/core/bytecode.d.ts +32 -29
- package/dist/types/permissionless/core/index.d.ts +7 -6
- package/dist/types/permissionless/core/pricefeed-builder.d.ts +45 -42
- package/dist/types/permissionless/core/pricefeed.d.ts +12 -9
- package/dist/types/permissionless/core/proposal.d.ts +27 -23
- package/dist/types/permissionless/core/raw-tx.d.ts +6 -3
- package/dist/types/permissionless/deployment/addresses.d.ts +10 -7
- package/dist/types/permissionless/deployment/mainnet.d.ts +12 -9
- package/dist/types/permissionless/index.d.ts +43 -7
- package/dist/types/permissionless/plugins/index.d.ts +4 -3
- package/dist/types/permissionless/plugins/irm/constructor-params-abi.d.ts +30 -28
- package/dist/types/permissionless/plugins/loss-policies/constructor-params-abi.d.ts +20 -18
- package/dist/types/permissionless/plugins/rate-keepers/constructor-params-abi.d.ts +25 -23
- package/dist/types/permissionless/utils/abi-encoder.d.ts +9 -6
- package/dist/types/permissionless/utils/block-utils.d.ts +5 -2
- package/dist/types/permissionless/utils/create2.d.ts +14 -10
- package/dist/types/permissionless/utils/format.d.ts +9 -6
- package/dist/types/permissionless/utils/governance/batch.d.ts +20 -15
- package/dist/types/permissionless/utils/governance/index.d.ts +4 -3
- package/dist/types/permissionless/utils/governance/timelock-txs.d.ts +6 -2
- package/dist/types/permissionless/utils/governance/types.d.ts +22 -18
- package/dist/types/permissionless/utils/index.d.ts +16 -8
- package/dist/types/permissionless/utils/literals.d.ts +10 -7
- package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +12 -8
- package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +11 -7
- package/dist/types/permissionless/utils/price-update/get-prices.d.ts +9 -6
- package/dist/types/permissionless/utils/price-update/get-updatable-feeds.d.ts +12 -7
- package/dist/types/permissionless/utils/price-update/index.d.ts +5 -4
- package/dist/types/permissionless/utils/signature.d.ts +5 -2
- package/dist/types/plugins/accounts/AccountsPlugin.d.ts +24 -18
- package/dist/types/plugins/accounts/index.d.ts +2 -1
- package/dist/types/plugins/accounts-counter/AccountsCounterPlugin.d.ts +22 -17
- package/dist/types/plugins/accounts-counter/index.d.ts +2 -1
- package/dist/types/plugins/adapters/AdaptersPlugin.d.ts +15 -10
- package/dist/types/plugins/adapters/abi/actionAbi.d.ts +13 -9
- package/dist/types/plugins/adapters/abi/adapters/erc4626ReferralAdapter.d.ts +234 -0
- package/dist/types/plugins/adapters/abi/adapters/iBalancerV3RouterAdapter.d.ts +317 -0
- package/dist/types/plugins/adapters/abi/adapters/iBalancerV3WrapperAdapter.d.ts +120 -0
- package/dist/types/plugins/adapters/abi/adapters/iCamelotV3Adapter.d.ts +431 -0
- package/dist/types/plugins/adapters/abi/adapters/iConvexV1BaseRewardPoolAdapter.d.ts +274 -0
- package/dist/types/plugins/adapters/abi/adapters/iConvexV1BoosterAdapter.d.ts +207 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1StableNgAdapter.d.ts +522 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1_2AssetsAdapter.d.ts +522 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1_3AssetsAdapter.d.ts +522 -0
- package/dist/types/plugins/adapters/abi/adapters/iCurveV1_4AssetsAdapter.d.ts +522 -0
- package/dist/types/plugins/adapters/abi/adapters/iDaiUsdsAdapter.d.ts +138 -0
- package/dist/types/plugins/adapters/abi/adapters/iFluidDexAdapter.d.ts +122 -0
- package/dist/types/plugins/adapters/abi/adapters/iInfinifiGatewayAdapter.d.ts +341 -0
- package/dist/types/plugins/adapters/abi/adapters/iInfinifiUnwindingGateway.d.ts +349 -0
- package/dist/types/plugins/adapters/abi/adapters/iKelpLrtDepositPool.d.ts +236 -0
- package/dist/types/plugins/adapters/abi/adapters/iKelpLrtWithdrawalManager.d.ts +352 -0
- package/dist/types/plugins/adapters/abi/adapters/iLidoV1Adapter.d.ts +112 -0
- package/dist/types/plugins/adapters/abi/adapters/iMellow4626VaultAdapter.d.ts +186 -0
- package/dist/types/plugins/adapters/abi/adapters/iMellowClaimerAdapter.d.ts +250 -0
- package/dist/types/plugins/adapters/abi/adapters/iMellowWrapperAdapter.d.ts +154 -0
- package/dist/types/plugins/adapters/abi/adapters/iMidasGatewayAdapterV311.d.ts +348 -0
- package/dist/types/plugins/adapters/abi/adapters/iMidasIssuanceVaultAdapterV310.d.ts +183 -0
- package/dist/types/plugins/adapters/abi/adapters/iMidasRedemptionVaultAdapterV310.d.ts +456 -0
- package/dist/types/plugins/adapters/abi/adapters/iPendleRouterAdapter.d.ts +1369 -0
- package/dist/types/plugins/adapters/abi/adapters/iSecuritizeOnRampAdapterV310.d.ts +110 -0
- package/dist/types/plugins/adapters/abi/adapters/iSecuritizeRedemptionGatewayAdapterV311.d.ts +254 -0
- package/dist/types/plugins/adapters/abi/adapters/iStakingRewardsAdapter.d.ts +200 -0
- package/dist/types/plugins/adapters/abi/adapters/iTraderJoeRouterAdapter.d.ts +336 -0
- package/dist/types/plugins/adapters/abi/adapters/iUniswapV2Adapter.d.ts +205 -0
- package/dist/types/plugins/adapters/abi/adapters/iUniswapV3Adapter.d.ts +370 -0
- package/dist/types/plugins/adapters/abi/adapters/iUniswapV4Adapter.d.ts +393 -0
- package/dist/types/plugins/adapters/abi/adapters/iUpshiftVaultAdapter.d.ts +339 -0
- package/dist/types/plugins/adapters/abi/adapters/iVelodromeV2RouterAdapter.d.ts +235 -0
- package/dist/types/plugins/adapters/abi/adapters/index.d.ts +36 -0
- package/dist/types/plugins/adapters/abi/adapters/iwstEthv1Adapter.d.ts +120 -0
- package/dist/types/plugins/adapters/abi/adapters/mellowDvvAdapter.d.ts +224 -0
- package/dist/types/plugins/adapters/abi/conctructorAbi.d.ts +5 -2
- package/dist/types/plugins/adapters/abi/conctructorAbiPatterns.d.ts +86 -109
- package/dist/types/plugins/adapters/abi/index.d.ts +47 -5
- package/dist/types/plugins/adapters/abi/midas/iMidasGatewayV311.d.ts +264 -0
- package/dist/types/plugins/adapters/abi/midas/index.d.ts +2 -0
- package/dist/types/plugins/adapters/abi/securitize/iBaseOnRamp.d.ts +257 -254
- package/dist/types/plugins/adapters/abi/securitize/iSecuritizeOnRamp.d.ts +65 -62
- package/dist/types/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayV311.d.ts +224 -0
- package/dist/types/plugins/adapters/abi/securitize/index.d.ts +4 -6
- package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +7702 -8175
- package/dist/types/plugins/adapters/abi/utils.d.ts +10 -7
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +119 -52
- package/dist/types/plugins/adapters/contracts/AbstractCurveAdapter.d.ts +22 -0
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +433 -421
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +430 -426
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +154 -150
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +635 -631
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +692 -687
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +394 -389
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1774 -1774
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1774 -1774
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1774 -1774
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1761 -1761
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1744 -1744
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +194 -189
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +680 -669
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +282 -277
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +238 -234
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +482 -478
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +330 -328
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +249 -245
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +347 -345
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +216 -211
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +276 -272
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +712 -707
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +692 -674
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +198 -194
- package/dist/types/plugins/adapters/contracts/MidasGatewayAdapterContract.d.ts +647 -1130
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +219 -215
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +481 -477
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +2239 -2235
- package/dist/types/plugins/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +446 -442
- package/dist/types/plugins/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +507 -451
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +260 -256
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +459 -455
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +967 -962
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +532 -528
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +387 -382
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +333 -329
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +333 -329
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +369 -364
- package/dist/types/plugins/adapters/contracts/index.d.ts +40 -45
- package/dist/types/plugins/adapters/createAdapter.d.ts +9 -4
- package/dist/types/plugins/adapters/index.d.ts +90 -7
- package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +76 -73
- package/dist/types/plugins/adapters/transferHelpers.d.ts +17 -14
- package/dist/types/plugins/adapters/transfers.d.ts +20 -0
- package/dist/types/plugins/adapters/types.d.ts +114 -108
- package/dist/types/plugins/apy/ApyPlugin.d.ts +55 -49
- package/dist/types/plugins/apy/apy-parser.d.ts +10 -5
- package/dist/types/plugins/apy/constants.d.ts +5 -2
- package/dist/types/plugins/apy/index.d.ts +7 -6
- package/dist/types/plugins/apy/pool-apy-types.d.ts +32 -28
- package/dist/types/plugins/apy/pool-apy-utils.d.ts +38 -34
- package/dist/types/plugins/apy/strategy-data-source.d.ts +20 -15
- package/dist/types/plugins/apy/types.d.ts +57 -47
- package/dist/types/plugins/bots/BotsPlugin.d.ts +16 -12
- package/dist/types/plugins/bots/PartialLiquidationBotV310Contract.d.ts +195 -191
- package/dist/types/plugins/bots/abi/iPartialLiquidationBotV310.d.ts +176 -173
- package/dist/types/plugins/bots/abi/index.d.ts +2 -1
- package/dist/types/plugins/bots/config.d.ts +12 -8
- package/dist/types/plugins/bots/deserializePartialLiquidationBotParams.d.ts +7 -3
- package/dist/types/plugins/bots/index.d.ts +7 -5
- package/dist/types/plugins/bots/types.d.ts +43 -39
- package/dist/types/plugins/degen-distributors/DegenDistributorsPlugin.d.ts +23 -18
- package/dist/types/plugins/degen-distributors/index.d.ts +3 -2
- package/dist/types/plugins/degen-distributors/types.d.ts +7 -3
- package/dist/types/plugins/delayed-withdrawal/DelayedWithdrawalPlugin.d.ts +24 -19
- package/dist/types/plugins/delayed-withdrawal/index.d.ts +3 -2
- package/dist/types/plugins/delayed-withdrawal/types.d.ts +9 -18
- package/dist/types/plugins/remote-configs/CustomConfigSource.d.ts +14 -11
- package/dist/types/plugins/remote-configs/RemoteConfigSource.d.ts +33 -29
- package/dist/types/plugins/remote-configs/RemoteConfigsPlugin.d.ts +28 -23
- package/dist/types/plugins/remote-configs/index.d.ts +8 -4
- package/dist/types/plugins/remote-configs/types.d.ts +18 -16
- package/dist/types/preview/index.d.ts +41 -0
- package/dist/types/preview/parse/classifyInnerOperations.d.ts +25 -0
- package/dist/types/preview/parse/errors.d.ts +22 -0
- package/dist/types/preview/parse/index.d.ts +13 -0
- package/dist/types/preview/parse/parseFacadeOperationCalldata.d.ts +24 -0
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +14 -0
- package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +18 -0
- package/dist/types/preview/parse/parseRWAFactoryOperationCalldata.d.ts +18 -0
- package/dist/types/preview/parse/types-adapters.d.ts +77 -0
- package/dist/types/preview/parse/types-facades.d.ts +151 -0
- package/dist/types/preview/parse/types-pools.d.ts +146 -0
- package/dist/types/preview/parse/types-rwa.d.ts +40 -0
- package/dist/types/preview/parse/types.d.ts +24 -0
- package/dist/types/preview/prerequisites/AllowancePrerequisite.d.ts +26 -0
- package/dist/types/preview/prerequisites/BalancePrerequisite.d.ts +29 -0
- package/dist/types/preview/prerequisites/Prerequisite.d.ts +26 -0
- package/dist/types/preview/prerequisites/RWAOpenRequirementsPrerequisite.d.ts +55 -0
- package/dist/types/preview/prerequisites/buildCollateralPrerequisites.d.ts +20 -0
- package/dist/types/preview/prerequisites/buildPartialLiquidationPrerequisites.d.ts +12 -0
- package/dist/types/preview/prerequisites/buildPoolPrerequisites.d.ts +12 -0
- package/dist/types/preview/prerequisites/buildRWAPrerequisites.d.ts +26 -0
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +23 -0
- package/dist/types/preview/prerequisites/helpers.d.ts +10 -0
- package/dist/types/preview/prerequisites/index.d.ts +7 -0
- package/dist/types/preview/prerequisites/types.d.ts +53 -0
- package/dist/types/preview/preview/CreditAccountState.d.ts +88 -0
- package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +18 -0
- package/dist/types/preview/preview/buildDelayedPreview.d.ts +32 -0
- package/dist/types/preview/preview/detectCloseOrRepay.d.ts +26 -0
- package/dist/types/preview/preview/detectDelayedClaim.d.ts +52 -0
- package/dist/types/preview/preview/detectDelayedOperation.d.ts +36 -0
- package/dist/types/preview/preview/errors.d.ts +12 -0
- package/dist/types/preview/preview/index.d.ts +13 -0
- package/dist/types/preview/preview/previewAdjustCreditAccount.d.ts +18 -0
- package/dist/types/preview/preview/previewCloseOrRepayCreditAccount.d.ts +17 -0
- package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +11 -0
- package/dist/types/preview/preview/previewOperation.d.ts +12 -0
- package/dist/types/preview/preview/previewPoolOperation.d.ts +10 -0
- package/dist/types/preview/preview/replayInnerOperations.d.ts +51 -0
- package/dist/types/preview/preview/replayMulticall.d.ts +44 -0
- package/dist/types/preview/preview/types.d.ts +325 -0
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +39 -0
- package/dist/types/preview/simulate/errors.d.ts +48 -0
- package/dist/types/preview/simulate/index.d.ts +7 -0
- package/dist/types/preview/simulate/simulateFacadeOperation.d.ts +16 -0
- package/dist/types/preview/simulate/simulateOperation.d.ts +9 -0
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +22 -0
- package/dist/types/preview/simulate/simulateRWAOperation.d.ts +16 -0
- package/dist/types/preview/simulate/types.d.ts +40 -0
- package/dist/types/preview/trace/errors.d.ts +26 -0
- package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +26 -0
- package/dist/types/preview/trace/extractTransfers.d.ts +55 -0
- package/dist/types/preview/trace/findFacadeCalls.d.ts +14 -0
- package/dist/types/preview/trace/index.d.ts +6 -0
- package/dist/types/preview/trace/types.d.ts +25 -0
- package/dist/types/preview/types.d.ts +68 -0
- package/dist/types/rewards/apy/index.d.ts +3 -2
- package/dist/types/rewards/apy/output-details.d.ts +84 -81
- package/dist/types/rewards/apy/output.d.ts +22 -19
- package/dist/types/rewards/index.d.ts +7 -2
- package/dist/types/rewards/rewards/api.d.ts +34 -31
- package/dist/types/rewards/rewards/common.d.ts +8 -5
- package/dist/types/rewards/rewards/extra-apy.d.ts +33 -24
- package/dist/types/rewards/rewards/index.d.ts +3 -2
- package/dist/types/rewards/rewards/merkl-api.d.ts +41 -39
- package/dist/types/sdk/MultichainSDK.d.ts +142 -108
- package/dist/types/sdk/OnchainSDK.d.ts +271 -226
- package/dist/types/sdk/abi/index.d.ts +2 -1
- package/dist/types/sdk/abi/oracles.d.ts +6475 -6472
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +160 -204
- package/dist/types/sdk/accounts/bots/AccountBotsService.d.ts +38 -0
- package/dist/types/sdk/accounts/bots/PeripheryCompressorV310Contract.d.ts +236 -0
- package/dist/types/sdk/accounts/bots/abi.d.ts +18 -0
- package/dist/types/sdk/accounts/bots/index.d.ts +4 -0
- package/dist/types/sdk/accounts/bots/types.d.ts +143 -0
- package/dist/types/sdk/accounts/credit-account-compressor/CreditAccountCompressor.d.ts +60 -0
- package/dist/types/sdk/accounts/credit-account-compressor/CreditAccountCompressorV310Contract.d.ts +879 -0
- package/dist/types/sdk/accounts/credit-account-compressor/index.d.ts +4 -0
- package/dist/types/sdk/accounts/credit-account-compressor/types.d.ts +168 -0
- package/dist/types/sdk/accounts/index.d.ts +31 -2
- package/dist/types/sdk/accounts/intents/index.d.ts +22 -0
- package/dist/types/sdk/accounts/intents/intents/index.d.ts +8 -0
- package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/intents/resume/add-collateral/add-collateral.fixtures.d.ts +38 -0
- package/dist/types/sdk/accounts/intents/intents/resume/close/close.d.ts +26 -0
- package/dist/types/sdk/accounts/intents/intents/resume/close/close.fixtures.d.ts +63 -0
- package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.d.ts +26 -0
- package/dist/types/sdk/accounts/intents/intents/resume/decrease-leverage/decrease-leverage.fixtures.d.ts +86 -0
- package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/intents/resume/deposit/deposit.fixtures.d.ts +48 -0
- package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/intents/resume/increase-leverage/increase-leverage.fixtures.d.ts +46 -0
- package/dist/types/sdk/accounts/intents/intents/resume/index.d.ts +7 -0
- package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.d.ts +33 -0
- package/dist/types/sdk/accounts/intents/intents/resume/withdraw/withdraw.fixtures.d.ts +68 -0
- package/dist/types/sdk/accounts/intents/operations/add-collateral/index.d.ts +23 -0
- package/dist/types/sdk/accounts/intents/operations/claim-delayed/index.d.ts +55 -0
- package/dist/types/sdk/accounts/intents/operations/close-credit-account/index.d.ts +22 -0
- package/dist/types/sdk/accounts/intents/operations/decrease-debt/index.d.ts +18 -0
- package/dist/types/sdk/accounts/intents/operations/increase-debt/index.d.ts +18 -0
- package/dist/types/sdk/accounts/intents/operations/index.d.ts +14 -0
- package/dist/types/sdk/accounts/intents/operations/quota-update/index.d.ts +24 -0
- package/dist/types/sdk/accounts/intents/operations/repay-credit-account/index.d.ts +31 -0
- package/dist/types/sdk/accounts/intents/operations/start-delayed-withdrawal/index.d.ts +23 -0
- package/dist/types/sdk/accounts/intents/operations/swap/index.d.ts +28 -0
- package/dist/types/sdk/accounts/intents/operations/types.d.ts +21 -0
- package/dist/types/sdk/accounts/intents/operations/unwrap-rwa-collateral/index.d.ts +30 -0
- package/dist/types/sdk/accounts/intents/operations/withdraw-collateral/index.d.ts +36 -0
- package/dist/types/sdk/accounts/intents/operations/wrap-rwa-collateral/index.d.ts +30 -0
- package/dist/types/sdk/accounts/intents/quoters/close.d.ts +43 -0
- package/dist/types/sdk/accounts/intents/quoters/index.d.ts +3 -0
- package/dist/types/sdk/accounts/intents/quoters/swap.d.ts +43 -0
- package/dist/types/sdk/accounts/intents/testing/expect.d.ts +52 -0
- package/dist/types/sdk/accounts/intents/testing/resume.d.ts +84 -0
- package/dist/types/sdk/accounts/intents/testing/sdk-mock.d.ts +90 -0
- package/dist/types/sdk/accounts/intents/types.d.ts +75 -0
- package/dist/types/sdk/accounts/intents/utils/assemble-operation-calls.d.ts +10 -0
- package/dist/types/sdk/accounts/intents/utils/borrowed-amount-plus-interest-and-fees.d.ts +17 -0
- package/dist/types/sdk/accounts/intents/utils/common.d.ts +19 -0
- package/dist/types/sdk/accounts/intents/utils/convert-amount.d.ts +13 -0
- package/dist/types/sdk/accounts/intents/utils/index.d.ts +9 -0
- package/dist/types/sdk/accounts/intents/utils/quotas-for-update.d.ts +35 -0
- package/dist/types/sdk/accounts/intents/utils/simulate-adjust-state.d.ts +19 -0
- package/dist/types/sdk/accounts/intents/utils/simulate-assets.d.ts +21 -0
- package/dist/types/sdk/accounts/intents/utils/with-quota-update.d.ts +16 -0
- package/dist/types/sdk/accounts/liquidations/LiquidationsService.d.ts +46 -0
- package/dist/types/sdk/accounts/liquidations/MultichainLiquidationsService.d.ts +48 -0
- package/dist/types/sdk/accounts/liquidations/constants.d.ts +11 -0
- package/dist/types/sdk/accounts/liquidations/index.d.ts +5 -0
- package/dist/types/sdk/accounts/liquidations/types.d.ts +125 -0
- package/dist/types/sdk/accounts/multicall-utils.d.ts +11 -7
- package/dist/types/sdk/accounts/types.d.ts +630 -915
- package/dist/types/sdk/accounts/withdrawal-compressor/AbstractWithdrawalCompressorContract.d.ts +120 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +152 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.d.ts +336 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.d.ts +340 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.d.ts +655 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/addresses.d.ts +23 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/createRedemptionLogger.d.ts +13 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/createWithdrawalCompressor.d.ts +13 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/errors.d.ts +16 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/index.d.ts +12 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/intent-codec.d.ts +29 -0
- package/dist/types/sdk/accounts/withdrawal-compressor/types.d.ts +498 -0
- package/dist/types/sdk/base/BaseContract.d.ts +173 -156
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +120 -101
- package/dist/types/sdk/base/Construct.d.ts +54 -49
- package/dist/types/sdk/base/MultichainConstruct.d.ts +106 -0
- package/dist/types/sdk/base/PlaceholderContract.d.ts +7 -6
- package/dist/types/sdk/base/SDKConstruct.d.ts +9 -5
- package/dist/types/sdk/base/TokensMeta.d.ts +164 -91
- package/dist/types/sdk/base/errors.d.ts +5 -2
- package/dist/types/sdk/base/index.d.ts +11 -9
- package/dist/types/sdk/base/token-types.d.ts +59 -46
- package/dist/types/sdk/base/types.d.ts +368 -296
- package/dist/types/sdk/chain/chains.d.ts +144 -70
- package/dist/types/sdk/chain/detectNetwork.d.ts +6 -3
- package/dist/types/sdk/chain/index.d.ts +3 -2
- package/dist/types/sdk/constants/address-provider.d.ts +39 -35
- package/dist/types/sdk/constants/addresses.d.ts +8 -5
- package/dist/types/sdk/constants/bot-permissions.d.ts +16 -13
- package/dist/types/sdk/constants/index.d.ts +8 -7
- package/dist/types/sdk/constants/math.d.ts +24 -17
- package/dist/types/sdk/constants/networks.d.ts +7 -3
- package/dist/types/sdk/constants/periphery.d.ts +5 -2
- package/dist/types/sdk/constants/versions.d.ts +7 -4
- package/dist/types/sdk/core/AbstractAddressProviderContract.d.ts +36 -30
- package/dist/types/sdk/core/AddressProviderV310Contract.d.ts +241 -239
- package/dist/types/sdk/core/createAddressProvider.d.ts +8 -5
- package/dist/types/sdk/core/errors.d.ts +32 -20
- package/dist/types/sdk/core/index.d.ts +5 -4
- package/dist/types/sdk/core/types.d.ts +68 -63
- package/dist/types/sdk/index.d.ts +175 -15
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1549 -1541
- package/dist/types/sdk/market/MarketRegister.d.ts +135 -105
- package/dist/types/sdk/market/MarketSuite.d.ts +199 -88
- package/dist/types/sdk/market/ZapperRegister.d.ts +62 -16
- package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +16 -12
- package/dist/types/sdk/market/adapters/createAdapter.d.ts +10 -5
- package/dist/types/sdk/market/adapters/index.d.ts +4 -3
- package/dist/types/sdk/market/adapters/types.d.ts +8 -4
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +495 -492
- package/dist/types/sdk/market/credit/CreditFacadeV310BaseContract.d.ts +851 -849
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +75 -22
- package/dist/types/sdk/market/credit/CreditManagerV310Contract.d.ts +1011 -992
- package/dist/types/sdk/market/credit/CreditSuite.d.ts +194 -91
- package/dist/types/sdk/market/credit/createCreditConfigurator.d.ts +8 -4
- package/dist/types/sdk/market/credit/createCreditFacade.d.ts +8 -4
- package/dist/types/sdk/market/credit/createCreditManager.d.ts +8 -4
- package/dist/types/sdk/market/credit/dominantCollateral.d.ts +29 -0
- package/dist/types/sdk/market/credit/expectedBalanceDeltas.d.ts +39 -0
- package/dist/types/sdk/market/credit/index.d.ts +9 -6
- package/dist/types/sdk/market/credit/types.d.ts +309 -145
- package/dist/types/sdk/market/index.d.ts +69 -10
- package/dist/types/sdk/market/loss-policy/AliasLossPolicyV310Contract.d.ts +269 -265
- package/dist/types/sdk/market/loss-policy/LossPolicyContract.d.ts +124 -119
- package/dist/types/sdk/market/loss-policy/constants.d.ts +7 -4
- package/dist/types/sdk/market/loss-policy/createLossPolicy.d.ts +8 -4
- package/dist/types/sdk/market/loss-policy/index.d.ts +5 -4
- package/dist/types/sdk/market/loss-policy/types.d.ts +17 -12
- package/dist/types/sdk/market/math.d.ts +161 -0
- package/dist/types/sdk/market/oracle/PriceFeedAnswerMap.d.ts +10 -5
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +122 -81
- package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +327 -333
- package/dist/types/sdk/market/oracle/createPriceOracle.d.ts +8 -4
- package/dist/types/sdk/market/oracle/index.d.ts +4 -3
- package/dist/types/sdk/market/oracle/types.d.ts +193 -121
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +375 -369
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +135 -118
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV310Contract.d.ts +501 -474
- package/dist/types/sdk/market/pool/PoolSuite.d.ts +116 -88
- package/dist/types/sdk/market/pool/PoolV310Contract.d.ts +1173 -1150
- package/dist/types/sdk/market/pool/TumblerContract.d.ts +176 -170
- package/dist/types/sdk/market/pool/createInterestRateModel.d.ts +8 -4
- package/dist/types/sdk/market/pool/createPool.d.ts +8 -4
- package/dist/types/sdk/market/pool/createPoolQuotaKeeper.d.ts +8 -4
- package/dist/types/sdk/market/pool/createRateKeeper.d.ts +8 -4
- package/dist/types/sdk/market/pool/index.d.ts +6 -5
- package/dist/types/sdk/market/pool/math.d.ts +57 -0
- package/dist/types/sdk/market/pool/types.d.ts +152 -122
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +15 -12
- package/dist/types/sdk/market/pricefeeds/AbstractPriceFeed.d.ts +39 -27
- package/dist/types/sdk/market/pricefeeds/BalancerStablePriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/BalancerWeightedPriceFeed.d.ts +15 -21
- package/dist/types/sdk/market/pricefeeds/BoundedPriceFeed.d.ts +13 -10
- package/dist/types/sdk/market/pricefeeds/CompositePriceFeed.d.ts +12 -10
- package/dist/types/sdk/market/pricefeeds/ConstantPriceFeed.d.ts +11 -9
- package/dist/types/sdk/market/pricefeeds/CurveCryptoPriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/CurveStablePriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/CurveUSDPriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/Erc4626PriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/ExternalPriceFeed.d.ts +9 -7
- package/dist/types/sdk/market/pricefeeds/MellowLRTPriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/PendleTWAPPTPriceFeed.d.ts +213 -212
- package/dist/types/sdk/market/pricefeeds/PriceFeedRef.d.ts +32 -27
- package/dist/types/sdk/market/pricefeeds/PriceFeedsRegister.d.ts +161 -153
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +222 -221
- package/dist/types/sdk/market/pricefeeds/RedstonePriceFeed.d.ts +23 -19
- package/dist/types/sdk/market/pricefeeds/WstETHPriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/YearnPriceFeed.d.ts +9 -6
- package/dist/types/sdk/market/pricefeeds/ZeroPriceFeed.d.ts +9 -7
- package/dist/types/sdk/market/pricefeeds/getRawPriceUpdates.d.ts +5 -2
- package/dist/types/sdk/market/pricefeeds/index.d.ts +27 -24
- package/dist/types/sdk/market/pricefeeds/isUpdatablePriceFeed.d.ts +5 -2
- package/dist/types/sdk/market/pricefeeds/types.d.ts +98 -82
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdateTx.d.ts +16 -12
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +18 -15
- package/dist/types/sdk/market/pricefeeds/updates/RedstoneUpdater.d.ts +25 -22
- package/dist/types/sdk/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +53 -50
- package/dist/types/sdk/market/pricefeeds/updates/index.d.ts +5 -4
- package/dist/types/sdk/market/pricefeeds/updates/types.d.ts +29 -25
- package/dist/types/sdk/market/rwa/RWARegistry.d.ts +64 -44
- package/dist/types/sdk/market/rwa/index.d.ts +11 -3
- package/dist/types/sdk/market/rwa/midas/MidasLiquidatorContract.d.ts +93 -0
- package/dist/types/sdk/market/rwa/midas/constants.d.ts +5 -0
- package/dist/types/sdk/market/rwa/midas/index.d.ts +3 -0
- package/dist/types/sdk/market/rwa/securitize/SecuritizeDegenNFT.d.ts +376 -373
- package/dist/types/sdk/market/rwa/securitize/SecuritizeLiquidatorContract.d.ts +104 -0
- package/dist/types/sdk/market/rwa/securitize/SecuritizeRWAFactory.d.ts +479 -463
- package/dist/types/sdk/market/rwa/securitize/constants.d.ts +6 -1
- package/dist/types/sdk/market/rwa/securitize/index.d.ts +5 -3
- package/dist/types/sdk/market/rwa/securitize/types.d.ts +115 -95
- package/dist/types/sdk/market/rwa/types.d.ts +146 -107
- package/dist/types/sdk/market/types.d.ts +15 -8
- package/dist/types/sdk/market/zapper/IERC20ZapperContract.d.ts +390 -333
- package/dist/types/sdk/market/zapper/IETHZapperContract.d.ts +230 -173
- package/dist/types/sdk/market/zapper/ZapperContract.d.ts +40 -0
- package/dist/types/sdk/market/zapper/createZapper.d.ts +7 -6
- package/dist/types/sdk/market/zapper/errors.d.ts +13 -0
- package/dist/types/sdk/market/zapper/index.d.ts +7 -4
- package/dist/types/sdk/market/zapper/types.d.ts +69 -0
- package/dist/types/sdk/opportunities/MultichainOpportunitiesService.d.ts +37 -0
- package/dist/types/sdk/opportunities/OpportunitiesService.d.ts +42 -0
- package/dist/types/sdk/opportunities/index.d.ts +4 -0
- package/dist/types/sdk/options.d.ts +35 -26
- package/dist/types/sdk/plugins/BasePlugin.d.ts +58 -54
- package/dist/types/sdk/plugins/errors.d.ts +6 -3
- package/dist/types/sdk/plugins/index.d.ts +4 -3
- package/dist/types/sdk/plugins/types.d.ts +78 -78
- package/dist/types/sdk/pools/PoolService.d.ts +47 -37
- package/dist/types/sdk/pools/index.d.ts +3 -2
- package/dist/types/sdk/pools/types.d.ts +161 -147
- package/dist/types/sdk/positions/MultichainPositionsService.d.ts +23 -0
- package/dist/types/sdk/positions/PositionsService.d.ts +22 -0
- package/dist/types/sdk/positions/index.d.ts +4 -0
- package/dist/types/sdk/positions/types.d.ts +34 -0
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +38 -31
- package/dist/types/sdk/router/RouterV310Contract.d.ts +830 -824
- package/dist/types/sdk/router/createRouter.d.ts +7 -4
- package/dist/types/sdk/router/helpers.d.ts +9 -6
- package/dist/types/sdk/router/index.d.ts +5 -4
- package/dist/types/sdk/router/types.d.ts +244 -198
- package/dist/types/sdk/types/index.d.ts +6 -4
- package/dist/types/sdk/types/logger.d.ts +13 -10
- package/dist/types/sdk/types/multichain.d.ts +45 -0
- package/dist/types/sdk/types/state-human.d.ts +223 -208
- package/dist/types/sdk/types/state.d.ts +77 -48
- package/dist/types/sdk/types/transactions.d.ts +31 -25
- package/dist/types/sdk/utils/AddressMap.d.ts +92 -85
- package/dist/types/sdk/utils/AddressSet.d.ts +21 -17
- package/dist/types/sdk/utils/AssetsMap.d.ts +47 -0
- package/dist/types/sdk/utils/abi-decode.d.ts +7 -4
- package/dist/types/sdk/utils/bigint-math.d.ts +42 -0
- package/dist/types/sdk/utils/bytes32ToString.d.ts +5 -2
- package/dist/types/sdk/utils/childLogger.d.ts +6 -2
- package/dist/types/sdk/utils/createRawTx.d.ts +7 -3
- package/dist/types/sdk/utils/etherscan.d.ts +14 -9
- package/dist/types/sdk/utils/filterDust.d.ts +16 -12
- package/dist/types/sdk/utils/formatter.d.ts +21 -19
- package/dist/types/sdk/utils/hex.d.ts +5 -2
- package/dist/types/sdk/utils/index.d.ts +20 -17
- package/dist/types/sdk/utils/internal/Hooks.d.ts +11 -8
- package/dist/types/sdk/utils/internal/index.d.ts +2 -1
- package/dist/types/sdk/utils/isDust.d.ts +15 -12
- package/dist/types/sdk/utils/json.d.ts +5 -2
- package/dist/types/sdk/utils/mappers.d.ts +12 -13
- package/dist/types/sdk/utils/retry.d.ts +8 -5
- package/dist/types/sdk/utils/toAddress.d.ts +7 -3
- package/dist/types/sdk/utils/type-utils.d.ts +4 -1
- package/dist/types/sdk/utils/viem/cast.d.ts +10 -2
- package/dist/types/sdk/utils/viem/executeDelegatedMulticalls.d.ts +15 -11
- package/dist/types/sdk/utils/viem/executeMulticallBatches.d.ts +39 -0
- package/dist/types/sdk/utils/viem/index.d.ts +9 -6
- package/dist/types/sdk/utils/viem/sendRawTx.d.ts +13 -9
- package/dist/types/sdk/utils/viem/simulateCall.d.ts +57 -0
- package/dist/types/sdk/utils/viem/simulateMulticall.d.ts +21 -18
- package/dist/types/sdk/utils/viem/simulateWithPriceUpdates.d.ts +38 -35
- package/dist/types/sdk/utils/viem/watchBlocksAsync.d.ts +29 -27
- package/dist/types/sdk/utils/zod.d.ts +13 -2
- package/package.json +40 -20
- package/dist/cjs/common-utils/utils/bigint-math.js +0 -65
- package/dist/cjs/dev/claimDSToken.js +0 -208
- package/dist/cjs/history/errors.js +0 -103
- package/dist/cjs/history/extractProtocolCalls.js +0 -53
- package/dist/cjs/history/extractTransfers.js +0 -188
- package/dist/cjs/history/findFacadeCalls.js +0 -84
- package/dist/cjs/history/inner-operations.js +0 -16
- package/dist/cjs/history/internal-types.js +0 -16
- package/dist/cjs/history/trace-utils.js +0 -61
- package/dist/cjs/plugins/adapters/abi/securitize/iMidasGatewayAdapter.js +0 -354
- package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeOnRampAdapter.js +0 -98
- package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeRedemptionGateway.js +0 -149
- package/dist/cjs/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayAdapter.js +0 -179
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -116
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -76
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -68
- package/dist/cjs/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -68
- package/dist/cjs/sdk/market/zapper/Zapper.js +0 -47
- package/dist/esm/common-utils/utils/bigint-math.js +0 -41
- package/dist/esm/dev/claimDSToken.js +0 -187
- package/dist/esm/history/errors.js +0 -73
- package/dist/esm/history/extractProtocolCalls.js +0 -32
- package/dist/esm/history/extractTransfers.js +0 -168
- package/dist/esm/history/findFacadeCalls.js +0 -63
- package/dist/esm/history/inner-operations.js +0 -0
- package/dist/esm/history/internal-types.js +0 -0
- package/dist/esm/history/trace-utils.js +0 -36
- package/dist/esm/plugins/adapters/abi/securitize/iMidasGatewayAdapter.js +0 -330
- package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeOnRampAdapter.js +0 -74
- package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeRedemptionGateway.js +0 -125
- package/dist/esm/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayAdapter.js +0 -155
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +0 -94
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +0 -54
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +0 -46
- package/dist/esm/plugins/adapters/contracts/SecuritizeSwapAdapterContract.js +0 -46
- package/dist/esm/sdk/market/zapper/Zapper.js +0 -23
- package/dist/types/common-utils/utils/bigint-math.d.ts +0 -43
- package/dist/types/dev/claimDSToken.d.ts +0 -34
- package/dist/types/history/errors.d.ts +0 -33
- package/dist/types/history/extractProtocolCalls.d.ts +0 -8
- package/dist/types/history/extractTransfers.d.ts +0 -42
- package/dist/types/history/findFacadeCalls.d.ts +0 -9
- package/dist/types/history/inner-operations.d.ts +0 -57
- package/dist/types/history/internal-types.d.ts +0 -47
- package/dist/types/history/trace-utils.d.ts +0 -12
- package/dist/types/plugins/adapters/abi/securitize/iMidasGatewayAdapter.d.ts +0 -555
- package/dist/types/plugins/adapters/abi/securitize/iSecuritizeOnRampAdapter.d.ts +0 -107
- package/dist/types/plugins/adapters/abi/securitize/iSecuritizeRedemptionGateway.d.ts +0 -183
- package/dist/types/plugins/adapters/abi/securitize/iSecuritizeRedemptionGatewayAdapter.d.ts +0 -251
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +0 -1045
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +0 -26
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +0 -24
- package/dist/types/plugins/adapters/contracts/SecuritizeSwapAdapterContract.d.ts +0 -24
- package/dist/types/sdk/market/zapper/Zapper.d.ts +0 -13
|
@@ -1,1757 +1,469 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_abi_iBaseRewardPool = require("../../abi/iBaseRewardPool.js");
|
|
3
|
+
const require_abi_ierc4626Adapter = require("../../abi/ierc4626Adapter.js");
|
|
4
|
+
const require_sdk_constants_address_provider = require("../constants/address-provider.js");
|
|
5
|
+
const require_sdk_constants_addresses = require("../constants/addresses.js");
|
|
6
|
+
const require_sdk_constants_math = require("../constants/math.js");
|
|
7
|
+
const require_sdk_constants_versions = require("../constants/versions.js");
|
|
8
|
+
require("../constants/index.js");
|
|
9
|
+
const require_sdk_base_SDKConstruct = require("../base/SDKConstruct.js");
|
|
10
|
+
require("../base/index.js");
|
|
11
|
+
const require_sdk_accounts_bots_AccountBotsService = require("./bots/AccountBotsService.js");
|
|
12
|
+
require("./bots/index.js");
|
|
13
|
+
const require_abi_compressors_rewardsCompressor = require("../../abi/compressors/rewardsCompressor.js");
|
|
14
|
+
const require_sdk_market_credit_expectedBalanceDeltas = require("../market/credit/expectedBalanceDeltas.js");
|
|
15
|
+
require("../market/index.js");
|
|
16
|
+
const require_sdk_accounts_credit_account_compressor_CreditAccountCompressor = require("./credit-account-compressor/CreditAccountCompressor.js");
|
|
17
|
+
require("./credit-account-compressor/index.js");
|
|
18
|
+
const require_sdk_accounts_multicall_utils = require("./multicall-utils.js");
|
|
19
|
+
let viem = require("viem");
|
|
20
|
+
//#region src/sdk/accounts/CreditAccountsServiceV310.ts
|
|
21
|
+
/**
|
|
22
|
+
* Service for querying and operating on Gearbox credit accounts.
|
|
23
|
+
*
|
|
24
|
+
* Provides methods to fetch account data, build transactions for common operations
|
|
25
|
+
* (open, close, liquidate, swap, manage collateral/debt/quotas), and generate
|
|
26
|
+
* the price feed updates required by the credit facade.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link ICreditAccountsService}
|
|
29
|
+
**/
|
|
30
|
+
var CreditAccountsServiceV310 = class extends require_sdk_base_SDKConstruct.SDKConstruct {
|
|
31
|
+
#compressor;
|
|
32
|
+
/**
|
|
33
|
+
* {@inheritDoc ICreditAccountsService.bots}
|
|
34
|
+
**/
|
|
35
|
+
bots;
|
|
36
|
+
constructor(sdk) {
|
|
37
|
+
super(sdk);
|
|
38
|
+
this.#compressor = new require_sdk_accounts_credit_account_compressor_CreditAccountCompressor.CreditAccountCompressor(sdk);
|
|
39
|
+
this.bots = new require_sdk_accounts_bots_AccountBotsService.AccountBotsService(sdk);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* {@inheritDoc ICreditAccountsService.getCreditAccountData}
|
|
43
|
+
**/
|
|
44
|
+
async getCreditAccountData(account, blockNumber) {
|
|
45
|
+
return this.#compressor.getCreditAccountData(account, blockNumber);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* {@inheritDoc ICreditAccountsService.getCreditAccounts}
|
|
49
|
+
**/
|
|
50
|
+
async getCreditAccounts(options, blockNumber) {
|
|
51
|
+
return this.#compressor.getCreditAccounts(options, blockNumber);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* {@inheritDoc ICreditAccountsService.getBorrowerCreditAccounts}
|
|
55
|
+
**/
|
|
56
|
+
async getBorrowerCreditAccounts(borrower, options, blockNumber) {
|
|
57
|
+
return this.#compressor.getBorrowerCreditAccounts(borrower, options, blockNumber);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* {@inheritDoc ICreditAccountsService.listPositions}
|
|
61
|
+
**/
|
|
62
|
+
async listPositions(props) {
|
|
63
|
+
return this.#compressor.listPositions(props);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* {@inheritDoc ICreditAccountsService.getRewards}
|
|
67
|
+
**/
|
|
68
|
+
async getRewards(creditAccount) {
|
|
69
|
+
const rewards = await this.client.readContract({
|
|
70
|
+
abi: require_abi_compressors_rewardsCompressor.rewardsCompressorAbi,
|
|
71
|
+
address: this.rewardCompressor,
|
|
72
|
+
functionName: "getRewards",
|
|
73
|
+
args: [creditAccount]
|
|
74
|
+
});
|
|
75
|
+
const callData = (0, viem.encodeFunctionData)({
|
|
76
|
+
abi: require_abi_iBaseRewardPool.iBaseRewardPoolAbi,
|
|
77
|
+
functionName: "getReward",
|
|
78
|
+
args: []
|
|
79
|
+
});
|
|
80
|
+
const r = rewards.reduce((acc, r) => {
|
|
81
|
+
const adapter = r.adapter.toLowerCase();
|
|
82
|
+
const stakedPhantomToken = r.stakedPhantomToken.toLowerCase();
|
|
83
|
+
const rewardToken = r.rewardToken.toLowerCase();
|
|
84
|
+
const key = [adapter, stakedPhantomToken].join("-");
|
|
85
|
+
if (!acc[key]) acc[key] = {
|
|
86
|
+
adapter,
|
|
87
|
+
stakedPhantomToken,
|
|
88
|
+
calls: [{
|
|
89
|
+
target: adapter,
|
|
90
|
+
callData
|
|
91
|
+
}],
|
|
92
|
+
rewards: []
|
|
93
|
+
};
|
|
94
|
+
acc[key].rewards.push({
|
|
95
|
+
token: rewardToken,
|
|
96
|
+
balance: r.amount
|
|
97
|
+
});
|
|
98
|
+
return acc;
|
|
99
|
+
}, {});
|
|
100
|
+
return Object.values(r);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* {@inheritDoc ICreditAccountsService.fullyLiquidate}
|
|
104
|
+
**/
|
|
105
|
+
async fullyLiquidate(props) {
|
|
106
|
+
const { account, to, slippage = 50n, keepAssets, ignoreReservePrices, applyLossPolicy, debtOnly } = props;
|
|
107
|
+
const cm = this.sdk.marketRegister.findCreditManager(account.creditManager);
|
|
108
|
+
const routerCloseResult = await this.sdk.routerFor(account).findBestClosePath({
|
|
109
|
+
creditAccount: account,
|
|
110
|
+
creditManager: cm.creditManager,
|
|
111
|
+
slippage,
|
|
112
|
+
keepAssets,
|
|
113
|
+
debtOnly
|
|
114
|
+
});
|
|
115
|
+
const calls = await this.prependPriceUpdates(account.creditManager, routerCloseResult.calls, account, { ignoreReservePrices });
|
|
116
|
+
let lossPolicyData;
|
|
117
|
+
if (applyLossPolicy) {
|
|
118
|
+
lossPolicyData = await this.sdk.marketRegister.findByCreditManager(account.creditManager).lossPolicy.getLiquidationData(account.creditAccount);
|
|
119
|
+
this.logger?.debug({ lossPolicyData }, "loss policy data");
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
tx: cm.creditFacade.liquidateCreditAccount(account.creditAccount, to, calls, lossPolicyData),
|
|
123
|
+
calls,
|
|
124
|
+
routerCloseResult,
|
|
125
|
+
lossPolicyData,
|
|
126
|
+
creditFacade: cm.creditFacade
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* {@inheritDoc ICreditAccountsService.partiallyLiquidate}
|
|
131
|
+
*/
|
|
132
|
+
async partiallyLiquidate(props) {
|
|
133
|
+
const { account, to } = props;
|
|
134
|
+
const cm = this.sdk.marketRegister.findCreditManager(account.creditManager);
|
|
135
|
+
const { tokenOut, repaidAmount, minSeizedAmount } = cm.partialLiquidationParams(account, props);
|
|
136
|
+
const updates = await this.getOnDemandPriceUpdates(account, true);
|
|
137
|
+
return cm.creditFacade.partiallyLiquidateCreditAccount(account.creditAccount, tokenOut, repaidAmount, minSeizedAmount, to, updates);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* {@inheritDoc ICreditAccountsService.assembleCloseCreditAccountCalls}
|
|
141
|
+
*/
|
|
142
|
+
async assembleCloseCreditAccountCalls({ creditAccount: ca, routerCalls, assetsToWithdraw, to }) {
|
|
143
|
+
const unwrapCalls = await this.assembleRedeemDiffCalls(1n, ca.creditManager) ?? [];
|
|
144
|
+
const { creditFacade } = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
145
|
+
return [
|
|
146
|
+
...routerCalls,
|
|
147
|
+
...creditFacade.prepareDisableQuotas([...ca.tokens]),
|
|
148
|
+
...ca.debt > 0n ? [creditFacade.prepareDecreaseDebtFull()] : [],
|
|
149
|
+
...unwrapCalls,
|
|
150
|
+
...assetsToWithdraw.map((t) => creditFacade.prepareWithdrawCollateral(t, require_sdk_constants_math.MAX_UINT256, to))
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* {@inheritDoc ICreditAccountsService.previewDelayedWithdrawal}
|
|
155
|
+
**/
|
|
156
|
+
async previewDelayedWithdrawal({ creditAccount, amount, token, withdrawalPhantomToken, intent }) {
|
|
157
|
+
return this.#withdrawalCompressor.getWithdrawalRequestResult({
|
|
158
|
+
creditAccount,
|
|
159
|
+
token,
|
|
160
|
+
amount,
|
|
161
|
+
withdrawalPhantomToken,
|
|
162
|
+
intent
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* {@inheritDoc ICreditAccountsService.getPendingWithdrawals}
|
|
167
|
+
**/
|
|
168
|
+
async getPendingWithdrawals({ creditAccount }) {
|
|
169
|
+
const { claimable, pending } = await this.#withdrawalCompressor.getCurrentWithdrawals(creditAccount);
|
|
170
|
+
return {
|
|
171
|
+
claimableNow: claimable,
|
|
172
|
+
pending
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* {@inheritDoc ICreditAccountsService.assembleStartDelayedWithdrawalCalls}
|
|
177
|
+
**/
|
|
178
|
+
assembleStartDelayedWithdrawalCalls({ creditFacade, preview }) {
|
|
179
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareWithBalanceCheck(require_sdk_market_credit_expectedBalanceDeltas.expectedBalanceDeltas({
|
|
180
|
+
outputs: preview.outputs,
|
|
181
|
+
spentToken: preview.token,
|
|
182
|
+
spentAmount: preview.amountIn
|
|
183
|
+
}), preview.requestCalls);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* {@inheritDoc ICreditAccountsService.assembleClaimDelayedCalls}
|
|
187
|
+
**/
|
|
188
|
+
assembleClaimDelayedCalls({ creditFacade, claimableNow }) {
|
|
189
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareWithBalanceCheck(require_sdk_market_credit_expectedBalanceDeltas.expectedBalanceDeltas({
|
|
190
|
+
outputs: claimableNow.outputs,
|
|
191
|
+
spentToken: claimableNow.withdrawalPhantomToken,
|
|
192
|
+
spentAmount: claimableNow.withdrawalTokenSpent
|
|
193
|
+
}), claimableNow.claimCalls);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* {@inheritDoc ICreditAccountsService.getApprovalAddress}
|
|
197
|
+
**/
|
|
198
|
+
async getApprovalAddress(options) {
|
|
199
|
+
const { creditManager } = options;
|
|
200
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
201
|
+
return suite.rwaFactory ? suite.rwaFactory.getApprovalAddress(options) : suite.creditManager.address;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* {@inheritDoc ICreditAccountsService.getOpenAccountRequirements}
|
|
205
|
+
*/
|
|
206
|
+
async getOpenAccountRequirements(borrower, creditManager, props) {
|
|
207
|
+
const { rwaFactory } = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
208
|
+
if (!rwaFactory) return;
|
|
209
|
+
return rwaFactory.getOpenAccountRequirements(borrower, props);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* {@inheritDoc ICreditAccountsService.openCA}
|
|
213
|
+
**/
|
|
214
|
+
async openCA(props) {
|
|
215
|
+
const { ethAmount, creditManager, reopenCreditAccount, collateral, permits, debt, withdrawToken, referralCode, to, calls: openPathCalls, callsAfter, minQuota, averageQuota, rwaOptions } = props;
|
|
216
|
+
const cmSuite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
217
|
+
const cm = cmSuite.creditManager;
|
|
218
|
+
let tokenToWithdraw;
|
|
219
|
+
if (withdrawToken === true) tokenToWithdraw = cm.underlying;
|
|
220
|
+
else if (typeof withdrawToken === "string") tokenToWithdraw = withdrawToken;
|
|
221
|
+
const { creditFacade } = cmSuite;
|
|
222
|
+
const operationCalls = [
|
|
223
|
+
creditFacade.prepareIncreaseDebt(debt),
|
|
224
|
+
...creditFacade.prepareAddCollateral(collateral, permits),
|
|
225
|
+
...openPathCalls,
|
|
226
|
+
...tokenToWithdraw ? [creditFacade.prepareWithdrawCollateral(tokenToWithdraw, require_sdk_constants_math.MAX_UINT256, to)] : [],
|
|
227
|
+
...creditFacade.prepareUpdateQuotas({
|
|
228
|
+
minQuota,
|
|
229
|
+
averageQuota
|
|
230
|
+
}),
|
|
231
|
+
...callsAfter ?? []
|
|
232
|
+
];
|
|
233
|
+
const calls = await this.prependPriceUpdates(cm.address, operationCalls);
|
|
234
|
+
const tx = reopenCreditAccount ? cmSuite.multicallTx(reopenCreditAccount, calls) : cmSuite.openCreditAccountTx(to, calls, referralCode, rwaOptions);
|
|
235
|
+
tx.value = ethAmount.toString(10);
|
|
236
|
+
return tx;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Encodes one ERC-4626 adapter call for an RWA market's underlying vault.
|
|
240
|
+
*
|
|
241
|
+
* @param functionName - Adapter function to call
|
|
242
|
+
* @param amount - Amount passed to the adapter, in the units the function expects
|
|
243
|
+
* @param creditManager - Credit manager address
|
|
244
|
+
* @returns Array of MultiCall to pass to credit facade multicall, or undefined
|
|
245
|
+
* if the underlying is not RWA-gated or no adapter is configured for it
|
|
246
|
+
*/
|
|
247
|
+
#rwaVaultCalls(functionName, amount, creditManager) {
|
|
248
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
249
|
+
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
250
|
+
if (!this.sdk.tokensMeta.isRWAUnderlying(meta)) return;
|
|
251
|
+
const target = suite.creditManager.adapters.get(meta.addr)?.address;
|
|
252
|
+
if (!target) return;
|
|
253
|
+
let callData;
|
|
254
|
+
switch (functionName) {
|
|
255
|
+
case "deposit":
|
|
256
|
+
callData = (0, viem.encodeFunctionData)({
|
|
257
|
+
abi: require_abi_ierc4626Adapter.ierc4626AdapterAbi,
|
|
258
|
+
functionName,
|
|
259
|
+
args: [amount, require_sdk_constants_addresses.ADDRESS_0X0]
|
|
260
|
+
});
|
|
261
|
+
break;
|
|
262
|
+
case "redeem":
|
|
263
|
+
callData = (0, viem.encodeFunctionData)({
|
|
264
|
+
abi: require_abi_ierc4626Adapter.ierc4626AdapterAbi,
|
|
265
|
+
functionName,
|
|
266
|
+
args: [
|
|
267
|
+
amount,
|
|
268
|
+
require_sdk_constants_addresses.ADDRESS_0X0,
|
|
269
|
+
require_sdk_constants_addresses.ADDRESS_0X0
|
|
270
|
+
]
|
|
271
|
+
});
|
|
272
|
+
break;
|
|
273
|
+
default: callData = (0, viem.encodeFunctionData)({
|
|
274
|
+
abi: require_abi_ierc4626Adapter.ierc4626AdapterAbi,
|
|
275
|
+
functionName,
|
|
276
|
+
args: [amount]
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
return [{
|
|
280
|
+
target,
|
|
281
|
+
callData
|
|
282
|
+
}];
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* {@inheritDoc ICreditAccountsService.assembleRWAUnwrapCalls}
|
|
286
|
+
*/
|
|
287
|
+
async assembleRWAUnwrapCalls(amount, creditManager) {
|
|
288
|
+
return this.#rwaVaultCalls("redeem", amount, creditManager);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* {@inheritDoc ICreditAccountsService.assembleRWAWrapCalls}
|
|
292
|
+
*/
|
|
293
|
+
async assembleRWAWrapCalls(amount, creditManager) {
|
|
294
|
+
return this.#rwaVaultCalls("deposit", amount, creditManager);
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* {@inheritDoc ICreditAccountsService.assembleRedeemDiffCalls}
|
|
298
|
+
*/
|
|
299
|
+
async assembleRedeemDiffCalls(amount, creditManager) {
|
|
300
|
+
return this.#rwaVaultCalls("redeemDiff", amount, creditManager);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* {@inheritDoc ICreditAccountsService.assembleDepositDiffCalls}
|
|
304
|
+
*/
|
|
305
|
+
async assembleDepositDiffCalls(amount, creditManager) {
|
|
306
|
+
return this.#rwaVaultCalls("depositDiff", amount, creditManager);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* {@inheritDoc ICreditAccountsService.assembleRepayCreditAccountCalls}
|
|
310
|
+
*/
|
|
311
|
+
async assembleRepayCreditAccountCalls({ collateralAssets, assetsToWithdraw, creditAccount: ca, permits, to, tokensToClaim, calls: wrapCalls = [] }) {
|
|
312
|
+
const addCollateral = collateralAssets.filter((a) => a.balance > 0);
|
|
313
|
+
const router = this.sdk.routerFor(ca);
|
|
314
|
+
const unwrapCalls = await this.assembleRedeemDiffCalls(1n, ca.creditManager) ?? [];
|
|
315
|
+
const claimPath = await router.findClaimAllRewards({
|
|
316
|
+
tokensToClaim,
|
|
317
|
+
creditAccount: ca
|
|
318
|
+
});
|
|
319
|
+
const { creditFacade } = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
320
|
+
return [
|
|
321
|
+
...creditFacade.prepareAddCollateral(addCollateral, permits),
|
|
322
|
+
...wrapCalls,
|
|
323
|
+
...creditFacade.prepareDisableQuotas([...ca.tokens]),
|
|
324
|
+
...ca.debt > 0n ? [creditFacade.prepareDecreaseDebtFull()] : [],
|
|
325
|
+
...unwrapCalls,
|
|
326
|
+
...claimPath.calls,
|
|
327
|
+
...assetsToWithdraw.map((t) => creditFacade.prepareWithdrawCollateral(t.token, require_sdk_constants_math.MAX_UINT256, to))
|
|
328
|
+
];
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* {@inheritDoc ICreditAccountsService.claimFarmRewards}
|
|
332
|
+
*/
|
|
333
|
+
async claimFarmRewards({ calls: externalCalls, creditAccount: ca, minQuota, averageQuota, tokensToClaim }) {
|
|
334
|
+
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
335
|
+
const router = this.sdk.routerFor(ca);
|
|
336
|
+
let claimPath;
|
|
337
|
+
if (externalCalls) claimPath = { calls: externalCalls };
|
|
338
|
+
else claimPath = await router.findClaimAllRewards({
|
|
339
|
+
tokensToClaim,
|
|
340
|
+
creditAccount: ca
|
|
341
|
+
});
|
|
342
|
+
if (claimPath.calls.length === 0) throw new Error("No path to execute");
|
|
343
|
+
const operationCalls = [...claimPath.calls, ...cm.creditFacade.prepareUpdateQuotas({
|
|
344
|
+
minQuota,
|
|
345
|
+
averageQuota
|
|
346
|
+
})];
|
|
347
|
+
const calls = await this.prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
348
|
+
return cm.multicallTx(ca.creditAccount, calls);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Returns raw txs that are needed to update all price feeds so that all credit accounts (possibly from different markets) compute
|
|
352
|
+
* {@inheritDoc ICreditAccountsService.getOnDemandPriceUpdates}
|
|
353
|
+
**/
|
|
354
|
+
async getOnDemandPriceUpdates(account, ignoreReservePrices) {
|
|
355
|
+
const { priceOracle } = this.sdk.marketRegister.findByCreditManager(account.creditManager);
|
|
356
|
+
return priceOracle.priceUpdatesForAccount(account, { reserve: !ignoreReservePrices });
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* {@inheritDoc ICreditAccountsService.prependPriceUpdates}
|
|
360
|
+
*/
|
|
361
|
+
async prependPriceUpdates(creditManager, calls, creditAccount, options) {
|
|
362
|
+
const { priceOracle } = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
363
|
+
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
364
|
+
const { priceUpdates: existingUpdates, remainingCalls } = require_sdk_accounts_multicall_utils.extractPriceUpdates(calls);
|
|
365
|
+
const extraTokens = require_sdk_accounts_multicall_utils.extractQuotaTokens(calls).asArray();
|
|
366
|
+
const opts = {
|
|
367
|
+
reserve: !options?.ignoreReservePrices,
|
|
368
|
+
extraTokens
|
|
369
|
+
};
|
|
370
|
+
const generatedUpdates = creditAccount ? await priceOracle.priceUpdatesForAccount(creditAccount, opts) : await priceOracle.priceUpdatesForTokens([suite.creditManager.underlying, ...extraTokens], opts);
|
|
371
|
+
const merged = require_sdk_accounts_multicall_utils.mergePriceUpdates(existingUpdates, generatedUpdates);
|
|
372
|
+
if (merged.length === 0) return remainingCalls;
|
|
373
|
+
return [suite.creditFacade.prepareOnDemandPriceUpdates(merged), ...remainingCalls];
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* {@inheritDoc ICreditAccountsService.assembleCaOperations}
|
|
377
|
+
*/
|
|
378
|
+
assembleCaOperations({ operations, creditFacade }) {
|
|
379
|
+
const facade = this.sdk.marketRegister.findCreditFacade(creditFacade);
|
|
380
|
+
const calls = [];
|
|
381
|
+
for (const op of operations) switch (op.type) {
|
|
382
|
+
case "increaseDebt":
|
|
383
|
+
calls.push(facade.prepareIncreaseDebt(op.amount));
|
|
384
|
+
break;
|
|
385
|
+
case "decreaseDebt":
|
|
386
|
+
calls.push(facade.prepareChangeDebt(op.amount, true));
|
|
387
|
+
break;
|
|
388
|
+
case "addCollateral":
|
|
389
|
+
calls.push(...facade.prepareAddCollateral([{
|
|
390
|
+
token: op.token,
|
|
391
|
+
balance: op.amount
|
|
392
|
+
}], {}));
|
|
393
|
+
break;
|
|
394
|
+
case "withdrawCollateral":
|
|
395
|
+
calls.push(facade.prepareWithdrawCollateral(op.token, op.amount, op.to));
|
|
396
|
+
break;
|
|
397
|
+
case "swap":
|
|
398
|
+
case "wrapRwaCollateral":
|
|
399
|
+
case "unwrapRwaCollateral":
|
|
400
|
+
calls.push(...op.calls);
|
|
401
|
+
break;
|
|
402
|
+
case "changeQuota": {
|
|
403
|
+
const quotaAssets = [...op.quotaIncrease, ...op.quotaDecrease];
|
|
404
|
+
if (quotaAssets.length === 0) break;
|
|
405
|
+
calls.push(...facade.prepareUpdateQuotas({
|
|
406
|
+
averageQuota: quotaAssets,
|
|
407
|
+
minQuota: quotaAssets
|
|
408
|
+
}));
|
|
409
|
+
break;
|
|
410
|
+
}
|
|
411
|
+
default: throw new Error(`assembleCaOperations: unsupported operation ${JSON.stringify(op)}`);
|
|
412
|
+
}
|
|
413
|
+
return calls;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* {@inheritDoc ICreditAccountsService.executeCaUpdate}
|
|
417
|
+
*/
|
|
418
|
+
async executeCaUpdate(creditAccount, calls, options) {
|
|
419
|
+
const cm = this.sdk.marketRegister.findCreditManager(creditAccount.creditManager);
|
|
420
|
+
const callsWithPrices = await this.prependPriceUpdates(creditAccount.creditManager, calls, creditAccount, { ignoreReservePrices: options?.ignoreReservePrices });
|
|
421
|
+
const tx = cm.multicallTx(creditAccount.creditAccount, callsWithPrices);
|
|
422
|
+
if (options?.ethAmount && options.ethAmount > 0n) tx.value = options.ethAmount.toString(10);
|
|
423
|
+
return tx;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* {@inheritDoc ICreditAccountsService.prepareUpdateQuotas}
|
|
427
|
+
*/
|
|
428
|
+
prepareUpdateQuotas(creditFacade, props) {
|
|
429
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareUpdateQuotas(props);
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* {@inheritDoc ICreditAccountsService.prepareWithdrawToken}
|
|
433
|
+
*/
|
|
434
|
+
prepareWithdrawToken(creditFacade, token, amount, to) {
|
|
435
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareWithdrawCollateral(token, amount, to);
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* {@inheritDoc ICreditAccountsService.prepareIncreaseDebt}
|
|
439
|
+
*/
|
|
440
|
+
prepareIncreaseDebt(creditFacade, debt) {
|
|
441
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareIncreaseDebt(debt);
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* {@inheritDoc ICreditAccountsService.prepareChangeDebt}
|
|
445
|
+
*/
|
|
446
|
+
prepareChangeDebt(creditFacade, change, isDecrease) {
|
|
447
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareChangeDebt(change, isDecrease);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* {@inheritDoc ICreditAccountsService.prepareAddCollateral}
|
|
451
|
+
*/
|
|
452
|
+
prepareAddCollateral(creditFacade, assets, permits) {
|
|
453
|
+
return this.sdk.marketRegister.findCreditFacade(creditFacade).prepareAddCollateral(assets, permits);
|
|
454
|
+
}
|
|
455
|
+
get rewardCompressor() {
|
|
456
|
+
return this.sdk.addressProvider.mustGetLatest(require_sdk_constants_address_provider.AP_REWARDS_COMPRESSOR, require_sdk_constants_versions.VERSION_RANGE_310)[0];
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Withdrawal compressor of the current chain.
|
|
460
|
+
* @throws If no withdrawal compressor is supported on the current chain.
|
|
461
|
+
**/
|
|
462
|
+
get #withdrawalCompressor() {
|
|
463
|
+
const compressor = this.sdk.withdrawalCompressor;
|
|
464
|
+
if (!compressor) throw new Error(`no withdrawal compressor on ${this.sdk.networkType}`);
|
|
465
|
+
return compressor;
|
|
466
|
+
}
|
|
9
467
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var CreditAccountsServiceV310_exports = {};
|
|
20
|
-
__export(CreditAccountsServiceV310_exports, {
|
|
21
|
-
CreditAccountsServiceV310: () => CreditAccountsServiceV310,
|
|
22
|
-
getWithdrawalCompressorAddress: () => getWithdrawalCompressorAddress
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(CreditAccountsServiceV310_exports);
|
|
25
|
-
var import_integrations_v3 = require("@gearbox-protocol/integrations-v3");
|
|
26
|
-
var import_viem = require("viem");
|
|
27
|
-
var import_generated = require("../../abi/310/generated.js");
|
|
28
|
-
var import_creditAccountCompressor = require("../../abi/compressors/creditAccountCompressor.js");
|
|
29
|
-
var import_peripheryCompressor = require("../../abi/compressors/peripheryCompressor.js");
|
|
30
|
-
var import_rewardsCompressor = require("../../abi/compressors/rewardsCompressor.js");
|
|
31
|
-
var import_IWithdrawalCompressorV310 = require("../../abi/IWithdrawalCompressorV310.js");
|
|
32
|
-
var import_IWithdrawalCompressorV311 = require("../../abi/IWithdrawalCompressorV311.js");
|
|
33
|
-
var import_iBaseRewardPool = require("../../abi/iBaseRewardPool.js");
|
|
34
|
-
var import_iRWAFactory = require("../../abi/rwa/iRWAFactory.js");
|
|
35
|
-
var import_base = require("../base/index.js");
|
|
36
|
-
var import_chains = require("../chain/chains.js");
|
|
37
|
-
var import_constants = require("../constants/index.js");
|
|
38
|
-
var import_market = require("../market/index.js");
|
|
39
|
-
var import_router = require("../router/index.js");
|
|
40
|
-
var import_utils = require("../utils/index.js");
|
|
41
|
-
var import_viem2 = require("../utils/viem/index.js");
|
|
42
|
-
var import_multicall_utils = require("./multicall-utils.js");
|
|
43
|
-
const COMPRESSORS = {
|
|
44
|
-
[import_chains.chains.Mainnet.id]: {
|
|
45
|
-
address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
46
|
-
version: 310
|
|
47
|
-
},
|
|
48
|
-
[import_chains.chains.Monad.id]: {
|
|
49
|
-
address: "0x36F3d0Bb73CBC2E94fE24dF0f26a689409cF9023",
|
|
50
|
-
version: 310
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
function getWithdrawalCompressorAddress(chainId) {
|
|
54
|
-
return COMPRESSORS[chainId];
|
|
55
|
-
}
|
|
56
|
-
class CreditAccountsServiceV310 extends import_base.SDKConstruct {
|
|
57
|
-
#compressor;
|
|
58
|
-
#batchSize;
|
|
59
|
-
constructor(sdk, options) {
|
|
60
|
-
super(sdk);
|
|
61
|
-
this.#batchSize = options?.batchSize;
|
|
62
|
-
}
|
|
63
|
-
setBatchSize(batchSize) {
|
|
64
|
-
this.#batchSize = batchSize;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* {@inheritDoc ICreditAccountsService.getCreditAccountData}
|
|
68
|
-
**/
|
|
69
|
-
async getCreditAccountData(account, blockNumber) {
|
|
70
|
-
let raw;
|
|
71
|
-
try {
|
|
72
|
-
raw = await this.client.readContract({
|
|
73
|
-
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
74
|
-
address: this.compressor,
|
|
75
|
-
functionName: "getCreditAccountData",
|
|
76
|
-
args: [account],
|
|
77
|
-
blockNumber,
|
|
78
|
-
// @ts-expect-error
|
|
79
|
-
gas: this.sdk.gasLimit
|
|
80
|
-
});
|
|
81
|
-
} catch (_e) {
|
|
82
|
-
return void 0;
|
|
83
|
-
}
|
|
84
|
-
const marketSuite = this.sdk.marketRegister.findByCreditManager(
|
|
85
|
-
raw.creditManager
|
|
86
|
-
);
|
|
87
|
-
const factory = marketSuite.rwaFactory;
|
|
88
|
-
let ca;
|
|
89
|
-
let investor;
|
|
90
|
-
if (raw.success) {
|
|
91
|
-
ca = raw;
|
|
92
|
-
investor = await factory?.getInvestor(raw.creditAccount, false);
|
|
93
|
-
} else {
|
|
94
|
-
const { txs: priceUpdateTxs } = await this.#getUpdateForAccount(raw);
|
|
95
|
-
[ca, investor] = await (0, import_viem2.simulateWithPriceUpdates)(this.client, {
|
|
96
|
-
priceUpdates: priceUpdateTxs,
|
|
97
|
-
contracts: [
|
|
98
|
-
{
|
|
99
|
-
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
100
|
-
address: this.compressor,
|
|
101
|
-
functionName: "getCreditAccountData",
|
|
102
|
-
args: [account]
|
|
103
|
-
},
|
|
104
|
-
...factory ? [
|
|
105
|
-
{
|
|
106
|
-
abi: import_iRWAFactory.iRWAFactoryAbi,
|
|
107
|
-
address: factory.address,
|
|
108
|
-
functionName: "getInvestor",
|
|
109
|
-
args: [raw.creditAccount]
|
|
110
|
-
}
|
|
111
|
-
] : []
|
|
112
|
-
],
|
|
113
|
-
blockNumber,
|
|
114
|
-
gas: this.sdk.gasLimit
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
return { ...ca, investor };
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* {@inheritDoc ICreditAccountsService.getCreditAccounts}
|
|
121
|
-
**/
|
|
122
|
-
async getCreditAccounts(options, blockNumber) {
|
|
123
|
-
const {
|
|
124
|
-
creditManager,
|
|
125
|
-
includeZeroDebt = false,
|
|
126
|
-
maxHealthFactor = import_constants.MAX_UINT256,
|
|
127
|
-
minHealthFactor = 0n,
|
|
128
|
-
owner = import_constants.ADDRESS_0X0,
|
|
129
|
-
ignoreReservePrices = false
|
|
130
|
-
} = options ?? {};
|
|
131
|
-
const arg0 = creditManager ?? {
|
|
132
|
-
configurators: this.marketConfigurators,
|
|
133
|
-
creditManagers: [],
|
|
134
|
-
pools: [],
|
|
135
|
-
underlying: import_constants.ADDRESS_0X0
|
|
136
|
-
};
|
|
137
|
-
const caFilter = {
|
|
138
|
-
owner,
|
|
139
|
-
includeZeroDebt,
|
|
140
|
-
minHealthFactor,
|
|
141
|
-
maxHealthFactor,
|
|
142
|
-
reverting: false
|
|
143
|
-
};
|
|
144
|
-
const { txs: priceUpdateTxs } = await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(
|
|
145
|
-
ignoreReservePrices ? { main: true } : void 0
|
|
146
|
-
);
|
|
147
|
-
const allCAs = [];
|
|
148
|
-
let revertingOffset = 0;
|
|
149
|
-
for (const reverting of [false, true]) {
|
|
150
|
-
let offset = 0n;
|
|
151
|
-
revertingOffset = allCAs.length;
|
|
152
|
-
do {
|
|
153
|
-
const [accounts, newOffset] = await this.#getCreditAccounts(
|
|
154
|
-
this.#batchSize ? [
|
|
155
|
-
arg0,
|
|
156
|
-
{ ...caFilter, reverting },
|
|
157
|
-
offset,
|
|
158
|
-
BigInt(this.#batchSize)
|
|
159
|
-
// limit
|
|
160
|
-
] : [arg0, { ...caFilter, reverting }, offset],
|
|
161
|
-
priceUpdateTxs,
|
|
162
|
-
blockNumber
|
|
163
|
-
);
|
|
164
|
-
allCAs.push(...accounts);
|
|
165
|
-
offset = newOffset;
|
|
166
|
-
} while (offset !== 0n);
|
|
167
|
-
}
|
|
168
|
-
this.logger?.debug(
|
|
169
|
-
`loaded ${allCAs.length} credit accounts (${allCAs.length - revertingOffset} reverting)`
|
|
170
|
-
);
|
|
171
|
-
return allCAs.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* {@inheritDoc ICreditAccountsService.getBorrowerCreditAccounts}
|
|
175
|
-
**/
|
|
176
|
-
async getBorrowerCreditAccounts(borrower, options, blockNumber) {
|
|
177
|
-
const {
|
|
178
|
-
creditManager,
|
|
179
|
-
includeZeroDebt = false,
|
|
180
|
-
maxHealthFactor = import_constants.MAX_UINT256,
|
|
181
|
-
minHealthFactor = 0n,
|
|
182
|
-
ignoreReservePrices = false
|
|
183
|
-
} = options ?? {};
|
|
184
|
-
const { txs: priceUpdateTxs } = await this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(
|
|
185
|
-
ignoreReservePrices ? { main: true } : void 0
|
|
186
|
-
);
|
|
187
|
-
const investorDataList = await this.sdk.rwa.getInvestorData(borrower);
|
|
188
|
-
const rwaAccountAddresses = investorDataList.flatMap(
|
|
189
|
-
(d) => d.creditAccounts.map((ca) => ca.creditAccount)
|
|
190
|
-
);
|
|
191
|
-
const cmFilter = creditManager ? {
|
|
192
|
-
configurators: [],
|
|
193
|
-
creditManagers: [creditManager],
|
|
194
|
-
pools: [],
|
|
195
|
-
underlying: import_constants.ADDRESS_0X0
|
|
196
|
-
} : {
|
|
197
|
-
configurators: this.marketConfigurators,
|
|
198
|
-
creditManagers: [],
|
|
199
|
-
pools: [],
|
|
200
|
-
underlying: import_constants.ADDRESS_0X0
|
|
201
|
-
};
|
|
202
|
-
const permissiveFilter = {
|
|
203
|
-
owner: borrower,
|
|
204
|
-
includeZeroDebt: true,
|
|
205
|
-
minHealthFactor: 0n,
|
|
206
|
-
maxHealthFactor: import_constants.MAX_UINT256,
|
|
207
|
-
reverting: false
|
|
208
|
-
};
|
|
209
|
-
const rwaContracts = rwaAccountAddresses.map(
|
|
210
|
-
(account) => ({
|
|
211
|
-
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
212
|
-
address: this.compressor,
|
|
213
|
-
functionName: "getCreditAccountData",
|
|
214
|
-
args: [account]
|
|
215
|
-
})
|
|
216
|
-
);
|
|
217
|
-
const getCreditAccountsContracts = [false, true].map(
|
|
218
|
-
(reverting) => ({
|
|
219
|
-
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
220
|
-
address: this.compressor,
|
|
221
|
-
functionName: "getCreditAccounts",
|
|
222
|
-
args: [cmFilter, { ...permissiveFilter, reverting }, 0n]
|
|
223
|
-
})
|
|
224
|
-
);
|
|
225
|
-
const allContracts = [...rwaContracts, ...getCreditAccountsContracts];
|
|
226
|
-
const results = await (0, import_viem2.simulateWithPriceUpdates)(this.client, {
|
|
227
|
-
priceUpdates: priceUpdateTxs,
|
|
228
|
-
contracts: allContracts,
|
|
229
|
-
blockNumber,
|
|
230
|
-
gas: this.sdk.gasLimit
|
|
231
|
-
});
|
|
232
|
-
const rwaResults = results.slice(
|
|
233
|
-
0,
|
|
234
|
-
rwaAccountAddresses.length
|
|
235
|
-
);
|
|
236
|
-
const normalResults = results.slice(rwaAccountAddresses.length);
|
|
237
|
-
const seen = new import_utils.AddressSet();
|
|
238
|
-
const allCAs = [];
|
|
239
|
-
for (const ca of rwaResults) {
|
|
240
|
-
if (!seen.has(ca.creditAccount)) {
|
|
241
|
-
seen.add(ca.creditAccount);
|
|
242
|
-
allCAs.push({ ...ca, investor: borrower });
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
for (const [accounts] of normalResults) {
|
|
246
|
-
for (const ca of accounts) {
|
|
247
|
-
if (!seen.has(ca.creditAccount)) {
|
|
248
|
-
seen.add(ca.creditAccount);
|
|
249
|
-
allCAs.push({ ...ca, investor: void 0 });
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
const filtered = allCAs.filter((ca) => {
|
|
254
|
-
if (!includeZeroDebt && ca.debt === 0n) return false;
|
|
255
|
-
if (ca.healthFactor < minHealthFactor) return false;
|
|
256
|
-
if (ca.healthFactor > maxHealthFactor) return false;
|
|
257
|
-
if (creditManager && !(0, import_utils.hexEq)(ca.creditManager, creditManager))
|
|
258
|
-
return false;
|
|
259
|
-
return true;
|
|
260
|
-
});
|
|
261
|
-
this.logger?.debug(
|
|
262
|
-
`loaded ${allCAs.length} borrower credit accounts (${rwaResults.length} RWA, ${filtered.length} after filter)`
|
|
263
|
-
);
|
|
264
|
-
return filtered.sort((a, b) => Number(a.healthFactor - b.healthFactor));
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* {@inheritDoc ICreditAccountsService.getRewards}
|
|
268
|
-
**/
|
|
269
|
-
async getRewards(creditAccount) {
|
|
270
|
-
const rewards = await this.client.readContract({
|
|
271
|
-
abi: import_rewardsCompressor.rewardsCompressorAbi,
|
|
272
|
-
address: this.rewardCompressor,
|
|
273
|
-
functionName: "getRewards",
|
|
274
|
-
args: [creditAccount]
|
|
275
|
-
});
|
|
276
|
-
const callData = (0, import_viem.encodeFunctionData)({
|
|
277
|
-
abi: import_iBaseRewardPool.iBaseRewardPoolAbi,
|
|
278
|
-
functionName: "getReward",
|
|
279
|
-
args: []
|
|
280
|
-
});
|
|
281
|
-
const r = rewards.reduce((acc, r2) => {
|
|
282
|
-
const adapter = r2.adapter.toLowerCase();
|
|
283
|
-
const stakedPhantomToken = r2.stakedPhantomToken.toLowerCase();
|
|
284
|
-
const rewardToken = r2.rewardToken.toLowerCase();
|
|
285
|
-
const key = [adapter, stakedPhantomToken].join("-");
|
|
286
|
-
if (!acc[key]) {
|
|
287
|
-
acc[key] = {
|
|
288
|
-
adapter,
|
|
289
|
-
stakedPhantomToken,
|
|
290
|
-
calls: [
|
|
291
|
-
{
|
|
292
|
-
target: adapter,
|
|
293
|
-
callData
|
|
294
|
-
}
|
|
295
|
-
],
|
|
296
|
-
rewards: []
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
acc[key].rewards.push({
|
|
300
|
-
token: rewardToken,
|
|
301
|
-
balance: r2.amount
|
|
302
|
-
});
|
|
303
|
-
return acc;
|
|
304
|
-
}, {});
|
|
305
|
-
return Object.values(r);
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* {@inheritDoc ICreditAccountsService.getConnectedBots}
|
|
309
|
-
**/
|
|
310
|
-
async getConnectedBots(accountsToCheck, legacyMigrationBot, additionalBots) {
|
|
311
|
-
const allResp = await this.client.multicall({
|
|
312
|
-
contracts: [
|
|
313
|
-
...accountsToCheck.map((o) => {
|
|
314
|
-
const pool = this.sdk.marketRegister.findByCreditManager(
|
|
315
|
-
o.creditManager
|
|
316
|
-
);
|
|
317
|
-
return {
|
|
318
|
-
abi: import_peripheryCompressor.peripheryCompressorAbi,
|
|
319
|
-
address: this.peripheryCompressor,
|
|
320
|
-
functionName: "getConnectedBots",
|
|
321
|
-
args: [pool.configurator.address, o.creditAccount]
|
|
322
|
-
};
|
|
323
|
-
}),
|
|
324
|
-
...legacyMigrationBot ? accountsToCheck.map((ca) => {
|
|
325
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
326
|
-
ca.creditManager
|
|
327
|
-
);
|
|
328
|
-
return {
|
|
329
|
-
abi: import_generated.iBotListV310Abi,
|
|
330
|
-
address: cm.creditFacade.botList,
|
|
331
|
-
functionName: "getBotStatus",
|
|
332
|
-
args: [legacyMigrationBot, ca.creditAccount]
|
|
333
|
-
};
|
|
334
|
-
}) : [],
|
|
335
|
-
...accountsToCheck.flatMap((ca) => {
|
|
336
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
337
|
-
ca.creditManager
|
|
338
|
-
);
|
|
339
|
-
return additionalBots.map((bot) => {
|
|
340
|
-
return {
|
|
341
|
-
abi: import_generated.iBotListV310Abi,
|
|
342
|
-
address: cm.creditFacade.botList,
|
|
343
|
-
functionName: "getBotStatus",
|
|
344
|
-
args: [bot, ca.creditAccount]
|
|
345
|
-
};
|
|
346
|
-
});
|
|
347
|
-
})
|
|
348
|
-
],
|
|
349
|
-
allowFailure: true,
|
|
350
|
-
batchSize: 0
|
|
351
|
-
});
|
|
352
|
-
const legacyStart = 0;
|
|
353
|
-
const legacyEnd = accountsToCheck.length;
|
|
354
|
-
const legacy = allResp.slice(
|
|
355
|
-
legacyStart,
|
|
356
|
-
legacyEnd
|
|
357
|
-
);
|
|
358
|
-
const migrationStart = legacyEnd;
|
|
359
|
-
const migrationEnd = legacyMigrationBot ? migrationStart + accountsToCheck.length : migrationStart;
|
|
360
|
-
const migrationResp = allResp.slice(
|
|
361
|
-
migrationStart,
|
|
362
|
-
migrationEnd
|
|
363
|
-
);
|
|
364
|
-
const additionalStart = migrationEnd;
|
|
365
|
-
const additionalResp = allResp.slice(
|
|
366
|
-
additionalStart
|
|
367
|
-
);
|
|
368
|
-
return {
|
|
369
|
-
legacy,
|
|
370
|
-
additionalBots: this.#getActiveBots(
|
|
371
|
-
accountsToCheck,
|
|
372
|
-
additionalBots,
|
|
373
|
-
additionalResp
|
|
374
|
-
),
|
|
375
|
-
legacyMigration: this.#getActiveMigrationBots(
|
|
376
|
-
accountsToCheck,
|
|
377
|
-
legacyMigrationBot,
|
|
378
|
-
migrationResp
|
|
379
|
-
)
|
|
380
|
-
};
|
|
381
|
-
}
|
|
382
|
-
#getActiveBots(accountsToCheck, bots, result) {
|
|
383
|
-
if (result.length !== bots.length * accountsToCheck.length) {
|
|
384
|
-
console.error(
|
|
385
|
-
"result length mismatch",
|
|
386
|
-
result.length,
|
|
387
|
-
bots.length * accountsToCheck.length
|
|
388
|
-
);
|
|
389
|
-
}
|
|
390
|
-
const botsByCAIndex = accountsToCheck.reduce((acc, _, index) => {
|
|
391
|
-
const r = result.slice(index * bots.length, (index + 1) * bots.length);
|
|
392
|
-
acc.push({
|
|
393
|
-
result: r
|
|
394
|
-
});
|
|
395
|
-
return acc;
|
|
396
|
-
}, []);
|
|
397
|
-
return botsByCAIndex;
|
|
398
|
-
}
|
|
399
|
-
#getActiveMigrationBots(accountsToCheck, bot, result) {
|
|
400
|
-
if (bot) {
|
|
401
|
-
if (result.length !== accountsToCheck.length) {
|
|
402
|
-
console.error(
|
|
403
|
-
"result length mismatch for migration bots",
|
|
404
|
-
result.length,
|
|
405
|
-
accountsToCheck.length
|
|
406
|
-
);
|
|
407
|
-
}
|
|
408
|
-
return { result, botAddress: bot };
|
|
409
|
-
}
|
|
410
|
-
return void 0;
|
|
411
|
-
}
|
|
412
|
-
/**
|
|
413
|
-
* {@inheritDoc ICreditAccountsService.fullyLiquidate}
|
|
414
|
-
**/
|
|
415
|
-
async fullyLiquidate(props) {
|
|
416
|
-
const {
|
|
417
|
-
account,
|
|
418
|
-
to,
|
|
419
|
-
slippage = 50n,
|
|
420
|
-
keepAssets,
|
|
421
|
-
ignoreReservePrices,
|
|
422
|
-
applyLossPolicy,
|
|
423
|
-
debtOnly
|
|
424
|
-
} = props;
|
|
425
|
-
const cm = this.sdk.marketRegister.findCreditManager(account.creditManager);
|
|
426
|
-
const routerCloseResult = await this.sdk.routerFor(account).findBestClosePath({
|
|
427
|
-
creditAccount: account,
|
|
428
|
-
creditManager: cm.creditManager,
|
|
429
|
-
slippage,
|
|
430
|
-
keepAssets,
|
|
431
|
-
debtOnly
|
|
432
|
-
});
|
|
433
|
-
const calls = await this.#prependPriceUpdates(
|
|
434
|
-
account.creditManager,
|
|
435
|
-
routerCloseResult.calls,
|
|
436
|
-
account,
|
|
437
|
-
{ ignoreReservePrices }
|
|
438
|
-
);
|
|
439
|
-
let lossPolicyData;
|
|
440
|
-
if (applyLossPolicy) {
|
|
441
|
-
const market = this.sdk.marketRegister.findByCreditManager(
|
|
442
|
-
account.creditManager
|
|
443
|
-
);
|
|
444
|
-
lossPolicyData = await market.lossPolicy.getLiquidationData(
|
|
445
|
-
account.creditAccount
|
|
446
|
-
);
|
|
447
|
-
this.logger?.debug({ lossPolicyData }, "loss policy data");
|
|
448
|
-
}
|
|
449
|
-
const tx = cm.creditFacade.liquidateCreditAccount(
|
|
450
|
-
account.creditAccount,
|
|
451
|
-
to,
|
|
452
|
-
calls,
|
|
453
|
-
lossPolicyData
|
|
454
|
-
);
|
|
455
|
-
return {
|
|
456
|
-
tx,
|
|
457
|
-
calls,
|
|
458
|
-
routerCloseResult,
|
|
459
|
-
lossPolicyData,
|
|
460
|
-
creditFacade: cm.creditFacade
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
/**
|
|
464
|
-
* {@inheritDoc ICreditAccountsService.defaultPartialLiquidationParams}
|
|
465
|
-
*/
|
|
466
|
-
defaultPartialLiquidationParams(ca) {
|
|
467
|
-
const tokenOut = this.#getBestTokenOut(ca);
|
|
468
|
-
const optimalHF = this.getOptimalHFForPartialLiquidation(ca);
|
|
469
|
-
const repaidAmount = this.#calcOptimalRepaidAmount(ca, tokenOut, optimalHF);
|
|
470
|
-
const minSeizedAmount = this.#calcMinSeizedAmount(
|
|
471
|
-
ca,
|
|
472
|
-
tokenOut,
|
|
473
|
-
repaidAmount
|
|
474
|
-
);
|
|
475
|
-
return { tokenOut, optimalHF, repaidAmount, minSeizedAmount };
|
|
476
|
-
}
|
|
477
|
-
/**
|
|
478
|
-
* {@inheritDoc ICreditAccountsService.partiallyLiquidate}
|
|
479
|
-
*/
|
|
480
|
-
async partiallyLiquidate(props) {
|
|
481
|
-
const { account, to } = props;
|
|
482
|
-
const tokenOut = props.tokenOut ?? this.#getBestTokenOut(account);
|
|
483
|
-
const optimalHF = props.optimalHF ?? this.getOptimalHFForPartialLiquidation(account);
|
|
484
|
-
const repaidAmount = props.repaidAmount ?? this.#calcOptimalRepaidAmount(account, tokenOut, optimalHF);
|
|
485
|
-
const minSeizedAmount = props.minSeizedAmount ?? this.#calcMinSeizedAmount(account, tokenOut, repaidAmount);
|
|
486
|
-
const cm = this.sdk.marketRegister.findCreditManager(account.creditManager);
|
|
487
|
-
const updates = await this.getOnDemandPriceUpdates(account, true);
|
|
488
|
-
const tx = cm.creditFacade.partiallyLiquidateCreditAccount(
|
|
489
|
-
account.creditAccount,
|
|
490
|
-
tokenOut,
|
|
491
|
-
repaidAmount,
|
|
492
|
-
minSeizedAmount,
|
|
493
|
-
to,
|
|
494
|
-
updates
|
|
495
|
-
);
|
|
496
|
-
return tx;
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Picks the most valuable enabled non-underlying collateral token on the
|
|
500
|
-
* credit account (by oracle value in underlying).
|
|
501
|
-
*
|
|
502
|
-
* Ported from solidity:
|
|
503
|
-
* https://github.com/Gearbox-protocol/router-v3/blob/main/contracts/liquidation/AbstractLiquidator.sol#L270
|
|
504
|
-
*/
|
|
505
|
-
#getBestTokenOut(account) {
|
|
506
|
-
const market = this.sdk.marketRegister.findByCreditManager(
|
|
507
|
-
account.creditManager
|
|
508
|
-
);
|
|
509
|
-
const underlying = market.underlying;
|
|
510
|
-
let bestVal = 0n;
|
|
511
|
-
let bestToken;
|
|
512
|
-
for (const t of account.tokens) {
|
|
513
|
-
if (t.token === underlying) continue;
|
|
514
|
-
if ((t.mask & account.enabledTokensMask) === 0n) continue;
|
|
515
|
-
if (t.balance === 0n) continue;
|
|
516
|
-
const val = market.priceOracle.convert(t.token, underlying, t.balance);
|
|
517
|
-
if (val > bestVal) {
|
|
518
|
-
bestVal = val;
|
|
519
|
-
bestToken = t.token;
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
if (!bestToken) {
|
|
523
|
-
throw new Error(
|
|
524
|
-
`cannot determine tokenOut for partial liquidation of ${this.sdk.labelAddress(account.creditAccount)}: no enabled non-underlying collateral with value`
|
|
525
|
-
);
|
|
526
|
-
}
|
|
527
|
-
return bestToken;
|
|
528
|
-
}
|
|
529
|
-
/**
|
|
530
|
-
* Returns the minimum amount of `token` collateral that must be seized when
|
|
531
|
-
* repaying `repaidAmount` of underlying. Mirrors the on-chain liquidation
|
|
532
|
-
* discount math, expired-aware.
|
|
533
|
-
*/
|
|
534
|
-
#calcMinSeizedAmount(account, token, repaidAmount) {
|
|
535
|
-
const market = this.sdk.marketRegister.findByCreditManager(
|
|
536
|
-
account.creditManager
|
|
537
|
-
);
|
|
538
|
-
const suite = this.sdk.marketRegister.findCreditManager(
|
|
539
|
-
account.creditManager
|
|
540
|
-
);
|
|
541
|
-
const fee = suite.isExpired ? suite.creditManager.liquidationDiscountExpired : suite.creditManager.liquidationDiscount;
|
|
542
|
-
const tokenAmount = market.priceOracle.convert(
|
|
543
|
-
market.underlying,
|
|
544
|
-
token,
|
|
545
|
-
repaidAmount
|
|
546
|
-
);
|
|
547
|
-
return tokenAmount * 9990n / BigInt(fee);
|
|
548
|
-
}
|
|
549
|
-
/**
|
|
550
|
-
* Computes the optimal `repaidAmount` (in underlying) that brings the credit
|
|
551
|
-
* account's health factor close to `optimalHF` after partial liquidation.
|
|
552
|
-
*
|
|
553
|
-
* Ported from solidity:
|
|
554
|
-
* https://github.com/Gearbox-protocol/router-v3/blob/56e2d515ec6d9bb1e324e71c3708e59710779b24/contracts/liquidation/AbstractLiquidator.sol#L292
|
|
555
|
-
*/
|
|
556
|
-
#calcOptimalRepaidAmount(account, token, optimalHF) {
|
|
557
|
-
const suite = this.sdk.marketRegister.findCreditManager(
|
|
558
|
-
account.creditManager
|
|
559
|
-
);
|
|
560
|
-
const market = this.sdk.marketRegister.findByCreditManager(
|
|
561
|
-
account.creditManager
|
|
562
|
-
);
|
|
563
|
-
const cm = suite.creditManager;
|
|
564
|
-
const feeLiquidation = suite.isExpired ? cm.feeLiquidationExpired : cm.feeLiquidation;
|
|
565
|
-
const liquidationDiscount = suite.isExpired ? cm.liquidationDiscountExpired : cm.liquidationDiscount;
|
|
566
|
-
const discount = BigInt(liquidationDiscount) - BigInt(feeLiquidation);
|
|
567
|
-
const ltTokenOut = cm.liquidationThresholds.get(token);
|
|
568
|
-
if (ltTokenOut === void 0) {
|
|
569
|
-
throw new Error(
|
|
570
|
-
`token ${this.sdk.labelAddress(token)} is not a collateral token in credit manager ${this.sdk.labelAddress(account.creditManager)}`
|
|
571
|
-
);
|
|
572
|
-
}
|
|
573
|
-
const totalDebt = account.debt + account.accruedInterest + account.accruedFees;
|
|
574
|
-
const twvUnderlying = market.priceOracle.convertFromUSD(
|
|
575
|
-
market.underlying,
|
|
576
|
-
account.twvUSD
|
|
577
|
-
);
|
|
578
|
-
const denominator = discount * optimalHF / import_constants.PERCENTAGE_FACTOR - BigInt(ltTokenOut);
|
|
579
|
-
if (denominator <= 0n) {
|
|
580
|
-
throw new Error(
|
|
581
|
-
"cannot compute optimal repaid amount: invalid liquidation parameters (discount * hfOptimal <= ltTokenOut)"
|
|
582
|
-
);
|
|
583
|
-
}
|
|
584
|
-
const numerator = totalDebt * optimalHF - twvUnderlying * import_constants.PERCENTAGE_FACTOR;
|
|
585
|
-
if (numerator <= 0n) {
|
|
586
|
-
return 0n;
|
|
587
|
-
}
|
|
588
|
-
const optimalValueSeized = numerator / denominator;
|
|
589
|
-
let repaidAmount = optimalValueSeized * discount / import_constants.PERCENTAGE_FACTOR;
|
|
590
|
-
const minDebt = suite.creditFacade.minDebt;
|
|
591
|
-
if (totalDebt < minDebt) {
|
|
592
|
-
return 0n;
|
|
593
|
-
}
|
|
594
|
-
const surplusDebt = totalDebt - minDebt;
|
|
595
|
-
if (repaidAmount > surplusDebt) {
|
|
596
|
-
repaidAmount = surplusDebt * 999n / 1000n;
|
|
597
|
-
}
|
|
598
|
-
return repaidAmount;
|
|
599
|
-
}
|
|
600
|
-
/**
|
|
601
|
-
* {@inheritDoc ICreditAccountsService.closeCreditAccount}
|
|
602
|
-
**/
|
|
603
|
-
async closeCreditAccount({
|
|
604
|
-
operation,
|
|
605
|
-
assetsToWithdraw,
|
|
606
|
-
creditAccount: ca,
|
|
607
|
-
to,
|
|
608
|
-
slippage = 50n,
|
|
609
|
-
closePath
|
|
610
|
-
}) {
|
|
611
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
612
|
-
await this.sdk.tokensMeta.loadTokenData(cm.underlying);
|
|
613
|
-
const underlying = this.sdk.tokensMeta.mustGet(cm.underlying);
|
|
614
|
-
if (this.sdk.tokensMeta.isRWAUnderlying(underlying)) {
|
|
615
|
-
throw new Error(
|
|
616
|
-
"closeCreditAccount is not supported for RWA underlying credit accounts"
|
|
617
|
-
);
|
|
618
|
-
}
|
|
619
|
-
const routerCloseResult = closePath || await this.sdk.routerFor(ca).findBestClosePath({
|
|
620
|
-
creditAccount: ca,
|
|
621
|
-
creditManager: cm.creditManager,
|
|
622
|
-
slippage
|
|
623
|
-
});
|
|
624
|
-
const operationCalls = [
|
|
625
|
-
...routerCloseResult.calls,
|
|
626
|
-
...this.#prepareDisableQuotas(ca),
|
|
627
|
-
...this.#prepareDecreaseDebt(ca),
|
|
628
|
-
...assetsToWithdraw.map(
|
|
629
|
-
(t) => this.#prepareWithdrawToken(ca.creditFacade, t, import_constants.MAX_UINT256, to)
|
|
630
|
-
)
|
|
631
|
-
];
|
|
632
|
-
const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
633
|
-
const tx = await this.#closeCreditAccountTx(
|
|
634
|
-
cm,
|
|
635
|
-
ca.creditAccount,
|
|
636
|
-
calls,
|
|
637
|
-
operation
|
|
638
|
-
);
|
|
639
|
-
return { tx, calls, routerCloseResult, creditFacade: cm.creditFacade };
|
|
640
|
-
}
|
|
641
|
-
/**
|
|
642
|
-
* {@inheritDoc ICreditAccountsService.updateQuotas}
|
|
643
|
-
**/
|
|
644
|
-
async updateQuotas({
|
|
645
|
-
minQuota,
|
|
646
|
-
averageQuota,
|
|
647
|
-
creditAccount
|
|
648
|
-
}) {
|
|
649
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
650
|
-
creditAccount.creditManager
|
|
651
|
-
);
|
|
652
|
-
const operationCalls = this.#prepareUpdateQuotas(
|
|
653
|
-
creditAccount.creditFacade,
|
|
654
|
-
{ minQuota, averageQuota }
|
|
655
|
-
);
|
|
656
|
-
const calls = await this.#prependPriceUpdates(
|
|
657
|
-
creditAccount.creditManager,
|
|
658
|
-
operationCalls,
|
|
659
|
-
creditAccount
|
|
660
|
-
);
|
|
661
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
662
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
663
|
-
}
|
|
664
|
-
/**
|
|
665
|
-
* {@inheritDoc ICreditAccountsService.addCollateral}
|
|
666
|
-
**/
|
|
667
|
-
async addCollateral({
|
|
668
|
-
creditAccount,
|
|
669
|
-
asset,
|
|
670
|
-
permit,
|
|
671
|
-
ethAmount,
|
|
672
|
-
minQuota,
|
|
673
|
-
averageQuota
|
|
674
|
-
}) {
|
|
675
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
676
|
-
creditAccount.creditManager
|
|
677
|
-
);
|
|
678
|
-
const operationCalls = [
|
|
679
|
-
...this.#prepareAddCollateral(
|
|
680
|
-
creditAccount.creditFacade,
|
|
681
|
-
[asset],
|
|
682
|
-
permit ? { [asset.token]: permit } : {}
|
|
683
|
-
),
|
|
684
|
-
...this.#prepareUpdateQuotas(creditAccount.creditFacade, {
|
|
685
|
-
minQuota,
|
|
686
|
-
averageQuota
|
|
687
|
-
})
|
|
688
|
-
];
|
|
689
|
-
const calls = await this.#prependPriceUpdates(
|
|
690
|
-
creditAccount.creditManager,
|
|
691
|
-
operationCalls,
|
|
692
|
-
creditAccount
|
|
693
|
-
);
|
|
694
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
695
|
-
tx.value = ethAmount.toString(10);
|
|
696
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
697
|
-
}
|
|
698
|
-
/**
|
|
699
|
-
* {@inheritDoc ICreditAccountsService.changeDebt}
|
|
700
|
-
**/
|
|
701
|
-
async changeDebt({
|
|
702
|
-
creditAccount,
|
|
703
|
-
amount,
|
|
704
|
-
collateral
|
|
705
|
-
}) {
|
|
706
|
-
if (amount === 0n) {
|
|
707
|
-
throw new Error("debt increase or decrease must be non-zero");
|
|
708
|
-
}
|
|
709
|
-
const isDecrease = amount < 0n;
|
|
710
|
-
const change = amount > 0n ? amount : -amount;
|
|
711
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
712
|
-
creditAccount.creditManager
|
|
713
|
-
);
|
|
714
|
-
const addCollateralCalls = collateral && isDecrease ? this.#prepareAddCollateral(
|
|
715
|
-
creditAccount.creditFacade,
|
|
716
|
-
[
|
|
717
|
-
{
|
|
718
|
-
token: collateral[0].token,
|
|
719
|
-
balance: collateral[0].balance
|
|
720
|
-
}
|
|
721
|
-
],
|
|
722
|
-
{}
|
|
723
|
-
) : [];
|
|
724
|
-
const unwrapCalls = collateral && isDecrease ? await this.getRWAUnwrapCalls(
|
|
725
|
-
collateral[0].balance,
|
|
726
|
-
creditAccount.creditManager
|
|
727
|
-
) || [] : [];
|
|
728
|
-
if (addCollateralCalls.length > 0 && unwrapCalls.length === 0 && collateral && collateral?.[0].token !== creditAccount.underlying) {
|
|
729
|
-
throw new Error(
|
|
730
|
-
"Can't use collateral other than underlying for non RWA market"
|
|
731
|
-
);
|
|
732
|
-
}
|
|
733
|
-
const operationCalls = [
|
|
734
|
-
...addCollateralCalls,
|
|
735
|
-
...unwrapCalls,
|
|
736
|
-
this.#prepareChangeDebt(creditAccount.creditFacade, change, isDecrease)
|
|
737
|
-
];
|
|
738
|
-
const calls = await this.#prependPriceUpdates(
|
|
739
|
-
creditAccount.creditManager,
|
|
740
|
-
operationCalls,
|
|
741
|
-
creditAccount
|
|
742
|
-
);
|
|
743
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
744
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
745
|
-
}
|
|
746
|
-
/**
|
|
747
|
-
* {@inheritDoc ICreditAccountsService.executeSwap}
|
|
748
|
-
**/
|
|
749
|
-
async executeSwap({
|
|
750
|
-
creditAccount,
|
|
751
|
-
calls: swapCalls,
|
|
752
|
-
minQuota,
|
|
753
|
-
averageQuota
|
|
754
|
-
}) {
|
|
755
|
-
if (swapCalls.length === 0) throw new Error("No path to execute");
|
|
756
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
757
|
-
creditAccount.creditManager
|
|
758
|
-
);
|
|
759
|
-
const operationCalls = [
|
|
760
|
-
...swapCalls,
|
|
761
|
-
...this.#prepareUpdateQuotas(creditAccount.creditFacade, {
|
|
762
|
-
minQuota,
|
|
763
|
-
averageQuota
|
|
764
|
-
})
|
|
765
|
-
];
|
|
766
|
-
const calls = await this.#prependPriceUpdates(
|
|
767
|
-
creditAccount.creditManager,
|
|
768
|
-
operationCalls,
|
|
769
|
-
creditAccount
|
|
770
|
-
);
|
|
771
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
772
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
773
|
-
}
|
|
774
|
-
/**
|
|
775
|
-
* {@inheritDoc ICreditAccountsService.previewDelayedWithdrawal}
|
|
776
|
-
**/
|
|
777
|
-
async previewDelayedWithdrawal({
|
|
778
|
-
creditAccount,
|
|
779
|
-
amount,
|
|
780
|
-
token
|
|
781
|
-
}) {
|
|
782
|
-
const compressor = getWithdrawalCompressorAddress(this.sdk.chainId);
|
|
783
|
-
if (!compressor)
|
|
784
|
-
throw new Error(
|
|
785
|
-
`No compressor for current chain ${this.sdk.networkType}`
|
|
786
|
-
);
|
|
787
|
-
const contract = (0, import_viem.getContract)({
|
|
788
|
-
address: compressor.address,
|
|
789
|
-
abi: compressor.version === 310 ? import_IWithdrawalCompressorV310.iWithdrawalCompressorV310Abi : import_IWithdrawalCompressorV311.iWithdrawalCompressorV311Abi,
|
|
790
|
-
client: this.client
|
|
791
|
-
});
|
|
792
|
-
const resp = await contract.read.getWithdrawalRequestResult([
|
|
793
|
-
creditAccount,
|
|
794
|
-
token,
|
|
795
|
-
amount
|
|
796
|
-
]);
|
|
797
|
-
return resp;
|
|
798
|
-
}
|
|
799
|
-
/**
|
|
800
|
-
* {@inheritDoc ICreditAccountsService.getPendingWithdrawals}
|
|
801
|
-
**/
|
|
802
|
-
async getPendingWithdrawals({
|
|
803
|
-
creditAccount
|
|
804
|
-
}) {
|
|
805
|
-
const compressor = getWithdrawalCompressorAddress(this.sdk.chainId);
|
|
806
|
-
if (!compressor)
|
|
807
|
-
throw new Error(
|
|
808
|
-
`No compressor for current chain ${this.sdk.networkType}`
|
|
809
|
-
);
|
|
810
|
-
const contract = (0, import_viem.getContract)({
|
|
811
|
-
address: compressor.address,
|
|
812
|
-
abi: compressor.version === 310 ? import_IWithdrawalCompressorV310.iWithdrawalCompressorV310Abi : import_IWithdrawalCompressorV311.iWithdrawalCompressorV311Abi,
|
|
813
|
-
client: this.client
|
|
814
|
-
});
|
|
815
|
-
const resp = await contract.read.getCurrentWithdrawals([creditAccount]);
|
|
816
|
-
const claimableNow = resp?.[0] || [];
|
|
817
|
-
const pendingResult = [...resp?.[1] || []].sort(
|
|
818
|
-
(a, b) => a.claimableAt < b.claimableAt ? -1 : 1
|
|
819
|
-
);
|
|
820
|
-
const respResult = {
|
|
821
|
-
claimableNow: [...claimableNow],
|
|
822
|
-
pending: pendingResult
|
|
823
|
-
};
|
|
824
|
-
return respResult;
|
|
825
|
-
}
|
|
826
|
-
/**
|
|
827
|
-
* {@inheritDoc ICreditAccountsService.startDelayedWithdrawal}
|
|
828
|
-
**/
|
|
829
|
-
async startDelayedWithdrawal({
|
|
830
|
-
creditAccount,
|
|
831
|
-
minQuota,
|
|
832
|
-
averageQuota,
|
|
833
|
-
preview
|
|
834
|
-
}) {
|
|
835
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
836
|
-
creditAccount.creditManager
|
|
837
|
-
);
|
|
838
|
-
const record = preview.outputs.reduce((acc, o) => {
|
|
839
|
-
const token = o.token.toLowerCase();
|
|
840
|
-
acc[token] = (acc[token] || 0n) + o.amount;
|
|
841
|
-
return acc;
|
|
842
|
-
}, {});
|
|
843
|
-
const balances = Object.entries(record).filter(([, a]) => a > 10n);
|
|
844
|
-
const storeExpectedBalances = {
|
|
845
|
-
target: cm.creditFacade.address,
|
|
846
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
847
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
848
|
-
functionName: "storeExpectedBalances",
|
|
849
|
-
args: [
|
|
850
|
-
balances.map(([token, amount]) => ({
|
|
851
|
-
token,
|
|
852
|
-
amount: amount > 10n ? amount - 10n : 0n
|
|
853
|
-
}))
|
|
854
|
-
]
|
|
855
|
-
})
|
|
856
|
-
};
|
|
857
|
-
const compareBalances = {
|
|
858
|
-
target: cm.creditFacade.address,
|
|
859
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
860
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
861
|
-
functionName: "compareBalances",
|
|
862
|
-
args: []
|
|
863
|
-
})
|
|
864
|
-
};
|
|
865
|
-
const operationCalls = [
|
|
866
|
-
storeExpectedBalances,
|
|
867
|
-
...preview.requestCalls,
|
|
868
|
-
compareBalances,
|
|
869
|
-
...this.#prepareUpdateQuotas(creditAccount.creditFacade, {
|
|
870
|
-
minQuota,
|
|
871
|
-
averageQuota
|
|
872
|
-
})
|
|
873
|
-
];
|
|
874
|
-
const calls = await this.#prependPriceUpdates(
|
|
875
|
-
creditAccount.creditManager,
|
|
876
|
-
operationCalls,
|
|
877
|
-
creditAccount
|
|
878
|
-
);
|
|
879
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
880
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
881
|
-
}
|
|
882
|
-
/**
|
|
883
|
-
* {@inheritDoc ICreditAccountsService.claimDelayed}
|
|
884
|
-
**/
|
|
885
|
-
async claimDelayed({
|
|
886
|
-
creditAccount,
|
|
887
|
-
minQuota,
|
|
888
|
-
averageQuota,
|
|
889
|
-
claimableNow
|
|
890
|
-
}) {
|
|
891
|
-
const zeroDebt = creditAccount.debt === 0n;
|
|
892
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
893
|
-
creditAccount.creditManager
|
|
894
|
-
);
|
|
895
|
-
const record = claimableNow.outputs.reduce(
|
|
896
|
-
(acc, o) => {
|
|
897
|
-
const token = o.token.toLowerCase();
|
|
898
|
-
acc[token] = (acc[token] || 0n) + o.amount;
|
|
899
|
-
return acc;
|
|
900
|
-
},
|
|
901
|
-
{}
|
|
902
|
-
);
|
|
903
|
-
const balances = Object.entries(record).filter(([, a]) => a > 10n);
|
|
904
|
-
const storeExpectedBalances = {
|
|
905
|
-
target: cm.creditFacade.address,
|
|
906
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
907
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
908
|
-
functionName: "storeExpectedBalances",
|
|
909
|
-
args: [
|
|
910
|
-
balances.map(([token, amount]) => ({
|
|
911
|
-
token,
|
|
912
|
-
amount: amount > 10n ? amount - 10n : 0n
|
|
913
|
-
}))
|
|
914
|
-
]
|
|
915
|
-
})
|
|
916
|
-
};
|
|
917
|
-
const compareBalances = {
|
|
918
|
-
target: cm.creditFacade.address,
|
|
919
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
920
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
921
|
-
functionName: "compareBalances",
|
|
922
|
-
args: []
|
|
923
|
-
})
|
|
924
|
-
};
|
|
925
|
-
const quotaCalls = zeroDebt ? [] : this.#prepareUpdateQuotas(creditAccount.creditFacade, {
|
|
926
|
-
minQuota,
|
|
927
|
-
averageQuota
|
|
928
|
-
});
|
|
929
|
-
const operationCalls = [
|
|
930
|
-
storeExpectedBalances,
|
|
931
|
-
...claimableNow.claimCalls,
|
|
932
|
-
compareBalances,
|
|
933
|
-
...quotaCalls
|
|
934
|
-
];
|
|
935
|
-
const calls = zeroDebt ? operationCalls : await this.#prependPriceUpdates(
|
|
936
|
-
creditAccount.creditManager,
|
|
937
|
-
operationCalls,
|
|
938
|
-
creditAccount
|
|
939
|
-
);
|
|
940
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
941
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
942
|
-
}
|
|
943
|
-
/**
|
|
944
|
-
* {@inheritDoc ICreditAccountsService.getApprovalAddress}
|
|
945
|
-
**/
|
|
946
|
-
async getApprovalAddress(options) {
|
|
947
|
-
const { creditManager } = options;
|
|
948
|
-
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
949
|
-
const marketSuite = this.sdk.marketRegister.findByPool(suite.pool);
|
|
950
|
-
const factory = marketSuite.rwaFactory;
|
|
951
|
-
if (factory) {
|
|
952
|
-
return factory.getApprovalAddress(options);
|
|
953
|
-
}
|
|
954
|
-
return suite.creditManager.address;
|
|
955
|
-
}
|
|
956
|
-
/**
|
|
957
|
-
* {@inheritDoc ICreditAccountsService.getOpenAccountRequirements}
|
|
958
|
-
*/
|
|
959
|
-
async getOpenAccountRequirements(borrower, creditManager, props) {
|
|
960
|
-
const { rwaFactory } = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
961
|
-
if (!rwaFactory) {
|
|
962
|
-
return void 0;
|
|
963
|
-
}
|
|
964
|
-
return rwaFactory.getOpenAccountRequirements(borrower, props);
|
|
965
|
-
}
|
|
966
|
-
/**
|
|
967
|
-
* {@inheritDoc ICreditAccountsService.openCA}
|
|
968
|
-
**/
|
|
969
|
-
async openCA(props) {
|
|
970
|
-
const {
|
|
971
|
-
ethAmount,
|
|
972
|
-
creditManager,
|
|
973
|
-
reopenCreditAccount,
|
|
974
|
-
collateral,
|
|
975
|
-
permits,
|
|
976
|
-
debt,
|
|
977
|
-
withdrawToken,
|
|
978
|
-
referralCode,
|
|
979
|
-
to,
|
|
980
|
-
calls: openPathCalls,
|
|
981
|
-
callsAfter,
|
|
982
|
-
minQuota,
|
|
983
|
-
averageQuota,
|
|
984
|
-
rwaOptions
|
|
985
|
-
} = props;
|
|
986
|
-
const cmSuite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
987
|
-
const cm = cmSuite.creditManager;
|
|
988
|
-
let tokenToWithdraw;
|
|
989
|
-
if (withdrawToken === true) {
|
|
990
|
-
tokenToWithdraw = cm.underlying;
|
|
991
|
-
} else if (typeof withdrawToken === "string") {
|
|
992
|
-
tokenToWithdraw = withdrawToken;
|
|
993
|
-
}
|
|
994
|
-
const operationCalls = [
|
|
995
|
-
this.#prepareIncreaseDebt(cm.creditFacade, debt),
|
|
996
|
-
...this.#prepareAddCollateral(cm.creditFacade, collateral, permits),
|
|
997
|
-
...openPathCalls,
|
|
998
|
-
// path from underlying to withdrawal token
|
|
999
|
-
...tokenToWithdraw ? [
|
|
1000
|
-
this.#prepareWithdrawToken(
|
|
1001
|
-
cm.creditFacade,
|
|
1002
|
-
tokenToWithdraw,
|
|
1003
|
-
import_constants.MAX_UINT256,
|
|
1004
|
-
to
|
|
1005
|
-
)
|
|
1006
|
-
] : [],
|
|
1007
|
-
...this.#prepareUpdateQuotas(cm.creditFacade, {
|
|
1008
|
-
minQuota,
|
|
1009
|
-
averageQuota
|
|
1010
|
-
}),
|
|
1011
|
-
...callsAfter ?? []
|
|
1012
|
-
];
|
|
1013
|
-
const calls = await this.#prependPriceUpdates(cm.address, operationCalls);
|
|
1014
|
-
let tx;
|
|
1015
|
-
if (reopenCreditAccount) {
|
|
1016
|
-
tx = await this.#multicallTx(cmSuite, reopenCreditAccount, calls);
|
|
1017
|
-
} else {
|
|
1018
|
-
tx = await this.#openCreditAccountTx(
|
|
1019
|
-
cmSuite,
|
|
1020
|
-
to,
|
|
1021
|
-
calls,
|
|
1022
|
-
referralCode,
|
|
1023
|
-
rwaOptions
|
|
1024
|
-
);
|
|
1025
|
-
}
|
|
1026
|
-
tx.value = ethAmount.toString(10);
|
|
1027
|
-
return { calls, tx, creditFacade: cmSuite.creditFacade };
|
|
1028
|
-
}
|
|
1029
|
-
/**
|
|
1030
|
-
* {@inheritDoc ICreditAccountsService.getBorrowRate}
|
|
1031
|
-
**/
|
|
1032
|
-
getBorrowRate(ca) {
|
|
1033
|
-
const { creditManager } = this.sdk.marketRegister.findCreditManager(
|
|
1034
|
-
ca.creditManager
|
|
1035
|
-
);
|
|
1036
|
-
const { pool } = this.sdk.marketRegister.findByCreditManager(
|
|
1037
|
-
ca.creditManager
|
|
1038
|
-
);
|
|
1039
|
-
const { feeInterest } = creditManager;
|
|
1040
|
-
const { baseInterestRate } = pool.pool;
|
|
1041
|
-
const baseRateWithFee = baseInterestRate * (BigInt(feeInterest) + import_constants.PERCENTAGE_FACTOR);
|
|
1042
|
-
const totalDebt = ca.debt + ca.accruedInterest + ca.accruedFees;
|
|
1043
|
-
const r = ca.debt * baseRateWithFee / (totalDebt * import_constants.RAY);
|
|
1044
|
-
const caTokens = new import_utils.AddressMap(ca.tokens.map((t) => [t.token, t]));
|
|
1045
|
-
let qr = 0n;
|
|
1046
|
-
for (const t of creditManager.collateralTokens) {
|
|
1047
|
-
const b = caTokens.get(t);
|
|
1048
|
-
if (b) {
|
|
1049
|
-
qr += b.quota * BigInt(pool.pqk.quotas.get(t)?.rate ?? 0);
|
|
1050
|
-
}
|
|
1051
|
-
}
|
|
1052
|
-
qr = qr * (BigInt(feeInterest) + import_constants.PERCENTAGE_FACTOR) / import_constants.PERCENTAGE_FACTOR;
|
|
1053
|
-
qr /= totalDebt;
|
|
1054
|
-
return r + qr;
|
|
1055
|
-
}
|
|
1056
|
-
/**
|
|
1057
|
-
* {@inheritDoc ICreditAccountsService.getOptimalHFForPartialLiquidation}
|
|
1058
|
-
**/
|
|
1059
|
-
getOptimalHFForPartialLiquidation(ca) {
|
|
1060
|
-
const borrowRate = this.getBorrowRate(ca);
|
|
1061
|
-
return import_constants.PERCENTAGE_FACTOR + (borrowRate < 100n ? borrowRate : 100n);
|
|
1062
|
-
}
|
|
1063
|
-
/**
|
|
1064
|
-
* Internal wrapper for CreditAccountCompressor.getCreditAccounts + price updates wrapped into multicall
|
|
1065
|
-
* @param args
|
|
1066
|
-
* @param priceUpdateTxs
|
|
1067
|
-
* @param blockNumber
|
|
1068
|
-
* @returns
|
|
1069
|
-
*/
|
|
1070
|
-
async #getCreditAccounts(args, priceUpdateTxs, blockNumber) {
|
|
1071
|
-
let resp;
|
|
1072
|
-
if (priceUpdateTxs?.length) {
|
|
1073
|
-
[resp] = await (0, import_viem2.simulateWithPriceUpdates)(this.client, {
|
|
1074
|
-
priceUpdates: priceUpdateTxs,
|
|
1075
|
-
contracts: [
|
|
1076
|
-
{
|
|
1077
|
-
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
1078
|
-
address: this.compressor,
|
|
1079
|
-
functionName: "getCreditAccounts",
|
|
1080
|
-
args
|
|
1081
|
-
}
|
|
1082
|
-
],
|
|
1083
|
-
blockNumber,
|
|
1084
|
-
gas: this.sdk.gasLimit
|
|
1085
|
-
});
|
|
1086
|
-
} else {
|
|
1087
|
-
resp = await this.client.readContract({
|
|
1088
|
-
abi: import_creditAccountCompressor.creditAccountCompressorAbi,
|
|
1089
|
-
address: this.compressor,
|
|
1090
|
-
functionName: "getCreditAccounts",
|
|
1091
|
-
args,
|
|
1092
|
-
blockNumber,
|
|
1093
|
-
// @ts-expect-error
|
|
1094
|
-
gas: this.sdk.gasLimit
|
|
1095
|
-
});
|
|
1096
|
-
}
|
|
1097
|
-
this.logger?.debug(
|
|
1098
|
-
{
|
|
1099
|
-
accounts: resp[0]?.length ?? 0,
|
|
1100
|
-
nextOffset: Number(resp[1])
|
|
1101
|
-
},
|
|
1102
|
-
"got credit accounts"
|
|
1103
|
-
);
|
|
1104
|
-
return resp;
|
|
1105
|
-
}
|
|
1106
|
-
/**
|
|
1107
|
-
* Returns multicall entries to redeem (unwrap) RWA ERC-4626 vault shares into underlying for the given credit manager.
|
|
1108
|
-
* Used when withdrawing debt from a RWA market: redeems adapter vault shares so the underlying can be withdrawn.
|
|
1109
|
-
* Only applies when the credit manager's underlying is RWA-gated and has an ERC-4626 adapter configured.
|
|
1110
|
-
* @param amount - Number of vault shares (adapter tokens) to redeem
|
|
1111
|
-
* @param creditManager - Credit manager address
|
|
1112
|
-
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not RWA or no adapter is configured
|
|
1113
|
-
*/
|
|
1114
|
-
async getRWAUnwrapCalls(amount, creditManager) {
|
|
1115
|
-
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1116
|
-
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1117
|
-
if (!this.sdk.tokensMeta.isRWAUnderlying(meta)) {
|
|
1118
|
-
return void 0;
|
|
1119
|
-
}
|
|
1120
|
-
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1121
|
-
const adapterAddress = adapter?.address;
|
|
1122
|
-
if (!adapterAddress) {
|
|
1123
|
-
return void 0;
|
|
1124
|
-
}
|
|
1125
|
-
const mc = [
|
|
1126
|
-
{
|
|
1127
|
-
target: adapterAddress,
|
|
1128
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1129
|
-
abi: import_integrations_v3.ierc4626AdapterAbi,
|
|
1130
|
-
functionName: "redeem",
|
|
1131
|
-
args: [amount, import_constants.ADDRESS_0X0, import_constants.ADDRESS_0X0]
|
|
1132
|
-
})
|
|
1133
|
-
}
|
|
1134
|
-
];
|
|
1135
|
-
return mc;
|
|
1136
|
-
}
|
|
1137
|
-
/**
|
|
1138
|
-
* Returns multicall entries to deposit (wrap) underlying into RWA ERC-4626 vault shares for the given credit manager.
|
|
1139
|
-
* Used when adding debt on a RWA market: deposits underlying into the adapter vault so shares are minted on the account.
|
|
1140
|
-
* Only applies when the credit manager's underlying is RWA-gated and has an ERC-4626 adapter configured.
|
|
1141
|
-
* @param amount - Amount of underlying assets to deposit into the vault (in underlying decimals)
|
|
1142
|
-
* @param creditManager - Credit manager address
|
|
1143
|
-
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not RWA or no adapter is configured
|
|
1144
|
-
*/
|
|
1145
|
-
async getRWAWrapCalls(amount, creditManager) {
|
|
1146
|
-
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1147
|
-
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1148
|
-
if (!this.sdk.tokensMeta.isRWAUnderlying(meta)) {
|
|
1149
|
-
return void 0;
|
|
1150
|
-
}
|
|
1151
|
-
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1152
|
-
const adapterAddress = adapter?.address;
|
|
1153
|
-
if (!adapterAddress) {
|
|
1154
|
-
return void 0;
|
|
1155
|
-
}
|
|
1156
|
-
const mc = [
|
|
1157
|
-
{
|
|
1158
|
-
target: adapterAddress,
|
|
1159
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1160
|
-
abi: import_integrations_v3.ierc4626AdapterAbi,
|
|
1161
|
-
functionName: "deposit",
|
|
1162
|
-
args: [amount, import_constants.ADDRESS_0X0]
|
|
1163
|
-
})
|
|
1164
|
-
}
|
|
1165
|
-
];
|
|
1166
|
-
return mc;
|
|
1167
|
-
}
|
|
1168
|
-
/**
|
|
1169
|
-
* Returns multicall entries to call redeemDiff on the RWA ERC-4626 adapter for the given credit manager.
|
|
1170
|
-
* Redeems the leftover vault shares (e.g. after repaying debt) so the account does not hold excess RWA vault tokens.
|
|
1171
|
-
* Only applies when the credit manager's underlying is RWA-gated and has an ERC-4626 adapter configured.
|
|
1172
|
-
* @param amount - Leftover vault share amount to redeem (in adapter/vault decimals)
|
|
1173
|
-
* @param creditManager - Credit manager address
|
|
1174
|
-
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not RWA or no adapter is configured
|
|
1175
|
-
*/
|
|
1176
|
-
async getRedeemDiffCalls(amount, creditManager) {
|
|
1177
|
-
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1178
|
-
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1179
|
-
if (!this.sdk.tokensMeta.isRWAUnderlying(meta)) {
|
|
1180
|
-
return void 0;
|
|
1181
|
-
}
|
|
1182
|
-
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1183
|
-
const adapterAddress = adapter?.address;
|
|
1184
|
-
if (!adapterAddress) {
|
|
1185
|
-
return void 0;
|
|
1186
|
-
}
|
|
1187
|
-
const mc = [
|
|
1188
|
-
{
|
|
1189
|
-
target: adapterAddress,
|
|
1190
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1191
|
-
abi: import_integrations_v3.ierc4626AdapterAbi,
|
|
1192
|
-
functionName: "redeemDiff",
|
|
1193
|
-
args: [amount]
|
|
1194
|
-
})
|
|
1195
|
-
}
|
|
1196
|
-
];
|
|
1197
|
-
return mc;
|
|
1198
|
-
}
|
|
1199
|
-
/**
|
|
1200
|
-
* Returns multicall entries to call depositDiff on the RWA ERC-4626 adapter for the given credit manager.
|
|
1201
|
-
* Deposits the leftover underlying (e.g. after decreasing debt) into the vault so the account does not hold excess underlying.
|
|
1202
|
-
* Only applies when the credit manager's underlying is RWA-gated and has an ERC-4626 adapter configured.
|
|
1203
|
-
* @param amount - Leftover underlying amount to deposit into the vault (in underlying decimals)
|
|
1204
|
-
* @param creditManager - Credit manager address
|
|
1205
|
-
* @returns Array of MultiCall to pass to credit facade multicall, or undefined if underlying is not RWA or no adapter is configured
|
|
1206
|
-
*/
|
|
1207
|
-
async getDepositDiffCalls(amount, creditManager) {
|
|
1208
|
-
const suite = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1209
|
-
const meta = this.sdk.tokensMeta.mustGet(suite.underlying);
|
|
1210
|
-
if (!this.sdk.tokensMeta.isRWAUnderlying(meta)) {
|
|
1211
|
-
return void 0;
|
|
1212
|
-
}
|
|
1213
|
-
const adapter = suite.creditManager.adapters.get(meta.addr);
|
|
1214
|
-
const adapterAddress = adapter?.address;
|
|
1215
|
-
if (!adapterAddress) {
|
|
1216
|
-
return void 0;
|
|
1217
|
-
}
|
|
1218
|
-
const mc = [
|
|
1219
|
-
{
|
|
1220
|
-
target: adapterAddress,
|
|
1221
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1222
|
-
abi: import_integrations_v3.ierc4626AdapterAbi,
|
|
1223
|
-
functionName: "depositDiff",
|
|
1224
|
-
args: [amount]
|
|
1225
|
-
})
|
|
1226
|
-
}
|
|
1227
|
-
];
|
|
1228
|
-
return mc;
|
|
1229
|
-
}
|
|
1230
|
-
/**
|
|
1231
|
-
* {@inheritDoc ICreditAccountsService.setBot}
|
|
1232
|
-
*/
|
|
1233
|
-
async setBot({
|
|
1234
|
-
botAddress,
|
|
1235
|
-
permissions: defaultPermissions,
|
|
1236
|
-
targetContract
|
|
1237
|
-
}) {
|
|
1238
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
1239
|
-
targetContract.creditManager
|
|
1240
|
-
);
|
|
1241
|
-
const permissions = defaultPermissions !== null ? defaultPermissions : await (0, import_viem.getContract)({
|
|
1242
|
-
address: botAddress,
|
|
1243
|
-
client: this.sdk.client,
|
|
1244
|
-
abi: [
|
|
1245
|
-
{
|
|
1246
|
-
type: "function",
|
|
1247
|
-
name: "requiredPermissions",
|
|
1248
|
-
inputs: [],
|
|
1249
|
-
outputs: [
|
|
1250
|
-
{ name: "", type: "uint192", internalType: "uint192" }
|
|
1251
|
-
],
|
|
1252
|
-
stateMutability: "view"
|
|
1253
|
-
}
|
|
1254
|
-
]
|
|
1255
|
-
}).read.requiredPermissions();
|
|
1256
|
-
const addBotCall = {
|
|
1257
|
-
target: cm.creditFacade.address,
|
|
1258
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1259
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1260
|
-
functionName: "setBotPermissions",
|
|
1261
|
-
args: [botAddress, permissions]
|
|
1262
|
-
})
|
|
1263
|
-
};
|
|
1264
|
-
const calls = targetContract.type === "creditAccount" ? await this.#prependPriceUpdates(
|
|
1265
|
-
targetContract.creditManager,
|
|
1266
|
-
[addBotCall],
|
|
1267
|
-
targetContract
|
|
1268
|
-
) : [addBotCall];
|
|
1269
|
-
const tx = targetContract.type === "creditAccount" ? await this.#multicallTx(cm, targetContract.creditAccount, calls) : void 0;
|
|
1270
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1271
|
-
}
|
|
1272
|
-
/**
|
|
1273
|
-
* {@inheritDoc ICreditAccountsService.withdrawCollateral}
|
|
1274
|
-
*/
|
|
1275
|
-
async withdrawCollateral({
|
|
1276
|
-
creditAccount,
|
|
1277
|
-
assetsToWithdraw,
|
|
1278
|
-
to,
|
|
1279
|
-
minQuota,
|
|
1280
|
-
averageQuota
|
|
1281
|
-
}) {
|
|
1282
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
1283
|
-
creditAccount.creditManager
|
|
1284
|
-
);
|
|
1285
|
-
const operationCalls = [
|
|
1286
|
-
...assetsToWithdraw.map(
|
|
1287
|
-
(a) => this.#prepareWithdrawToken(
|
|
1288
|
-
creditAccount.creditFacade,
|
|
1289
|
-
a.token,
|
|
1290
|
-
a.balance,
|
|
1291
|
-
to
|
|
1292
|
-
)
|
|
1293
|
-
),
|
|
1294
|
-
...this.#prepareUpdateQuotas(creditAccount.creditFacade, {
|
|
1295
|
-
minQuota,
|
|
1296
|
-
averageQuota
|
|
1297
|
-
})
|
|
1298
|
-
];
|
|
1299
|
-
const calls = await this.#prependPriceUpdates(
|
|
1300
|
-
creditAccount.creditManager,
|
|
1301
|
-
operationCalls,
|
|
1302
|
-
creditAccount
|
|
1303
|
-
);
|
|
1304
|
-
const tx = await this.#multicallTx(cm, creditAccount.creditAccount, calls);
|
|
1305
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1306
|
-
}
|
|
1307
|
-
/**
|
|
1308
|
-
* {@inheritDoc ICreditAccountsService.repayCreditAccount}
|
|
1309
|
-
*/
|
|
1310
|
-
async repayCreditAccount({
|
|
1311
|
-
operation,
|
|
1312
|
-
collateralAssets,
|
|
1313
|
-
assetsToWithdraw,
|
|
1314
|
-
creditAccount: ca,
|
|
1315
|
-
permits,
|
|
1316
|
-
to,
|
|
1317
|
-
tokensToClaim,
|
|
1318
|
-
calls: wrapCalls = []
|
|
1319
|
-
}) {
|
|
1320
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1321
|
-
const addCollateral = collateralAssets.filter((a) => a.balance > 0);
|
|
1322
|
-
const router = this.sdk.routerFor(ca);
|
|
1323
|
-
const unwrapCalls = await this.getRedeemDiffCalls(1n, ca.creditManager) ?? [];
|
|
1324
|
-
const claimPath = await router.findClaimAllRewards({
|
|
1325
|
-
tokensToClaim,
|
|
1326
|
-
creditAccount: ca
|
|
1327
|
-
});
|
|
1328
|
-
const operationCalls = [
|
|
1329
|
-
...this.#prepareAddCollateral(ca.creditFacade, addCollateral, permits),
|
|
1330
|
-
...wrapCalls,
|
|
1331
|
-
...this.#prepareDisableQuotas(ca),
|
|
1332
|
-
...this.#prepareDecreaseDebt(ca),
|
|
1333
|
-
...unwrapCalls,
|
|
1334
|
-
...claimPath.calls,
|
|
1335
|
-
...assetsToWithdraw.map(
|
|
1336
|
-
(t) => this.#prepareWithdrawToken(ca.creditFacade, t.token, import_constants.MAX_UINT256, to)
|
|
1337
|
-
)
|
|
1338
|
-
];
|
|
1339
|
-
const calls = operation === "close" ? operationCalls : await this.#prependPriceUpdates(ca.creditManager, operationCalls, ca);
|
|
1340
|
-
const tx = await this.#closeCreditAccountTx(
|
|
1341
|
-
cm,
|
|
1342
|
-
ca.creditAccount,
|
|
1343
|
-
calls,
|
|
1344
|
-
operation
|
|
1345
|
-
);
|
|
1346
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1347
|
-
}
|
|
1348
|
-
/**
|
|
1349
|
-
* {@inheritDoc ICreditAccountsService.repayAndLiquidateCreditAccount}
|
|
1350
|
-
*/
|
|
1351
|
-
async repayAndLiquidateCreditAccount({
|
|
1352
|
-
collateralAssets,
|
|
1353
|
-
assetsToWithdraw,
|
|
1354
|
-
creditAccount: ca,
|
|
1355
|
-
permits,
|
|
1356
|
-
to,
|
|
1357
|
-
tokensToClaim
|
|
1358
|
-
}) {
|
|
1359
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1360
|
-
const router = this.sdk.routerFor(ca);
|
|
1361
|
-
const claimPath = await router.findClaimAllRewards({
|
|
1362
|
-
tokensToClaim,
|
|
1363
|
-
creditAccount: ca
|
|
1364
|
-
});
|
|
1365
|
-
const wrapCalls = await this.getDepositDiffCalls(1n, ca.creditManager) ?? [];
|
|
1366
|
-
const addCollateral = collateralAssets.filter((a) => a.balance > 0);
|
|
1367
|
-
const operationCalls = [
|
|
1368
|
-
...this.#prepareAddCollateral(ca.creditFacade, addCollateral, permits),
|
|
1369
|
-
...claimPath.calls,
|
|
1370
|
-
...wrapCalls,
|
|
1371
|
-
...assetsToWithdraw.map(
|
|
1372
|
-
(t) => this.#prepareWithdrawToken(ca.creditFacade, t.token, import_constants.MAX_UINT256, to)
|
|
1373
|
-
)
|
|
1374
|
-
];
|
|
1375
|
-
const calls = await this.#prependPriceUpdates(
|
|
1376
|
-
ca.creditManager,
|
|
1377
|
-
operationCalls,
|
|
1378
|
-
ca
|
|
1379
|
-
);
|
|
1380
|
-
const tx = cm.creditFacade.liquidateCreditAccount(
|
|
1381
|
-
ca.creditAccount,
|
|
1382
|
-
to,
|
|
1383
|
-
calls
|
|
1384
|
-
);
|
|
1385
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1386
|
-
}
|
|
1387
|
-
/**
|
|
1388
|
-
* {@inheritDoc ICreditAccountsService.claimFarmRewards}
|
|
1389
|
-
*/
|
|
1390
|
-
async claimFarmRewards({
|
|
1391
|
-
calls: externalCalls,
|
|
1392
|
-
creditAccount: ca,
|
|
1393
|
-
minQuota,
|
|
1394
|
-
averageQuota,
|
|
1395
|
-
tokensToClaim
|
|
1396
|
-
}) {
|
|
1397
|
-
const cm = this.sdk.marketRegister.findCreditManager(ca.creditManager);
|
|
1398
|
-
const router = this.sdk.routerFor(ca);
|
|
1399
|
-
let claimPath;
|
|
1400
|
-
if (externalCalls) {
|
|
1401
|
-
claimPath = { calls: externalCalls };
|
|
1402
|
-
} else {
|
|
1403
|
-
claimPath = await router.findClaimAllRewards({
|
|
1404
|
-
tokensToClaim,
|
|
1405
|
-
creditAccount: ca
|
|
1406
|
-
});
|
|
1407
|
-
}
|
|
1408
|
-
if (claimPath.calls.length === 0) throw new Error("No path to execute");
|
|
1409
|
-
const operationCalls = [
|
|
1410
|
-
...claimPath.calls,
|
|
1411
|
-
...this.#prepareUpdateQuotas(ca.creditFacade, { minQuota, averageQuota })
|
|
1412
|
-
];
|
|
1413
|
-
const calls = await this.#prependPriceUpdates(
|
|
1414
|
-
ca.creditManager,
|
|
1415
|
-
operationCalls,
|
|
1416
|
-
ca
|
|
1417
|
-
);
|
|
1418
|
-
const tx = await this.#multicallTx(cm, ca.creditAccount, calls);
|
|
1419
|
-
return { tx, calls, creditFacade: cm.creditFacade };
|
|
1420
|
-
}
|
|
1421
|
-
/**
|
|
1422
|
-
* Returns raw txs that are needed to update all price feeds so that all credit accounts (possibly from different markets) compute
|
|
1423
|
-
* {@inheritDoc ICreditAccountsService.getOnDemandPriceUpdates}
|
|
1424
|
-
**/
|
|
1425
|
-
async getOnDemandPriceUpdates(account, ignoreReservePrices) {
|
|
1426
|
-
const { creditManager, creditAccount } = account;
|
|
1427
|
-
const cm = this.sdk.marketRegister.findCreditManager(creditManager);
|
|
1428
|
-
const update = await this.#getUpdateForAccount(
|
|
1429
|
-
account,
|
|
1430
|
-
ignoreReservePrices
|
|
1431
|
-
);
|
|
1432
|
-
this.logger?.debug(
|
|
1433
|
-
{ account: creditAccount, manager: cm.name },
|
|
1434
|
-
`getting on demand price updates from ${update.txs.length} txs`
|
|
1435
|
-
);
|
|
1436
|
-
return (0, import_market.getRawPriceUpdates)(update);
|
|
1437
|
-
}
|
|
1438
|
-
/**
|
|
1439
|
-
* Analyzes a multicall array and prepends necessary on-demand price feed updates.
|
|
1440
|
-
*
|
|
1441
|
-
* Deduplicates existing `onDemandPriceUpdates` calls
|
|
1442
|
-
*
|
|
1443
|
-
* @param creditManager - Address of the credit manager
|
|
1444
|
-
* @param calls - The multicall array to prepend price updates to
|
|
1445
|
-
* @param ca - Credit account slice, undefined when opening a new account
|
|
1446
|
-
* @param options - Optional settings for price update generation
|
|
1447
|
-
* @returns A new array with a single consolidated price update call prepended,
|
|
1448
|
-
* followed by the non-price-update calls in their original order
|
|
1449
|
-
*/
|
|
1450
|
-
async #prependPriceUpdates(creditManager, calls, ca, options) {
|
|
1451
|
-
const market = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
1452
|
-
const cm = this.sdk.marketRegister.findCreditManager(creditManager).creditManager;
|
|
1453
|
-
const { priceUpdates: existingUpdates, remainingCalls } = (0, import_multicall_utils.extractPriceUpdates)(calls);
|
|
1454
|
-
const tokens = new import_utils.AddressSet([
|
|
1455
|
-
cm.underlying,
|
|
1456
|
-
// underlying - always included
|
|
1457
|
-
...(0, import_multicall_utils.extractQuotaTokens)(calls)
|
|
1458
|
-
// tokens from `updateQuota` calls
|
|
1459
|
-
]);
|
|
1460
|
-
if (ca) {
|
|
1461
|
-
for (const t of ca.tokens) {
|
|
1462
|
-
const isEnabled = (t.mask & ca.enabledTokensMask) !== 0n;
|
|
1463
|
-
if (t.balance > 10n && isEnabled) {
|
|
1464
|
-
tokens.add(t.token);
|
|
1465
|
-
}
|
|
1466
|
-
}
|
|
1467
|
-
}
|
|
1468
|
-
const ignoreReservePrices = options?.ignoreReservePrices;
|
|
1469
|
-
const priceFeeds = market.priceOracle.priceFeedsForTokens(Array.from(tokens), {
|
|
1470
|
-
main: true,
|
|
1471
|
-
reserve: !ignoreReservePrices
|
|
1472
|
-
});
|
|
1473
|
-
const tStr = tokens.map((t) => this.labelAddress(t)).join(", ");
|
|
1474
|
-
const remark = ignoreReservePrices ? " main" : "";
|
|
1475
|
-
this.logger?.debug(
|
|
1476
|
-
{ account: ca?.creditAccount, manager: cm.name },
|
|
1477
|
-
`prependPriceUpdates for ${tStr} from ${priceFeeds.length}${remark} price feeds`
|
|
1478
|
-
);
|
|
1479
|
-
const generatedUpdates = await this.sdk.priceFeeds.generatePriceFeedsUpdates(priceFeeds);
|
|
1480
|
-
const merged = (0, import_multicall_utils.mergePriceUpdates)(existingUpdates, generatedUpdates);
|
|
1481
|
-
if (merged.length === 0) {
|
|
1482
|
-
return remainingCalls;
|
|
1483
|
-
}
|
|
1484
|
-
return [
|
|
1485
|
-
{
|
|
1486
|
-
target: cm.creditFacade,
|
|
1487
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1488
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1489
|
-
functionName: "onDemandPriceUpdates",
|
|
1490
|
-
args: [merged]
|
|
1491
|
-
})
|
|
1492
|
-
},
|
|
1493
|
-
...remainingCalls
|
|
1494
|
-
];
|
|
1495
|
-
}
|
|
1496
|
-
async #getUpdateForAccount(account, ignoreReservePrices) {
|
|
1497
|
-
const { creditManager, creditAccount, enabledTokensMask } = account;
|
|
1498
|
-
const market = this.sdk.marketRegister.findByCreditManager(creditManager);
|
|
1499
|
-
const cm = this.sdk.marketRegister.findCreditManager(creditManager).creditManager;
|
|
1500
|
-
const tokens = new import_utils.AddressSet([cm.underlying]);
|
|
1501
|
-
for (const t of account.tokens) {
|
|
1502
|
-
const isEnabled = (t.mask & enabledTokensMask) !== 0n;
|
|
1503
|
-
if (t.balance > 10n && isEnabled) {
|
|
1504
|
-
tokens.add(t.token);
|
|
1505
|
-
}
|
|
1506
|
-
}
|
|
1507
|
-
const priceFeeds = market.priceOracle.priceFeedsForTokens(Array.from(tokens), {
|
|
1508
|
-
main: true,
|
|
1509
|
-
reserve: !ignoreReservePrices
|
|
1510
|
-
});
|
|
1511
|
-
const tStr = tokens.map((t) => this.labelAddress(t)).join(", ");
|
|
1512
|
-
const remark = ignoreReservePrices ? " main" : "";
|
|
1513
|
-
this.logger?.debug(
|
|
1514
|
-
{ account: creditAccount, manager: cm.name },
|
|
1515
|
-
`generating price feed updates for ${tStr} from ${priceFeeds.length}${remark} price feeds`
|
|
1516
|
-
);
|
|
1517
|
-
return this.sdk.priceFeeds.generatePriceFeedsUpdateTxs(priceFeeds);
|
|
1518
|
-
}
|
|
1519
|
-
/**
|
|
1520
|
-
* {@inheritDoc ICreditAccountsService.multicall}
|
|
1521
|
-
*/
|
|
1522
|
-
async multicall(creditAccount, calls, options) {
|
|
1523
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
1524
|
-
creditAccount.creditManager
|
|
1525
|
-
);
|
|
1526
|
-
const callsWithPrices = await this.#prependPriceUpdates(
|
|
1527
|
-
creditAccount.creditManager,
|
|
1528
|
-
calls,
|
|
1529
|
-
creditAccount,
|
|
1530
|
-
options
|
|
1531
|
-
);
|
|
1532
|
-
return cm.creditFacade.multicall(
|
|
1533
|
-
creditAccount.creditAccount,
|
|
1534
|
-
callsWithPrices
|
|
1535
|
-
);
|
|
1536
|
-
}
|
|
1537
|
-
/**
|
|
1538
|
-
* {@inheritDoc ICreditAccountsService.botMulticall}
|
|
1539
|
-
*/
|
|
1540
|
-
async botMulticall(creditAccount, calls, options) {
|
|
1541
|
-
const cm = this.sdk.marketRegister.findCreditManager(
|
|
1542
|
-
creditAccount.creditManager
|
|
1543
|
-
);
|
|
1544
|
-
const callsWithPrices = await this.#prependPriceUpdates(
|
|
1545
|
-
creditAccount.creditManager,
|
|
1546
|
-
calls,
|
|
1547
|
-
creditAccount,
|
|
1548
|
-
options
|
|
1549
|
-
);
|
|
1550
|
-
return cm.creditFacade.botMulticall(
|
|
1551
|
-
creditAccount.creditAccount,
|
|
1552
|
-
callsWithPrices
|
|
1553
|
-
);
|
|
1554
|
-
}
|
|
1555
|
-
#prepareDisableQuotas(ca) {
|
|
1556
|
-
const calls = [];
|
|
1557
|
-
for (const { token, quota } of ca.tokens) {
|
|
1558
|
-
if (quota > 0n) {
|
|
1559
|
-
calls.push({
|
|
1560
|
-
target: ca.creditFacade,
|
|
1561
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1562
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1563
|
-
functionName: "updateQuota",
|
|
1564
|
-
args: [token, import_constants.MIN_INT96, 0n]
|
|
1565
|
-
})
|
|
1566
|
-
});
|
|
1567
|
-
}
|
|
1568
|
-
}
|
|
1569
|
-
return calls;
|
|
1570
|
-
}
|
|
1571
|
-
#prepareUpdateQuotas(creditFacade, { averageQuota, minQuota }) {
|
|
1572
|
-
const minRecord = (0, import_router.assetsMap)(minQuota);
|
|
1573
|
-
const calls = averageQuota.map((q) => {
|
|
1574
|
-
const minAsset = minRecord.get(q.token);
|
|
1575
|
-
const min = minAsset && minAsset?.balance > 0 ? minAsset.balance : 0n;
|
|
1576
|
-
return {
|
|
1577
|
-
target: creditFacade,
|
|
1578
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1579
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1580
|
-
functionName: "updateQuota",
|
|
1581
|
-
args: [q.token, q.balance, min]
|
|
1582
|
-
})
|
|
1583
|
-
};
|
|
1584
|
-
});
|
|
1585
|
-
return calls;
|
|
1586
|
-
}
|
|
1587
|
-
#prepareDecreaseDebt(ca) {
|
|
1588
|
-
if (ca.debt > 0n) {
|
|
1589
|
-
return [
|
|
1590
|
-
{
|
|
1591
|
-
target: ca.creditFacade,
|
|
1592
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1593
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1594
|
-
functionName: "decreaseDebt",
|
|
1595
|
-
args: [import_constants.MAX_UINT256]
|
|
1596
|
-
})
|
|
1597
|
-
}
|
|
1598
|
-
];
|
|
1599
|
-
}
|
|
1600
|
-
return [];
|
|
1601
|
-
}
|
|
1602
|
-
#prepareWithdrawToken(creditFacade, token, amount, to) {
|
|
1603
|
-
return {
|
|
1604
|
-
target: creditFacade,
|
|
1605
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1606
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1607
|
-
functionName: "withdrawCollateral",
|
|
1608
|
-
args: [token, amount, to]
|
|
1609
|
-
})
|
|
1610
|
-
};
|
|
1611
|
-
}
|
|
1612
|
-
#prepareIncreaseDebt(creditFacade, debt) {
|
|
1613
|
-
return {
|
|
1614
|
-
target: creditFacade,
|
|
1615
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1616
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1617
|
-
functionName: "increaseDebt",
|
|
1618
|
-
args: [debt]
|
|
1619
|
-
})
|
|
1620
|
-
};
|
|
1621
|
-
}
|
|
1622
|
-
#prepareChangeDebt(creditFacade, change, isDecrease) {
|
|
1623
|
-
return {
|
|
1624
|
-
target: creditFacade,
|
|
1625
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1626
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1627
|
-
functionName: isDecrease ? "decreaseDebt" : "increaseDebt",
|
|
1628
|
-
args: [change]
|
|
1629
|
-
})
|
|
1630
|
-
};
|
|
1631
|
-
}
|
|
1632
|
-
#prepareAddCollateral(creditFacade, assets, permits) {
|
|
1633
|
-
const calls = assets.map(({ token, balance }) => {
|
|
1634
|
-
const p = permits[token];
|
|
1635
|
-
if (p) {
|
|
1636
|
-
return {
|
|
1637
|
-
target: creditFacade,
|
|
1638
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1639
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1640
|
-
functionName: "addCollateralWithPermit",
|
|
1641
|
-
args: [token, balance, p.deadline, p.v, p.r, p.s]
|
|
1642
|
-
})
|
|
1643
|
-
};
|
|
1644
|
-
}
|
|
1645
|
-
return {
|
|
1646
|
-
target: creditFacade,
|
|
1647
|
-
callData: (0, import_viem.encodeFunctionData)({
|
|
1648
|
-
abi: import_generated.iCreditFacadeMulticallV310Abi,
|
|
1649
|
-
functionName: "addCollateral",
|
|
1650
|
-
args: [token, balance]
|
|
1651
|
-
})
|
|
1652
|
-
};
|
|
1653
|
-
});
|
|
1654
|
-
return calls;
|
|
1655
|
-
}
|
|
1656
|
-
/**
|
|
1657
|
-
* Returns addresses of market configurators
|
|
1658
|
-
*/
|
|
1659
|
-
get marketConfigurators() {
|
|
1660
|
-
return this.sdk.marketRegister.marketConfigurators.map((mc) => mc.address);
|
|
1661
|
-
}
|
|
1662
|
-
get rewardCompressor() {
|
|
1663
|
-
return this.sdk.addressProvider.mustGetLatest(
|
|
1664
|
-
import_constants.AP_REWARDS_COMPRESSOR,
|
|
1665
|
-
import_constants.VERSION_RANGE_310
|
|
1666
|
-
)[0];
|
|
1667
|
-
}
|
|
1668
|
-
get peripheryCompressor() {
|
|
1669
|
-
return this.sdk.addressProvider.mustGetLatest(
|
|
1670
|
-
import_constants.AP_PERIPHERY_COMPRESSOR,
|
|
1671
|
-
import_constants.VERSION_RANGE_310
|
|
1672
|
-
)[0];
|
|
1673
|
-
}
|
|
1674
|
-
get compressor() {
|
|
1675
|
-
if (!this.#compressor) {
|
|
1676
|
-
[this.#compressor] = this.sdk.addressProvider.mustGetLatest(
|
|
1677
|
-
import_constants.AP_CREDIT_ACCOUNT_COMPRESSOR,
|
|
1678
|
-
import_constants.VERSION_RANGE_310
|
|
1679
|
-
);
|
|
1680
|
-
this.logger?.debug(
|
|
1681
|
-
`credit account compressor address: ${this.#compressor}`
|
|
1682
|
-
);
|
|
1683
|
-
}
|
|
1684
|
-
return this.#compressor;
|
|
1685
|
-
}
|
|
1686
|
-
/**
|
|
1687
|
-
* Wrapper that selects between credit facade and RWA factory
|
|
1688
|
-
* @param suite
|
|
1689
|
-
* @param to
|
|
1690
|
-
* @param calls
|
|
1691
|
-
* @param referralCode
|
|
1692
|
-
* @param rwaOptions
|
|
1693
|
-
* @returns
|
|
1694
|
-
*/
|
|
1695
|
-
async #openCreditAccountTx(suite, to, calls, referralCode, rwaOptions) {
|
|
1696
|
-
const marketSuite = this.sdk.marketRegister.findByPool(suite.pool);
|
|
1697
|
-
const factory = marketSuite.rwaFactory;
|
|
1698
|
-
if (factory) {
|
|
1699
|
-
return factory.openCreditAccount(
|
|
1700
|
-
suite.creditManager.address,
|
|
1701
|
-
calls,
|
|
1702
|
-
rwaOptions
|
|
1703
|
-
);
|
|
1704
|
-
}
|
|
1705
|
-
return suite.creditFacade.openCreditAccount(to, calls, referralCode ?? 0n);
|
|
1706
|
-
}
|
|
1707
|
-
/**
|
|
1708
|
-
* Wrapper that selects between credit facade and RWA factory
|
|
1709
|
-
* @param suite
|
|
1710
|
-
* @param creditAccount
|
|
1711
|
-
* @param calls
|
|
1712
|
-
* @param rwaOptions
|
|
1713
|
-
* @returns
|
|
1714
|
-
*/
|
|
1715
|
-
async #multicallTx(suite, creditAccount, calls, rwaOptions) {
|
|
1716
|
-
const marketSuite = this.sdk.marketRegister.findByCreditManager(
|
|
1717
|
-
suite.creditManager.address
|
|
1718
|
-
);
|
|
1719
|
-
const factory = marketSuite.rwaFactory;
|
|
1720
|
-
if (factory) {
|
|
1721
|
-
return factory.multicall(creditAccount, calls, rwaOptions);
|
|
1722
|
-
}
|
|
1723
|
-
return suite.creditFacade.multicall(creditAccount, calls);
|
|
1724
|
-
}
|
|
1725
|
-
/**
|
|
1726
|
-
* Wrapper that selects between credit facade and RWA factory
|
|
1727
|
-
* @param suite
|
|
1728
|
-
* @param creditAccount
|
|
1729
|
-
* @param calls
|
|
1730
|
-
* @param operation
|
|
1731
|
-
* @param rwaOptions
|
|
1732
|
-
* @returns
|
|
1733
|
-
*/
|
|
1734
|
-
async #closeCreditAccountTx(suite, creditAccount, calls, operation, rwaOptions) {
|
|
1735
|
-
const marketSuite = this.sdk.marketRegister.findByCreditManager(
|
|
1736
|
-
suite.creditManager.address
|
|
1737
|
-
);
|
|
1738
|
-
const factory = marketSuite.rwaFactory;
|
|
1739
|
-
if (operation === "close") {
|
|
1740
|
-
if (factory) {
|
|
1741
|
-
throw new Error(
|
|
1742
|
-
"CloseOptions=close is not supported for RWA underlying credit accounts"
|
|
1743
|
-
);
|
|
1744
|
-
}
|
|
1745
|
-
return suite.creditFacade.closeCreditAccount(creditAccount, calls);
|
|
1746
|
-
}
|
|
1747
|
-
if (factory) {
|
|
1748
|
-
return factory.multicall(creditAccount, calls, rwaOptions);
|
|
1749
|
-
}
|
|
1750
|
-
return suite.creditFacade.multicall(creditAccount, calls);
|
|
1751
|
-
}
|
|
1752
|
-
}
|
|
1753
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
1754
|
-
0 && (module.exports = {
|
|
1755
|
-
CreditAccountsServiceV310,
|
|
1756
|
-
getWithdrawalCompressorAddress
|
|
1757
|
-
});
|
|
468
|
+
//#endregion
|
|
469
|
+
exports.CreditAccountsServiceV310 = CreditAccountsServiceV310;
|