@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,21 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_common_utils_utils_apy_bonus_apy_from_points = require("./bonus-apy-from-points.js");
|
|
3
|
-
const require_common_utils_utils_apy_calculate_borrow_rate_from_utilization = require("./calculate-borrow-rate-from-utilization.js");
|
|
4
|
-
const require_common_utils_utils_apy_calculate_earnings = require("./calculate-earnings.js");
|
|
5
|
-
const require_common_utils_utils_apy_calculate_effective_borrow_rate = require("./calculate-effective-borrow-rate.js");
|
|
6
|
-
const require_common_utils_utils_apy_calculate_safe_borrow_rate = require("./calculate-safe-borrow-rate.js");
|
|
7
|
-
const require_common_utils_utils_apy_get_complex_apy_list = require("./get-complex-apy-list.js");
|
|
8
|
-
const require_common_utils_utils_apy_get_rate_with_fee = require("./get-rate-with-fee.js");
|
|
9
|
-
const require_common_utils_utils_apy_get_safe_base_borrow_rate = require("./get-safe-base-borrow-rate.js");
|
|
10
|
-
const require_common_utils_utils_apy_get_single_quota_borrow_rate = require("./get-single-quota-borrow-rate.js");
|
|
11
|
-
const require_common_utils_utils_apy_max_apy_formula = require("./max-apy-formula.js");
|
|
12
|
-
exports.BONUS_APY_FROM_POINTS = require_common_utils_utils_apy_bonus_apy_from_points.BONUS_APY_FROM_POINTS;
|
|
13
|
-
exports.calculateBorrowRateFromUtilization = require_common_utils_utils_apy_calculate_borrow_rate_from_utilization.calculateBorrowRateFromUtilization;
|
|
14
|
-
exports.calculateEarnings = require_common_utils_utils_apy_calculate_earnings.calculateEarnings;
|
|
15
|
-
exports.calculateEffectiveBorrowRate = require_common_utils_utils_apy_calculate_effective_borrow_rate.calculateEffectiveBorrowRate;
|
|
16
|
-
exports.calculateSafeBorrowRate = require_common_utils_utils_apy_calculate_safe_borrow_rate.calculateSafeBorrowRate;
|
|
17
|
-
exports.getComplexAPYList = require_common_utils_utils_apy_get_complex_apy_list.getComplexAPYList;
|
|
18
|
-
exports.getRateWithFee = require_common_utils_utils_apy_get_rate_with_fee.getRateWithFee;
|
|
19
|
-
exports.getSafeBaseBorrowRate = require_common_utils_utils_apy_get_safe_base_borrow_rate.getSafeBaseBorrowRate;
|
|
20
|
-
exports.getSingleQuotaBorrowRate = require_common_utils_utils_apy_get_single_quota_borrow_rate.getSingleQuotaBorrowRate;
|
|
21
|
-
exports.maxAPYFormula = require_common_utils_utils_apy_max_apy_formula.maxAPYFormula;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_math = require("../../../onchain/constants/math.js");
|
|
3
|
-
require("../../../onchain/index.js");
|
|
4
|
-
const require_common_utils_utils_strategies_leverage_get_factor_from_leverage = require("../strategies/leverage/get-factor-from-leverage.js");
|
|
5
|
-
require("../strategies/leverage/index.js");
|
|
6
|
-
//#region src/common-utils/utils/apy/max-apy-formula.ts
|
|
7
|
-
function maxAPYFormula({ apy, leverage, baseRateWithFee, quotaRateWithFee }) {
|
|
8
|
-
const collateralTerm = apy - quotaRateWithFee;
|
|
9
|
-
const leverageFactor = require_common_utils_utils_strategies_leverage_get_factor_from_leverage.getFactorFromLeverage(leverage);
|
|
10
|
-
const debtTerm = (apy - baseRateWithFee - quotaRateWithFee) * Number(leverageFactor) / Number(require_onchain_constants_math.LEVERAGE_DECIMALS);
|
|
11
|
-
return collateralTerm + Math.floor(debtTerm);
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
exports.maxAPYFormula = maxAPYFormula;
|
|
@@ -1,185 +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_common_utils_utils_price_math = require("./price-math.js");
|
|
4
|
-
const require_common_utils_utils_creditAccount_sort = require("./creditAccount/sort.js");
|
|
5
|
-
//#region src/common-utils/utils/assets-math.ts
|
|
6
|
-
/**
|
|
7
|
-
* Static helper namespace for asset-list transformations and math.
|
|
8
|
-
*
|
|
9
|
-
* The constructor is intentionally private to prevent instantiation.
|
|
10
|
-
*/
|
|
11
|
-
var AssetUtils = class AssetUtils {
|
|
12
|
-
constructor() {}
|
|
13
|
-
/**
|
|
14
|
-
* Selects the next candidate token to add to a selected-asset list.
|
|
15
|
-
*
|
|
16
|
-
* Flow:
|
|
17
|
-
* 1) Removes tokens already present in `selectedAssets`
|
|
18
|
-
* 2) Builds balances for the remaining allowed tokens
|
|
19
|
-
* 3) Sorts the balances using `CreditAccountDataUtils.sortBalances`
|
|
20
|
-
* 4) Returns the highest-priority token address, if any
|
|
21
|
-
*
|
|
22
|
-
* Addresses are normalized to lowercase for matching.
|
|
23
|
-
*
|
|
24
|
-
* @returns The next token address to select, or `undefined` if no candidates remain.
|
|
25
|
-
*/
|
|
26
|
-
static nextAsset({ allowedTokens, selectedAssets, balances, tokensList, prices = {} }) {
|
|
27
|
-
const selectedRecord = selectedAssets.reduce((acc, { token }) => {
|
|
28
|
-
acc[token.toLowerCase()] = true;
|
|
29
|
-
return acc;
|
|
30
|
-
}, {});
|
|
31
|
-
const notSelected = allowedTokens.filter((allowedToken) => {
|
|
32
|
-
return !selectedRecord[allowedToken.toLowerCase()];
|
|
33
|
-
});
|
|
34
|
-
const [address] = require_common_utils_utils_creditAccount_sort.sortBalances(AssetUtils.getBalances(notSelected, balances), prices, tokensList)[0] || [];
|
|
35
|
-
return address;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Builds a normalized balance record for a specific token subset.
|
|
39
|
-
*
|
|
40
|
-
* Missing balances are defaulted to `0n`.
|
|
41
|
-
*
|
|
42
|
-
* @param allowedTokens Tokens to include in the output record.
|
|
43
|
-
* @param externalBalances Source balances keyed by lowercase address.
|
|
44
|
-
* @returns A record that contains only `allowedTokens`.
|
|
45
|
-
*/
|
|
46
|
-
static getBalances(allowedTokens, externalBalances) {
|
|
47
|
-
return allowedTokens.reduce((acc, address) => {
|
|
48
|
-
const addressLc = address.toLowerCase();
|
|
49
|
-
acc[addressLc] = externalBalances[addressLc] || 0n;
|
|
50
|
-
return acc;
|
|
51
|
-
}, {});
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Converts an asset array into a token-address keyed record.
|
|
55
|
-
*
|
|
56
|
-
* If duplicate token addresses are present, the last occurrence wins.
|
|
57
|
-
*
|
|
58
|
-
* @param a Source asset list.
|
|
59
|
-
* @returns Record keyed by `asset.token`.
|
|
60
|
-
*/
|
|
61
|
-
static constructAssetRecord(a) {
|
|
62
|
-
return a.reduce((acc, asset) => {
|
|
63
|
-
acc[asset.token] = asset;
|
|
64
|
-
return acc;
|
|
65
|
-
}, {});
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Creates a reusable wrapper function that merges "unwrapped" and "wrapped"
|
|
69
|
-
* token balances into the wrapped token representation.
|
|
70
|
-
*
|
|
71
|
-
* The returned function:
|
|
72
|
-
* - converts non-negative unwrapped balance into wrapped units by price
|
|
73
|
-
* - adds the converted amount to the wrapped token balance
|
|
74
|
-
* - removes the unwrapped token from the result list
|
|
75
|
-
* - leaves input untouched when no unwrapped token is present
|
|
76
|
-
*
|
|
77
|
-
* @returns A function producing `[assets, convertedUnwrapped, originalWrapped]`.
|
|
78
|
-
*/
|
|
79
|
-
static memoWrap = (unwrappedAddress, wrappedAddress, prices, tokensList) => function wrap(assets) {
|
|
80
|
-
const assetsRecord = AssetUtils.constructAssetRecord(assets);
|
|
81
|
-
const unwrapped = assetsRecord[unwrappedAddress];
|
|
82
|
-
const { balance: wrappedAmount = 0n } = assetsRecord[wrappedAddress] || {};
|
|
83
|
-
if (unwrapped) {
|
|
84
|
-
const { balance: unwrappedAmount = 0n } = unwrapped || {};
|
|
85
|
-
const unwrappedToken = tokensList[unwrappedAddress];
|
|
86
|
-
const unwrappedPrice = prices[unwrappedAddress] || 0n;
|
|
87
|
-
const wrappedToken = tokensList[wrappedAddress];
|
|
88
|
-
const wrappedPrice = prices[wrappedAddress] || 0n;
|
|
89
|
-
const unwrappedInWrapped = require_common_utils_utils_price_math.PriceUtils.convertByPrice(require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(unwrappedPrice, require_onchain_utils_bigint_math.BigIntMath.max(0n, unwrappedAmount), unwrappedToken.decimals), {
|
|
90
|
-
price: wrappedPrice,
|
|
91
|
-
decimals: wrappedToken.decimals
|
|
92
|
-
});
|
|
93
|
-
assetsRecord[wrappedAddress] = {
|
|
94
|
-
token: wrappedAddress,
|
|
95
|
-
balance: require_onchain_utils_bigint_math.BigIntMath.max(0n, wrappedAmount) + unwrappedInWrapped
|
|
96
|
-
};
|
|
97
|
-
delete assetsRecord[unwrappedAddress];
|
|
98
|
-
return [
|
|
99
|
-
Object.values(assetsRecord),
|
|
100
|
-
unwrappedInWrapped,
|
|
101
|
-
wrappedAmount
|
|
102
|
-
];
|
|
103
|
-
}
|
|
104
|
-
return [
|
|
105
|
-
Object.values(assetsRecord),
|
|
106
|
-
0n,
|
|
107
|
-
wrappedAmount
|
|
108
|
-
];
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Adds balances from the second asset list into the first list.
|
|
112
|
-
*
|
|
113
|
-
* Behavior:
|
|
114
|
-
* - balances are clamped to non-negative before summation
|
|
115
|
-
* - tokens found only in `b` are created in the output
|
|
116
|
-
* - existing asset metadata is preserved from `a` when possible
|
|
117
|
-
*
|
|
118
|
-
* @param a Base asset list.
|
|
119
|
-
* @param b Asset deltas to add.
|
|
120
|
-
* @returns A merged list containing assets from both inputs.
|
|
121
|
-
*/
|
|
122
|
-
static sumAssets(a, b) {
|
|
123
|
-
const aRecord = AssetUtils.constructAssetRecord(a);
|
|
124
|
-
const resRecord = b.reduce((acc, bAsset) => {
|
|
125
|
-
const aAsset = acc[bAsset.token];
|
|
126
|
-
const { balance: amount = 0n } = aAsset || {};
|
|
127
|
-
const amountSum = require_onchain_utils_bigint_math.BigIntMath.max(0n, bAsset.balance) + require_onchain_utils_bigint_math.BigIntMath.max(0n, amount);
|
|
128
|
-
const aOrB = aAsset || bAsset;
|
|
129
|
-
acc[bAsset.token] = {
|
|
130
|
-
...aOrB,
|
|
131
|
-
balance: amountSum
|
|
132
|
-
};
|
|
133
|
-
return acc;
|
|
134
|
-
}, aRecord);
|
|
135
|
-
return Object.values(resRecord);
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Adds balances from the second list to matching assets in the first list.
|
|
139
|
-
*
|
|
140
|
-
* Behavior:
|
|
141
|
-
* - balances are clamped to non-negative before summation
|
|
142
|
-
* - only assets already present in `a` are returned
|
|
143
|
-
* - no new token entries are created
|
|
144
|
-
*
|
|
145
|
-
* @param a Base asset list.
|
|
146
|
-
* @param b Asset deltas keyed by token.
|
|
147
|
-
* @returns Updated version of `a` with adjusted balances.
|
|
148
|
-
*/
|
|
149
|
-
static addBalances(a, b) {
|
|
150
|
-
const bRecord = AssetUtils.constructAssetRecord(b);
|
|
151
|
-
return a.map((asset) => {
|
|
152
|
-
const { balance: bAmount = 0n } = bRecord[asset.token] || {};
|
|
153
|
-
const amountSum = require_onchain_utils_bigint_math.BigIntMath.max(0n, asset.balance) + require_onchain_utils_bigint_math.BigIntMath.max(0n, bAmount);
|
|
154
|
-
return {
|
|
155
|
-
...asset,
|
|
156
|
-
balance: amountSum
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Subtracts balances in the second list from matching assets in the first list.
|
|
162
|
-
*
|
|
163
|
-
* Behavior:
|
|
164
|
-
* - both operands are clamped to non-negative before subtraction
|
|
165
|
-
* - output balances are clamped to non-negative after subtraction
|
|
166
|
-
* - only assets already present in `a` are returned
|
|
167
|
-
*
|
|
168
|
-
* @param a Base asset list.
|
|
169
|
-
* @param b Asset amounts to subtract by token.
|
|
170
|
-
* @returns Updated `a` list with non-negative post-subtraction balances.
|
|
171
|
-
*/
|
|
172
|
-
static subAssets(a, b) {
|
|
173
|
-
const bRecord = AssetUtils.constructAssetRecord(b);
|
|
174
|
-
return a.map((asset) => {
|
|
175
|
-
const { balance: bAmount = 0n } = bRecord[asset.token] || {};
|
|
176
|
-
const amountSub = require_onchain_utils_bigint_math.BigIntMath.max(0n, asset.balance) - require_onchain_utils_bigint_math.BigIntMath.max(0n, bAmount);
|
|
177
|
-
return {
|
|
178
|
-
...asset,
|
|
179
|
-
balance: require_onchain_utils_bigint_math.BigIntMath.max(0n, amountSub)
|
|
180
|
-
};
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
//#endregion
|
|
185
|
-
exports.AssetUtils = AssetUtils;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/common-utils/utils/constants.ts
|
|
3
|
-
const EMPTY_OBJECT = {};
|
|
4
|
-
const EMPTY_ARRAY = [];
|
|
5
|
-
const EMPTY_ADDRESS = "";
|
|
6
|
-
//#endregion
|
|
7
|
-
exports.EMPTY_ADDRESS = EMPTY_ADDRESS;
|
|
8
|
-
exports.EMPTY_ARRAY = EMPTY_ARRAY;
|
|
9
|
-
exports.EMPTY_OBJECT = EMPTY_OBJECT;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_positions_calcHealthFactor = require("../../../onchain/positions/calcHealthFactor.js");
|
|
3
|
-
//#region src/common-utils/utils/creditAccount/calc-health-factor.ts
|
|
4
|
-
/**
|
|
5
|
-
* Computes account health factor in percentage-factor units.
|
|
6
|
-
*
|
|
7
|
-
* The function evaluates collateral value under liquidation thresholds,
|
|
8
|
-
* applies quota caps for quoted tokens, and compares the resulting
|
|
9
|
-
* liquidation-adjusted collateral against borrowed value.
|
|
10
|
-
*
|
|
11
|
-
* @param props Credit account balances, quotas, prices, thresholds, and debt context.
|
|
12
|
-
* @returns Health factor as a number in `PERCENTAGE_FACTOR` scale,
|
|
13
|
-
* or `65535` when debt is zero.
|
|
14
|
-
*
|
|
15
|
-
* @deprecated Use `calcHealthFactor` from `sdk/positions` instead; this
|
|
16
|
-
* wrapper only maps the legacy props onto an `AccountSnapshot`.
|
|
17
|
-
*/
|
|
18
|
-
function calcHealthFactor({ assets, quotas, quotasInfo, liquidationThresholds, underlyingToken, debt, prices, tokensList }) {
|
|
19
|
-
const decimals = {};
|
|
20
|
-
for (const [token, meta] of Object.entries(tokensList)) decimals[token] = meta.decimals;
|
|
21
|
-
const lts = {};
|
|
22
|
-
for (const [token, lt] of Object.entries(liquidationThresholds)) lts[token] = Number(lt);
|
|
23
|
-
const activeQuotas = {};
|
|
24
|
-
for (const [token, info] of Object.entries(quotasInfo)) if (info?.isActive) activeQuotas[token] = true;
|
|
25
|
-
return require_onchain_positions_calcHealthFactor.calcHealthFactor({
|
|
26
|
-
snapshot: {
|
|
27
|
-
creditManager: underlyingToken,
|
|
28
|
-
assets,
|
|
29
|
-
quotas: Object.values(quotas),
|
|
30
|
-
totalDebt: debt,
|
|
31
|
-
totalValue: 0n
|
|
32
|
-
},
|
|
33
|
-
underlying: underlyingToken,
|
|
34
|
-
decimals,
|
|
35
|
-
prices,
|
|
36
|
-
liquidationThresholds: lts,
|
|
37
|
-
activeQuotas
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
//#endregion
|
|
41
|
-
exports.calcHealthFactor = calcHealthFactor;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_math = require("../../../onchain/constants/math.js");
|
|
3
|
-
require("../../../onchain/index.js");
|
|
4
|
-
const require_common_utils_utils_price_math = require("../price-math.js");
|
|
5
|
-
//#region src/common-utils/utils/creditAccount/calc-overall-apy.ts
|
|
6
|
-
/**
|
|
7
|
-
* Computes net portfolio APY for a credit account.
|
|
8
|
-
*
|
|
9
|
-
* The resulting value combines:
|
|
10
|
-
* - positive LP yield from supplied assets
|
|
11
|
-
* - negative quota borrowing cost (with interest fee)
|
|
12
|
-
* - negative base debt borrowing cost
|
|
13
|
-
* and normalizes by user-owned equity (`totalValue - debt`) in underlying value terms.
|
|
14
|
-
*
|
|
15
|
-
* ```
|
|
16
|
-
* [
|
|
17
|
-
* Sum(amount_i * price_i * apy_i - quota_i * quotaPrice * quotaRate_i * (1 + feeInterest)) -
|
|
18
|
-
* debt * debtPrice * baseRateWithFee
|
|
19
|
-
* ] / (totalValue - debt) * debtPrice
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @param props Credit account assets, rates, prices, debt, and token metadata.
|
|
23
|
-
* @returns APY in percentage-factor scale as `bigint`, or `undefined`
|
|
24
|
-
* when required inputs are missing or invalid.
|
|
25
|
-
*/
|
|
26
|
-
function calcOverallAPY({ caAssets, lpAPY, prices, quotas, quotaRates, feeInterest, totalValue, debt, baseRateWithFee, underlyingToken, tokensList }) {
|
|
27
|
-
if (!lpAPY || !totalValue || totalValue <= 0n || !debt || totalValue <= debt) return void 0;
|
|
28
|
-
const underlyingTokenDecimals = tokensList[underlyingToken]?.decimals || 18;
|
|
29
|
-
const underlyingPrice = prices[underlyingToken];
|
|
30
|
-
const assetAPYMoney = caAssets.reduce((acc, { token: tokenAddress, balance: amount }) => {
|
|
31
|
-
const apy = lpAPY[tokenAddress] || 0;
|
|
32
|
-
const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
|
|
33
|
-
const price = prices[tokenAddress] || 0n;
|
|
34
|
-
const apyMoney = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(price, amount, tokenDecimals) * BigInt(apy);
|
|
35
|
-
const { rate: quotaAPY = 0n, isActive = false } = quotaRates?.[tokenAddress] || {};
|
|
36
|
-
const { balance: quotaBalance = 0n } = quotas[tokenAddress] || {};
|
|
37
|
-
const quotaAmount = isActive ? quotaBalance : 0n;
|
|
38
|
-
const quotaAPYMoney = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(underlyingPrice || 0n, quotaAmount, underlyingTokenDecimals) * (quotaAPY * (BigInt(feeInterest) + require_onchain_constants_math.PERCENTAGE_FACTOR) / require_onchain_constants_math.PERCENTAGE_FACTOR);
|
|
39
|
-
return acc + apyMoney - quotaAPYMoney;
|
|
40
|
-
}, 0n);
|
|
41
|
-
const debtAPYMoney = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(underlyingPrice || 0n, debt, underlyingTokenDecimals) * BigInt(baseRateWithFee);
|
|
42
|
-
const yourAssetsMoney = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(underlyingPrice || require_onchain_constants_math.PRICE_DECIMALS, totalValue - debt, underlyingTokenDecimals);
|
|
43
|
-
return (assetAPYMoney - debtAPYMoney) / yourAssetsMoney;
|
|
44
|
-
}
|
|
45
|
-
//#endregion
|
|
46
|
-
exports.calcOverallAPY = calcOverallAPY;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/common-utils/utils/creditAccount/calc-quota-borrow-rate.ts
|
|
3
|
-
/**
|
|
4
|
-
* Aggregates weighted quota borrow rate exposure across active quotas.
|
|
5
|
-
*
|
|
6
|
-
* For each quota token, contribution is:
|
|
7
|
-
* `activeQuotaBalance * quotaRate`.
|
|
8
|
-
* Inactive quotas are ignored.
|
|
9
|
-
*
|
|
10
|
-
* @param props Quota balances and per-token quota rates.
|
|
11
|
-
* @returns Sum of `balance * rate` terms in percentage-factor scale.
|
|
12
|
-
*
|
|
13
|
-
* @deprecated Use `calcBorrowRate` from `sdk/positions` instead.
|
|
14
|
-
*/
|
|
15
|
-
function calcQuotaBorrowRate({ quotas, quotaRates }) {
|
|
16
|
-
return Object.values(quotas).reduce((acc, { token, balance }) => {
|
|
17
|
-
const { rate = 0, isActive = false } = quotaRates?.[token] || {};
|
|
18
|
-
return acc + (isActive ? balance : 0n) * BigInt(rate);
|
|
19
|
-
}, 0n);
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
22
|
-
exports.calcQuotaBorrowRate = calcQuotaBorrowRate;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
//#region src/common-utils/utils/creditAccount/calc-relative-base-borrow-rate.ts
|
|
3
|
-
/**
|
|
4
|
-
* Computes base borrow-rate impact relative to asset amount.
|
|
5
|
-
*
|
|
6
|
-
* This helper is used as an intermediate weighted term:
|
|
7
|
-
* `debt * baseRateWithFee * assetAmountInUnderlying`.
|
|
8
|
-
*
|
|
9
|
-
* @param props Debt amount, base borrow rate (with fee), and normalized asset amount.
|
|
10
|
-
* @returns Relative borrow-rate contribution in bigint arithmetic.
|
|
11
|
-
*/
|
|
12
|
-
function calcRelativeBaseBorrowRate({ debt, baseRateWithFee, assetAmountInUnderlying }) {
|
|
13
|
-
return debt * BigInt(baseRateWithFee) * assetAmountInUnderlying;
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
|
-
exports.calcRelativeBaseBorrowRate = calcRelativeBaseBorrowRate;
|
|
@@ -1,46 +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
|
-
require("../../../onchain/index.js");
|
|
5
|
-
const require_common_utils_utils_price_math = require("../price-math.js");
|
|
6
|
-
//#region src/common-utils/utils/creditAccount/debt.ts
|
|
7
|
-
/**
|
|
8
|
-
* Calculates additional debt that can be borrowed while targeting
|
|
9
|
-
* a minimum health factor after the borrow.
|
|
10
|
-
*
|
|
11
|
-
* The derivation comes from the post-borrow HF equation and clamps
|
|
12
|
-
* negative results to zero.
|
|
13
|
-
*
|
|
14
|
-
* @param healthFactor Current health factor in percentage-factor units.
|
|
15
|
-
* @param debt Current debt amount.
|
|
16
|
-
* @param underlyingLT Liquidation threshold of underlying token.
|
|
17
|
-
* @param minHf Target minimum health factor (defaults to `PERCENTAGE_FACTOR`).
|
|
18
|
-
* @returns Maximum non-negative debt increase.
|
|
19
|
-
*/
|
|
20
|
-
function calcMaxDebtIncrease(healthFactor, debt, underlyingLT, minHf = Number(require_onchain_constants_math.PERCENTAGE_FACTOR)) {
|
|
21
|
-
const result = debt * BigInt(healthFactor - minHf) / BigInt(minHf - underlyingLT);
|
|
22
|
-
return require_onchain_utils_bigint_math.BigIntMath.max(0n, result);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Calculates maximum debt capacity for lending based on collateral mix.
|
|
26
|
-
*
|
|
27
|
-
* It computes liquidation-threshold-weighted collateral value and converts
|
|
28
|
-
* it into underlying-token debt units at the requested target health factor.
|
|
29
|
-
*
|
|
30
|
-
* @param props Asset balances, prices, thresholds, target HF, and token metadata.
|
|
31
|
-
* @returns Maximum borrowable debt amount in underlying token units.
|
|
32
|
-
*/
|
|
33
|
-
function calcMaxLendingDebt({ assets, liquidationThresholds, underlyingToken, prices, tokensList, targetHF = require_onchain_constants_math.PERCENTAGE_FACTOR }) {
|
|
34
|
-
const assetsLTMoney = assets.reduce((acc, { token: tokenAddress, balance: amount }) => {
|
|
35
|
-
const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
|
|
36
|
-
const lt = liquidationThresholds[tokenAddress] || 0n;
|
|
37
|
-
const price = prices[tokenAddress] || 0n;
|
|
38
|
-
return acc + require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(price, amount, tokenDecimals) * lt;
|
|
39
|
-
}, 0n);
|
|
40
|
-
const underlyingPrice = prices[underlyingToken] || 0n;
|
|
41
|
-
const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
|
|
42
|
-
return underlyingPrice > 0 ? assetsLTMoney * 10n ** BigInt(underlyingDecimals) / underlyingPrice / targetHF / 10n ** BigInt(10) : 0n;
|
|
43
|
-
}
|
|
44
|
-
//#endregion
|
|
45
|
-
exports.calcMaxDebtIncrease = calcMaxDebtIncrease;
|
|
46
|
-
exports.calcMaxLendingDebt = calcMaxLendingDebt;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_positions_calcTimeToLiquidationMs = require("../../../onchain/positions/calcTimeToLiquidationMs.js");
|
|
3
|
-
//#region src/common-utils/utils/creditAccount/get-time-to-liquidation.ts
|
|
4
|
-
/**
|
|
5
|
-
* Estimates time remaining until health factor reaches liquidation level.
|
|
6
|
-
*
|
|
7
|
-
* Assumes linear debt growth under current aggregate borrow-rate exposure
|
|
8
|
-
* and returns a millisecond duration until `healthFactor` decays to `1.0`
|
|
9
|
-
* (`PERCENTAGE_FACTOR` in internal scale).
|
|
10
|
-
*
|
|
11
|
-
* @param props Current health factor and `totalBorrowRate_debt`, both `Bps`
|
|
12
|
-
* (`10000` = 100%) — not the legacy `PERCENTAGE_FACTOR_1KK` (`1_000_000` =
|
|
13
|
-
* 100%) scale the pre-rewrite frontend fed this under the same name.
|
|
14
|
-
* @returns Milliseconds to liquidation as `bigint`, or `null` when already at/under
|
|
15
|
-
* liquidation threshold or when borrow-rate exposure is zero.
|
|
16
|
-
*
|
|
17
|
-
* @deprecated Use `calcTimeToLiquidationMs` from `sdk/positions` instead;
|
|
18
|
-
* this wrapper only forwards to the new implementation.
|
|
19
|
-
*/
|
|
20
|
-
function getTimeToLiquidation({ healthFactor, totalBorrowRate_debt }) {
|
|
21
|
-
return require_onchain_positions_calcTimeToLiquidationMs.calcTimeToLiquidationMs(healthFactor, totalBorrowRate_debt);
|
|
22
|
-
}
|
|
23
|
-
//#endregion
|
|
24
|
-
exports.getTimeToLiquidation = getTimeToLiquidation;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_common_utils_utils_creditAccount_quota_utils = require("./quota-utils.js");
|
|
3
|
-
const require_common_utils_utils_creditAccount_calc_quota_borrow_rate = require("./calc-quota-borrow-rate.js");
|
|
4
|
-
const require_common_utils_utils_creditAccount_sort = require("./sort.js");
|
|
5
|
-
const require_common_utils_utils_creditAccount_calc_health_factor = require("./calc-health-factor.js");
|
|
6
|
-
const require_common_utils_utils_creditAccount_calc_overall_apy = require("./calc-overall-apy.js");
|
|
7
|
-
const require_common_utils_utils_creditAccount_calc_relative_base_borrow_rate = require("./calc-relative-base-borrow-rate.js");
|
|
8
|
-
const require_common_utils_utils_creditAccount_debt = require("./debt.js");
|
|
9
|
-
const require_common_utils_utils_creditAccount_get_time_to_liquidation = require("./get-time-to-liquidation.js");
|
|
10
|
-
const require_common_utils_utils_creditAccount_liquidation_price = require("./liquidation-price.js");
|
|
11
|
-
exports.amountAbcComparator = require_common_utils_utils_creditAccount_sort.amountAbcComparator;
|
|
12
|
-
exports.assetComparator = require_common_utils_utils_creditAccount_sort.assetComparator;
|
|
13
|
-
exports.calcDefaultQuota = require_common_utils_utils_creditAccount_quota_utils.calcDefaultQuota;
|
|
14
|
-
exports.calcHealthFactor = require_common_utils_utils_creditAccount_calc_health_factor.calcHealthFactor;
|
|
15
|
-
exports.calcMaxDebtIncrease = require_common_utils_utils_creditAccount_debt.calcMaxDebtIncrease;
|
|
16
|
-
exports.calcMaxLendingDebt = require_common_utils_utils_creditAccount_debt.calcMaxLendingDebt;
|
|
17
|
-
exports.calcOverallAPY = require_common_utils_utils_creditAccount_calc_overall_apy.calcOverallAPY;
|
|
18
|
-
exports.calcQuotaBorrowRate = require_common_utils_utils_creditAccount_calc_quota_borrow_rate.calcQuotaBorrowRate;
|
|
19
|
-
exports.calcQuotaUpdate = require_common_utils_utils_creditAccount_quota_utils.calcQuotaUpdate;
|
|
20
|
-
exports.calcRecommendedQuota = require_common_utils_utils_creditAccount_quota_utils.calcRecommendedQuota;
|
|
21
|
-
exports.calcRelativeBaseBorrowRate = require_common_utils_utils_creditAccount_calc_relative_base_borrow_rate.calcRelativeBaseBorrowRate;
|
|
22
|
-
exports.getTimeToLiquidation = require_common_utils_utils_creditAccount_get_time_to_liquidation.getTimeToLiquidation;
|
|
23
|
-
exports.liquidationPrice = require_common_utils_utils_creditAccount_liquidation_price.liquidationPrice;
|
|
24
|
-
exports.roundUpQuota = require_common_utils_utils_creditAccount_quota_utils.roundUpQuota;
|
|
25
|
-
exports.sortAssets = require_common_utils_utils_creditAccount_sort.sortAssets;
|
|
26
|
-
exports.sortBalances = require_common_utils_utils_creditAccount_sort.sortBalances;
|
|
27
|
-
exports.tokensAbcComparator = require_common_utils_utils_creditAccount_sort.tokensAbcComparator;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_positions_calcLiquidationPriceForTarget = require("../../../onchain/positions/calcLiquidationPriceForTarget.js");
|
|
3
|
-
//#region src/common-utils/utils/creditAccount/liquidation-price.ts
|
|
4
|
-
/**
|
|
5
|
-
* Calculates target token liquidation price for a credit account.
|
|
6
|
-
*
|
|
7
|
-
* The formula uses:
|
|
8
|
-
* - effective debt adjusted by underlying-token collateral contribution
|
|
9
|
-
* - target token effective balance
|
|
10
|
-
* - target token liquidation threshold
|
|
11
|
-
*
|
|
12
|
-
* @param props Debt context, assets, thresholds, and token metadata.
|
|
13
|
-
* @returns Target token price in `PRICE_DECIMALS` precision that corresponds
|
|
14
|
-
* to liquidation boundary; returns `0n` when target balance or LT is non-positive.
|
|
15
|
-
*
|
|
16
|
-
* @deprecated Use `calcLiquidationPriceForTarget` from `sdk/positions`
|
|
17
|
-
* instead; this wrapper only maps the legacy props onto an `AccountSnapshot`.
|
|
18
|
-
*/
|
|
19
|
-
function liquidationPrice({ liquidationThresholds, debt, underlyingToken, targetToken, assets, tokensList }) {
|
|
20
|
-
const decimals = {};
|
|
21
|
-
for (const [token, meta] of Object.entries(tokensList)) decimals[token] = meta.decimals;
|
|
22
|
-
const lts = {};
|
|
23
|
-
for (const [token, lt] of Object.entries(liquidationThresholds)) lts[token] = Number(lt);
|
|
24
|
-
return require_onchain_positions_calcLiquidationPriceForTarget.calcLiquidationPriceForTarget({
|
|
25
|
-
snapshot: {
|
|
26
|
-
creditManager: underlyingToken,
|
|
27
|
-
assets: Object.values(assets),
|
|
28
|
-
quotas: [],
|
|
29
|
-
totalDebt: debt,
|
|
30
|
-
totalValue: 0n
|
|
31
|
-
},
|
|
32
|
-
targetToken,
|
|
33
|
-
underlying: underlyingToken,
|
|
34
|
-
decimals,
|
|
35
|
-
liquidationThresholds: lts
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
//#endregion
|
|
39
|
-
exports.liquidationPrice = liquidationPrice;
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_onchain_constants_math = require("../../../onchain/constants/math.js");
|
|
3
|
-
require("../../../onchain/index.js");
|
|
4
|
-
const require_common_utils_utils_price_math = require("../price-math.js");
|
|
5
|
-
//#region src/common-utils/utils/creditAccount/sort.ts
|
|
6
|
-
/**
|
|
7
|
-
* Sorts balance record entries by descending total value.
|
|
8
|
-
*
|
|
9
|
-
* Ordering uses `assetComparator` (value-desc, then amount-desc, then symbol-asc).
|
|
10
|
-
*
|
|
11
|
-
* @param balances Token balance map.
|
|
12
|
-
* @param prices Token prices map.
|
|
13
|
-
* @param tokens Token metadata map.
|
|
14
|
-
* @returns Sorted `[token, balance]` tuples.
|
|
15
|
-
*/
|
|
16
|
-
function sortBalances(balances, prices, tokens) {
|
|
17
|
-
return Object.entries(balances).sort(([addr1, amount1], [addr2, amount2]) => {
|
|
18
|
-
return assetComparator({
|
|
19
|
-
token: addr1,
|
|
20
|
-
balance: amount1
|
|
21
|
-
}, {
|
|
22
|
-
token: addr2,
|
|
23
|
-
balance: amount2
|
|
24
|
-
}, prices, prices, tokens, tokens);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Sorts an asset array by descending total value.
|
|
29
|
-
*
|
|
30
|
-
* Ordering uses `assetComparator` (value-desc, then amount-desc, then symbol-asc).
|
|
31
|
-
*
|
|
32
|
-
* @param balances Asset list to sort.
|
|
33
|
-
* @param prices Token prices map.
|
|
34
|
-
* @param tokens Token metadata map.
|
|
35
|
-
* @returns New sorted array (input is not mutated).
|
|
36
|
-
*/
|
|
37
|
-
function sortAssets(balances, prices, tokens) {
|
|
38
|
-
return [...balances].sort((t1, t2) => assetComparator(t1, t2, prices, prices, tokens, tokens));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Compares two assets for deterministic sorting.
|
|
42
|
-
*
|
|
43
|
-
* Priority:
|
|
44
|
-
* 1) higher total value (price * amount) first
|
|
45
|
-
* 2) higher raw balance first when values are equal
|
|
46
|
-
* 3) token symbol alphabetical order when balances are equal
|
|
47
|
-
*
|
|
48
|
-
* Missing prices fall back to `PRICE_DECIMALS`; missing token metadata
|
|
49
|
-
* is tolerated.
|
|
50
|
-
*
|
|
51
|
-
* @returns Comparator result suitable for `Array.prototype.sort`.
|
|
52
|
-
*/
|
|
53
|
-
function assetComparator(t1, t2, prices1, prices2, tokens1, tokens2) {
|
|
54
|
-
const addr1Lc = t1.token.toLowerCase();
|
|
55
|
-
const addr2Lc = t2.token.toLowerCase();
|
|
56
|
-
const token1 = tokens1?.[addr1Lc];
|
|
57
|
-
const token2 = tokens2?.[addr2Lc];
|
|
58
|
-
const price1 = prices1?.[addr1Lc] || require_onchain_constants_math.PRICE_DECIMALS;
|
|
59
|
-
const price2 = prices2?.[addr2Lc] || require_onchain_constants_math.PRICE_DECIMALS;
|
|
60
|
-
const totalPrice1 = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(price1, t1.balance, token1?.decimals);
|
|
61
|
-
const totalPrice2 = require_common_utils_utils_price_math.PriceUtils.calcTotalPrice(price2, t2.balance, token2?.decimals);
|
|
62
|
-
if (totalPrice1 === totalPrice2) return t1.balance === t2.balance ? tokensAbcComparator(token1, token2) : amountAbcComparator(t1.balance, t2.balance);
|
|
63
|
-
return amountAbcComparator(totalPrice1, totalPrice2);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Alphabetical comparator for token symbols (case-insensitive).
|
|
67
|
-
*
|
|
68
|
-
* @param t1 First token metadata.
|
|
69
|
-
* @param t2 Second token metadata.
|
|
70
|
-
* @returns `-1`, `0`, or `1` for ascending symbol order.
|
|
71
|
-
*/
|
|
72
|
-
function tokensAbcComparator(t1, t2) {
|
|
73
|
-
const { symbol: symbol1 = "" } = t1 || {};
|
|
74
|
-
const { symbol: symbol2 = "" } = t2 || {};
|
|
75
|
-
const symbol1LC = symbol1.toLowerCase();
|
|
76
|
-
const symbol2LC = symbol2.toLowerCase();
|
|
77
|
-
if (symbol1LC === symbol2LC) return 0;
|
|
78
|
-
return symbol1LC > symbol2LC ? 1 : -1;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Descending numeric comparator for bigint amounts.
|
|
82
|
-
*
|
|
83
|
-
* @param t1 First amount.
|
|
84
|
-
* @param t2 Second amount.
|
|
85
|
-
* @returns `-1` when `t1` should come before `t2`, otherwise `1`.
|
|
86
|
-
*/
|
|
87
|
-
function amountAbcComparator(t1, t2) {
|
|
88
|
-
return t1 > t2 ? -1 : 1;
|
|
89
|
-
}
|
|
90
|
-
//#endregion
|
|
91
|
-
exports.amountAbcComparator = amountAbcComparator;
|
|
92
|
-
exports.assetComparator = assetComparator;
|
|
93
|
-
exports.sortAssets = sortAssets;
|
|
94
|
-
exports.sortBalances = sortBalances;
|
|
95
|
-
exports.tokensAbcComparator = tokensAbcComparator;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|