@gearbox-protocol/sdk 16.0.0-next.21 → 16.0.0-next.22
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/onchain/accounts/index.js +5 -0
- package/dist/cjs/onchain/accounts/intents/utils/quotas-for-update.js +2 -2
- package/dist/cjs/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.js +3 -3
- package/dist/cjs/onchain/index.js +12 -0
- package/dist/cjs/onchain/market/adapters/contracts/AbstractAdapter.js +2 -2
- package/dist/cjs/onchain/utils/index.js +7 -0
- package/dist/cjs/{common-utils → onchain}/utils/trace.js +1 -1
- package/dist/cjs/preview/preview/buildDelayedPreview.js +0 -1
- package/dist/cjs/preview/trace/extractAdapterCallTraces.js +2 -2
- package/dist/cjs/preview/trace/findFacadeCalls.js +2 -2
- package/dist/cjs/rewards/rewards/api.js +0 -1
- package/dist/cjs/rewards/rewards/extra-apy.js +0 -1
- package/dist/esm/dev/AccountOpener.js +1 -1
- package/dist/esm/dev/withdrawalUtils.js +1 -1
- package/dist/esm/onchain/accounts/CreditAccountsServiceV310.js +2 -2
- package/dist/esm/onchain/accounts/index.js +2 -1
- package/dist/esm/onchain/accounts/intents/utils/quotas-for-update.js +1 -1
- package/dist/esm/onchain/accounts/liquidations/LiquidationsService.js +1 -1
- package/dist/esm/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.js +3 -3
- package/dist/esm/onchain/accounts/withdrawal-compressor/RedemptionLoggerV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV310Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV311Contract.js +1 -1
- package/dist/esm/onchain/accounts/withdrawal-compressor/WithdrawalCompressorV313Contract.js +1 -1
- package/dist/esm/onchain/base/TokensMeta.js +3 -3
- package/dist/esm/onchain/chain/detectNetwork.js +1 -1
- package/dist/esm/onchain/core/createAddressProvider.js +1 -1
- package/dist/esm/onchain/index.js +3 -1
- package/dist/esm/onchain/market/adapters/contracts/AbstractAdapter.js +1 -1
- package/dist/esm/onchain/market/adapters/contracts/AccountMigratorAdapterContract.js +1 -1
- package/dist/esm/onchain/market/adapters/contracts/ERC4626AdapterContract.js +1 -1
- package/dist/esm/onchain/market/credit/CreditFacadeV310BaseContract.js +1 -1
- package/dist/esm/onchain/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/onchain/market/zapper/IETHZapperContract.js +1 -1
- package/dist/esm/onchain/market/zapper/ZapperContract.js +1 -1
- package/dist/esm/onchain/pools/PoolService.js +1 -1
- package/dist/esm/onchain/utils/index.js +2 -1
- package/dist/esm/{common-utils → onchain}/utils/trace.js +1 -1
- package/dist/esm/onchain/utils/viem/simulateWithPriceUpdates.js +1 -1
- package/dist/esm/preview/preview/buildDelayedPreview.js +0 -1
- package/dist/esm/preview/simulate/simulatePoolOperation.js +1 -1
- 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/rewards/rewards/api.js +0 -1
- package/dist/esm/rewards/rewards/extra-apy.js +0 -1
- package/dist/types/history/classifyMulticallOperations.d.ts +1 -1
- package/dist/types/onchain/accounts/index.d.ts +2 -1
- package/dist/types/onchain/accounts/intents/operations.d.ts +1 -1
- package/dist/types/{common-utils/utils/creditAccount → onchain/accounts}/quota-utils.d.ts +3 -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/index.d.ts +5 -3
- package/dist/types/onchain/market/adapters/contracts/AbstractAdapter.d.ts +1 -1
- package/dist/types/onchain/market/adapters/contracts/AccountMigratorAdapterContract.d.ts +1 -1
- package/dist/types/onchain/market/credit/index.d.ts +2 -2
- package/dist/types/onchain/market/credit/types.d.ts +10 -1
- package/dist/types/onchain/market/index.d.ts +2 -2
- 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/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/rewards/rewards/extra-apy.d.ts +1 -1
- package/package.json +1 -6
- 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-payload.js +0 -1
- 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/credit-sessions-payload.js +0 -1
- 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 -191
- 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 -105
- 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/creditAccount/types.js +0 -1
- package/dist/cjs/common-utils/utils/index.js +0 -175
- 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 -121
- 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/credit-manager-issues.js +0 -135
- package/dist/cjs/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +0 -297
- 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 -23
- package/dist/cjs/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +0 -9
- package/dist/cjs/common-utils/utils/strategies/strategy-info/types.js +0 -1
- 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/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/apy/types.js +0 -1
- 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/plugins/remote-configs/types.js +0 -1
- 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-payload.js +0 -1
- 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/credit-sessions-payload.js +0 -1
- 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 -87
- 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 -93
- 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/creditAccount/types.js +0 -1
- package/dist/esm/common-utils/utils/index.js +0 -81
- 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 -66
- 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/credit-manager-issues.js +0 -133
- package/dist/esm/common-utils/utils/strategies/strategy-info/get-cm-you-can-earn.js +0 -296
- 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 -12
- package/dist/esm/common-utils/utils/strategies/strategy-info/is-strategy-cm-disabled.js +0 -8
- package/dist/esm/common-utils/utils/strategies/strategy-info/types.js +0 -1
- 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/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/apy/types.js +0 -1
- 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/plugins/remote-configs/types.js +0 -1
- 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 -107
- 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 -93
- 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 -78
- 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/credit-manager-issues.d.ts +0 -34
- 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-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 -12
- 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/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
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_math = require("../../../../onchain/constants/math.js");
|
|
3
|
-
require("../../constants.js");
|
|
4
|
-
const require_common_utils_utils_creditAccount_calc_overall_apy = require("../../creditAccount/calc-overall-apy.js");
|
|
5
|
-
const require_common_utils_utils_strategies_tokens_is_apy_with_points_exception = require("../tokens/is-apy-with-points-exception.js");
|
|
6
|
-
//#region src/common-utils/utils/strategies/strategy-info/calculate-total-apy.ts
|
|
7
|
-
function calculateTotalAPY({ caAssets, lpAPY, pointsInfo, isValueTo, debt, totalValue, effectiveBorrowRate, showAPY, prices, quotaRates, quotas, feeInterest, underlyingToken, tokensList }) {
|
|
8
|
-
const pointsWithAPY = (lpAPY?.[pointsInfo?.address || ""] || 0) > 0;
|
|
9
|
-
if (pointsInfo?.address && !pointsWithAPY && !require_common_utils_utils_strategies_tokens_is_apy_with_points_exception.isApyWithPointsException(pointsInfo?.address)) return isValueTo ? {
|
|
10
|
-
overallAPY: null,
|
|
11
|
-
overallAPYBigInt: null,
|
|
12
|
-
overallAPYStatus: "pointsNoAPY"
|
|
13
|
-
} : {
|
|
14
|
-
overallAPY: void 0,
|
|
15
|
-
overallAPYBigInt: void 0,
|
|
16
|
-
overallAPYStatus: "pointsNoAPY"
|
|
17
|
-
};
|
|
18
|
-
if (pointsWithAPY && (debt === 0n || totalValue === 0n || caAssets.length === 0 || effectiveBorrowRate === 0)) return {
|
|
19
|
-
overallAPY: void 0,
|
|
20
|
-
overallAPYBigInt: void 0,
|
|
21
|
-
overallAPYStatus: "noAPY"
|
|
22
|
-
};
|
|
23
|
-
if (!showAPY) return {
|
|
24
|
-
overallAPY: null,
|
|
25
|
-
overallAPYBigInt: null,
|
|
26
|
-
overallAPYStatus: "notEnoughFarmAssets"
|
|
27
|
-
};
|
|
28
|
-
const r = require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY({
|
|
29
|
-
caAssets,
|
|
30
|
-
lpAPY,
|
|
31
|
-
prices,
|
|
32
|
-
quotaRates,
|
|
33
|
-
quotas,
|
|
34
|
-
feeInterest,
|
|
35
|
-
totalValue,
|
|
36
|
-
debt,
|
|
37
|
-
baseRateWithFee: effectiveBorrowRate,
|
|
38
|
-
underlyingToken,
|
|
39
|
-
tokensList
|
|
40
|
-
});
|
|
41
|
-
if (r === void 0) return {
|
|
42
|
-
overallAPY: void 0,
|
|
43
|
-
overallAPYBigInt: void 0,
|
|
44
|
-
overallAPYStatus: "noAPY"
|
|
45
|
-
};
|
|
46
|
-
const apy = Number(r) / Number(require_onchain_constants_math.PERCENTAGE_FACTOR);
|
|
47
|
-
if (pointsWithAPY && !require_common_utils_utils_strategies_tokens_is_apy_with_points_exception.isApyWithPointsException(pointsInfo?.address) && apy <= 0) return isValueTo ? {
|
|
48
|
-
overallAPY: null,
|
|
49
|
-
overallAPYBigInt: null,
|
|
50
|
-
overallAPYStatus: "negativeForPoints"
|
|
51
|
-
} : {
|
|
52
|
-
overallAPY: void 0,
|
|
53
|
-
overallAPYBigInt: void 0,
|
|
54
|
-
overallAPYStatus: "negativeForPoints"
|
|
55
|
-
};
|
|
56
|
-
return {
|
|
57
|
-
overallAPYStatus: "calculated",
|
|
58
|
-
overallAPY: apy,
|
|
59
|
-
overallAPYBigInt: r
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
//#endregion
|
|
63
|
-
exports.calculateTotalAPY = calculateTotalAPY;
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_math = require("../../../../onchain/constants/math.js");
|
|
3
|
-
const require_common_utils_utils_creditAccount_calc_overall_apy = require("../../creditAccount/calc-overall-apy.js");
|
|
4
|
-
const require_common_utils_utils_strategies_strategy_info_calculate_total_apy = require("./calculate-total-apy.js");
|
|
5
|
-
const require_common_utils_test_utils_index = require("../../../test-utils/index.js");
|
|
6
|
-
let vitest = require("vitest");
|
|
7
|
-
//#region src/common-utils/utils/strategies/strategy-info/calculate-total-apy.spec.ts
|
|
8
|
-
vitest.vi.mock("../../utils/creditAccount/calc-overall-apy.js", async () => {
|
|
9
|
-
const actual = await vitest.vi.importActual("../../utils/creditAccount/calc-overall-apy.js");
|
|
10
|
-
return {
|
|
11
|
-
...actual,
|
|
12
|
-
calcOverallAPY: vitest.vi.fn(actual.calcOverallAPY)
|
|
13
|
-
};
|
|
14
|
-
});
|
|
15
|
-
const buildLpAPYList = (entries) => entries.reduce((acc, { token, apy }) => {
|
|
16
|
-
acc[token] = apy;
|
|
17
|
-
return acc;
|
|
18
|
-
}, {});
|
|
19
|
-
(0, vitest.describe)("calculateTotalAPY", () => {
|
|
20
|
-
const baseArgs = {
|
|
21
|
-
caAssets: [{
|
|
22
|
-
token: require_common_utils_test_utils_index.mockToken1,
|
|
23
|
-
balance: 1n
|
|
24
|
-
}],
|
|
25
|
-
lpAPY: buildLpAPYList([{
|
|
26
|
-
token: require_common_utils_test_utils_index.mockToken1,
|
|
27
|
-
apy: 1
|
|
28
|
-
}]),
|
|
29
|
-
pointsInfo: { address: require_common_utils_test_utils_index.mockToken1 },
|
|
30
|
-
isValueTo: false,
|
|
31
|
-
debt: 1n,
|
|
32
|
-
totalValue: 1n,
|
|
33
|
-
effectiveBorrowRate: 1,
|
|
34
|
-
showAPY: true,
|
|
35
|
-
prices: require_common_utils_test_utils_index.mockPrices,
|
|
36
|
-
quotaRates: {},
|
|
37
|
-
quotas: {},
|
|
38
|
-
feeInterest: 0,
|
|
39
|
-
underlyingToken: require_common_utils_test_utils_index.mockUnderlyingToken,
|
|
40
|
-
tokensList: require_common_utils_test_utils_index.mockTokenData
|
|
41
|
-
};
|
|
42
|
-
(0, vitest.afterEach)(() => {
|
|
43
|
-
vitest.vi.clearAllMocks();
|
|
44
|
-
vitest.vi.restoreAllMocks();
|
|
45
|
-
});
|
|
46
|
-
(0, vitest.it)("returns pointsNoAPY undefined for valueFrom when points have no APY", () => {
|
|
47
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY({
|
|
48
|
-
...baseArgs,
|
|
49
|
-
lpAPY: buildLpAPYList([])
|
|
50
|
-
});
|
|
51
|
-
(0, vitest.expect)(result).toEqual({
|
|
52
|
-
overallAPY: void 0,
|
|
53
|
-
overallAPYBigInt: void 0,
|
|
54
|
-
overallAPYStatus: "pointsNoAPY"
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
(0, vitest.it)("returns pointsNoAPY null for valueTo when points have no APY", () => {
|
|
58
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY({
|
|
59
|
-
...baseArgs,
|
|
60
|
-
lpAPY: buildLpAPYList([]),
|
|
61
|
-
isValueTo: true
|
|
62
|
-
});
|
|
63
|
-
(0, vitest.expect)(result).toEqual({
|
|
64
|
-
overallAPY: null,
|
|
65
|
-
overallAPYBigInt: null,
|
|
66
|
-
overallAPYStatus: "pointsNoAPY"
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
(0, vitest.it)("returns noAPY when pointsWithAPY but missing required values", () => {
|
|
70
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY({
|
|
71
|
-
...baseArgs,
|
|
72
|
-
debt: 0n
|
|
73
|
-
});
|
|
74
|
-
(0, vitest.expect)(result).toEqual({
|
|
75
|
-
overallAPY: void 0,
|
|
76
|
-
overallAPYBigInt: void 0,
|
|
77
|
-
overallAPYStatus: "noAPY"
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
(0, vitest.it)("returns notEnoughFarmAssets when showAPY is false", () => {
|
|
81
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY({
|
|
82
|
-
...baseArgs,
|
|
83
|
-
showAPY: false
|
|
84
|
-
});
|
|
85
|
-
(0, vitest.expect)(result).toEqual({
|
|
86
|
-
overallAPY: null,
|
|
87
|
-
overallAPYBigInt: null,
|
|
88
|
-
overallAPYStatus: "notEnoughFarmAssets"
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
(0, vitest.it)("returns noAPY when calcOverallAPY returns undefined", () => {
|
|
92
|
-
vitest.vi.mocked(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).mockReturnValue(void 0);
|
|
93
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY(baseArgs);
|
|
94
|
-
(0, vitest.expect)(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).toHaveBeenCalledWith({
|
|
95
|
-
caAssets: baseArgs.caAssets,
|
|
96
|
-
lpAPY: baseArgs.lpAPY,
|
|
97
|
-
prices: baseArgs.prices,
|
|
98
|
-
quotaRates: baseArgs.quotaRates,
|
|
99
|
-
quotas: baseArgs.quotas,
|
|
100
|
-
feeInterest: baseArgs.feeInterest,
|
|
101
|
-
totalValue: baseArgs.totalValue,
|
|
102
|
-
debt: baseArgs.debt,
|
|
103
|
-
baseRateWithFee: baseArgs.effectiveBorrowRate,
|
|
104
|
-
underlyingToken: baseArgs.underlyingToken,
|
|
105
|
-
tokensList: baseArgs.tokensList
|
|
106
|
-
});
|
|
107
|
-
(0, vitest.expect)(result).toEqual({
|
|
108
|
-
overallAPY: void 0,
|
|
109
|
-
overallAPYBigInt: void 0,
|
|
110
|
-
overallAPYStatus: "noAPY"
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
(0, vitest.it)("returns negativeForPoints undefined when APY <= 0 and valueFrom", () => {
|
|
114
|
-
vitest.vi.mocked(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).mockReturnValue(0n);
|
|
115
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY(baseArgs);
|
|
116
|
-
(0, vitest.expect)(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).toHaveBeenCalledWith({
|
|
117
|
-
caAssets: baseArgs.caAssets,
|
|
118
|
-
lpAPY: baseArgs.lpAPY,
|
|
119
|
-
prices: baseArgs.prices,
|
|
120
|
-
quotaRates: baseArgs.quotaRates,
|
|
121
|
-
quotas: baseArgs.quotas,
|
|
122
|
-
feeInterest: baseArgs.feeInterest,
|
|
123
|
-
totalValue: baseArgs.totalValue,
|
|
124
|
-
debt: baseArgs.debt,
|
|
125
|
-
baseRateWithFee: baseArgs.effectiveBorrowRate,
|
|
126
|
-
underlyingToken: baseArgs.underlyingToken,
|
|
127
|
-
tokensList: baseArgs.tokensList
|
|
128
|
-
});
|
|
129
|
-
(0, vitest.expect)(result).toEqual({
|
|
130
|
-
overallAPY: void 0,
|
|
131
|
-
overallAPYBigInt: void 0,
|
|
132
|
-
overallAPYStatus: "negativeForPoints"
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
(0, vitest.it)("returns negativeForPoints null when APY <= 0 and valueTo", () => {
|
|
136
|
-
vitest.vi.mocked(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).mockReturnValue(0n);
|
|
137
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY({
|
|
138
|
-
...baseArgs,
|
|
139
|
-
isValueTo: true
|
|
140
|
-
});
|
|
141
|
-
(0, vitest.expect)(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).toHaveBeenCalledWith({
|
|
142
|
-
caAssets: baseArgs.caAssets,
|
|
143
|
-
lpAPY: baseArgs.lpAPY,
|
|
144
|
-
prices: baseArgs.prices,
|
|
145
|
-
quotaRates: baseArgs.quotaRates,
|
|
146
|
-
quotas: baseArgs.quotas,
|
|
147
|
-
feeInterest: baseArgs.feeInterest,
|
|
148
|
-
totalValue: baseArgs.totalValue,
|
|
149
|
-
debt: baseArgs.debt,
|
|
150
|
-
baseRateWithFee: baseArgs.effectiveBorrowRate,
|
|
151
|
-
underlyingToken: baseArgs.underlyingToken,
|
|
152
|
-
tokensList: baseArgs.tokensList
|
|
153
|
-
});
|
|
154
|
-
(0, vitest.expect)(result).toEqual({
|
|
155
|
-
overallAPY: null,
|
|
156
|
-
overallAPYBigInt: null,
|
|
157
|
-
overallAPYStatus: "negativeForPoints"
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
(0, vitest.it)("returns calculated when APY is positive", () => {
|
|
161
|
-
const apyBigInt = 2n * require_onchain_constants_math.PERCENTAGE_FACTOR;
|
|
162
|
-
vitest.vi.mocked(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).mockReturnValue(apyBigInt);
|
|
163
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_apy.calculateTotalAPY(baseArgs);
|
|
164
|
-
(0, vitest.expect)(require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY).toHaveBeenCalledWith({
|
|
165
|
-
caAssets: baseArgs.caAssets,
|
|
166
|
-
lpAPY: baseArgs.lpAPY,
|
|
167
|
-
prices: baseArgs.prices,
|
|
168
|
-
quotaRates: baseArgs.quotaRates,
|
|
169
|
-
quotas: baseArgs.quotas,
|
|
170
|
-
feeInterest: baseArgs.feeInterest,
|
|
171
|
-
totalValue: baseArgs.totalValue,
|
|
172
|
-
debt: baseArgs.debt,
|
|
173
|
-
baseRateWithFee: baseArgs.effectiveBorrowRate,
|
|
174
|
-
underlyingToken: baseArgs.underlyingToken,
|
|
175
|
-
tokensList: baseArgs.tokensList
|
|
176
|
-
});
|
|
177
|
-
(0, vitest.expect)(result).toEqual({
|
|
178
|
-
overallAPYStatus: "calculated",
|
|
179
|
-
overallAPY: 2,
|
|
180
|
-
overallAPYBigInt: apyBigInt
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
//#endregion
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_utils_bigint_math = require("../../../../onchain/utils/bigint-math.js");
|
|
3
|
-
const require_onchain_constants_math = require("../../../../onchain/constants/math.js");
|
|
4
|
-
const require_common_utils_utils_price_math = require("../../price-math.js");
|
|
5
|
-
const require_common_utils_utils_strategies_points_get_points_rates = require("../points/get-points-rates.js");
|
|
6
|
-
//#region src/common-utils/utils/strategies/strategy-info/calculate-total-points.ts
|
|
7
|
-
const THRESHOLD_POINTS = 1e3;
|
|
8
|
-
function calculateTotalPoints({ pointsAsset, cmAddress, info, totalValue, assetValue, prices, tokensList, underlyingToken }) {
|
|
9
|
-
if (!pointsAsset || !info) return null;
|
|
10
|
-
if (totalValue === void 0 || totalValue <= 0n) return null;
|
|
11
|
-
if (assetValue === void 0 || assetValue <= 0n) return null;
|
|
12
|
-
const { token: tokenAddress, balance: amount } = pointsAsset;
|
|
13
|
-
const price = prices[tokenAddress] || 0n;
|
|
14
|
-
const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
|
|
15
|
-
const money = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(price, amount, tokenDecimals);
|
|
16
|
-
const underlyingPrice = prices[underlyingToken] ?? require_onchain_constants_math.PRICE_DECIMALS;
|
|
17
|
-
const { decimals: underlyingDecimals = 18 } = tokensList[underlyingToken] || {};
|
|
18
|
-
const assetAmountInUnderlying = require_common_utils_utils_price_math.PriceUtils.convertByPrice(money, {
|
|
19
|
-
price: underlyingPrice || require_onchain_constants_math.PRICE_DECIMALS,
|
|
20
|
-
decimals: underlyingDecimals
|
|
21
|
-
});
|
|
22
|
-
if (assetAmountInUnderlying * require_onchain_constants_math.PERCENTAGE_FACTOR / totalValue < THRESHOLD_POINTS) return null;
|
|
23
|
-
const leverage = assetAmountInUnderlying * require_onchain_constants_math.LEVERAGE_DECIMALS / assetValue;
|
|
24
|
-
const rates = require_common_utils_utils_strategies_points_get_points_rates.getPointsRates(info.rewards, leverage);
|
|
25
|
-
const debt = totalValue - assetValue;
|
|
26
|
-
const leverageDebt = require_onchain_utils_bigint_math.BigIntMath.min(assetAmountInUnderlying, debt > 0 ? debt : 0n) * require_onchain_constants_math.LEVERAGE_DECIMALS / assetValue;
|
|
27
|
-
const debtRewardsAvailable = (info.debtRewards || []).filter((r) => r.cm === cmAddress || r.cm === "any");
|
|
28
|
-
return {
|
|
29
|
-
info,
|
|
30
|
-
rates,
|
|
31
|
-
debtRates: {
|
|
32
|
-
rewards: debtRewardsAvailable,
|
|
33
|
-
rates: require_common_utils_utils_strategies_points_get_points_rates.getPointsRates(debtRewardsAvailable, leverageDebt)
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
exports.calculateTotalPoints = calculateTotalPoints;
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_math = require("../../../../onchain/constants/math.js");
|
|
3
|
-
const require_common_utils_utils_strategies_strategy_info_calculate_total_points = require("./calculate-total-points.js");
|
|
4
|
-
const require_common_utils_test_utils_index = require("../../../test-utils/index.js");
|
|
5
|
-
let vitest = require("vitest");
|
|
6
|
-
//#region src/common-utils/utils/strategies/strategy-info/calculate-total-points.spec.ts
|
|
7
|
-
(0, vitest.describe)("calculateTotalPoints", () => {
|
|
8
|
-
const pointsInfo = {
|
|
9
|
-
symbol: "PTS",
|
|
10
|
-
address: require_common_utils_test_utils_index.mockToken1,
|
|
11
|
-
rewards: [{
|
|
12
|
-
name: "points",
|
|
13
|
-
units: "pts",
|
|
14
|
-
multiplier: require_onchain_constants_math.LEVERAGE_DECIMALS,
|
|
15
|
-
type: "base"
|
|
16
|
-
}],
|
|
17
|
-
debtRewards: [{
|
|
18
|
-
name: "debt",
|
|
19
|
-
units: "pts",
|
|
20
|
-
multiplier: require_onchain_constants_math.LEVERAGE_DECIMALS,
|
|
21
|
-
type: "debt",
|
|
22
|
-
cm: require_common_utils_test_utils_index.mockCMAddress
|
|
23
|
-
}]
|
|
24
|
-
};
|
|
25
|
-
const baseArgs = {
|
|
26
|
-
pointsAsset: {
|
|
27
|
-
token: require_common_utils_test_utils_index.mockToken1,
|
|
28
|
-
balance: 1n
|
|
29
|
-
},
|
|
30
|
-
cmAddress: require_common_utils_test_utils_index.mockCMAddress,
|
|
31
|
-
info: pointsInfo,
|
|
32
|
-
totalValue: 10n * require_onchain_constants_math.PRICE_DECIMALS,
|
|
33
|
-
assetValue: 1n,
|
|
34
|
-
prices: require_common_utils_test_utils_index.mockPrices,
|
|
35
|
-
tokensList: require_common_utils_test_utils_index.mockTokenData,
|
|
36
|
-
underlyingToken: require_common_utils_test_utils_index.mockUnderlyingToken
|
|
37
|
-
};
|
|
38
|
-
(0, vitest.it)("returns null when no pointsAsset or info", () => {
|
|
39
|
-
(0, vitest.expect)(require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
40
|
-
...baseArgs,
|
|
41
|
-
pointsAsset: void 0
|
|
42
|
-
})).toBeNull();
|
|
43
|
-
(0, vitest.expect)(require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
44
|
-
...baseArgs,
|
|
45
|
-
info: void 0
|
|
46
|
-
})).toBeNull();
|
|
47
|
-
});
|
|
48
|
-
(0, vitest.it)("returns null when no totalValue", () => {
|
|
49
|
-
(0, vitest.expect)(require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
50
|
-
...baseArgs,
|
|
51
|
-
totalValue: void 0
|
|
52
|
-
})).toBeNull();
|
|
53
|
-
(0, vitest.expect)(require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
54
|
-
...baseArgs,
|
|
55
|
-
totalValue: 0n
|
|
56
|
-
})).toBeNull();
|
|
57
|
-
});
|
|
58
|
-
(0, vitest.it)("returns null when no assetValue", () => {
|
|
59
|
-
(0, vitest.expect)(require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
60
|
-
...baseArgs,
|
|
61
|
-
assetValue: void 0
|
|
62
|
-
})).toBeNull();
|
|
63
|
-
(0, vitest.expect)(require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
64
|
-
...baseArgs,
|
|
65
|
-
assetValue: 0n
|
|
66
|
-
})).toBeNull();
|
|
67
|
-
});
|
|
68
|
-
(0, vitest.it)("returns null when below threshold", () => {
|
|
69
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
70
|
-
...baseArgs,
|
|
71
|
-
totalValue: 10n * require_onchain_constants_math.PRICE_DECIMALS
|
|
72
|
-
});
|
|
73
|
-
(0, vitest.expect)(result).toBeNull();
|
|
74
|
-
});
|
|
75
|
-
(0, vitest.it)("returns points data when above threshold with matching debt rewards", () => {
|
|
76
|
-
const assetAmount = require_onchain_constants_math.PRICE_DECIMALS;
|
|
77
|
-
const totalValue = 4n * require_onchain_constants_math.PRICE_DECIMALS;
|
|
78
|
-
const assetValue = require_onchain_constants_math.PRICE_DECIMALS;
|
|
79
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
80
|
-
pointsAsset: {
|
|
81
|
-
token: require_common_utils_test_utils_index.mockToken1,
|
|
82
|
-
balance: assetAmount
|
|
83
|
-
},
|
|
84
|
-
cmAddress: require_common_utils_test_utils_index.mockCMAddress,
|
|
85
|
-
info: pointsInfo,
|
|
86
|
-
totalValue,
|
|
87
|
-
assetValue,
|
|
88
|
-
prices: {
|
|
89
|
-
...require_common_utils_test_utils_index.mockPrices,
|
|
90
|
-
[require_common_utils_test_utils_index.mockToken1]: 2n * require_onchain_constants_math.PRICE_DECIMALS
|
|
91
|
-
},
|
|
92
|
-
tokensList: require_common_utils_test_utils_index.mockTokenData,
|
|
93
|
-
underlyingToken: require_common_utils_test_utils_index.mockUnderlyingToken
|
|
94
|
-
});
|
|
95
|
-
(0, vitest.expect)(result?.info).toBe(pointsInfo);
|
|
96
|
-
(0, vitest.expect)(result?.rates).toEqual([2n * require_onchain_constants_math.LEVERAGE_DECIMALS]);
|
|
97
|
-
(0, vitest.expect)(result?.debtRates.rewards).toHaveLength(1);
|
|
98
|
-
(0, vitest.expect)(result?.debtRates.rates).toEqual([2n * require_onchain_constants_math.LEVERAGE_DECIMALS]);
|
|
99
|
-
});
|
|
100
|
-
(0, vitest.it)("returns points data when above threshold with matching debt rewards when debt is lower than asset amount", () => {
|
|
101
|
-
const assetAmount = require_onchain_constants_math.PRICE_DECIMALS;
|
|
102
|
-
const totalValue = 4n * require_onchain_constants_math.PRICE_DECIMALS;
|
|
103
|
-
const assetValue = require_onchain_constants_math.PRICE_DECIMALS;
|
|
104
|
-
const result = require_common_utils_utils_strategies_strategy_info_calculate_total_points.calculateTotalPoints({
|
|
105
|
-
pointsAsset: {
|
|
106
|
-
token: require_common_utils_test_utils_index.mockToken1,
|
|
107
|
-
balance: assetAmount
|
|
108
|
-
},
|
|
109
|
-
cmAddress: require_common_utils_test_utils_index.mockCMAddress,
|
|
110
|
-
info: pointsInfo,
|
|
111
|
-
totalValue,
|
|
112
|
-
assetValue,
|
|
113
|
-
prices: {
|
|
114
|
-
...require_common_utils_test_utils_index.mockPrices,
|
|
115
|
-
[require_common_utils_test_utils_index.mockToken1]: 4n * require_onchain_constants_math.PRICE_DECIMALS
|
|
116
|
-
},
|
|
117
|
-
tokensList: require_common_utils_test_utils_index.mockTokenData,
|
|
118
|
-
underlyingToken: require_common_utils_test_utils_index.mockUnderlyingToken
|
|
119
|
-
});
|
|
120
|
-
(0, vitest.expect)(result?.info).toBe(pointsInfo);
|
|
121
|
-
(0, vitest.expect)(result?.rates).toEqual([4n * require_onchain_constants_math.LEVERAGE_DECIMALS]);
|
|
122
|
-
(0, vitest.expect)(result?.debtRates.rewards).toHaveLength(1);
|
|
123
|
-
(0, vitest.expect)(result?.debtRates.rates).toEqual([3n * require_onchain_constants_math.LEVERAGE_DECIMALS]);
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
//#endregion
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_common_utils_utils_strategies_availability_check_boolean = require("../availability/check-boolean.js");
|
|
3
|
-
const require_common_utils_utils_strategies_availability_check_degen_nft = require("../availability/check-degen-nft.js");
|
|
4
|
-
require("../availability/index.js");
|
|
5
|
-
const require_common_utils_utils_strategies_strategy_info_credit_manager_issues = require("./credit-manager-issues.js");
|
|
6
|
-
//#region src/common-utils/utils/strategies/strategy-info/cm-availability-condition.ts
|
|
7
|
-
function cmAvailabilityCondition(targetToken, cmA, cmB, pools) {
|
|
8
|
-
const aHasMinError = require_common_utils_utils_strategies_strategy_info_credit_manager_issues.checkOpenAccountCeilings({
|
|
9
|
-
pool: pools?.[cmA.pool],
|
|
10
|
-
debt: cmA.minDebt,
|
|
11
|
-
creditManager: cmA,
|
|
12
|
-
targetToken
|
|
13
|
-
});
|
|
14
|
-
const bHasMinError = require_common_utils_utils_strategies_strategy_info_credit_manager_issues.checkOpenAccountCeilings({
|
|
15
|
-
pool: pools?.[cmB.pool],
|
|
16
|
-
debt: cmB.minDebt,
|
|
17
|
-
creditManager: cmB,
|
|
18
|
-
targetToken
|
|
19
|
-
});
|
|
20
|
-
const minSort = require_common_utils_utils_strategies_availability_check_boolean.checkBoolean(!aHasMinError, !bHasMinError);
|
|
21
|
-
if (minSort !== 0) return minSort;
|
|
22
|
-
const { freeOfNFT: aFreeOfNFT } = require_common_utils_utils_strategies_availability_check_degen_nft.checkDegenNFT(cmA);
|
|
23
|
-
const { freeOfNFT: bFreeOfNFT } = require_common_utils_utils_strategies_availability_check_degen_nft.checkDegenNFT(cmB);
|
|
24
|
-
const nftSort = require_common_utils_utils_strategies_availability_check_boolean.checkBoolean(aFreeOfNFT, bFreeOfNFT);
|
|
25
|
-
if (nftSort !== 0) return nftSort;
|
|
26
|
-
const aHasMaxError = require_common_utils_utils_strategies_strategy_info_credit_manager_issues.checkOpenAccountCeilings({
|
|
27
|
-
pool: pools?.[cmA.pool],
|
|
28
|
-
debt: cmA.maxDebt,
|
|
29
|
-
creditManager: cmA,
|
|
30
|
-
targetToken
|
|
31
|
-
});
|
|
32
|
-
const bHasMaxError = require_common_utils_utils_strategies_strategy_info_credit_manager_issues.checkOpenAccountCeilings({
|
|
33
|
-
pool: pools?.[cmB.pool],
|
|
34
|
-
debt: cmB.maxDebt,
|
|
35
|
-
creditManager: cmB,
|
|
36
|
-
targetToken
|
|
37
|
-
});
|
|
38
|
-
const maxSort = require_common_utils_utils_strategies_availability_check_boolean.checkBoolean(!aHasMaxError, !bHasMaxError);
|
|
39
|
-
if (maxSort !== 0) return maxSort;
|
|
40
|
-
return 0;
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
exports.cmAvailabilityCondition = cmAvailabilityCondition;
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_utils_bigint_math = require("../../../../onchain/utils/bigint-math.js");
|
|
3
|
-
const require_onchain_validation_checks = require("../../../../onchain/validation/checks.js");
|
|
4
|
-
require("../../../../onchain/index.js");
|
|
5
|
-
//#region src/common-utils/utils/strategies/strategy-info/credit-manager-issues.ts
|
|
6
|
-
/**
|
|
7
|
-
* The ladders below are the order the strategy lists report in, which is theirs
|
|
8
|
-
* to decide — the engine weighs the same ceilings differently and says so.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* The lists hold no token registry, so only the address is real here — these
|
|
12
|
-
* issues are read as a reason, not rendered as an amount.
|
|
13
|
-
*/
|
|
14
|
-
function tokenOf(chainId, address) {
|
|
15
|
-
return {
|
|
16
|
-
chainId,
|
|
17
|
-
address,
|
|
18
|
-
symbol: address,
|
|
19
|
-
name: "",
|
|
20
|
-
decimals: 0
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* The debt ceilings an account opening runs into, in the order a form reports
|
|
25
|
-
* them. The minimum debt is what is weighed — asking for less does not make it
|
|
26
|
-
* fit.
|
|
27
|
-
*/
|
|
28
|
-
function checkOpenAccountCeilings(args) {
|
|
29
|
-
const { creditManager, pool, debt, targetToken } = args;
|
|
30
|
-
const underlying = tokenOf(creditManager.chainId, creditManager.underlyingToken);
|
|
31
|
-
const effectiveDebt = require_onchain_utils_bigint_math.BigIntMath.max(creditManager.minDebt, debt);
|
|
32
|
-
const debtLimitLeft = require_onchain_utils_bigint_math.BigIntMath.max(creditManager.totalDebtLimit - creditManager.totalDebt, 0n);
|
|
33
|
-
const { totalDebtLimit = 0n, totalBorrowed = 0n } = pool || {};
|
|
34
|
-
const poolDebtLimitLeft = totalDebtLimit - totalBorrowed;
|
|
35
|
-
const canOpenMinDebt = creditManager.minDebt <= debtLimitLeft && creditManager.minDebt <= poolDebtLimitLeft && creditManager.minDebt <= creditManager.availableToBorrow;
|
|
36
|
-
const minPositionSize = require_onchain_utils_bigint_math.BigIntMath.min(require_onchain_utils_bigint_math.BigIntMath.min(debtLimitLeft, poolDebtLimitLeft), creditManager.availableToBorrow);
|
|
37
|
-
const ceilings = [
|
|
38
|
-
...creditManager.totalDebtLimit >= 0n ? [{
|
|
39
|
-
available: debtLimitLeft,
|
|
40
|
-
binding: "managerDebtAvailable"
|
|
41
|
-
}] : [],
|
|
42
|
-
...totalDebtLimit > 0n ? [{
|
|
43
|
-
available: poolDebtLimitLeft,
|
|
44
|
-
binding: "poolDebtLimit"
|
|
45
|
-
}] : [],
|
|
46
|
-
{
|
|
47
|
-
available: creditManager.availableToBorrow,
|
|
48
|
-
binding: "poolAvailableLiquidity"
|
|
49
|
-
}
|
|
50
|
-
];
|
|
51
|
-
for (const { available, binding } of ceilings) {
|
|
52
|
-
const issue = require_onchain_validation_checks.checkBorrowLimit({
|
|
53
|
-
requested: effectiveDebt,
|
|
54
|
-
available,
|
|
55
|
-
binding,
|
|
56
|
-
underlying,
|
|
57
|
-
solutionAmount: canOpenMinDebt ? minPositionSize : void 0
|
|
58
|
-
});
|
|
59
|
-
if (issue) return issue;
|
|
60
|
-
}
|
|
61
|
-
if (targetToken !== null) return quotaIssue(creditManager, targetToken, effectiveDebt, underlying);
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
/** The room the keeper has left for a token, read off a slice. */
|
|
65
|
-
function quotaIssue(creditManager, token, requested, underlying) {
|
|
66
|
-
const quota = creditManager.quotas[token];
|
|
67
|
-
if (!quota) return null;
|
|
68
|
-
const realLimit = quota.isActive ? quota.limit : 0n;
|
|
69
|
-
return require_onchain_validation_checks.checkQuotaLimit({
|
|
70
|
-
token: tokenOf(creditManager.chainId, token),
|
|
71
|
-
requested,
|
|
72
|
-
available: realLimit - quota.totalQuoted,
|
|
73
|
-
underlying
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
/** Everything the lists weigh before calling a manager usable, in their order. */
|
|
77
|
-
function checkCreditManagerUsable(args) {
|
|
78
|
-
const { creditManager, pool, debt, targetToken } = args;
|
|
79
|
-
const { chainId } = creditManager;
|
|
80
|
-
const underlying = tokenOf(chainId, creditManager.underlyingToken);
|
|
81
|
-
return require_onchain_validation_checks.checkCreditManagerPaused({
|
|
82
|
-
isPaused: creditManager.isPaused,
|
|
83
|
-
creditManager: creditManager.address
|
|
84
|
-
}) || checkOpenAccountCeilings({
|
|
85
|
-
creditManager,
|
|
86
|
-
pool,
|
|
87
|
-
debt,
|
|
88
|
-
targetToken
|
|
89
|
-
}) || (args.tokenToObtain === null ? null : require_onchain_validation_checks.checkForbiddenToken({
|
|
90
|
-
token: tokenOf(chainId, args.tokenToObtain),
|
|
91
|
-
isForbidden: creditManager.isForbidden(args.tokenToObtain)
|
|
92
|
-
})) || fundingIssue(chainId, args.collateral, args.balances) || require_onchain_validation_checks.checkDebtInBand({
|
|
93
|
-
debt,
|
|
94
|
-
minDebt: creditManager.minDebt,
|
|
95
|
-
maxDebt: creditManager.maxDebt,
|
|
96
|
-
underlying,
|
|
97
|
-
allowZero: false
|
|
98
|
-
}) || require_onchain_validation_checks.checkQuotaCount({
|
|
99
|
-
count: Object.values(args.desiredQuota).filter((a) => a.balance > 0n).length,
|
|
100
|
-
max: creditManager.maxEnabledTokensLength
|
|
101
|
-
}) || quotaUpdateIssue(creditManager, args.quotaUpdate, underlying) || require_onchain_validation_checks.checkCollateralised({
|
|
102
|
-
healthFactor: args.healthFactor,
|
|
103
|
-
required: 10101,
|
|
104
|
-
safePrices: false
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* The first asset the wallet cannot fund.
|
|
109
|
-
*
|
|
110
|
-
* The lookup lowercases because the balance map is keyed that way while a
|
|
111
|
-
* market names its tokens as it spells them.
|
|
112
|
-
*/
|
|
113
|
-
function fundingIssue(chainId, collateral, balances) {
|
|
114
|
-
for (const { token, balance } of collateral) {
|
|
115
|
-
const held = balances[token.toLowerCase()] || 0n;
|
|
116
|
-
const issue = require_onchain_validation_checks.checkFunding({
|
|
117
|
-
token: tokenOf(chainId, token),
|
|
118
|
-
required: balance,
|
|
119
|
-
held
|
|
120
|
-
});
|
|
121
|
-
if (issue) return issue;
|
|
122
|
-
}
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
function quotaUpdateIssue(creditManager, quotaUpdate, underlying) {
|
|
126
|
-
for (const { token, balance: updateBy } of quotaUpdate) {
|
|
127
|
-
if (updateBy <= 0n) continue;
|
|
128
|
-
const issue = quotaIssue(creditManager, token, updateBy, underlying);
|
|
129
|
-
if (issue) return issue;
|
|
130
|
-
}
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
//#endregion
|
|
134
|
-
exports.checkCreditManagerUsable = checkCreditManagerUsable;
|
|
135
|
-
exports.checkOpenAccountCeilings = checkOpenAccountCeilings;
|