@gearbox-protocol/sdk 16.0.0-next.5 → 16.0.0-next.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +20 -0
- package/dist/cjs/dev/mode-parity/comparePositions.js +3 -2
- package/dist/cjs/dev/mode-parity/compareRules.js +12 -1
- package/dist/cjs/dev/mode-parity/scriptUtils.js +1 -1
- package/dist/cjs/model/charts.js +5 -1
- package/dist/cjs/model/compare.schema.js +8 -0
- package/dist/cjs/model/delayed-intent.schema.js +35 -0
- package/dist/cjs/model/index.js +16 -7
- package/dist/cjs/model/liquidations.schema.js +6 -1
- package/dist/cjs/model/opportunities.schema.js +10 -1
- package/dist/cjs/model/positions.js +8 -2
- package/dist/cjs/model/positions.schema.js +14 -6
- package/dist/cjs/model/previews.js +21 -37
- package/dist/cjs/model/primitives.schema.js +8 -0
- package/dist/cjs/model/result.js +27 -0
- package/dist/cjs/model/withdrawals.schema.js +44 -0
- package/dist/cjs/offchain/opportunities/OffchainOpportunities.js +13 -5
- package/dist/cjs/offchain/opportunities/index.js +1 -0
- package/dist/cjs/offchain/positions/OffchainPositions.js +20 -2
- package/dist/cjs/offchain/positions/index.js +1 -0
- package/dist/cjs/onchain/MultichainSDK.js +1 -1
- package/dist/cjs/onchain/OnchainSDK.js +1 -1
- package/dist/cjs/onchain/accounts/CreditAccountsServiceV310.js +0 -10
- package/dist/cjs/onchain/accounts/credit-account-compressor/CreditAccountCompressor.js +1 -1
- package/dist/cjs/onchain/accounts/index.js +9 -4
- package/dist/cjs/onchain/accounts/intents/guards.js +85 -23
- package/dist/cjs/onchain/accounts/intents/index.js +94 -43
- package/dist/cjs/onchain/accounts/intents/leverage-band.js +70 -0
- package/dist/cjs/onchain/accounts/intents/math.js +18 -8
- package/dist/cjs/onchain/accounts/intents/maxWithdrawCollateral.js +4 -7
- package/dist/cjs/onchain/accounts/intents/open-strategy.js +29 -29
- package/dist/cjs/onchain/accounts/intents/plan.js +29 -21
- package/dist/cjs/onchain/accounts/intents/realize.js +104 -51
- package/dist/cjs/onchain/accounts/intents/tail.js +118 -10
- package/dist/cjs/onchain/accounts/intents/testing/market.js +3 -1
- package/dist/cjs/onchain/accounts/intents/testing/sdk-mock.js +89 -10
- package/dist/cjs/onchain/accounts/intents/tests/add-collateral.fixtures.js +4 -4
- package/dist/cjs/onchain/accounts/intents/tests/adjust-leverage.fixtures.js +15 -15
- package/dist/cjs/onchain/accounts/intents/tests/deposit.fixtures.js +18 -15
- package/dist/cjs/onchain/accounts/intents/tests/finish-decrease-leverage.fixtures.js +2 -2
- package/dist/cjs/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +2 -2
- package/dist/cjs/onchain/accounts/intents/tests/withdraw-asset.fixtures.js +4 -4
- package/dist/cjs/onchain/accounts/intents/tests/withdraw.fixtures.js +7 -7
- package/dist/cjs/onchain/accounts/intents/types.js +0 -16
- package/dist/cjs/onchain/accounts/intents/utils/adjust-state-to-snapshot.js +8 -5
- package/dist/cjs/onchain/accounts/intents/utils/common.js +2 -2
- package/dist/cjs/onchain/accounts/intents/utils/credit-account-slice.js +5 -5
- package/dist/cjs/onchain/accounts/intents/utils/index.js +4 -2
- package/dist/cjs/onchain/accounts/intents/utils/pick-token.js +2 -2
- package/dist/cjs/onchain/accounts/intents/utils/price-impact.js +99 -0
- package/dist/cjs/onchain/accounts/intents/utils/quotas-for-update.js +3 -3
- package/dist/cjs/onchain/accounts/intents/utils/router-path.js +100 -42
- package/dist/cjs/onchain/accounts/intents/view.js +7 -6
- package/dist/cjs/onchain/accounts/liquidations/LiquidationsService.js +5 -5
- package/dist/cjs/onchain/accounts/liquidations/skipLiquidatableAccount.js +12 -0
- package/dist/cjs/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.js +3 -3
- package/dist/cjs/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +13 -7
- package/dist/cjs/onchain/accounts/withdrawal-compressor/errors.js +0 -19
- package/dist/cjs/onchain/accounts/withdrawal-compressor/index.js +1 -2
- package/dist/cjs/onchain/base/TokensMeta.js +3 -0
- package/dist/cjs/onchain/constants/index.js +1 -0
- package/dist/cjs/onchain/constants/math.js +11 -0
- package/dist/cjs/onchain/core/errors.js +18 -0
- package/dist/cjs/onchain/core/index.js +2 -1
- package/dist/cjs/onchain/index.js +52 -9
- package/dist/cjs/onchain/market/MarketSuite.js +59 -5
- package/dist/cjs/onchain/market/adapters/contracts/AbstractAdapter.js +19 -5
- package/dist/cjs/onchain/market/adapters/contracts/AbstractCurveAdapter.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.js +35 -3
- package/dist/cjs/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/ERC4626AdapterContract.js +56 -2
- package/dist/cjs/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +15 -2
- package/dist/cjs/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/UniswapV2AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/UniswapV3AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/cjs/onchain/market/credit/CreditManagerV310Contract.js +2 -2
- package/dist/cjs/onchain/market/credit/CreditSuite.js +69 -5
- package/dist/cjs/onchain/market/index.js +4 -2
- package/dist/cjs/onchain/market/math.js +29 -13
- package/dist/cjs/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
- package/dist/cjs/onchain/market/oracle/collateralPriceInUnderlying.js +27 -0
- package/dist/cjs/onchain/market/oracle/errors.js +14 -0
- package/dist/cjs/onchain/market/oracle/index.js +4 -0
- package/dist/cjs/onchain/market/pool/PoolSuite.js +2 -2
- package/dist/cjs/onchain/market/pool/PoolV310Contract.js +30 -1
- package/dist/cjs/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +3 -2
- package/dist/cjs/onchain/market/zapper/ZapperContract.js +15 -8
- package/dist/cjs/onchain/market/zapper/errors.js +0 -17
- package/dist/cjs/onchain/market/zapper/index.js +1 -2
- package/dist/cjs/onchain/opportunities/index.js +1 -0
- package/dist/cjs/onchain/pools/PoolService.js +28 -66
- package/dist/cjs/onchain/pools/index.js +0 -2
- package/dist/cjs/onchain/positions/MultichainPositionsService.js +15 -0
- package/dist/cjs/onchain/positions/PositionsService.js +182 -25
- package/dist/cjs/onchain/positions/calcLiquidationPrice.js +14 -4
- package/dist/cjs/onchain/positions/index.js +1 -0
- package/dist/cjs/onchain/utils/bigint-math.js +9 -0
- package/dist/cjs/onchain/utils/index.js +7 -0
- package/dist/cjs/{common-utils → onchain}/utils/trace.js +1 -1
- package/dist/cjs/onchain/validation/checks.js +258 -0
- package/dist/cjs/onchain/validation/index.js +28 -0
- package/dist/cjs/onchain/validation/refusal.js +39 -0
- package/dist/cjs/onchain/validation/token.js +29 -0
- package/dist/cjs/preview/index.js +27 -12
- package/dist/cjs/preview/parse/errors.js +0 -32
- package/dist/cjs/preview/parse/index.js +1 -5
- package/dist/cjs/preview/parse/parseOperationCalldata.js +28 -17
- package/dist/cjs/preview/parse/parsePoolOperationCalldata.js +17 -11
- package/dist/cjs/preview/prerequisites/checkPrerequisites.js +5 -2
- package/dist/cjs/preview/preview/{buildDelayedPreview.js → buildDelayedStrategyPositionOperationPreview.js} +35 -48
- package/dist/cjs/preview/preview/detectDelayedClaim.js +9 -7
- package/dist/cjs/preview/preview/detectDelayedOperation.js +11 -4
- package/dist/cjs/preview/preview/errors.js +81 -13
- package/dist/cjs/preview/preview/estimateClaimableAt.js +21 -0
- package/dist/cjs/preview/preview/index.js +14 -7
- package/dist/cjs/preview/preview/previewAdjustStrategyPosition.js +50 -0
- package/dist/cjs/preview/preview/{previewCloseOrRepayCreditAccount.js → previewExitOrRepayStrategyPosition.js} +29 -15
- package/dist/cjs/preview/preview/previewOpenStrategyPosition.js +54 -0
- package/dist/cjs/preview/preview/previewOperation.js +46 -23
- package/dist/cjs/preview/preview/previewPoolPositionOperation.js +49 -0
- package/dist/cjs/preview/preview/replayInnerOperations.js +23 -60
- package/dist/cjs/preview/preview/replayMulticall.js +2 -2
- package/dist/cjs/preview/preview/unwrapNativeCollateral.js +4 -9
- package/dist/cjs/preview/simulate/errors.js +15 -24
- package/dist/cjs/preview/simulate/index.js +2 -2
- package/dist/cjs/preview/simulate/simulateOperation.js +7 -5
- package/dist/cjs/preview/simulate/simulatePoolOperation.js +8 -3
- package/dist/cjs/preview/trace/extractAdapterCallTraces.js +2 -2
- package/dist/cjs/preview/trace/findFacadeCalls.js +2 -2
- package/dist/cjs/preview/validate/checkOperation.js +187 -0
- package/dist/cjs/preview/validate/checkSimulation.js +39 -0
- package/dist/cjs/preview/validate/index.js +8 -0
- package/dist/cjs/rewards/index.js +1 -1
- package/dist/cjs/rewards/rewards/api.js +76 -59
- package/dist/cjs/rewards/rewards/extra-apy.js +0 -1
- package/dist/cjs/rewards/rewards/index.js +1 -1
- package/dist/cjs/sdk/execute/ExecuteApi.js +20 -17
- package/dist/cjs/sdk/execute/index.js +1 -0
- package/dist/cjs/sdk/index.js +9 -0
- package/dist/cjs/sdk/liquidations/LiquidationsNamespace.js +5 -5
- package/dist/cjs/sdk/opportunities/OpportunitiesNamespace.js +14 -8
- package/dist/cjs/sdk/positions/PositionsNamespace.js +22 -4
- package/dist/cjs/sdk/positions/mergePositionList.js +45 -1
- package/dist/cjs/sdk/prepare/PrepareApi.js +438 -188
- package/dist/cjs/sdk/prepare/errors.js +93 -0
- package/dist/cjs/sdk/prepare/index.js +9 -0
- package/dist/cjs/sdk/prepare/types.js +4 -0
- package/dist/cjs/sdk/prepare/withdrawable-collaterals.js +23 -0
- package/dist/cjs/sdk/preview/PreviewNamespace.js +2 -2
- package/dist/esm/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.js +20 -0
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/mode-parity/comparePositions.js +3 -2
- package/dist/esm/dev/mode-parity/compareRules.js +12 -1
- package/dist/esm/dev/mode-parity/scriptUtils.js +1 -1
- package/dist/esm/model/charts.js +5 -1
- package/dist/esm/model/compare.schema.js +8 -1
- package/dist/esm/model/delayed-intent.schema.js +34 -0
- package/dist/esm/model/index.js +10 -6
- package/dist/esm/model/liquidations.schema.js +7 -2
- package/dist/esm/model/opportunities.schema.js +11 -3
- package/dist/esm/model/positions.js +8 -3
- package/dist/esm/model/positions.schema.js +16 -8
- package/dist/esm/model/previews.js +21 -31
- package/dist/esm/model/primitives.schema.js +8 -1
- package/dist/esm/model/result.js +24 -0
- package/dist/esm/model/withdrawals.schema.js +40 -0
- package/dist/esm/offchain/opportunities/OffchainOpportunities.js +14 -6
- package/dist/esm/offchain/opportunities/index.js +1 -0
- package/dist/esm/offchain/positions/OffchainPositions.js +21 -3
- package/dist/esm/offchain/positions/index.js +1 -0
- package/dist/esm/onchain/MultichainSDK.js +1 -1
- package/dist/esm/onchain/OnchainSDK.js +1 -1
- package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +0 -10
- package/dist/esm/onchain/accounts/credit-account-compressor/CreditAccountCompressor.js +1 -1
- package/dist/esm/onchain/accounts/index.js +4 -3
- package/dist/esm/onchain/accounts/intents/guards.js +85 -23
- package/dist/esm/onchain/accounts/intents/index.js +95 -45
- package/dist/esm/onchain/accounts/intents/leverage-band.js +69 -0
- package/dist/esm/onchain/accounts/intents/math.js +18 -8
- package/dist/esm/onchain/accounts/intents/maxWithdrawCollateral.js +4 -7
- package/dist/esm/onchain/accounts/intents/open-strategy.js +30 -30
- package/dist/esm/onchain/accounts/intents/plan.js +29 -21
- package/dist/esm/onchain/accounts/intents/realize.js +104 -51
- package/dist/esm/onchain/accounts/intents/tail.js +118 -10
- package/dist/esm/onchain/accounts/intents/testing/market.js +3 -1
- package/dist/esm/onchain/accounts/intents/testing/sdk-mock.js +89 -12
- package/dist/esm/onchain/accounts/intents/tests/add-collateral.fixtures.js +4 -4
- package/dist/esm/onchain/accounts/intents/tests/adjust-leverage.fixtures.js +15 -15
- package/dist/esm/onchain/accounts/intents/tests/deposit.fixtures.js +18 -15
- package/dist/esm/onchain/accounts/intents/tests/finish-decrease-leverage.fixtures.js +2 -2
- package/dist/esm/onchain/accounts/intents/tests/finish-withdraw.fixtures.js +2 -2
- package/dist/esm/onchain/accounts/intents/tests/withdraw-asset.fixtures.js +4 -4
- package/dist/esm/onchain/accounts/intents/tests/withdraw.fixtures.js +7 -7
- package/dist/esm/onchain/accounts/intents/types.js +1 -16
- package/dist/esm/onchain/accounts/intents/utils/adjust-state-to-snapshot.js +8 -5
- package/dist/esm/onchain/accounts/intents/utils/common.js +2 -2
- package/dist/esm/onchain/accounts/intents/utils/credit-account-slice.js +5 -5
- package/dist/esm/onchain/accounts/intents/utils/index.js +2 -2
- package/dist/esm/onchain/accounts/intents/utils/pick-token.js +2 -2
- package/dist/esm/onchain/accounts/intents/utils/price-impact.js +96 -0
- package/dist/esm/onchain/accounts/intents/utils/quotas-for-update.js +2 -2
- package/dist/esm/onchain/accounts/intents/utils/router-path.js +100 -42
- package/dist/esm/onchain/accounts/intents/view.js +7 -6
- package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +5 -5
- package/dist/esm/onchain/accounts/liquidations/skipLiquidatableAccount.js +11 -0
- package/dist/esm/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.js +3 -3
- package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +13 -7
- package/dist/esm/onchain/accounts/withdrawal-compressor/errors.js +1 -19
- package/dist/esm/onchain/accounts/withdrawal-compressor/index.js +2 -2
- package/dist/esm/onchain/base/TokensMeta.js +3 -0
- package/dist/esm/onchain/chain/detectNetwork.js +1 -1
- package/dist/esm/onchain/constants/index.js +2 -2
- package/dist/esm/onchain/constants/math.js +11 -1
- package/dist/esm/onchain/core/errors.js +18 -1
- package/dist/esm/onchain/core/index.js +2 -2
- package/dist/esm/onchain/index.js +15 -8
- package/dist/esm/onchain/market/MarketSuite.js +59 -5
- package/dist/esm/onchain/market/adapters/contracts/AbstractAdapter.js +18 -4
- package/dist/esm/onchain/market/adapters/contracts/AbstractCurveAdapter.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.js +35 -3
- package/dist/esm/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/CamelotV3AdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/DaiUsdsAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +57 -3
- package/dist/esm/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/FluidDexAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/LidoV1AdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/MellowClaimerAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/MellowDVVAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/MellowWrapperAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/MidasGatewayAdapterContract.js +16 -3
- package/dist/esm/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/PendleRouterAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/StakingRewardsAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/UniswapV2AdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/UniswapV3AdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/UniswapV4AdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/VelodromeV2AdapterContract.js +2 -2
- package/dist/esm/onchain/market/adapters/contracts/WstETHV1AdapterContract.js +2 -2
- package/dist/esm/onchain/market/credit/CreditManagerV310Contract.js +2 -2
- package/dist/esm/onchain/market/credit/CreditSuite.js +70 -6
- package/dist/esm/onchain/market/index.js +3 -2
- package/dist/esm/onchain/market/math.js +29 -13
- package/dist/esm/onchain/market/oracle/PriceOracleBaseContract.js +1 -1
- package/dist/esm/onchain/market/oracle/collateralPriceInUnderlying.js +26 -0
- package/dist/esm/onchain/market/oracle/errors.js +13 -0
- package/dist/esm/onchain/market/oracle/index.js +3 -1
- package/dist/esm/onchain/market/pool/PoolSuite.js +2 -2
- package/dist/esm/onchain/market/pool/PoolV310Contract.js +30 -1
- package/dist/esm/onchain/market/rwa/securitize/SecuritizeRWAFactory.js +3 -2
- package/dist/esm/onchain/market/zapper/ZapperContract.js +15 -8
- package/dist/esm/onchain/market/zapper/errors.js +1 -17
- package/dist/esm/onchain/market/zapper/index.js +2 -2
- package/dist/esm/onchain/opportunities/index.js +1 -0
- package/dist/esm/onchain/pools/PoolService.js +31 -67
- package/dist/esm/onchain/pools/index.js +2 -2
- package/dist/esm/onchain/positions/MultichainPositionsService.js +15 -0
- package/dist/esm/onchain/positions/PositionsService.js +184 -27
- package/dist/esm/onchain/positions/calcLiquidationPrice.js +14 -5
- package/dist/esm/onchain/positions/index.js +2 -2
- package/dist/esm/onchain/utils/bigint-math.js +9 -0
- package/dist/esm/onchain/utils/index.js +2 -1
- package/dist/esm/{common-utils → onchain}/utils/trace.js +1 -1
- package/dist/esm/onchain/validation/checks.js +238 -0
- package/dist/esm/onchain/validation/index.js +4 -0
- package/dist/esm/onchain/validation/refusal.js +36 -0
- package/dist/esm/onchain/validation/token.js +27 -0
- package/dist/esm/preview/index.js +11 -7
- package/dist/esm/preview/parse/errors.js +1 -30
- package/dist/esm/preview/parse/index.js +2 -3
- package/dist/esm/preview/parse/parseOperationCalldata.js +28 -17
- package/dist/esm/preview/parse/parsePoolOperationCalldata.js +17 -11
- package/dist/esm/preview/prerequisites/checkPrerequisites.js +5 -2
- package/dist/esm/preview/preview/{buildDelayedPreview.js → buildDelayedStrategyPositionOperationPreview.js} +36 -49
- package/dist/esm/preview/preview/detectDelayedClaim.js +9 -7
- package/dist/esm/preview/preview/detectDelayedOperation.js +11 -4
- package/dist/esm/preview/preview/errors.js +76 -13
- package/dist/esm/preview/preview/estimateClaimableAt.js +20 -0
- package/dist/esm/preview/preview/index.js +6 -5
- package/dist/esm/preview/preview/previewAdjustStrategyPosition.js +49 -0
- package/dist/esm/preview/preview/{previewCloseOrRepayCreditAccount.js → previewExitOrRepayStrategyPosition.js} +29 -15
- package/dist/esm/preview/preview/previewOpenStrategyPosition.js +53 -0
- package/dist/esm/preview/preview/previewOperation.js +46 -23
- package/dist/esm/preview/preview/previewPoolPositionOperation.js +48 -0
- package/dist/esm/preview/preview/replayInnerOperations.js +23 -60
- package/dist/esm/preview/preview/replayMulticall.js +2 -2
- package/dist/esm/preview/preview/unwrapNativeCollateral.js +4 -9
- package/dist/esm/preview/simulate/errors.js +16 -24
- package/dist/esm/preview/simulate/index.js +3 -3
- package/dist/esm/preview/simulate/simulateOperation.js +7 -5
- package/dist/esm/preview/simulate/simulatePoolOperation.js +7 -4
- package/dist/esm/preview/trace/extractAdapterCallTraces.js +1 -1
- package/dist/esm/preview/trace/extractTransfers.js +1 -1
- package/dist/esm/preview/trace/findFacadeCalls.js +1 -1
- package/dist/esm/preview/validate/checkOperation.js +183 -0
- package/dist/esm/preview/validate/checkSimulation.js +38 -0
- package/dist/esm/preview/validate/index.js +3 -0
- package/dist/esm/rewards/index.js +2 -2
- package/dist/esm/rewards/rewards/api.js +77 -60
- package/dist/esm/rewards/rewards/extra-apy.js +0 -1
- package/dist/esm/rewards/rewards/index.js +2 -2
- package/dist/esm/sdk/execute/ExecuteApi.js +20 -17
- package/dist/esm/sdk/execute/index.js +1 -0
- package/dist/esm/sdk/index.js +3 -1
- package/dist/esm/sdk/liquidations/LiquidationsNamespace.js +5 -5
- package/dist/esm/sdk/opportunities/OpportunitiesNamespace.js +14 -8
- package/dist/esm/sdk/positions/PositionsNamespace.js +22 -4
- package/dist/esm/sdk/positions/mergePositionList.js +45 -1
- package/dist/esm/sdk/prepare/PrepareApi.js +439 -189
- package/dist/esm/sdk/prepare/errors.js +89 -0
- package/dist/esm/sdk/prepare/index.js +3 -1
- package/dist/esm/sdk/prepare/types.js +2 -1
- package/dist/esm/sdk/prepare/withdrawable-collaterals.js +22 -0
- package/dist/esm/sdk/preview/PreviewNamespace.js +2 -2
- package/dist/types/abi/compressors/subcompressors/withdrawal/mellowWithdrawalSubcompressor.d.ts +16 -0
- package/dist/types/dev/mode-parity/comparePositions.d.ts +5 -3
- package/dist/types/dev/mode-parity/fieldDiff.d.ts +3 -1
- package/dist/types/history/classifyMulticallOperations.d.ts +1 -1
- package/dist/types/model/charts.d.ts +4 -2
- package/dist/types/model/charts.schema.d.ts +8 -0
- package/dist/types/model/compare.schema.d.ts +9 -2
- package/dist/types/model/delayed-intent.schema.d.ts +28 -0
- package/dist/types/model/errors.d.ts +46 -0
- package/dist/types/model/index.d.ts +12 -8
- package/dist/types/model/liquidations.d.ts +14 -8
- package/dist/types/model/liquidations.schema.d.ts +64 -2
- package/dist/types/model/opportunities.d.ts +23 -5
- package/dist/types/model/opportunities.schema.d.ts +18 -1
- package/dist/types/model/positions.d.ts +77 -8
- package/dist/types/model/positions.schema.d.ts +65 -49
- package/dist/types/model/previews.d.ts +382 -204
- package/dist/types/model/primitives.d.ts +17 -1
- package/dist/types/model/primitives.schema.d.ts +13 -1
- package/dist/types/model/result.d.ts +48 -0
- package/dist/types/model/withdrawals.d.ts +106 -0
- package/dist/types/model/withdrawals.schema.d.ts +263 -0
- package/dist/types/offchain/index.d.ts +3 -1
- package/dist/types/offchain/opportunities/OffchainOpportunities.d.ts +12 -12
- package/dist/types/offchain/opportunities/index.d.ts +2 -1
- package/dist/types/offchain/opportunities/types.d.ts +36 -0
- package/dist/types/offchain/positions/OffchainPositions.d.ts +15 -9
- package/dist/types/offchain/positions/index.d.ts +2 -1
- package/dist/types/offchain/positions/types.d.ts +36 -0
- package/dist/types/onchain/accounts/CreditAccountsServiceV310.d.ts +1 -5
- package/dist/types/onchain/accounts/index.d.ts +9 -5
- package/dist/types/onchain/accounts/intents/guards.d.ts +30 -8
- package/dist/types/onchain/accounts/intents/index.d.ts +58 -23
- package/dist/types/onchain/accounts/intents/leverage-band.d.ts +58 -0
- package/dist/types/onchain/accounts/intents/math.d.ts +3 -1
- package/dist/types/onchain/accounts/intents/open-strategy.d.ts +15 -35
- package/dist/types/onchain/accounts/intents/operations.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/plan.d.ts +4 -1
- package/dist/types/onchain/accounts/intents/realize.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/tail.d.ts +13 -3
- package/dist/types/onchain/accounts/intents/testing/expect.d.ts +7 -3
- package/dist/types/onchain/accounts/intents/testing/market.d.ts +4 -1
- package/dist/types/onchain/accounts/intents/testing/sdk-mock.d.ts +32 -1
- package/dist/types/onchain/accounts/intents/tests/add-collateral.fixtures.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/tests/adjust-leverage.fixtures.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/tests/deposit.fixtures.d.ts +3 -3
- package/dist/types/onchain/accounts/intents/tests/withdraw-asset.fixtures.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/tests/withdraw.fixtures.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/types.d.ts +122 -123
- package/dist/types/onchain/accounts/intents/utils/adjust-state-to-snapshot.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/utils/credit-account-slice.d.ts +4 -4
- package/dist/types/onchain/accounts/intents/utils/index.d.ts +4 -4
- package/dist/types/onchain/accounts/intents/utils/ledger.d.ts +2 -2
- package/dist/types/onchain/accounts/intents/utils/price-impact.d.ts +49 -0
- package/dist/types/onchain/accounts/intents/utils/quotas-for-update.d.ts +1 -1
- package/dist/types/onchain/accounts/intents/utils/router-path.d.ts +9 -0
- package/dist/types/onchain/accounts/intents/view.d.ts +2 -2
- package/dist/types/onchain/accounts/liquidations/LiquidationsService.d.ts +0 -1
- package/dist/types/onchain/accounts/liquidations/skipLiquidatableAccount.d.ts +11 -0
- package/dist/types/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.d.ts +3 -4
- package/dist/types/onchain/accounts/types.d.ts +2 -27
- package/dist/types/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.d.ts +6 -4
- package/dist/types/onchain/accounts/withdrawal-compressor/errors.d.ts +9 -5
- package/dist/types/onchain/accounts/withdrawal-compressor/index.d.ts +1 -1
- package/dist/types/onchain/accounts/withdrawal-compressor/types.d.ts +6 -4
- package/dist/types/onchain/base/index.d.ts +2 -2
- package/dist/types/onchain/base/types.d.ts +5 -1
- package/dist/types/onchain/constants/index.d.ts +2 -2
- package/dist/types/onchain/constants/math.d.ts +9 -1
- package/dist/types/onchain/core/errors.d.ts +14 -2
- package/dist/types/onchain/core/index.d.ts +2 -2
- package/dist/types/onchain/index.d.ts +28 -16
- package/dist/types/onchain/market/MarketSuite.d.ts +52 -7
- package/dist/types/onchain/market/adapters/contracts/AbstractAdapter.d.ts +15 -3
- package/dist/types/onchain/market/adapters/contracts/AbstractCurveAdapter.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/AccountMigratorAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/CamelotV3AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/DaiUsdsAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/ERC4626AdapterContract.d.ts +9 -2
- package/dist/types/onchain/market/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/FluidDexAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/LidoV1AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/MellowClaimerAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/MellowDVVAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/MellowWrapperAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/MidasGatewayAdapterContract.d.ts +8 -1
- package/dist/types/onchain/market/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/PendleRouterAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/SecuritizeOnRampAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/SecuritizeRedemptionGatewayAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/StakingRewardsAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/UniswapV2AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/UniswapV3AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/UniswapV4AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/UpshiftVaultAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/VelodromeV2AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/WstETHV1AdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/credit/CreditManagerV310Contract.d.ts +1 -1
- package/dist/types/onchain/market/credit/CreditSuite.d.ts +48 -1
- package/dist/types/onchain/market/credit/index.d.ts +2 -2
- package/dist/types/onchain/market/credit/types.d.ts +14 -4
- package/dist/types/onchain/market/index.d.ts +8 -6
- package/dist/types/onchain/market/math.d.ts +25 -10
- package/dist/types/onchain/market/oracle/collateralPriceInUnderlying.d.ts +19 -0
- package/dist/types/onchain/market/oracle/errors.d.ts +19 -0
- package/dist/types/onchain/market/oracle/index.d.ts +4 -2
- package/dist/types/onchain/market/oracle/types.d.ts +7 -1
- package/dist/types/onchain/market/pool/PoolSuite.d.ts +2 -2
- package/dist/types/onchain/market/pool/PoolV310Contract.d.ts +12 -0
- package/dist/types/onchain/market/pool/types.d.ts +19 -0
- package/dist/types/onchain/market/rwa/index.d.ts +2 -2
- package/dist/types/onchain/market/rwa/securitize/SecuritizeRWAFactory.d.ts +2 -2
- package/dist/types/onchain/market/rwa/types.d.ts +17 -5
- package/dist/types/onchain/market/zapper/ZapperContract.d.ts +7 -3
- package/dist/types/onchain/market/zapper/errors.d.ts +11 -6
- package/dist/types/onchain/market/zapper/index.d.ts +1 -1
- package/dist/types/onchain/market/zapper/types.d.ts +4 -1
- package/dist/types/onchain/opportunities/MultichainOpportunitiesService.d.ts +2 -1
- package/dist/types/onchain/opportunities/index.d.ts +2 -1
- package/dist/types/onchain/opportunities/types.d.ts +27 -0
- package/dist/types/onchain/pools/PoolService.d.ts +1 -19
- package/dist/types/onchain/pools/index.d.ts +2 -2
- package/dist/types/onchain/pools/types.d.ts +6 -4
- package/dist/types/onchain/positions/MultichainPositionsService.d.ts +8 -2
- package/dist/types/onchain/positions/PositionsService.d.ts +44 -1
- package/dist/types/onchain/positions/calcLiquidationPrice.d.ts +10 -1
- package/dist/types/onchain/positions/index.d.ts +3 -3
- package/dist/types/onchain/positions/types.d.ts +47 -3
- package/dist/types/onchain/utils/bigint-math.d.ts +9 -0
- package/dist/types/onchain/utils/index.d.ts +2 -1
- package/dist/types/{common-utils → onchain}/utils/trace.d.ts +1 -1
- package/dist/types/onchain/validation/checks.d.ts +164 -0
- package/dist/types/onchain/validation/index.d.ts +4 -0
- package/dist/types/onchain/validation/refusal.d.ts +242 -0
- package/dist/types/onchain/validation/token.d.ts +17 -0
- package/dist/types/preview/index.d.ts +13 -6
- package/dist/types/preview/parse/errors.d.ts +19 -12
- package/dist/types/preview/parse/index.d.ts +1 -1
- package/dist/types/preview/parse/parseOperationCalldata.d.ts +5 -1
- package/dist/types/preview/parse/parsePoolOperationCalldata.d.ts +5 -2
- package/dist/types/preview/prerequisites/checkPrerequisites.d.ts +6 -1
- package/dist/types/preview/preview/{buildDelayedPreview.d.ts → buildDelayedStrategyPositionOperationPreview.d.ts} +9 -11
- package/dist/types/preview/preview/detectDelayedClaim.d.ts +7 -6
- package/dist/types/preview/preview/detectDelayedOperation.d.ts +3 -1
- package/dist/types/preview/preview/errors.d.ts +38 -6
- package/dist/types/preview/preview/estimateClaimableAt.d.ts +19 -0
- package/dist/types/preview/preview/index.d.ts +7 -6
- package/dist/types/preview/preview/{previewAdjustCreditAccount.d.ts → previewAdjustStrategyPosition.d.ts} +4 -4
- package/dist/types/preview/preview/{previewCloseOrRepayCreditAccount.d.ts → previewExitOrRepayStrategyPosition.d.ts} +4 -4
- package/dist/types/preview/preview/previewOpenStrategyPosition.d.ts +12 -0
- package/dist/types/preview/preview/previewOperation.d.ts +21 -2
- package/dist/types/preview/preview/previewPoolPositionOperation.d.ts +13 -0
- package/dist/types/preview/preview/replayInnerOperations.d.ts +3 -3
- package/dist/types/preview/preview/replayMulticall.d.ts +2 -2
- package/dist/types/preview/preview/unwrapNativeCollateral.d.ts +4 -5
- package/dist/types/preview/simulate/errors.d.ts +12 -8
- package/dist/types/preview/simulate/index.d.ts +2 -2
- package/dist/types/preview/simulate/simulateOperation.d.ts +4 -1
- package/dist/types/preview/simulate/simulatePoolOperation.d.ts +22 -2
- package/dist/types/preview/simulate/types.d.ts +12 -4
- package/dist/types/preview/trace/extractAdapterCallTraces.d.ts +1 -1
- package/dist/types/preview/trace/findFacadeCalls.d.ts +1 -1
- package/dist/types/preview/trace/types.d.ts +1 -1
- package/dist/types/preview/validate/checkOperation.d.ts +71 -0
- package/dist/types/preview/validate/checkSimulation.d.ts +32 -0
- package/dist/types/preview/validate/index.d.ts +3 -0
- package/dist/types/rewards/index.d.ts +2 -2
- package/dist/types/rewards/rewards/api.d.ts +50 -29
- package/dist/types/rewards/rewards/extra-apy.d.ts +1 -1
- package/dist/types/rewards/rewards/index.d.ts +2 -2
- package/dist/types/rewards/rewards/merkl-api.d.ts +6 -0
- package/dist/types/sdk/AbstractNamespace.d.ts +1 -1
- package/dist/types/sdk/GearboxSDK.d.ts +11 -11
- package/dist/types/sdk/execute/ExecuteApi.d.ts +5 -94
- package/dist/types/sdk/execute/index.d.ts +3 -2
- package/dist/types/sdk/execute/types.d.ts +91 -0
- package/dist/types/sdk/index.d.ts +16 -11
- package/dist/types/sdk/liquidations/LiquidationsNamespace.d.ts +7 -7
- package/dist/types/sdk/liquidations/index.d.ts +2 -2
- package/dist/types/sdk/liquidations/types.d.ts +5 -7
- package/dist/types/sdk/opportunities/OpportunitiesNamespace.d.ts +24 -20
- package/dist/types/sdk/opportunities/index.d.ts +2 -2
- package/dist/types/sdk/opportunities/types.d.ts +42 -42
- package/dist/types/sdk/positions/PositionsNamespace.d.ts +24 -10
- package/dist/types/sdk/positions/index.d.ts +2 -2
- package/dist/types/sdk/positions/mergePositionList.d.ts +5 -0
- package/dist/types/sdk/positions/types.d.ts +51 -35
- package/dist/types/sdk/prepare/PrepareApi.d.ts +60 -40
- package/dist/types/sdk/prepare/errors.d.ts +319 -0
- package/dist/types/sdk/prepare/index.d.ts +6 -2
- package/dist/types/sdk/prepare/types.d.ts +237 -119
- package/dist/types/sdk/prepare/withdrawable-collaterals.d.ts +11 -0
- package/dist/types/sdk/preview/PreviewNamespace.d.ts +8 -5
- package/dist/types/sdk/preview/index.d.ts +2 -2
- package/dist/types/sdk/preview/types.d.ts +12 -10
- package/dist/types/sdk/types.d.ts +63 -6
- package/package.json +11 -7
- package/dist/cjs/common-utils/axios-cache/AxiosCache.js +0 -98
- package/dist/cjs/common-utils/axios-cache/index.js +0 -3
- package/dist/cjs/common-utils/charts/credit-manager.js +0 -100
- package/dist/cjs/common-utils/charts/credit-session.js +0 -211
- package/dist/cjs/common-utils/charts/graph-payload.js +0 -1
- package/dist/cjs/common-utils/charts/index.js +0 -18
- package/dist/cjs/common-utils/charts/pool-payload.js +0 -1
- package/dist/cjs/common-utils/charts/pool.js +0 -177
- package/dist/cjs/common-utils/charts/token-data.js +0 -68
- package/dist/cjs/common-utils/index.js +0 -209
- package/dist/cjs/common-utils/package.json +0 -1
- package/dist/cjs/common-utils/static/index.js +0 -5
- package/dist/cjs/common-utils/static/migration-config.js +0 -1
- package/dist/cjs/common-utils/static/pool-config.js +0 -1
- package/dist/cjs/common-utils/static/strategy.js +0 -1
- package/dist/cjs/common-utils/static/trading-pair.js +0 -1
- package/dist/cjs/common-utils/test-utils/index.js +0 -104
- package/dist/cjs/common-utils/utils/apy/bonus-apy-from-points.js +0 -5
- package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +0 -22
- package/dist/cjs/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +0 -34
- package/dist/cjs/common-utils/utils/apy/calculate-earnings.js +0 -23
- package/dist/cjs/common-utils/utils/apy/calculate-earnings.spec.js +0 -68
- package/dist/cjs/common-utils/utils/apy/calculate-effective-borrow-rate.js +0 -8
- package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.js +0 -20
- package/dist/cjs/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +0 -39
- package/dist/cjs/common-utils/utils/apy/get-complex-apy-list.js +0 -18
- package/dist/cjs/common-utils/utils/apy/get-rate-with-fee.js +0 -16
- package/dist/cjs/common-utils/utils/apy/get-safe-base-borrow-rate.js +0 -14
- package/dist/cjs/common-utils/utils/apy/get-single-quota-borrow-rate.js +0 -16
- package/dist/cjs/common-utils/utils/apy/index.js +0 -21
- package/dist/cjs/common-utils/utils/apy/max-apy-formula.js +0 -14
- package/dist/cjs/common-utils/utils/assets-math.js +0 -185
- package/dist/cjs/common-utils/utils/constants.js +0 -9
- package/dist/cjs/common-utils/utils/creditAccount/calc-health-factor.js +0 -41
- package/dist/cjs/common-utils/utils/creditAccount/calc-overall-apy.js +0 -46
- package/dist/cjs/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +0 -22
- package/dist/cjs/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.js +0 -16
- package/dist/cjs/common-utils/utils/creditAccount/debt.js +0 -46
- package/dist/cjs/common-utils/utils/creditAccount/get-time-to-liquidation.js +0 -24
- package/dist/cjs/common-utils/utils/creditAccount/index.js +0 -27
- package/dist/cjs/common-utils/utils/creditAccount/liquidation-price.js +0 -39
- package/dist/cjs/common-utils/utils/creditAccount/sort.js +0 -95
- package/dist/cjs/common-utils/utils/index.js +0 -194
- package/dist/cjs/common-utils/utils/price-math.js +0 -51
- package/dist/cjs/common-utils/utils/strategies/assets/assets.js +0 -7
- package/dist/cjs/common-utils/utils/strategies/assets/index.js +0 -3
- package/dist/cjs/common-utils/utils/strategies/availability/check-boolean.js +0 -10
- package/dist/cjs/common-utils/utils/strategies/availability/check-degen-nft.js +0 -13
- package/dist/cjs/common-utils/utils/strategies/availability/index.js +0 -5
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +0 -23
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +0 -109
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.js +0 -31
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +0 -15
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +0 -23
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +0 -29
- package/dist/cjs/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +0 -95
- package/dist/cjs/common-utils/utils/strategies/credit-managers/index.js +0 -13
- package/dist/cjs/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/eligibility/index.js +0 -5
- package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +0 -20
- package/dist/cjs/common-utils/utils/strategies/eligibility/is-strategy-released.js +0 -8
- package/dist/cjs/common-utils/utils/strategies/index.js +0 -118
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-loss-coefficient.js +0 -10
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +0 -16
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +0 -21
- package/dist/cjs/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +0 -304
- package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +0 -10
- package/dist/cjs/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +0 -30
- package/dist/cjs/common-utils/utils/strategies/leverage/get-factor-from-leverage.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/leverage/get-leverage-from-factor.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.js +0 -47
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +0 -222
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +0 -7
- package/dist/cjs/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +0 -19
- package/dist/cjs/common-utils/utils/strategies/leverage/index.js +0 -21
- package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage-threshold.js +0 -17
- package/dist/cjs/common-utils/utils/strategies/leverage/max-leverage.js +0 -17
- package/dist/cjs/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +0 -16
- package/dist/cjs/common-utils/utils/strategies/lists/get-available-strategies.js +0 -32
- package/dist/cjs/common-utils/utils/strategies/lists/get-disabled-strategies.js +0 -33
- package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list-core.js +0 -24
- package/dist/cjs/common-utils/utils/strategies/lists/get-released-strategies-list.js +0 -16
- package/dist/cjs/common-utils/utils/strategies/lists/index.js +0 -7
- package/dist/cjs/common-utils/utils/strategies/points/get-complex-points-list.js +0 -15
- package/dist/cjs/common-utils/utils/strategies/points/get-points-info.js +0 -12
- package/dist/cjs/common-utils/utils/strategies/points/get-points-rates.js +0 -8
- package/dist/cjs/common-utils/utils/strategies/points/get-strategy-points.js +0 -41
- package/dist/cjs/common-utils/utils/strategies/points/index.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.js +0 -3
- package/dist/cjs/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.js +0 -18
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +0 -63
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +0 -184
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.js +0 -38
- package/dist/cjs/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +0 -126
- package/dist/cjs/common-utils/utils/strategies/strategy-info/cm-availability-condition.js +0 -43
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +0 -308
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +0 -267
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-info-core.js +0 -70
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-info.js +0 -33
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.js +0 -66
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +0 -58
- package/dist/cjs/common-utils/utils/strategies/strategy-info/index.js +0 -20
- package/dist/cjs/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/strategy-state/index.js +0 -3
- package/dist/cjs/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +0 -14
- package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.js +0 -18
- package/dist/cjs/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +0 -29
- package/dist/cjs/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +0 -10
- package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +0 -12
- package/dist/cjs/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +0 -37
- package/dist/cjs/common-utils/utils/strategies/tokens/get-native-token-address.js +0 -8
- package/dist/cjs/common-utils/utils/strategies/tokens/index.js +0 -26
- package/dist/cjs/common-utils/utils/strategies/tokens/is-activated-token.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +0 -10
- package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.js +0 -28
- package/dist/cjs/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +0 -143
- package/dist/cjs/common-utils/utils/strategies/tokens/is-forbidden-token.js +0 -7
- package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.js +0 -13
- package/dist/cjs/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +0 -148
- package/dist/cjs/common-utils/utils/strategies/tokens/is-usable-token.js +0 -15
- package/dist/cjs/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +0 -22
- package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.js +0 -8
- package/dist/cjs/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +0 -15
- package/dist/cjs/common-utils/utils/strategies/types/chains.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/credit-manager-data-legacy.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/curator-filter.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/index.js +0 -14
- package/dist/cjs/common-utils/utils/strategies/types/legacy-strategy-data-source.js +0 -30
- package/dist/cjs/common-utils/utils/strategies/types/points-slices.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/sdk-state.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/strategies-cm-list.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/strategy-data-source.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/strategy-data.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/strategy-earnings.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/strategy.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types/targetable.js +0 -1
- package/dist/cjs/common-utils/utils/strategies/types.js +0 -4
- package/dist/cjs/common-utils/utils/validation/index.js +0 -23
- package/dist/cjs/common-utils/utils/validation/is-zero-balance.js +0 -7
- package/dist/cjs/common-utils/utils/validation/validate-balance.js +0 -22
- package/dist/cjs/common-utils/utils/validation/validate-balance.spec.js +0 -54
- package/dist/cjs/common-utils/utils/validation/validate-balances.js +0 -17
- package/dist/cjs/common-utils/utils/validation/validate-balances.spec.js +0 -45
- package/dist/cjs/common-utils/utils/validation/validate-credit-manager.js +0 -8
- package/dist/cjs/common-utils/utils/validation/validate-credit-manager.spec.js +0 -36
- package/dist/cjs/common-utils/utils/validation/validate-hf.js +0 -10
- package/dist/cjs/common-utils/utils/validation/validate-hf.spec.js +0 -26
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.js +0 -14
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +0 -29
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.js +0 -37
- package/dist/cjs/common-utils/utils/validation/validate-open-account-pool-status.spec.js +0 -98
- package/dist/cjs/common-utils/utils/validation/validate-open-account.js +0 -18
- package/dist/cjs/common-utils/utils/validation/validate-open-account.spec.js +0 -56
- package/dist/cjs/common-utils/utils/validation/validate-quota.js +0 -23
- package/dist/cjs/common-utils/utils/validation/validate-quota.spec.js +0 -88
- package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.js +0 -18
- package/dist/cjs/common-utils/utils/validation/validate-token-to-obtain.spec.js +0 -36
- package/dist/cjs/common-utils/utils/validation/validation-types.js +0 -1
- package/dist/cjs/onchain/accounts/intents/utils/convert-amount.js +0 -37
- package/dist/cjs/plugins/apy/ApyPlugin.js +0 -248
- package/dist/cjs/plugins/apy/apy-parser.js +0 -129
- package/dist/cjs/plugins/apy/constants.js +0 -7
- package/dist/cjs/plugins/apy/index.js +0 -18
- package/dist/cjs/plugins/apy/package.json +0 -1
- package/dist/cjs/plugins/apy/pool-apy-types.js +0 -1
- package/dist/cjs/plugins/apy/pool-apy-utils.js +0 -121
- package/dist/cjs/plugins/apy/strategy-data-source.js +0 -163
- package/dist/cjs/plugins/remote-configs/CustomConfigSource.js +0 -18
- package/dist/cjs/plugins/remote-configs/RemoteConfigSource.js +0 -26
- package/dist/cjs/plugins/remote-configs/RemoteConfigsPlugin.js +0 -127
- package/dist/cjs/plugins/remote-configs/index.js +0 -8
- package/dist/cjs/plugins/remote-configs/package.json +0 -1
- package/dist/cjs/preview/preview/applyRWAWrapUnwrap.js +0 -67
- package/dist/cjs/preview/preview/previewAdjustCreditAccount.js +0 -71
- package/dist/cjs/preview/preview/previewOpenCreditAccount.js +0 -75
- package/dist/cjs/preview/preview/previewPoolOperation.js +0 -25
- package/dist/esm/common-utils/axios-cache/AxiosCache.js +0 -95
- package/dist/esm/common-utils/axios-cache/index.js +0 -2
- package/dist/esm/common-utils/charts/credit-manager.js +0 -99
- package/dist/esm/common-utils/charts/credit-session.js +0 -206
- package/dist/esm/common-utils/charts/graph-payload.js +0 -1
- package/dist/esm/common-utils/charts/index.js +0 -9
- package/dist/esm/common-utils/charts/pool-payload.js +0 -1
- package/dist/esm/common-utils/charts/pool.js +0 -175
- package/dist/esm/common-utils/charts/token-data.js +0 -67
- package/dist/esm/common-utils/index.js +0 -96
- package/dist/esm/common-utils/package.json +0 -1
- package/dist/esm/common-utils/static/index.js +0 -5
- package/dist/esm/common-utils/static/migration-config.js +0 -1
- package/dist/esm/common-utils/static/pool-config.js +0 -1
- package/dist/esm/common-utils/static/strategy.js +0 -1
- package/dist/esm/common-utils/static/trading-pair.js +0 -1
- package/dist/esm/common-utils/test-utils/index.js +0 -92
- package/dist/esm/common-utils/utils/apy/bonus-apy-from-points.js +0 -4
- package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.js +0 -21
- package/dist/esm/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.js +0 -34
- package/dist/esm/common-utils/utils/apy/calculate-earnings.js +0 -22
- package/dist/esm/common-utils/utils/apy/calculate-earnings.spec.js +0 -68
- package/dist/esm/common-utils/utils/apy/calculate-effective-borrow-rate.js +0 -7
- package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.js +0 -19
- package/dist/esm/common-utils/utils/apy/calculate-safe-borrow-rate.spec.js +0 -39
- package/dist/esm/common-utils/utils/apy/get-complex-apy-list.js +0 -17
- package/dist/esm/common-utils/utils/apy/get-rate-with-fee.js +0 -15
- package/dist/esm/common-utils/utils/apy/get-safe-base-borrow-rate.js +0 -13
- package/dist/esm/common-utils/utils/apy/get-single-quota-borrow-rate.js +0 -15
- package/dist/esm/common-utils/utils/apy/index.js +0 -11
- package/dist/esm/common-utils/utils/apy/max-apy-formula.js +0 -13
- package/dist/esm/common-utils/utils/assets-math.js +0 -184
- package/dist/esm/common-utils/utils/constants.js +0 -6
- package/dist/esm/common-utils/utils/creditAccount/calc-health-factor.js +0 -40
- package/dist/esm/common-utils/utils/creditAccount/calc-overall-apy.js +0 -45
- package/dist/esm/common-utils/utils/creditAccount/calc-quota-borrow-rate.js +0 -21
- package/dist/esm/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.js +0 -15
- package/dist/esm/common-utils/utils/creditAccount/debt.js +0 -44
- package/dist/esm/common-utils/utils/creditAccount/get-time-to-liquidation.js +0 -23
- package/dist/esm/common-utils/utils/creditAccount/index.js +0 -10
- package/dist/esm/common-utils/utils/creditAccount/liquidation-price.js +0 -38
- package/dist/esm/common-utils/utils/creditAccount/sort.js +0 -90
- package/dist/esm/common-utils/utils/index.js +0 -91
- package/dist/esm/common-utils/utils/price-math.js +0 -50
- package/dist/esm/common-utils/utils/strategies/assets/assets.js +0 -6
- package/dist/esm/common-utils/utils/strategies/assets/index.js +0 -2
- package/dist/esm/common-utils/utils/strategies/availability/check-boolean.js +0 -9
- package/dist/esm/common-utils/utils/strategies/availability/check-degen-nft.js +0 -12
- package/dist/esm/common-utils/utils/strategies/availability/index.js +0 -3
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.js +0 -22
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.js +0 -109
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.js +0 -30
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.js +0 -14
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.js +0 -22
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.js +0 -28
- package/dist/esm/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.js +0 -95
- package/dist/esm/common-utils/utils/strategies/credit-managers/index.js +0 -7
- package/dist/esm/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.js +0 -8
- package/dist/esm/common-utils/utils/strategies/eligibility/index.js +0 -3
- package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-eligible.js +0 -19
- package/dist/esm/common-utils/utils/strategies/eligibility/is-strategy-released.js +0 -7
- package/dist/esm/common-utils/utils/strategies/index.js +0 -65
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-loss-coefficient.js +0 -9
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.js +0 -15
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.js +0 -20
- package/dist/esm/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.js +0 -304
- package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.js +0 -9
- package/dist/esm/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.js +0 -30
- package/dist/esm/common-utils/utils/strategies/leverage/get-factor-from-leverage.js +0 -8
- package/dist/esm/common-utils/utils/strategies/leverage/get-leverage-from-factor.js +0 -8
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.js +0 -46
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-debt.spec.js +0 -222
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.js +0 -6
- package/dist/esm/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.js +0 -19
- package/dist/esm/common-utils/utils/strategies/leverage/index.js +0 -11
- package/dist/esm/common-utils/utils/strategies/leverage/max-leverage-threshold.js +0 -16
- package/dist/esm/common-utils/utils/strategies/leverage/max-leverage.js +0 -16
- package/dist/esm/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.js +0 -15
- package/dist/esm/common-utils/utils/strategies/lists/get-available-strategies.js +0 -31
- package/dist/esm/common-utils/utils/strategies/lists/get-disabled-strategies.js +0 -32
- package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list-core.js +0 -23
- package/dist/esm/common-utils/utils/strategies/lists/get-released-strategies-list.js +0 -15
- package/dist/esm/common-utils/utils/strategies/lists/index.js +0 -4
- package/dist/esm/common-utils/utils/strategies/points/get-complex-points-list.js +0 -14
- package/dist/esm/common-utils/utils/strategies/points/get-points-info.js +0 -11
- package/dist/esm/common-utils/utils/strategies/points/get-points-rates.js +0 -7
- package/dist/esm/common-utils/utils/strategies/points/get-strategy-points.js +0 -40
- package/dist/esm/common-utils/utils/strategies/points/index.js +0 -5
- package/dist/esm/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.js +0 -2
- package/dist/esm/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.js +0 -17
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.js +0 -62
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.js +0 -184
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.js +0 -37
- package/dist/esm/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.js +0 -124
- package/dist/esm/common-utils/utils/strategies/strategy-info/cm-availability-condition.js +0 -42
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +0 -307
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.js +0 -264
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-info-core.js +0 -69
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-info.js +0 -32
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.js +0 -65
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.js +0 -57
- package/dist/esm/common-utils/utils/strategies/strategy-info/index.js +0 -11
- package/dist/esm/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +0 -8
- package/dist/esm/common-utils/utils/strategies/strategy-state/index.js +0 -2
- package/dist/esm/common-utils/utils/strategies/strategy-state/is-strategy-disabled.js +0 -13
- package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.js +0 -17
- package/dist/esm/common-utils/utils/strategies/tokens/add-amount-in-target.spec.js +0 -29
- package/dist/esm/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.js +0 -9
- package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.js +0 -11
- package/dist/esm/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.js +0 -37
- package/dist/esm/common-utils/utils/strategies/tokens/get-native-token-address.js +0 -7
- package/dist/esm/common-utils/utils/strategies/tokens/index.js +0 -13
- package/dist/esm/common-utils/utils/strategies/tokens/is-activated-token.js +0 -8
- package/dist/esm/common-utils/utils/strategies/tokens/is-apy-with-points-exception.js +0 -8
- package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.js +0 -27
- package/dist/esm/common-utils/utils/strategies/tokens/is-collateral-token.spec.js +0 -143
- package/dist/esm/common-utils/utils/strategies/tokens/is-forbidden-token.js +0 -6
- package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.js +0 -12
- package/dist/esm/common-utils/utils/strategies/tokens/is-obtainable-token.spec.js +0 -148
- package/dist/esm/common-utils/utils/strategies/tokens/is-usable-token.js +0 -14
- package/dist/esm/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.js +0 -21
- package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.js +0 -7
- package/dist/esm/common-utils/utils/strategies/tokens/wrap-token-address.spec.js +0 -15
- package/dist/esm/common-utils/utils/strategies/types/chains.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/credit-manager-data-legacy.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/curator-filter.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/index.js +0 -13
- package/dist/esm/common-utils/utils/strategies/types/legacy-strategy-data-source.js +0 -29
- package/dist/esm/common-utils/utils/strategies/types/points-slices.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/sdk-state.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/strategies-cm-list.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/strategy-data-source.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/strategy-data.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/strategy-earnings.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/strategy.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types/targetable.js +0 -1
- package/dist/esm/common-utils/utils/strategies/types.js +0 -3
- package/dist/esm/common-utils/utils/validation/index.js +0 -12
- package/dist/esm/common-utils/utils/validation/is-zero-balance.js +0 -6
- package/dist/esm/common-utils/utils/validation/validate-balance.js +0 -21
- package/dist/esm/common-utils/utils/validation/validate-balance.spec.js +0 -54
- package/dist/esm/common-utils/utils/validation/validate-balances.js +0 -16
- package/dist/esm/common-utils/utils/validation/validate-balances.spec.js +0 -45
- package/dist/esm/common-utils/utils/validation/validate-credit-manager.js +0 -7
- package/dist/esm/common-utils/utils/validation/validate-credit-manager.spec.js +0 -36
- package/dist/esm/common-utils/utils/validation/validate-hf.js +0 -8
- package/dist/esm/common-utils/utils/validation/validate-hf.spec.js +0 -26
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.js +0 -13
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.js +0 -29
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.js +0 -36
- package/dist/esm/common-utils/utils/validation/validate-open-account-pool-status.spec.js +0 -98
- package/dist/esm/common-utils/utils/validation/validate-open-account.js +0 -17
- package/dist/esm/common-utils/utils/validation/validate-open-account.spec.js +0 -56
- package/dist/esm/common-utils/utils/validation/validate-quota.js +0 -22
- package/dist/esm/common-utils/utils/validation/validate-quota.spec.js +0 -88
- package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.js +0 -17
- package/dist/esm/common-utils/utils/validation/validate-token-to-obtain.spec.js +0 -36
- package/dist/esm/common-utils/utils/validation/validation-types.js +0 -1
- package/dist/esm/onchain/accounts/intents/utils/convert-amount.js +0 -36
- package/dist/esm/plugins/apy/ApyPlugin.js +0 -247
- package/dist/esm/plugins/apy/apy-parser.js +0 -126
- package/dist/esm/plugins/apy/constants.js +0 -5
- package/dist/esm/plugins/apy/index.js +0 -7
- package/dist/esm/plugins/apy/package.json +0 -1
- package/dist/esm/plugins/apy/pool-apy-types.js +0 -1
- package/dist/esm/plugins/apy/pool-apy-utils.js +0 -116
- package/dist/esm/plugins/apy/strategy-data-source.js +0 -162
- package/dist/esm/plugins/remote-configs/CustomConfigSource.js +0 -17
- package/dist/esm/plugins/remote-configs/RemoteConfigSource.js +0 -25
- package/dist/esm/plugins/remote-configs/RemoteConfigsPlugin.js +0 -126
- package/dist/esm/plugins/remote-configs/index.js +0 -5
- package/dist/esm/plugins/remote-configs/package.json +0 -1
- package/dist/esm/preview/preview/applyRWAWrapUnwrap.js +0 -66
- package/dist/esm/preview/preview/previewAdjustCreditAccount.js +0 -70
- package/dist/esm/preview/preview/previewOpenCreditAccount.js +0 -74
- package/dist/esm/preview/preview/previewPoolOperation.js +0 -24
- package/dist/types/common-utils/axios-cache/AxiosCache.d.ts +0 -31
- package/dist/types/common-utils/axios-cache/index.d.ts +0 -2
- package/dist/types/common-utils/charts/credit-manager-payload.d.ts +0 -53
- package/dist/types/common-utils/charts/credit-manager.d.ts +0 -51
- package/dist/types/common-utils/charts/credit-session.d.ts +0 -113
- package/dist/types/common-utils/charts/credit-sessions-payload.d.ts +0 -113
- package/dist/types/common-utils/charts/graph-payload.d.ts +0 -12
- package/dist/types/common-utils/charts/index.d.ts +0 -9
- package/dist/types/common-utils/charts/pool-payload.d.ts +0 -114
- package/dist/types/common-utils/charts/pool.d.ts +0 -94
- package/dist/types/common-utils/charts/token-data.d.ts +0 -47
- package/dist/types/common-utils/index.d.ts +0 -117
- package/dist/types/common-utils/static/index.d.ts +0 -5
- package/dist/types/common-utils/static/migration-config.d.ts +0 -13
- package/dist/types/common-utils/static/pool-config.d.ts +0 -14
- package/dist/types/common-utils/static/strategy.d.ts +0 -86
- package/dist/types/common-utils/static/trading-pair.d.ts +0 -18
- package/dist/types/common-utils/test-utils/index.d.ts +0 -19
- package/dist/types/common-utils/utils/apy/bonus-apy-from-points.d.ts +0 -7
- package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.d.ts +0 -5
- package/dist/types/common-utils/utils/apy/calculate-borrow-rate-from-utilization.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/apy/calculate-earnings.d.ts +0 -19
- package/dist/types/common-utils/utils/apy/calculate-earnings.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/apy/calculate-effective-borrow-rate.d.ts +0 -9
- package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.d.ts +0 -14
- package/dist/types/common-utils/utils/apy/calculate-safe-borrow-rate.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/apy/get-complex-apy-list.d.ts +0 -8
- package/dist/types/common-utils/utils/apy/get-rate-with-fee.d.ts +0 -10
- package/dist/types/common-utils/utils/apy/get-safe-base-borrow-rate.d.ts +0 -7
- package/dist/types/common-utils/utils/apy/get-single-quota-borrow-rate.d.ts +0 -14
- package/dist/types/common-utils/utils/apy/index.d.ts +0 -11
- package/dist/types/common-utils/utils/apy/max-apy-formula.d.ts +0 -9
- package/dist/types/common-utils/utils/assets-math.d.ts +0 -117
- package/dist/types/common-utils/utils/constants.d.ts +0 -7
- package/dist/types/common-utils/utils/creditAccount/calc-health-factor.d.ts +0 -32
- package/dist/types/common-utils/utils/creditAccount/calc-overall-apy.d.ts +0 -41
- package/dist/types/common-utils/utils/creditAccount/calc-quota-borrow-rate.d.ts +0 -24
- package/dist/types/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.d.ts +0 -18
- package/dist/types/common-utils/utils/creditAccount/debt.d.ts +0 -39
- package/dist/types/common-utils/utils/creditAccount/get-time-to-liquidation.d.ts +0 -24
- package/dist/types/common-utils/utils/creditAccount/index.d.ts +0 -10
- package/dist/types/common-utils/utils/creditAccount/liquidation-price.d.ts +0 -31
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +0 -59
- package/dist/types/common-utils/utils/creditAccount/types.d.ts +0 -22
- package/dist/types/common-utils/utils/index.d.ts +0 -104
- package/dist/types/common-utils/utils/price-math.d.ts +0 -49
- package/dist/types/common-utils/utils/strategies/assets/assets.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/assets/index.d.ts +0 -2
- package/dist/types/common-utils/utils/strategies/availability/check-boolean.d.ts +0 -4
- package/dist/types/common-utils/utils/strategies/availability/check-degen-nft.d.ts +0 -8
- package/dist/types/common-utils/utils/strategies/availability/index.d.ts +0 -3
- package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.d.ts +0 -21
- package/dist/types/common-utils/utils/strategies/credit-managers/get-cm-allowed-collaterals.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list-core.d.ts +0 -14
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers-list.d.ts +0 -10
- package/dist/types/common-utils/utils/strategies/credit-managers/get-strategy-credit-managers.d.ts +0 -12
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.d.ts +0 -17
- package/dist/types/common-utils/utils/strategies/credit-managers/get-wallet-balances-allowed-on-cm.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/credit-managers/index.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/credit-managers/is-credit-manager-usable.d.ts +0 -6
- package/dist/types/common-utils/utils/strategies/eligibility/index.d.ts +0 -3
- package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-eligible.d.ts +0 -16
- package/dist/types/common-utils/utils/strategies/eligibility/is-strategy-released.d.ts +0 -4
- package/dist/types/common-utils/utils/strategies/index.d.ts +0 -77
- package/dist/types/common-utils/utils/strategies/leverage/calculate-loss-coefficient.d.ts +0 -4
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-leverage-factor.d.ts +0 -15
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.d.ts +0 -14
- package/dist/types/common-utils/utils/strategies/leverage/calculate-max-strategy-debt.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/leverage/get-collateral-by-debt.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/leverage/get-factor-from-leverage.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/leverage/get-leverage-from-factor.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.d.ts +0 -24
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-debt.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/leverage/get-recommended-leverage-factor.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/leverage/index.d.ts +0 -11
- package/dist/types/common-utils/utils/strategies/leverage/max-leverage-threshold.d.ts +0 -8
- package/dist/types/common-utils/utils/strategies/leverage/max-leverage.d.ts +0 -12
- package/dist/types/common-utils/utils/strategies/lists/get-available-and-disabled-strategies.d.ts +0 -14
- package/dist/types/common-utils/utils/strategies/lists/get-available-strategies.d.ts +0 -11
- package/dist/types/common-utils/utils/strategies/lists/get-disabled-strategies.d.ts +0 -12
- package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list-core.d.ts +0 -16
- package/dist/types/common-utils/utils/strategies/lists/get-released-strategies-list.d.ts +0 -10
- package/dist/types/common-utils/utils/strategies/lists/index.d.ts +0 -4
- package/dist/types/common-utils/utils/strategies/points/get-complex-points-list.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/points/get-points-info.d.ts +0 -12
- package/dist/types/common-utils/utils/strategies/points/get-points-rates.d.ts +0 -6
- package/dist/types/common-utils/utils/strategies/points/get-strategy-points.d.ts +0 -27
- package/dist/types/common-utils/utils/strategies/points/index.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/sort-strategy-cms-by-availability/index.d.ts +0 -2
- package/dist/types/common-utils/utils/strategies/sort-strategy-cms-by-availability/sort-strategy-cms-by-availability.d.ts +0 -31
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.d.ts +0 -31
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.d.ts +0 -26
- package/dist/types/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/cm-availability-condition.d.ts +0 -6
- package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.d.ts +0 -22
- package/dist/types/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-info-core.d.ts +0 -21
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-info.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-max-apy.d.ts +0 -17
- package/dist/types/common-utils/utils/strategies/strategy-info/get-strategy-you-can-earn.d.ts +0 -31
- package/dist/types/common-utils/utils/strategies/strategy-info/index.d.ts +0 -11
- package/dist/types/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/strategy-info/types.d.ts +0 -113
- package/dist/types/common-utils/utils/strategies/strategy-state/index.d.ts +0 -2
- package/dist/types/common-utils/utils/strategies/strategy-state/is-strategy-disabled.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.d.ts +0 -10
- package/dist/types/common-utils/utils/strategies/tokens/add-amount-in-target.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-chain-phantom-tokens.d.ts +0 -8
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.d.ts +0 -16
- package/dist/types/common-utils/utils/strategies/tokens/get-list-with-amount-in-target.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/tokens/get-native-token-address.d.ts +0 -4
- package/dist/types/common-utils/utils/strategies/tokens/index.d.ts +0 -13
- package/dist/types/common-utils/utils/strategies/tokens/is-activated-token.d.ts +0 -10
- package/dist/types/common-utils/utils/strategies/tokens/is-apy-with-points-exception.d.ts +0 -6
- package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.d.ts +0 -17
- package/dist/types/common-utils/utils/strategies/tokens/is-collateral-token.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/tokens/is-forbidden-token.d.ts +0 -9
- package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.d.ts +0 -11
- package/dist/types/common-utils/utils/strategies/tokens/is-obtainable-token.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/tokens/is-usable-token.d.ts +0 -6
- package/dist/types/common-utils/utils/strategies/tokens/is-valid-extra-collateral-token.d.ts +0 -20
- package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/tokens/wrap-token-address.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/strategies/types/chains.d.ts +0 -6
- package/dist/types/common-utils/utils/strategies/types/credit-manager-data-legacy.d.ts +0 -34
- package/dist/types/common-utils/utils/strategies/types/curator-filter.d.ts +0 -5
- package/dist/types/common-utils/utils/strategies/types/index.d.ts +0 -13
- package/dist/types/common-utils/utils/strategies/types/legacy-strategy-data-source.d.ts +0 -7
- package/dist/types/common-utils/utils/strategies/types/points-slices.d.ts +0 -24
- package/dist/types/common-utils/utils/strategies/types/sdk-state.d.ts +0 -17
- package/dist/types/common-utils/utils/strategies/types/strategies-cm-list.d.ts +0 -9
- package/dist/types/common-utils/utils/strategies/types/strategy-data-source.d.ts +0 -22
- package/dist/types/common-utils/utils/strategies/types/strategy-data.d.ts +0 -19
- package/dist/types/common-utils/utils/strategies/types/strategy-earnings.d.ts +0 -47
- package/dist/types/common-utils/utils/strategies/types/strategy.d.ts +0 -20
- package/dist/types/common-utils/utils/strategies/types/targetable.d.ts +0 -9
- package/dist/types/common-utils/utils/strategies/types.d.ts +0 -14
- package/dist/types/common-utils/utils/validation/index.d.ts +0 -12
- package/dist/types/common-utils/utils/validation/is-zero-balance.d.ts +0 -4
- package/dist/types/common-utils/utils/validation/validate-balance.d.ts +0 -25
- package/dist/types/common-utils/utils/validation/validate-balance.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-balances.d.ts +0 -13
- package/dist/types/common-utils/utils/validation/validate-balances.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-credit-manager.d.ts +0 -13
- package/dist/types/common-utils/utils/validation/validate-credit-manager.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-hf.d.ts +0 -12
- package/dist/types/common-utils/utils/validation/validate-hf.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.d.ts +0 -10
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-quota-status.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.d.ts +0 -26
- package/dist/types/common-utils/utils/validation/validate-open-account-pool-status.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-open-account.d.ts +0 -25
- package/dist/types/common-utils/utils/validation/validate-open-account.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-quota.d.ts +0 -24
- package/dist/types/common-utils/utils/validation/validate-quota.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.d.ts +0 -17
- package/dist/types/common-utils/utils/validation/validate-token-to-obtain.spec.d.ts +0 -1
- package/dist/types/common-utils/utils/validation/validation-types.d.ts +0 -10
- package/dist/types/onchain/accounts/intents/utils/convert-amount.d.ts +0 -13
- package/dist/types/plugins/apy/ApyPlugin.d.ts +0 -59
- package/dist/types/plugins/apy/apy-parser.d.ts +0 -10
- package/dist/types/plugins/apy/constants.d.ts +0 -5
- package/dist/types/plugins/apy/index.d.ts +0 -7
- package/dist/types/plugins/apy/pool-apy-types.d.ts +0 -45
- package/dist/types/plugins/apy/pool-apy-utils.d.ts +0 -77
- package/dist/types/plugins/apy/strategy-data-source.d.ts +0 -21
- package/dist/types/plugins/apy/types.d.ts +0 -64
- package/dist/types/plugins/remote-configs/CustomConfigSource.d.ts +0 -16
- package/dist/types/plugins/remote-configs/RemoteConfigSource.d.ts +0 -35
- package/dist/types/plugins/remote-configs/RemoteConfigsPlugin.d.ts +0 -29
- package/dist/types/plugins/remote-configs/index.d.ts +0 -8
- package/dist/types/plugins/remote-configs/types.d.ts +0 -26
- package/dist/types/preview/preview/applyRWAWrapUnwrap.d.ts +0 -17
- package/dist/types/preview/preview/previewOpenCreditAccount.d.ts +0 -12
- package/dist/types/preview/preview/previewPoolOperation.d.ts +0 -11
- /package/dist/cjs/{common-utils/charts/credit-manager-payload.js → model/errors.js} +0 -0
- /package/dist/cjs/{common-utils/charts/credit-sessions-payload.js → model/withdrawals.js} +0 -0
- /package/dist/cjs/{common-utils/utils/creditAccount → offchain/opportunities}/types.js +0 -0
- /package/dist/cjs/{common-utils/utils/strategies/strategy-info → offchain/positions}/types.js +0 -0
- /package/dist/cjs/{plugins/apy → onchain/opportunities}/types.js +0 -0
- /package/dist/cjs/{plugins/remote-configs → sdk/execute}/types.js +0 -0
- /package/dist/esm/{common-utils/charts/credit-manager-payload.js → model/errors.js} +0 -0
- /package/dist/esm/{common-utils/charts/credit-sessions-payload.js → model/withdrawals.js} +0 -0
- /package/dist/esm/{common-utils/utils/creditAccount → offchain/opportunities}/types.js +0 -0
- /package/dist/esm/{common-utils/utils/strategies/strategy-info → offchain/positions}/types.js +0 -0
- /package/dist/esm/{plugins/apy → onchain/opportunities}/types.js +0 -0
- /package/dist/esm/{plugins/remote-configs → sdk/execute}/types.js +0 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { SDKConstruct } from "../../base/SDKConstruct.js";
|
|
2
|
-
import { MIN_HF_LIMITED } from "
|
|
3
|
-
import { IntentPreviewError } from "
|
|
4
|
-
import {
|
|
2
|
+
import { MIN_HF_LIMITED } from "../../validation/checks.js";
|
|
3
|
+
import { IntentPreviewError, refuse } from "../../validation/refusal.js";
|
|
4
|
+
import { isPhantomToken } from "./utils/pick-token.js";
|
|
5
|
+
import { assertMarketOperable, borrowable } from "./guards.js";
|
|
6
|
+
import { calcLeverageBand } from "./leverage-band.js";
|
|
5
7
|
import { maxProportionalWithdrawal } from "./math.js";
|
|
6
8
|
import { maxWithdrawCollateral } from "./maxWithdrawCollateral.js";
|
|
7
9
|
import { fetchCreditAccountSlice, toCreditAccountSlice } from "./utils/credit-account-slice.js";
|
|
8
|
-
import {
|
|
10
|
+
import { buildOpenStrategyState } from "./open-strategy.js";
|
|
9
11
|
import { planAddCollateral, planAdjustLeverage, planAdjustLeverageDelayed, planDeposit, planRepay, planWithdraw, planWithdrawAsset, planWithdrawDelayed } from "./plan.js";
|
|
10
12
|
import { realize } from "./realize.js";
|
|
11
13
|
import { accountView } from "./view.js";
|
|
@@ -43,17 +45,27 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
43
45
|
}));
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* Both ends of what a `WITHDRAW` can take out, in underlying: the largest
|
|
49
|
+
* partial withdrawal that keeps leverage and stays inside the facade's debt
|
|
50
|
+
* band, and the net value an exit hands over. They are reported together
|
|
51
|
+
* because a withdraw form needs both — the range it may offer, and the one
|
|
52
|
+
* amount past it that is allowed — and because the distance between them is
|
|
53
|
+
* the account's own, not a constant a caller could assume.
|
|
54
|
+
*
|
|
55
|
+
* Takes no target health factor, unlike {@link maxWithdrawCollateral}: a
|
|
56
|
+
* proportional withdrawal leaves the factor where it found it, and the
|
|
57
|
+
* facade's `minDebt` is what bounds it.
|
|
50
58
|
*
|
|
51
59
|
* @param props - Account slice and the SDK holding its market
|
|
52
|
-
* @returns
|
|
60
|
+
* @returns The two ceilings, see {@link WithdrawCeilings} for the gap between
|
|
61
|
+
* them
|
|
53
62
|
*/
|
|
54
63
|
maxWithdraw(props) {
|
|
55
64
|
const view = accountView(props.creditAccount, props.sdk);
|
|
56
|
-
return
|
|
65
|
+
return {
|
|
66
|
+
partial: maxProportionalWithdrawal(view, view.band),
|
|
67
|
+
exit: view.collateral > 0n ? view.collateral : 0n
|
|
68
|
+
};
|
|
57
69
|
}
|
|
58
70
|
/**
|
|
59
71
|
* Debt a `REPAY` would have to cover to settle the account, in underlying
|
|
@@ -72,20 +84,44 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
72
84
|
return accountView(props.creditAccount, props.sdk).debt;
|
|
73
85
|
}
|
|
74
86
|
/**
|
|
87
|
+
* The leverages a position of a given size can be opened at, or moved to.
|
|
88
|
+
*
|
|
89
|
+
* A credit manager's `maxLeverage` follows from the liquidation threshold
|
|
90
|
+
* alone, so it is the same for a hundred dollars and for a million. What a
|
|
91
|
+
* given deposit reaches is decided by the debt it implies and by the band
|
|
92
|
+
* the market puts that debt in — the range a leverage slider should offer.
|
|
93
|
+
*
|
|
94
|
+
* Unlike the other ceilings here this one reads no account: opening has none
|
|
95
|
+
* yet, and adjusting measures against the net value the caller already
|
|
96
|
+
* holds. Nothing is fetched, so a form can ask on every keystroke.
|
|
97
|
+
*
|
|
98
|
+
* @param props - The manager, the SDK holding its market, what stands
|
|
99
|
+
* behind the position, and optionally the health factor the ceiling should
|
|
100
|
+
* leave
|
|
101
|
+
* @returns The band, or nothing when the market has none to offer
|
|
102
|
+
*/
|
|
103
|
+
leverageBand(props) {
|
|
104
|
+
return calcLeverageBand(props);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
75
107
|
* Largest `WITHDRAW_ASSET` amount of one token the account can take out
|
|
76
|
-
* while its health factor stays at
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
108
|
+
* while its health factor stays at `targetHF` — the ceiling a
|
|
109
|
+
* withdraw-collateral form should offer. Thresholds, prices and quota
|
|
110
|
+
* activity come from the account's market, valued the way the facade values
|
|
111
|
+
* a call that pays out; zero debt frees the whole balance.
|
|
112
|
+
*
|
|
113
|
+
* The default is {@link MIN_HF_LIMITED}, the bar a form holds an
|
|
114
|
+
* account to.
|
|
80
115
|
*
|
|
81
|
-
* @param props - Account slice, the SDK holding its market,
|
|
82
|
-
*
|
|
116
|
+
* @param props - Account slice, the SDK holding its market, the collateral
|
|
117
|
+
* to withdraw, and optionally the health factor to leave behind
|
|
83
118
|
* @returns Amount in the token's units; `0n` when nothing can leave
|
|
84
119
|
*/
|
|
85
120
|
maxWithdrawCollateral(props) {
|
|
121
|
+
const { targetHF = MIN_HF_LIMITED, ...rest } = props;
|
|
86
122
|
return maxWithdrawCollateral({
|
|
87
|
-
...
|
|
88
|
-
targetHF:
|
|
123
|
+
...rest,
|
|
124
|
+
targetHF: targetHF + 2n
|
|
89
125
|
});
|
|
90
126
|
}
|
|
91
127
|
/**
|
|
@@ -139,7 +175,7 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
139
175
|
});
|
|
140
176
|
return {
|
|
141
177
|
...result,
|
|
142
|
-
|
|
178
|
+
state: tail.state,
|
|
143
179
|
delayed
|
|
144
180
|
};
|
|
145
181
|
} catch (e) {
|
|
@@ -169,9 +205,11 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
169
205
|
const [instant, delayed] = await Promise.allSettled([this.startIntent(props), this.startDelayedIntent(props)]);
|
|
170
206
|
const instantRoute = instant.status === "fulfilled" && instant.value.ok ? instant.value : void 0;
|
|
171
207
|
const delayedRoute = delayed.status === "fulfilled" && delayed.value.ok ? delayed.value : void 0;
|
|
208
|
+
const instantRefusal = instant.status === "fulfilled" && !instant.value.ok ? instant.value : void 0;
|
|
209
|
+
const delayedRefusal = delayed.status === "fulfilled" && !delayed.value.ok ? delayed.value : void 0;
|
|
172
210
|
const refused = {
|
|
173
|
-
instant:
|
|
174
|
-
delayed:
|
|
211
|
+
instant: instantRefusal?.reason,
|
|
212
|
+
delayed: delayedRefusal?.reason
|
|
175
213
|
};
|
|
176
214
|
if (instantRoute || delayedRoute) return {
|
|
177
215
|
ok: true,
|
|
@@ -181,11 +219,10 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
181
219
|
};
|
|
182
220
|
const failed = [instant, delayed].find((s) => s.status === "rejected");
|
|
183
221
|
if (failed?.status === "rejected") throw failed.reason;
|
|
184
|
-
const
|
|
185
|
-
if (
|
|
222
|
+
const chosen = instantRefusal ?? delayedRefusal;
|
|
223
|
+
if (chosen === void 0) throw new Error("intentRoutes: a route neither answered nor refused");
|
|
186
224
|
return {
|
|
187
|
-
|
|
188
|
-
reason,
|
|
225
|
+
...chosen,
|
|
189
226
|
refused
|
|
190
227
|
};
|
|
191
228
|
}
|
|
@@ -198,17 +235,36 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
198
235
|
* whole tail: the tokens land on the account and only their quota has to
|
|
199
236
|
* catch up.
|
|
200
237
|
*
|
|
238
|
+
* A claim that brought only part of what the request queued — a legacy Mellow
|
|
239
|
+
* multivault, which pays out what it holds liquid and re-queues the rest — is
|
|
240
|
+
* served in proportion, and what it did not settle comes back as `remainder`:
|
|
241
|
+
* the withdrawal still in flight and the intent to finish it with.
|
|
242
|
+
*
|
|
201
243
|
* @param props - The recorded intent, the account slice as it stands now, and
|
|
202
244
|
* the matured claimable
|
|
203
|
-
* @returns Shaped exactly like {@link startIntent}'s result
|
|
204
|
-
* an operation are consumed the same way
|
|
245
|
+
* @returns Shaped exactly like {@link startIntent}'s result with the remainder
|
|
246
|
+
* beside it, so both halves of an operation are consumed the same way
|
|
205
247
|
*/
|
|
206
248
|
async finishIntent(props) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
249
|
+
let remainder;
|
|
250
|
+
const result = await this.#preview(props, () => {
|
|
251
|
+
const tail = planTail({
|
|
252
|
+
intent: props.intent,
|
|
253
|
+
claimable: props.claimable,
|
|
254
|
+
view: accountView(props.creditAccount, props.sdk)
|
|
255
|
+
});
|
|
256
|
+
remainder = tail.remainder;
|
|
257
|
+
return tail.steps;
|
|
258
|
+
});
|
|
259
|
+
if (!result.ok) return result;
|
|
260
|
+
const { operations, state, calls } = result;
|
|
261
|
+
return {
|
|
262
|
+
ok: true,
|
|
263
|
+
operations,
|
|
264
|
+
state,
|
|
265
|
+
calls,
|
|
266
|
+
remainder
|
|
267
|
+
};
|
|
212
268
|
}
|
|
213
269
|
/**
|
|
214
270
|
* Previews opening a brand-new leveraged position.
|
|
@@ -226,7 +282,7 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
226
282
|
try {
|
|
227
283
|
return {
|
|
228
284
|
ok: true,
|
|
229
|
-
|
|
285
|
+
state: await buildOpenStrategyState(props)
|
|
230
286
|
};
|
|
231
287
|
} catch (e) {
|
|
232
288
|
return asFailure(e);
|
|
@@ -245,7 +301,7 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
245
301
|
return {
|
|
246
302
|
ok: true,
|
|
247
303
|
operations,
|
|
248
|
-
|
|
304
|
+
state,
|
|
249
305
|
calls,
|
|
250
306
|
delayed
|
|
251
307
|
};
|
|
@@ -257,24 +313,18 @@ var CreditAccountOperationsService = class extends SDKConstruct {
|
|
|
257
313
|
/** Drops the delayed half for the flows that cannot produce one. */
|
|
258
314
|
function plain(result) {
|
|
259
315
|
if (!result.ok) return result;
|
|
260
|
-
const { operations,
|
|
316
|
+
const { operations, state, calls } = result;
|
|
261
317
|
return {
|
|
262
318
|
ok: true,
|
|
263
319
|
operations,
|
|
264
|
-
|
|
320
|
+
state,
|
|
265
321
|
calls
|
|
266
322
|
};
|
|
267
323
|
}
|
|
268
324
|
/** Unviable requests are values; anything else is a genuine failure. */
|
|
269
325
|
function asFailure(e) {
|
|
270
|
-
if (e instanceof IntentPreviewError) return
|
|
271
|
-
|
|
272
|
-
reason: e.reason
|
|
273
|
-
};
|
|
274
|
-
if (isUnroutable(e)) return {
|
|
275
|
-
ok: false,
|
|
276
|
-
reason: "unsupportedTokenPair"
|
|
277
|
-
};
|
|
326
|
+
if (e instanceof IntentPreviewError) return refuse(e.reason, e.detail);
|
|
327
|
+
if (isUnroutable(e)) return refuse("unsupportedTokenPair", void 0);
|
|
278
328
|
throw e;
|
|
279
329
|
}
|
|
280
330
|
/**
|
|
@@ -290,4 +340,4 @@ function isUnroutable(e) {
|
|
|
290
340
|
return false;
|
|
291
341
|
}
|
|
292
342
|
//#endregion
|
|
293
|
-
export { CreditAccountOperationsService,
|
|
343
|
+
export { CreditAccountOperationsService, borrowable, fetchCreditAccountSlice, isPhantomToken, toCreditAccountSlice };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BigIntMath } from "../../utils/bigint-math.js";
|
|
2
|
+
import { LEVERAGE_DECIMALS } from "../../constants/math.js";
|
|
3
|
+
//#region src/onchain/accounts/intents/leverage-band.ts
|
|
4
|
+
/**
|
|
5
|
+
* The leverages this market will actually fund for a position of this size.
|
|
6
|
+
*
|
|
7
|
+
* A credit manager's `maxLeverage` follows from the liquidation threshold
|
|
8
|
+
* alone, so it is the same for a hundred dollars and for a million. What a
|
|
9
|
+
* given deposit reaches is decided by the debt it implies —
|
|
10
|
+
* `debt = netValue × (leverage − 1)` — and by the band the market puts that
|
|
11
|
+
* debt in. This inverts that relation.
|
|
12
|
+
*
|
|
13
|
+
* Rounding is asymmetric because the forward direction truncates: the floor
|
|
14
|
+
* rounds **up** so the leverage it names really does clear `minDebt`, and the
|
|
15
|
+
* ceiling rounds **down** so it really does stay under the borrow limit.
|
|
16
|
+
*
|
|
17
|
+
* Nothing here is fetched or simulated — every input is loaded market state,
|
|
18
|
+
* so a form can call this on each keystroke.
|
|
19
|
+
*
|
|
20
|
+
* @param props - {@link LeverageBandProps}
|
|
21
|
+
* @returns The band, or `undefined` when there is nothing to offer: an
|
|
22
|
+
* unknown manager, a market with no strategy, or a deposit too small to reach
|
|
23
|
+
* `minDebt` at any leverage the threshold allows.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* // minDebt 1k, borrow limit 100k, threshold ceiling 9x, deposit worth 10k
|
|
28
|
+
* calcLeverageBand({ sdk, creditManager, collateral }) // { min: 1.1, max: 9 }
|
|
29
|
+
* ```
|
|
30
|
+
**/
|
|
31
|
+
function calcLeverageBand({ sdk, creditManager, collateral, targetHF }) {
|
|
32
|
+
const found = resolve(sdk, creditManager);
|
|
33
|
+
if (!found) return;
|
|
34
|
+
const { suite, market } = found;
|
|
35
|
+
const target = suite.strategyTargetCollateral;
|
|
36
|
+
if (!target) return;
|
|
37
|
+
const ceiling = suite.creditManager.maxLeverage(target, targetHF);
|
|
38
|
+
const underlying = market.pool.underlying;
|
|
39
|
+
const convert = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount) ?? 0n;
|
|
40
|
+
const netValue = collateral.reduce((acc, a) => acc + convert(a.token, underlying, a.balance), 0n);
|
|
41
|
+
if (netValue <= 0n) return {
|
|
42
|
+
min: 1,
|
|
43
|
+
max: ceiling
|
|
44
|
+
};
|
|
45
|
+
const { minDebt, maxDebt } = suite.creditFacade;
|
|
46
|
+
const available = market.pool.pool.creditManagerDebtParams.get(suite.creditManager.address)?.available;
|
|
47
|
+
const borrowLimit = available === void 0 ? maxDebt : BigIntMath.min(maxDebt, available);
|
|
48
|
+
const floor = BigIntMath.ceilDiv(LEVERAGE_DECIMALS * minDebt, netValue);
|
|
49
|
+
const roof = LEVERAGE_DECIMALS * borrowLimit / netValue;
|
|
50
|
+
const min = 1 + Number(floor) / Number(LEVERAGE_DECIMALS);
|
|
51
|
+
const max = Math.min(ceiling, 1 + Number(roof) / Number(LEVERAGE_DECIMALS));
|
|
52
|
+
return min > max ? void 0 : {
|
|
53
|
+
min,
|
|
54
|
+
max
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/** The manager's suite and market, or nothing while they cannot be resolved. */
|
|
58
|
+
function resolve(sdk, creditManager) {
|
|
59
|
+
try {
|
|
60
|
+
return {
|
|
61
|
+
suite: sdk.marketRegister.findCreditManager(creditManager),
|
|
62
|
+
market: sdk.marketRegister.findByCreditManager(creditManager)
|
|
63
|
+
};
|
|
64
|
+
} catch {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
export { calcLeverageBand };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { BigIntMath } from "../../utils/bigint-math.js";
|
|
1
2
|
import { LEVERAGE_DECIMALS } from "../../constants/math.js";
|
|
2
|
-
import {
|
|
3
|
+
import { checkDebtInBand, checkLeverageAtLeastOne } from "../../validation/checks.js";
|
|
4
|
+
import { IntentPreviewError, raise } from "../../validation/refusal.js";
|
|
5
|
+
import { toToken } from "../../validation/token.js";
|
|
3
6
|
//#region src/onchain/accounts/intents/math.ts
|
|
4
7
|
/** Debt that realises `leverage` on `collateral`: `D = C · (L − 1)`. */
|
|
5
8
|
function debtForLeverage(collateral, leverage) {
|
|
@@ -13,7 +16,7 @@ function debtForLeverage(collateral, leverage) {
|
|
|
13
16
|
* it, so no rounding is introduced on the way.
|
|
14
17
|
*/
|
|
15
18
|
function proportionalDebt(position, collateralDelta) {
|
|
16
|
-
if (position.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", "cannot preserve leverage on an account with no collateral");
|
|
19
|
+
if (position.collateral <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, "cannot preserve leverage on an account with no collateral");
|
|
17
20
|
return position.debt * collateralDelta / position.collateral;
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
@@ -31,21 +34,28 @@ function maxProportionalWithdrawal(position, band) {
|
|
|
31
34
|
if (debt === 0n) return allButLast;
|
|
32
35
|
const repayable = debt - band.minDebt;
|
|
33
36
|
if (repayable < 0n) return 0n;
|
|
34
|
-
const bound = ceilDiv(collateral * (repayable + 1n), debt) - 1n;
|
|
37
|
+
const bound = BigIntMath.ceilDiv(collateral * (repayable + 1n), debt) - 1n;
|
|
35
38
|
return bound < allButLast ? bound : allButLast;
|
|
36
39
|
}
|
|
37
|
-
const ceilDiv = (a, b) => (a + b - 1n) / b;
|
|
38
40
|
/** Total leverage cannot drop below 1x — that would be negative debt. */
|
|
39
41
|
function assertLeverageAtLeastOne(leverage) {
|
|
40
|
-
|
|
42
|
+
raise(checkLeverageAtLeastOne({
|
|
43
|
+
leverage,
|
|
44
|
+
min: LEVERAGE_DECIMALS
|
|
45
|
+
}), `target leverage ${leverage} is below 1x`);
|
|
41
46
|
}
|
|
42
47
|
/**
|
|
43
48
|
* Rejects a debt the facade would revert on: zero is always fine (no loan at
|
|
44
49
|
* all), anything else has to sit inside `[minDebt, maxDebt]`.
|
|
45
50
|
*/
|
|
46
|
-
function assertDebtInBand(debt, band) {
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
function assertDebtInBand(sdk, debt, band, underlying) {
|
|
52
|
+
raise(checkDebtInBand({
|
|
53
|
+
debt,
|
|
54
|
+
minDebt: band.minDebt,
|
|
55
|
+
maxDebt: band.maxDebt,
|
|
56
|
+
underlying: toToken(sdk, underlying),
|
|
57
|
+
allowZero: true
|
|
58
|
+
}), debt > band.maxDebt ? `debt ${debt} exceeds maxDebt ${band.maxDebt}` : `debt ${debt} is below minDebt ${band.minDebt}`);
|
|
49
59
|
}
|
|
50
60
|
//#endregion
|
|
51
61
|
export { assertDebtInBand, assertLeverageAtLeastOne, debtForLeverage, maxProportionalWithdrawal, proportionalDebt };
|
|
@@ -30,7 +30,7 @@ function maxWithdrawCollateral(props) {
|
|
|
30
30
|
const underlying = market.pool.underlying;
|
|
31
31
|
const target = creditAccount.tokens.find((t) => eq(t.token, token));
|
|
32
32
|
if (!target || target.balance <= 10n) return 0n;
|
|
33
|
-
if (creditAccount.
|
|
33
|
+
if (creditAccount.totalDebt === 0n) return target.balance;
|
|
34
34
|
const masked = creditAccount.enabledTokensMask !== 0n;
|
|
35
35
|
const counts = (t) => t.balance > 10n && (!masked || (t.mask & creditAccount.enabledTokensMask) !== 0n);
|
|
36
36
|
/** What a holding backs, in the check's units: USD × PERCENTAGE_FACTOR. */
|
|
@@ -47,7 +47,7 @@ function maxWithdrawCollateral(props) {
|
|
|
47
47
|
if (eq(t.token, token) || !counts(t)) continue;
|
|
48
48
|
otherMoney += weigh(t);
|
|
49
49
|
}
|
|
50
|
-
const borrowed = usd(priceOracle, underlying, creditAccount.
|
|
50
|
+
const borrowed = usd(priceOracle, underlying, creditAccount.totalDebt);
|
|
51
51
|
if (borrowed === void 0 || borrowed <= 0n) return 0n;
|
|
52
52
|
const required = borrowed * targetHF;
|
|
53
53
|
if (required <= otherMoney) return target.balance;
|
|
@@ -56,8 +56,8 @@ function maxWithdrawCollateral(props) {
|
|
|
56
56
|
const targetLt = BigInt(creditManager.liquidationThresholds.get(target.token) ?? 0);
|
|
57
57
|
const targetUsd = safeUsd(priceOracle, target.token, target.balance);
|
|
58
58
|
if (targetLt === 0n || !targetUsd) return 0n;
|
|
59
|
-
const keptUsd = ceilDiv(shortfall, targetLt);
|
|
60
|
-
const kept = ceilDiv(target.balance * keptUsd, targetUsd);
|
|
59
|
+
const keptUsd = BigIntMath.ceilDiv(shortfall, targetLt);
|
|
60
|
+
const kept = BigIntMath.ceilDiv(target.balance * keptUsd, targetUsd);
|
|
61
61
|
return kept >= target.balance ? 0n : target.balance - kept;
|
|
62
62
|
}
|
|
63
63
|
/** USD value at the main feed, or `undefined` when the token has no price. */
|
|
@@ -81,8 +81,5 @@ function safeUsd(oracle, token, amount) {
|
|
|
81
81
|
return main;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
function ceilDiv(a, b) {
|
|
85
|
-
return (a + b - 1n) / b;
|
|
86
|
-
}
|
|
87
84
|
//#endregion
|
|
88
85
|
export { maxWithdrawCollateral };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import "../../
|
|
2
|
-
import { IntentPreviewError } from "./types.js";
|
|
3
|
-
import { convertAmount } from "./utils/convert-amount.js";
|
|
1
|
+
import { IntentPreviewError } from "../../validation/refusal.js";
|
|
4
2
|
import { assertCanBorrow, assertCollateralised, assertGrowthAllowed, assertMarketOperable, assertQuotaHeadroom } from "./guards.js";
|
|
5
|
-
import { assertDebtInBand, debtForLeverage } from "./math.js";
|
|
3
|
+
import { assertDebtInBand, assertLeverageAtLeastOne, debtForLeverage } from "./math.js";
|
|
4
|
+
import { collectPriceImpact } from "./utils/price-impact.js";
|
|
6
5
|
import { getQuotasForUpdate } from "./utils/quotas-for-update.js";
|
|
7
6
|
import { createRouterPaths } from "./utils/router-path.js";
|
|
8
7
|
import "./utils/index.js";
|
|
@@ -10,7 +9,8 @@ import "./utils/index.js";
|
|
|
10
9
|
/** Stand-in account address: nothing exists on chain until the tx lands. */
|
|
11
10
|
const NO_ACCOUNT = "0x0000000000000000000000000000000000000000";
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
12
|
+
* Builds the state opening a leveraged position out of wallet collateral would
|
|
13
|
+
* reach.
|
|
14
14
|
*
|
|
15
15
|
* Debt follows from the target leverage against the supplied margin
|
|
16
16
|
* (`debt = margin * (L - 1)`, `totalValue = margin * L`); the collateral and the
|
|
@@ -20,16 +20,16 @@ const NO_ACCOUNT = "0x0000000000000000000000000000000000000000";
|
|
|
20
20
|
* no operation list — the caller passes the numbers and calls straight to
|
|
21
21
|
* `sdk.accounts.openCA`.
|
|
22
22
|
*/
|
|
23
|
-
async function
|
|
23
|
+
async function buildOpenStrategyState(props) {
|
|
24
24
|
const { sdk, creditManager, collateral, targetToken, leverage, slippage = 0, quotaReserve, leftoverBalances = [] } = props;
|
|
25
|
-
|
|
25
|
+
assertLeverageAtLeastOne(leverage);
|
|
26
26
|
const suite = sdk.marketRegister.findCreditManager(creditManager);
|
|
27
27
|
const market = sdk.marketRegister.findByCreditManager(creditManager);
|
|
28
28
|
assertMarketOperable(suite);
|
|
29
29
|
const underlying = market.pool.underlying.toLowerCase();
|
|
30
|
-
const convert =
|
|
30
|
+
const convert = (from, to, amount) => market.priceOracle.safeConvert(from, to, amount) ?? 0n;
|
|
31
31
|
const margin = collateral.reduce((acc, a) => acc + convert(a.token, underlying, a.balance), 0n);
|
|
32
|
-
if (margin <= 0n) throw new IntentPreviewError("insufficientSourceBalance", "openStrategy: collateral is worth nothing in underlying");
|
|
32
|
+
if (margin <= 0n) throw new IntentPreviewError("insufficientSourceBalance", void 0, "openStrategy: collateral is worth nothing in underlying");
|
|
33
33
|
const debt = debtForLeverage(margin, leverage);
|
|
34
34
|
const account = {
|
|
35
35
|
creditAccount: NO_ACCOUNT,
|
|
@@ -38,17 +38,19 @@ async function previewOpenStrategy(props) {
|
|
|
38
38
|
underlying,
|
|
39
39
|
enabledTokensMask: 0n,
|
|
40
40
|
totalDebtUSD: 0n,
|
|
41
|
-
|
|
41
|
+
totalDebt: 0n,
|
|
42
42
|
tokens: []
|
|
43
43
|
};
|
|
44
|
-
assertDebtInBand(debt, suite.creditFacade);
|
|
45
|
-
assertCanBorrow(suite, debt);
|
|
46
|
-
const
|
|
44
|
+
assertDebtInBand(sdk, debt, suite.creditFacade, underlying);
|
|
45
|
+
assertCanBorrow(sdk, suite, debt);
|
|
46
|
+
const paths = createRouterPaths({
|
|
47
47
|
sdk,
|
|
48
48
|
creditAccount: account,
|
|
49
49
|
slippage
|
|
50
|
-
})
|
|
51
|
-
|
|
50
|
+
});
|
|
51
|
+
const expectedBalances = mergeExpectedBalances(collateral, underlying, debt);
|
|
52
|
+
const leg = await paths.openStrategy({
|
|
53
|
+
expectedBalances,
|
|
52
54
|
leftoverBalances,
|
|
53
55
|
target: targetToken
|
|
54
56
|
});
|
|
@@ -75,7 +77,7 @@ async function previewOpenStrategy(props) {
|
|
|
75
77
|
before: [],
|
|
76
78
|
after: averageAssets
|
|
77
79
|
});
|
|
78
|
-
assertQuotaHeadroom(market, averageQuota);
|
|
80
|
+
assertQuotaHeadroom(sdk, market, averageQuota);
|
|
79
81
|
const snapshot = {
|
|
80
82
|
creditManager,
|
|
81
83
|
assets: averageAssets,
|
|
@@ -83,24 +85,22 @@ async function previewOpenStrategy(props) {
|
|
|
83
85
|
totalDebt: debt,
|
|
84
86
|
totalValue: margin + debt
|
|
85
87
|
};
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
borrowRate: sdk.positions.borrowRate(snapshot, projectedPool),
|
|
90
|
-
timeToLiquidation: sdk.positions.timeToLiquidation(snapshot, projectedPool),
|
|
91
|
-
liquidationPrice: sdk.positions.liquidationPrice(snapshot)
|
|
92
|
-
};
|
|
93
|
-
assertCollateralised(metrics.healthFactor);
|
|
94
|
-
return {
|
|
95
|
-
debt,
|
|
96
|
-
collateral: margin,
|
|
88
|
+
const { assets: _assets, quotas: _quotas, ...projection } = sdk.positions.projection(snapshot, { availableLiquidityChange: -debt });
|
|
89
|
+
assertCollateralised(projection.healthFactor, false);
|
|
90
|
+
const priceImpact = await collectPriceImpact(leg.probe ? [leg.probe] : [], {
|
|
97
91
|
totalValue: margin + debt,
|
|
92
|
+
netValue: margin,
|
|
93
|
+
toUnderlying: (from, amount) => convert(from, underlying, amount)
|
|
94
|
+
});
|
|
95
|
+
return {
|
|
96
|
+
...projection,
|
|
97
|
+
currentPrice: sdk.positions.currentPrice(snapshot),
|
|
98
|
+
priceImpact,
|
|
98
99
|
averageAssets: averageAssets.map(priced),
|
|
99
100
|
minAssets: minAssets.map(priced),
|
|
100
101
|
averageQuota,
|
|
101
102
|
minQuota,
|
|
102
|
-
calls: [...leg.calls]
|
|
103
|
-
...metrics
|
|
103
|
+
calls: [...leg.calls]
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
106
|
/** Collateral plus the borrowed underlying, folded into one balance per token. */
|
|
@@ -130,4 +130,4 @@ function toAssets(balances) {
|
|
|
130
130
|
}));
|
|
131
131
|
}
|
|
132
132
|
//#endregion
|
|
133
|
-
export {
|
|
133
|
+
export { buildOpenStrategyState };
|