@gearbox-protocol/sdk 13.0.0-next.8 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/abi/310/iLinearInterestRateModelV310.js +92 -0
- package/dist/cjs/abi/errors.js +0 -145
- package/dist/cjs/abi/iPriceFeed.js +84 -0
- package/dist/cjs/{sdk/sdk-gov-legacy/oracles → common-utils}/index.js +4 -4
- package/dist/cjs/common-utils/package.json +1 -0
- package/dist/cjs/common-utils/utils/assetsMath.js +216 -0
- package/dist/cjs/common-utils/utils/bigintMath.js +65 -0
- package/dist/cjs/common-utils/utils/creditAccount/calcHealthFactor.js +76 -0
- package/dist/cjs/common-utils/utils/creditAccount/calcOverallAPY.js +81 -0
- package/dist/cjs/{sdk/accountMigration/MigrateCreditAccountsServiceV310.js → common-utils/utils/creditAccount/calcQuotaBorrowRate.js} +19 -7
- package/dist/cjs/{sdk/sdk-legacy/utils/math.js → common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js} +11 -10
- package/dist/cjs/common-utils/utils/creditAccount/debt.js +64 -0
- package/dist/cjs/common-utils/utils/creditAccount/getTimeToLiquidation.js +38 -0
- package/dist/cjs/common-utils/utils/creditAccount/index.js +40 -0
- package/dist/cjs/common-utils/utils/creditAccount/liquidationPrice.js +47 -0
- package/dist/cjs/common-utils/utils/creditAccount/quotaUtils.js +149 -0
- package/dist/cjs/common-utils/utils/creditAccount/sort.js +95 -0
- package/dist/cjs/common-utils/utils/endpoints.js +65 -0
- package/dist/cjs/{sdk/sdk-legacy → common-utils}/utils/index.js +10 -6
- package/dist/cjs/common-utils/utils/priceMath.js +66 -0
- package/dist/cjs/dev/AccountOpener.js +3 -3
- package/dist/cjs/dev/ltUtils.js +4 -91
- package/dist/cjs/dev/migrateFaucet.js +25 -53
- package/dist/cjs/dev/providers.js +12 -0
- package/dist/cjs/history/assembleOperations.js +103 -0
- package/dist/cjs/history/classifyMulticallOperations.js +157 -0
- package/dist/cjs/history/errors.js +91 -0
- package/dist/cjs/history/extractProtocolCalls.js +53 -0
- package/dist/cjs/history/extractTransfers.js +168 -0
- package/dist/cjs/history/findFacadeCalls.js +84 -0
- package/dist/cjs/history/index.js +39 -0
- package/dist/cjs/history/inner-operations.js +16 -0
- package/dist/cjs/history/internal-types.js +16 -0
- package/dist/cjs/history/mapOperations.js +79 -0
- package/dist/cjs/history/package.json +1 -0
- package/dist/cjs/history/parseCreditAccountTransaction.js +86 -0
- package/dist/cjs/history/populateContractsRegister.js +68 -0
- package/dist/cjs/history/toLegacyOperation.js +182 -0
- package/dist/cjs/{plugins/adapters/contracts/YearnV2AdapterContract.js → history/trace-utils.js} +36 -21
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +3 -3
- package/dist/cjs/permissionless/bindings/instance-manager.js +3 -3
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +2 -6
- package/dist/cjs/plugins/adapters/AdaptersPlugin.js +13 -106
- package/dist/cjs/plugins/adapters/abi/index.js +2 -0
- package/dist/cjs/plugins/adapters/abi/targetContractAbi.js +5168 -0
- package/dist/cjs/plugins/adapters/contracts/AbstractAdapter.js +123 -3
- package/dist/cjs/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/cjs/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +65 -30
- package/dist/cjs/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
- package/dist/cjs/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +100 -25
- package/dist/cjs/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +74 -25
- package/dist/cjs/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +79 -31
- package/dist/cjs/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +79 -31
- package/dist/cjs/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +84 -31
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterDeposit.js +80 -33
- package/dist/cjs/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +62 -26
- package/dist/cjs/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +92 -34
- package/dist/cjs/plugins/adapters/contracts/DaiUsdsAdapterContract.js +46 -14
- package/dist/cjs/plugins/adapters/contracts/ERC4626AdapterContract.js +62 -27
- package/dist/cjs/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +46 -14
- package/dist/cjs/plugins/adapters/contracts/FluidDexAdapterContract.js +34 -14
- package/dist/cjs/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +56 -23
- package/dist/cjs/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +31 -14
- package/dist/cjs/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +28 -12
- package/dist/cjs/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +35 -16
- package/dist/cjs/plugins/adapters/contracts/LidoV1AdapterContract.js +47 -17
- package/dist/cjs/plugins/adapters/contracts/MellowClaimerAdapterContract.js +29 -11
- package/dist/cjs/plugins/adapters/contracts/MellowDVVAdapterContract.js +45 -14
- package/dist/cjs/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +42 -17
- package/dist/cjs/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +79 -42
- package/dist/cjs/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +34 -14
- package/dist/cjs/plugins/adapters/contracts/MellowWrapperAdapterContract.js +27 -11
- package/dist/cjs/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +44 -17
- package/dist/cjs/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +49 -21
- package/dist/cjs/plugins/adapters/contracts/PendleRouterAdapterContract.js +92 -55
- package/dist/cjs/plugins/adapters/contracts/StakingRewardsAdapterContract.js +71 -37
- package/dist/cjs/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +55 -25
- package/dist/cjs/plugins/adapters/contracts/UniswapV2AdapterContract.js +44 -21
- package/dist/cjs/plugins/adapters/contracts/UniswapV3AdapterContract.js +42 -23
- package/dist/cjs/plugins/adapters/contracts/UniswapV4AdapterContract.js +53 -27
- package/dist/cjs/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +42 -17
- package/dist/cjs/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
- package/dist/cjs/plugins/adapters/contracts/WstETHV1AdapterContract.js +37 -11
- package/dist/cjs/plugins/adapters/contracts/index.js +7 -15
- package/dist/cjs/plugins/adapters/createAdapter.js +125 -0
- package/dist/cjs/plugins/adapters/index.js +6 -0
- package/dist/cjs/plugins/adapters/legacyAdapterOperations.js +16 -0
- package/dist/cjs/plugins/adapters/transferHelpers.js +127 -0
- package/dist/cjs/plugins/bots/PartialLiquidationBotV310Contract.js +4 -4
- package/dist/cjs/plugins/bots/abi/index.js +0 -2
- package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
- package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
- package/dist/cjs/plugins/zappers/ZappersPlugin.js +144 -0
- package/dist/cjs/{sdk/market/ZapperRegister.js → plugins/zappers/extraZappers.js} +6 -110
- package/dist/cjs/{sdk/sdk-gov-legacy/contracts → plugins/zappers}/index.js +8 -6
- package/dist/cjs/plugins/zappers/package.json +1 -0
- package/dist/cjs/sdk/GearboxSDK.js +6 -14
- package/dist/cjs/sdk/accounts/AbstractCreditAccountsService.js +19 -86
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV310.js +11 -12
- package/dist/cjs/sdk/accounts/createCreditAccountService.js +0 -4
- package/dist/cjs/sdk/accounts/index.js +0 -2
- package/dist/cjs/sdk/base/BaseContract.js +60 -6
- package/dist/cjs/sdk/base/ChainContractsRegister.js +33 -10
- package/dist/cjs/sdk/base/Construct.js +29 -15
- package/dist/cjs/sdk/base/PlaceholderContract.js +2 -2
- package/dist/cjs/sdk/base/SDKConstruct.js +1 -1
- package/dist/cjs/sdk/base/TokensMeta.js +32 -112
- package/dist/cjs/{abi/iStateSerializer.js → sdk/base/errors.js} +12 -13
- package/dist/cjs/sdk/base/index.js +2 -2
- package/dist/cjs/sdk/chain/chains.js +9 -27
- package/dist/cjs/sdk/constants/addresses.js +2 -88
- package/dist/cjs/sdk/constants/index.js +2 -0
- package/dist/cjs/sdk/constants/networks.js +0 -32
- package/dist/cjs/sdk/{base/token-types.js → constants/phantom-tokens.js} +3 -9
- package/dist/cjs/sdk/constants/versions.js +0 -8
- package/dist/cjs/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
- package/dist/cjs/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
- package/dist/cjs/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -7
- package/dist/cjs/sdk/core/index.js +6 -6
- package/dist/cjs/sdk/{gauges/utils.js → core/types.js} +2 -2
- package/dist/cjs/sdk/index.js +0 -10
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +3 -2
- package/dist/cjs/sdk/market/MarketRegister.js +2 -3
- package/dist/cjs/sdk/market/MarketSuite.js +1 -4
- package/dist/cjs/sdk/market/adapters/PlaceholderAdapterContracts.js +25 -4
- package/dist/cjs/sdk/market/adapters/{factory.js → createAdapter.js} +3 -3
- package/dist/cjs/sdk/market/adapters/index.js +2 -2
- package/dist/cjs/sdk/market/credit/CreditFacadeV310BaseContract.js +108 -0
- package/dist/cjs/sdk/market/credit/CreditFacadeV310Contract.js +3 -40
- package/dist/cjs/sdk/market/credit/CreditManagerV310Contract.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditConfigurator.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditFacade.js +1 -4
- package/dist/cjs/sdk/market/credit/createCreditManager.js +1 -4
- package/dist/cjs/sdk/market/credit/index.js +2 -6
- package/dist/cjs/sdk/market/index.js +1 -3
- package/dist/cjs/sdk/market/oracle/PriceOracleBaseContract.js +9 -57
- package/dist/cjs/sdk/market/oracle/createPriceOracle.js +7 -38
- package/dist/cjs/sdk/market/oracle/index.js +0 -2
- package/dist/cjs/sdk/market/pool/GaugeContract.js +3 -3
- package/dist/cjs/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/cjs/sdk/market/pool/PoolV310Contract.js +1 -1
- package/dist/cjs/sdk/market/pool/createPool.js +0 -4
- package/dist/cjs/sdk/market/pool/createPoolQuotaKeeper.js +0 -4
- package/dist/cjs/sdk/market/pool/index.js +0 -4
- package/dist/cjs/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
- package/dist/cjs/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
- package/dist/cjs/sdk/market/pricefeeds/PythPriceFeed.js +20 -0
- package/dist/cjs/sdk/market/pricefeeds/RedstonePriceFeed.js +19 -46
- package/dist/cjs/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
- package/dist/cjs/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
- package/dist/cjs/sdk/plugins/index.js +1 -3
- package/dist/cjs/sdk/pools/AbstractPoolService.js +137 -0
- package/dist/cjs/sdk/{sdk-legacy/gearboxRewards/merklAPI.js → pools/PoolServiceV310.js} +7 -7
- package/dist/cjs/sdk/{accountMigration/MigrateCreditAccountsServiceV300.js → pools/createPoolService.js} +12 -7
- package/dist/cjs/sdk/pools/index.js +4 -2
- package/dist/cjs/sdk/router/AbstractRouterContract.js +0 -4
- package/dist/cjs/sdk/router/RouterV310Contract.js +3 -32
- package/dist/cjs/sdk/router/createRouter.js +0 -4
- package/dist/cjs/sdk/router/helpers.js +0 -5
- package/dist/cjs/sdk/router/index.js +0 -2
- package/dist/cjs/sdk/utils/abi-decode.js +43 -2
- package/dist/cjs/sdk/utils/formatter.js +55 -2
- package/dist/esm/abi/310/iLinearInterestRateModelV310.js +68 -0
- package/dist/esm/abi/errors.js +0 -143
- package/dist/esm/abi/iPriceFeed.js +60 -0
- package/dist/esm/common-utils/index.js +1 -0
- package/dist/esm/common-utils/package.json +1 -0
- package/dist/esm/{sdk/sdk-legacy/core/assets.js → common-utils/utils/assetsMath.js} +80 -14
- package/dist/esm/common-utils/utils/bigintMath.js +41 -0
- package/dist/esm/common-utils/utils/creditAccount/calcHealthFactor.js +55 -0
- package/dist/esm/common-utils/utils/creditAccount/calcOverallAPY.js +60 -0
- package/dist/esm/common-utils/utils/creditAccount/calcQuotaBorrowRate.js +18 -0
- package/dist/esm/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.js +10 -0
- package/dist/esm/common-utils/utils/creditAccount/debt.js +43 -0
- package/dist/esm/common-utils/utils/creditAccount/getTimeToLiquidation.js +18 -0
- package/dist/esm/common-utils/utils/creditAccount/index.js +10 -0
- package/dist/esm/common-utils/utils/creditAccount/liquidationPrice.js +23 -0
- package/dist/esm/common-utils/utils/creditAccount/quotaUtils.js +125 -0
- package/dist/esm/common-utils/utils/creditAccount/sort.js +67 -0
- package/dist/esm/common-utils/utils/endpoints.js +41 -0
- package/dist/esm/common-utils/utils/index.js +5 -0
- package/dist/esm/common-utils/utils/priceMath.js +42 -0
- package/dist/esm/dev/AccountOpener.js +3 -3
- package/dist/esm/dev/ltUtils.js +7 -100
- package/dist/esm/dev/migrateFaucet.js +24 -51
- package/dist/esm/dev/providers.js +12 -0
- package/dist/esm/history/assembleOperations.js +79 -0
- package/dist/esm/history/classifyMulticallOperations.js +137 -0
- package/dist/esm/history/errors.js +62 -0
- package/dist/esm/history/extractProtocolCalls.js +32 -0
- package/dist/esm/history/extractTransfers.js +148 -0
- package/dist/esm/history/findFacadeCalls.js +63 -0
- package/dist/esm/history/index.js +9 -0
- package/dist/esm/history/mapOperations.js +55 -0
- package/dist/esm/history/package.json +1 -0
- package/dist/esm/history/parseCreditAccountTransaction.js +62 -0
- package/dist/esm/history/populateContractsRegister.js +52 -0
- package/dist/esm/history/toLegacyOperation.js +157 -0
- package/dist/esm/history/trace-utils.js +36 -0
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +3 -3
- package/dist/esm/permissionless/bindings/instance-manager.js +3 -3
- package/dist/esm/permissionless/utils/price-update/get-prices.js +2 -6
- package/dist/esm/plugins/adapters/AdaptersPlugin.js +14 -148
- package/dist/esm/plugins/adapters/abi/index.js +1 -0
- package/dist/esm/plugins/adapters/abi/targetContractAbi.js +5113 -0
- package/dist/esm/plugins/adapters/contracts/AbstractAdapter.js +133 -4
- package/dist/esm/plugins/adapters/contracts/AccountMigratorAdapterContract.js +8 -1
- package/dist/esm/plugins/adapters/contracts/BalancerV3RouterAdapterContract.js +64 -30
- package/dist/esm/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.js +27 -11
- package/dist/esm/plugins/adapters/contracts/CamelotV3AdapterContract.js +40 -21
- package/dist/esm/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.js +109 -26
- package/dist/esm/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.js +76 -25
- package/dist/esm/plugins/adapters/contracts/Curve2AssetsAdapterContract.js +81 -31
- package/dist/esm/plugins/adapters/contracts/Curve3AssetsAdapterContract.js +81 -31
- package/dist/esm/plugins/adapters/contracts/Curve4AssetsAdapterContract.js +86 -31
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterDeposit.js +82 -33
- package/dist/esm/plugins/adapters/contracts/CurveV1AdapterStETHContract.js +64 -26
- package/dist/esm/plugins/adapters/contracts/CurveV1StableNGAdapterContract.js +97 -34
- package/dist/esm/plugins/adapters/contracts/DaiUsdsAdapterContract.js +48 -14
- package/dist/esm/plugins/adapters/contracts/ERC4626AdapterContract.js +64 -27
- package/dist/esm/plugins/adapters/contracts/ERC4626ReferralAdapterContract.js +48 -14
- package/dist/esm/plugins/adapters/contracts/FluidDexAdapterContract.js +36 -14
- package/dist/esm/plugins/adapters/contracts/InfinifiGatewayAdapterContract.js +58 -23
- package/dist/esm/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.js +37 -15
- package/dist/esm/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.js +33 -12
- package/dist/esm/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.js +40 -16
- package/dist/esm/plugins/adapters/contracts/LidoV1AdapterContract.js +49 -17
- package/dist/esm/plugins/adapters/contracts/MellowClaimerAdapterContract.js +31 -11
- package/dist/esm/plugins/adapters/contracts/MellowDVVAdapterContract.js +47 -14
- package/dist/esm/plugins/adapters/contracts/MellowDepositQueueAdapterContract.js +44 -17
- package/dist/esm/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.js +82 -43
- package/dist/esm/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.js +36 -14
- package/dist/esm/plugins/adapters/contracts/MellowWrapperAdapterContract.js +29 -11
- package/dist/esm/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.js +46 -17
- package/dist/esm/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.js +55 -22
- package/dist/esm/plugins/adapters/contracts/PendleRouterAdapterContract.js +91 -54
- package/dist/esm/plugins/adapters/contracts/StakingRewardsAdapterContract.js +73 -37
- package/dist/esm/plugins/adapters/contracts/TraderJoeRouterAdapterContract.js +54 -25
- package/dist/esm/plugins/adapters/contracts/UniswapV2AdapterContract.js +45 -22
- package/dist/esm/plugins/adapters/contracts/UniswapV3AdapterContract.js +43 -24
- package/dist/esm/plugins/adapters/contracts/UniswapV4AdapterContract.js +57 -28
- package/dist/esm/plugins/adapters/contracts/UpshiftVaultAdapterContract.js +48 -18
- package/dist/esm/plugins/adapters/contracts/VelodromeV2AdapterContract.js +46 -25
- package/dist/esm/plugins/adapters/contracts/WstETHV1AdapterContract.js +39 -11
- package/dist/esm/plugins/adapters/contracts/index.js +3 -7
- package/dist/esm/plugins/adapters/createAdapter.js +140 -0
- package/dist/esm/plugins/adapters/index.js +3 -0
- package/dist/esm/plugins/adapters/transferHelpers.js +95 -0
- package/dist/esm/plugins/bots/PartialLiquidationBotV310Contract.js +5 -8
- package/dist/esm/plugins/bots/abi/index.js +0 -1
- package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +2 -1
- package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -2
- package/dist/esm/plugins/zappers/ZappersPlugin.js +126 -0
- package/dist/esm/{sdk/market/ZapperRegister.js → plugins/zappers/extraZappers.js} +2 -109
- package/dist/esm/plugins/zappers/index.js +3 -0
- package/dist/esm/plugins/zappers/package.json +1 -0
- package/dist/esm/sdk/GearboxSDK.js +7 -23
- package/dist/esm/sdk/accounts/AbstractCreditAccountsService.js +23 -91
- package/dist/esm/sdk/accounts/CreditAccountsServiceV310.js +11 -12
- package/dist/esm/sdk/accounts/createCreditAccountService.js +1 -5
- package/dist/esm/sdk/accounts/index.js +0 -1
- package/dist/esm/sdk/base/BaseContract.js +62 -6
- package/dist/esm/sdk/base/ChainContractsRegister.js +33 -10
- package/dist/esm/sdk/base/Construct.js +29 -15
- package/dist/esm/sdk/base/PlaceholderContract.js +2 -2
- package/dist/esm/sdk/base/SDKConstruct.js +1 -1
- package/dist/esm/sdk/base/TokensMeta.js +36 -117
- package/dist/esm/sdk/base/errors.js +11 -0
- package/dist/esm/sdk/base/index.js +1 -1
- package/dist/esm/sdk/chain/chains.js +10 -27
- package/dist/esm/sdk/constants/addresses.js +1 -83
- package/dist/esm/sdk/constants/index.js +1 -0
- package/dist/esm/sdk/constants/networks.js +0 -31
- package/dist/esm/sdk/{base/token-types.js → constants/phantom-tokens.js} +0 -4
- package/dist/esm/sdk/constants/versions.js +0 -6
- package/dist/esm/sdk/core/{address-provider/AbstractAddressProviderContract.js → AbstractAddressProviderContract.js} +3 -3
- package/dist/esm/sdk/core/{address-provider/AddressProviderV310Contract.js → AddressProviderV310Contract.js} +1 -1
- package/dist/esm/sdk/core/{address-provider/createAddressProvider.js → createAddressProvider.js} +4 -8
- package/dist/esm/sdk/core/index.js +3 -3
- package/dist/esm/sdk/index.js +0 -5
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +3 -2
- package/dist/esm/sdk/market/MarketRegister.js +2 -3
- package/dist/esm/sdk/market/MarketSuite.js +2 -5
- package/dist/esm/sdk/market/adapters/PlaceholderAdapterContracts.js +29 -5
- package/dist/esm/sdk/market/adapters/index.js +1 -1
- package/dist/esm/sdk/market/credit/CreditFacadeV310BaseContract.js +86 -0
- package/dist/esm/sdk/market/credit/CreditFacadeV310Contract.js +3 -43
- package/dist/esm/sdk/market/credit/CreditManagerV310Contract.js +1 -4
- package/dist/esm/sdk/market/credit/createCreditConfigurator.js +2 -5
- package/dist/esm/sdk/market/credit/createCreditFacade.js +2 -5
- package/dist/esm/sdk/market/credit/createCreditManager.js +2 -5
- package/dist/esm/sdk/market/credit/index.js +1 -3
- package/dist/esm/sdk/market/index.js +0 -1
- package/dist/esm/sdk/market/oracle/PriceOracleBaseContract.js +10 -59
- package/dist/esm/sdk/market/oracle/createPriceOracle.js +7 -38
- package/dist/esm/sdk/market/oracle/index.js +0 -1
- package/dist/esm/sdk/market/pool/GaugeContract.js +3 -3
- package/dist/esm/sdk/market/pool/LinearInterestRateModelContract.js +2 -2
- package/dist/esm/sdk/market/pool/PoolV310Contract.js +1 -1
- package/dist/esm/sdk/market/pool/createPool.js +1 -5
- package/dist/esm/sdk/market/pool/createPoolQuotaKeeper.js +1 -5
- package/dist/esm/sdk/market/pool/index.js +0 -2
- package/dist/esm/sdk/market/pricefeeds/AbstractLPPriceFeed.js +14 -53
- package/dist/esm/sdk/market/pricefeeds/PriceFeedsRegister.js +5 -3
- package/dist/esm/sdk/market/pricefeeds/PythPriceFeed.js +21 -1
- package/dist/esm/sdk/market/pricefeeds/RedstonePriceFeed.js +20 -47
- package/dist/esm/sdk/market/pricefeeds/updates/PriceUpdatesCache.js +0 -17
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +7 -7
- package/dist/esm/sdk/market/pricefeeds/updates/RedstoneUpdater.js +6 -6
- package/dist/esm/sdk/market/pricefeeds/updates/fetchPythPayloads.js +7 -7
- package/dist/esm/sdk/market/pricefeeds/updates/fetchRedstonePayloads.js +10 -10
- package/dist/esm/sdk/plugins/index.js +0 -1
- package/dist/esm/sdk/pools/AbstractPoolService.js +113 -0
- package/dist/esm/sdk/pools/PoolServiceV310.js +6 -0
- package/dist/esm/sdk/pools/createPoolService.js +11 -0
- package/dist/esm/sdk/pools/index.js +2 -1
- package/dist/esm/sdk/router/AbstractRouterContract.js +0 -4
- package/dist/esm/sdk/router/RouterV310Contract.js +3 -32
- package/dist/esm/sdk/router/createRouter.js +1 -5
- package/dist/esm/sdk/router/helpers.js +0 -4
- package/dist/esm/sdk/router/index.js +0 -1
- package/dist/esm/sdk/utils/abi-decode.js +43 -2
- package/dist/esm/sdk/utils/formatter.js +37 -1
- package/dist/types/abi/310/iLinearInterestRateModelV310.d.ts +111 -0
- package/dist/types/abi/errors.d.ts +186 -996
- package/dist/types/abi/iPriceFeed.d.ts +87 -0
- package/dist/types/common-utils/index.d.ts +1 -0
- package/dist/types/common-utils/utils/assetsMath.d.ts +114 -0
- package/dist/types/common-utils/utils/bigintMath.d.ts +43 -0
- package/dist/types/common-utils/utils/creditAccount/calcHealthFactor.d.ts +25 -0
- package/dist/types/common-utils/utils/creditAccount/calcOverallAPY.d.ts +37 -0
- package/dist/types/common-utils/utils/creditAccount/calcQuotaBorrowRate.d.ts +18 -0
- package/dist/types/common-utils/utils/creditAccount/calcRelativeBaseBorrowRate.d.ts +15 -0
- package/dist/types/common-utils/utils/creditAccount/debt.d.ts +35 -0
- package/dist/types/common-utils/utils/creditAccount/getTimeToLiquidation.d.ts +16 -0
- package/dist/types/common-utils/utils/creditAccount/index.d.ts +10 -0
- package/dist/types/common-utils/utils/creditAccount/liquidationPrice.d.ts +25 -0
- package/dist/types/common-utils/utils/creditAccount/quotaUtils.d.ts +81 -0
- package/dist/types/common-utils/utils/creditAccount/sort.d.ts +55 -0
- package/dist/types/common-utils/utils/creditAccount/types.d.ts +18 -0
- package/dist/types/common-utils/utils/endpoints.d.ts +27 -0
- package/dist/types/common-utils/utils/index.d.ts +5 -0
- package/dist/types/common-utils/utils/priceMath.d.ts +47 -0
- package/dist/types/dev/migrateFaucet.d.ts +4 -5
- package/dist/types/dev/providers.d.ts +5 -5
- package/dist/types/history/assembleOperations.d.ts +22 -0
- package/dist/types/history/classifyMulticallOperations.d.ts +35 -0
- package/dist/types/history/errors.d.ts +30 -0
- package/dist/types/history/extractProtocolCalls.d.ts +8 -0
- package/dist/types/history/extractTransfers.d.ts +22 -0
- package/dist/types/history/findFacadeCalls.d.ts +9 -0
- package/dist/types/history/index.d.ts +6 -0
- package/dist/types/history/inner-operations.d.ts +57 -0
- package/dist/types/history/internal-types.d.ts +47 -0
- package/dist/types/history/mapOperations.d.ts +27 -0
- package/dist/types/history/parseCreditAccountTransaction.d.ts +27 -0
- package/dist/types/history/populateContractsRegister.d.ts +19 -0
- package/dist/types/history/toLegacyOperation.d.ts +18 -0
- package/dist/types/history/trace-utils.d.ts +12 -0
- package/dist/types/history/types.d.ts +71 -0
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +3 -3
- package/dist/types/permissionless/bindings/instance-manager.d.ts +3 -3
- package/dist/types/plugins/adapters/abi/index.d.ts +1 -0
- package/dist/types/plugins/adapters/abi/targetContractAbi.d.ts +8262 -0
- package/dist/types/plugins/adapters/contracts/AbstractAdapter.d.ts +50 -8
- package/dist/types/plugins/adapters/contracts/AccountMigratorAdapterContract.d.ts +238 -4
- package/dist/types/plugins/adapters/contracts/BalancerV3RouterAdapterContract.d.ts +135 -8
- package/dist/types/plugins/adapters/contracts/BalancerV3WrapperAdapterContract.d.ts +45 -4
- package/dist/types/plugins/adapters/contracts/CamelotV3AdapterContract.d.ts +225 -7
- package/dist/types/plugins/adapters/contracts/ConvexV1BaseRewardPoolAdapterContract.d.ts +418 -8
- package/dist/types/plugins/adapters/contracts/ConvexV1BoosterAdapterContract.d.ts +227 -10
- package/dist/types/plugins/adapters/contracts/Curve2AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/Curve3AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/Curve4AssetsAdapterContract.d.ts +1257 -10
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterDeposit.d.ts +575 -11
- package/dist/types/plugins/adapters/contracts/CurveV1AdapterStETHContract.d.ts +1244 -10
- package/dist/types/plugins/adapters/contracts/CurveV1StableNGAdapterContract.d.ts +1227 -11
- package/dist/types/plugins/adapters/contracts/DaiUsdsAdapterContract.d.ts +69 -6
- package/dist/types/plugins/adapters/contracts/ERC4626AdapterContract.d.ts +492 -6
- package/dist/types/plugins/adapters/contracts/ERC4626ReferralAdapterContract.d.ts +67 -6
- package/dist/types/plugins/adapters/contracts/FluidDexAdapterContract.d.ts +132 -6
- package/dist/types/plugins/adapters/contracts/InfinifiGatewayAdapterContract.d.ts +144 -8
- package/dist/types/plugins/adapters/contracts/InfinifiUnwindingGatewayAdapterContract.d.ts +163 -5
- package/dist/types/plugins/adapters/contracts/KelpLRTDepositPoolAdapterContract.d.ts +248 -6
- package/dist/types/plugins/adapters/contracts/KelpLRTWithdrawalManagerAdapterContract.d.ts +367 -6
- package/dist/types/plugins/adapters/contracts/LidoV1AdapterContract.d.ts +104 -7
- package/dist/types/plugins/adapters/contracts/MellowClaimerAdapterContract.d.ts +46 -5
- package/dist/types/plugins/adapters/contracts/MellowDVVAdapterContract.d.ts +488 -6
- package/dist/types/plugins/adapters/contracts/MellowDepositQueueAdapterContract.d.ts +20 -7
- package/dist/types/plugins/adapters/contracts/MellowERC4626VaultAdapterContract.d.ts +493 -7
- package/dist/types/plugins/adapters/contracts/MellowRedeemQueueAdapterContract.d.ts +18 -6
- package/dist/types/plugins/adapters/contracts/MellowWrapperAdapterContract.d.ts +56 -5
- package/dist/types/plugins/adapters/contracts/MidasIssuanceVaultAdapterContract.d.ts +52 -7
- package/dist/types/plugins/adapters/contracts/MidasRedemptionVaultAdapterContract.d.ts +199 -7
- package/dist/types/plugins/adapters/contracts/PendleRouterAdapterContract.d.ts +1040 -17
- package/dist/types/plugins/adapters/contracts/StakingRewardsAdapterContract.d.ts +82 -8
- package/dist/types/plugins/adapters/contracts/TraderJoeRouterAdapterContract.d.ts +148 -10
- package/dist/types/plugins/adapters/contracts/UniswapV2AdapterContract.d.ts +758 -5
- package/dist/types/plugins/adapters/contracts/UniswapV3AdapterContract.d.ts +183 -4
- package/dist/types/plugins/adapters/contracts/UniswapV4AdapterContract.d.ts +110 -5
- package/dist/types/plugins/adapters/contracts/UpshiftVaultAdapterContract.d.ts +84 -7
- package/dist/types/plugins/adapters/contracts/VelodromeV2AdapterContract.d.ts +122 -4
- package/dist/types/plugins/adapters/contracts/WstETHV1AdapterContract.d.ts +275 -5
- package/dist/types/plugins/adapters/contracts/index.d.ts +3 -7
- package/dist/types/plugins/adapters/createAdapter.d.ts +5 -0
- package/dist/types/plugins/adapters/index.d.ts +3 -0
- package/dist/types/plugins/adapters/legacyAdapterOperations.d.ts +200 -0
- package/dist/types/plugins/adapters/transferHelpers.d.ts +60 -0
- package/dist/types/plugins/adapters/types.d.ts +64 -2
- package/dist/types/plugins/bots/abi/index.d.ts +0 -1
- package/dist/types/plugins/zappers/ZappersPlugin.d.ts +18 -0
- package/dist/types/plugins/zappers/extraZappers.d.ts +6 -0
- package/dist/types/plugins/zappers/index.d.ts +3 -0
- package/dist/types/plugins/zappers/types.d.ts +12 -0
- package/dist/types/sdk/GearboxSDK.d.ts +0 -3
- package/dist/types/sdk/accounts/AbstractCreditAccountsService.d.ts +3 -13
- package/dist/types/sdk/accounts/CreditAccountsServiceV310.d.ts +1 -1
- package/dist/types/sdk/accounts/createCreditAccountService.d.ts +1 -1
- package/dist/types/sdk/accounts/index.d.ts +0 -1
- package/dist/types/sdk/accounts/types.d.ts +9 -37
- package/dist/types/sdk/base/BaseContract.d.ts +17 -4
- package/dist/types/sdk/base/ChainContractsRegister.d.ts +11 -3
- package/dist/types/sdk/base/Construct.d.ts +13 -13
- package/dist/types/sdk/base/PlaceholderContract.d.ts +2 -2
- package/dist/types/sdk/base/TokensMeta.d.ts +18 -11
- package/dist/types/sdk/base/errors.d.ts +3 -0
- package/dist/types/sdk/base/index.d.ts +1 -1
- package/dist/types/sdk/base/types.d.ts +37 -0
- package/dist/types/sdk/constants/addresses.d.ts +0 -19
- package/dist/types/sdk/constants/index.d.ts +1 -0
- package/dist/types/sdk/constants/networks.d.ts +0 -5
- package/dist/types/sdk/constants/phantom-tokens.d.ts +2 -0
- package/dist/types/sdk/constants/versions.d.ts +0 -2
- package/dist/types/sdk/core/{address-provider/AbstractAddressProviderContract.d.ts → AbstractAddressProviderContract.d.ts} +4 -4
- package/dist/types/sdk/core/{address-provider/AddressProviderV310Contract.d.ts → AddressProviderV310Contract.d.ts} +1 -1
- package/dist/types/sdk/core/{address-provider/createAddressProvider.d.ts → createAddressProvider.d.ts} +1 -1
- package/dist/types/sdk/core/index.d.ts +3 -3
- package/dist/types/sdk/core/{address-provider/types.d.ts → types.d.ts} +3 -3
- package/dist/types/sdk/index.d.ts +0 -5
- package/dist/types/sdk/market/MarketConfiguratorContract.d.ts +1 -1
- package/dist/types/sdk/market/MarketRegister.d.ts +2 -3
- package/dist/types/sdk/market/MarketSuite.d.ts +0 -1
- package/dist/types/sdk/market/adapters/PlaceholderAdapterContracts.d.ts +10 -5
- package/dist/types/sdk/market/adapters/index.d.ts +1 -1
- package/dist/types/sdk/market/credit/CreditConfiguratorV310Contract.d.ts +6 -2
- package/dist/types/sdk/market/credit/{CreditFacadeV300Contract.d.ts → CreditFacadeV310BaseContract.d.ts} +335 -267
- package/dist/types/sdk/market/credit/CreditFacadeV310Contract.d.ts +6 -848
- package/dist/types/sdk/market/credit/index.d.ts +1 -3
- package/dist/types/sdk/market/credit/types.d.ts +2 -3
- package/dist/types/sdk/market/index.d.ts +0 -1
- package/dist/types/sdk/market/loss-policy/createLossPolicy.d.ts +0 -12
- package/dist/types/sdk/market/oracle/PriceOracleBaseContract.d.ts +2 -21
- package/dist/types/sdk/market/oracle/PriceOracleV310Contract.d.ts +2 -2
- package/dist/types/sdk/market/oracle/createPriceOracle.d.ts +1 -15
- package/dist/types/sdk/market/oracle/index.d.ts +0 -1
- package/dist/types/sdk/market/oracle/types.d.ts +6 -18
- package/dist/types/sdk/market/pool/GaugeContract.d.ts +116 -76
- package/dist/types/sdk/market/pool/LinearInterestRateModelContract.d.ts +20 -0
- package/dist/types/sdk/market/pool/index.d.ts +0 -2
- package/dist/types/sdk/market/pool/types.d.ts +2 -4
- package/dist/types/sdk/market/pricefeeds/AbstractLPPriceFeed.d.ts +0 -3
- package/dist/types/sdk/market/pricefeeds/PythPriceFeed.d.ts +21 -1
- package/dist/types/sdk/market/pricefeeds/types.d.ts +0 -9
- package/dist/types/sdk/market/pricefeeds/updates/PriceUpdatesCache.d.ts +1 -8
- package/dist/types/sdk/market/pricefeeds/updates/PythUpdater.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/RedstoneUpdater.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/fetchPythPayloads.d.ts +2 -2
- package/dist/types/sdk/market/pricefeeds/updates/fetchRedstonePayloads.d.ts +2 -2
- package/dist/types/sdk/options.d.ts +2 -2
- package/dist/types/sdk/plugins/index.d.ts +0 -1
- package/dist/types/sdk/pools/AbstractPoolService.d.ts +9 -0
- package/dist/types/sdk/pools/PoolServiceV310.d.ts +4 -0
- package/dist/types/sdk/pools/createPoolService.d.ts +3 -0
- package/dist/types/sdk/pools/index.d.ts +2 -1
- package/dist/types/sdk/pools/types.d.ts +62 -64
- package/dist/types/sdk/router/AbstractRouterContract.d.ts +2 -7
- package/dist/types/sdk/router/RouterV310Contract.d.ts +1 -16
- package/dist/types/sdk/router/helpers.d.ts +2 -2
- package/dist/types/sdk/router/index.d.ts +0 -1
- package/dist/types/sdk/router/types.d.ts +2 -55
- package/dist/types/sdk/types/state-human.d.ts +1 -4
- package/dist/types/sdk/utils/abi-decode.d.ts +14 -1
- package/dist/types/sdk/utils/formatter.d.ts +9 -0
- package/package.json +26 -12
- package/dist/cjs/abi/iDegenDistributorV300.js +0 -100
- package/dist/cjs/abi/routerV300.js +0 -406
- package/dist/cjs/abi/v300.js +0 -4189
- package/dist/cjs/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -51
- package/dist/cjs/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -58
- package/dist/cjs/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -49
- package/dist/cjs/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -56
- package/dist/cjs/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -46
- package/dist/cjs/plugins/adapters/contracts/types.js +0 -77
- package/dist/cjs/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -164
- package/dist/cjs/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -192
- package/dist/cjs/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -41
- package/dist/cjs/sdk/accountMigration/index.js +0 -26
- package/dist/cjs/sdk/accounts/CreditAccountsServiceV300.js +0 -454
- package/dist/cjs/sdk/core/BotListV3Contract.js +0 -101
- package/dist/cjs/sdk/core/GearStakingV3Contract.js +0 -83
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +0 -116
- package/dist/cjs/sdk/core/address-provider/index.js +0 -28
- package/dist/cjs/sdk/gauges/GaugeStakingService.js +0 -118
- package/dist/cjs/sdk/gauges/index.js +0 -24
- package/dist/cjs/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -139
- package/dist/cjs/sdk/market/credit/CreditFacadeV300Contract.js +0 -160
- package/dist/cjs/sdk/market/credit/CreditManagerV300Contract.js +0 -114
- package/dist/cjs/sdk/market/oracle/PriceOracleV300Contract.js +0 -129
- package/dist/cjs/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -85
- package/dist/cjs/sdk/market/pool/PoolV300Contract.js +0 -135
- package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -131
- package/dist/cjs/sdk/poolMigration/index.js +0 -84
- package/dist/cjs/sdk/pools/PoolService.js +0 -260
- package/dist/cjs/sdk/router/PathOptionFactory.js +0 -105
- package/dist/cjs/sdk/router/RouterV300Contract.js +0 -390
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/adapters.js +0 -67
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2576
- package/dist/cjs/sdk/sdk-gov-legacy/contracts/protocols.js +0 -58
- package/dist/cjs/sdk/sdk-gov-legacy/index.js +0 -26
- package/dist/cjs/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -52
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/aave.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/aura.js +0 -239
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/balancer.js +0 -339
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/compound.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/convex.js +0 -450
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -394
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/erc4626.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/gear.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/index.js +0 -52
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/normal.js +0 -562
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -45
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/token.js +0 -1002
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -80
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -50
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -16
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/yearn.js +0 -95
- package/dist/cjs/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/core/assets.js +0 -150
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +0 -510
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1802
- package/dist/cjs/sdk/sdk-legacy/core/creditManager.js +0 -263
- package/dist/cjs/sdk/sdk-legacy/core/creditSession.js +0 -256
- package/dist/cjs/sdk/sdk-legacy/core/endpoint.js +0 -137
- package/dist/cjs/sdk/sdk-legacy/core/eventOrTx.js +0 -87
- package/dist/cjs/sdk/sdk-legacy/core/pool.js +0 -334
- package/dist/cjs/sdk/sdk-legacy/core/transactions.js +0 -783
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +0 -366
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +0 -176
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -137
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/index.js +0 -26
- package/dist/cjs/sdk/sdk-legacy/index.js +0 -52
- package/dist/cjs/sdk/sdk-legacy/payload/creditAccount.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/creditManager.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/creditSession.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/graphPayload.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/payload/pool.js +0 -16
- package/dist/cjs/sdk/sdk-legacy/tokens/tokenData.js +0 -92
- package/dist/cjs/sdk/sdk-legacy/utils/formatter.js +0 -79
- package/dist/cjs/sdk/sdk-legacy/utils/price.js +0 -35
- package/dist/esm/abi/iDegenDistributorV300.js +0 -76
- package/dist/esm/abi/iStateSerializer.js +0 -12
- package/dist/esm/abi/routerV300.js +0 -381
- package/dist/esm/abi/v300.js +0 -4154
- package/dist/esm/plugins/adapters/contracts/BalancerV2VaultAdapterContract.js +0 -27
- package/dist/esm/plugins/adapters/contracts/EqualizerRouterAdapterContract.js +0 -34
- package/dist/esm/plugins/adapters/contracts/InfraredVaultAdapterContract.js +0 -25
- package/dist/esm/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.js +0 -32
- package/dist/esm/plugins/adapters/contracts/MellowVaultAdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/YearnV2AdapterContract.js +0 -22
- package/dist/esm/plugins/adapters/contracts/types.js +0 -48
- package/dist/esm/plugins/bots/abi/iPartialLiquidationBotV300.js +0 -140
- package/dist/esm/sdk/accountMigration/AbstractMigrateCreditAccountsService.js +0 -171
- package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV300.js +0 -6
- package/dist/esm/sdk/accountMigration/MigrateCreditAccountsServiceV310.js +0 -6
- package/dist/esm/sdk/accountMigration/createMigrateCreditAccountsService.js +0 -17
- package/dist/esm/sdk/accountMigration/index.js +0 -3
- package/dist/esm/sdk/accounts/CreditAccountsServiceV300.js +0 -442
- package/dist/esm/sdk/core/BotListV3Contract.js +0 -77
- package/dist/esm/sdk/core/GearStakingV3Contract.js +0 -59
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +0 -82
- package/dist/esm/sdk/core/address-provider/index.js +0 -4
- package/dist/esm/sdk/gauges/GaugeStakingService.js +0 -94
- package/dist/esm/sdk/gauges/index.js +0 -2
- package/dist/esm/sdk/market/credit/CreditConfiguratorV300Contract.js +0 -115
- package/dist/esm/sdk/market/credit/CreditFacadeV300Contract.js +0 -143
- package/dist/esm/sdk/market/credit/CreditManagerV300Contract.js +0 -90
- package/dist/esm/sdk/market/oracle/PriceOracleV300Contract.js +0 -111
- package/dist/esm/sdk/market/pool/PoolQuotaKeeperV300Contract.js +0 -61
- package/dist/esm/sdk/market/pool/PoolV300Contract.js +0 -116
- package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -107
- package/dist/esm/sdk/poolMigration/index.js +0 -60
- package/dist/esm/sdk/pools/PoolService.js +0 -240
- package/dist/esm/sdk/router/PathOptionFactory.js +0 -92
- package/dist/esm/sdk/router/RouterV300Contract.js +0 -374
- package/dist/esm/sdk/sdk-gov-legacy/contracts/adapters.js +0 -43
- package/dist/esm/sdk/sdk-gov-legacy/contracts/contracts.js +0 -2538
- package/dist/esm/sdk/sdk-gov-legacy/contracts/index.js +0 -2
- package/dist/esm/sdk/sdk-gov-legacy/contracts/protocols.js +0 -34
- package/dist/esm/sdk/sdk-gov-legacy/index.js +0 -3
- package/dist/esm/sdk/sdk-gov-legacy/oracles/PriceFeedType.js +0 -28
- package/dist/esm/sdk/sdk-gov-legacy/oracles/index.js +0 -1
- package/dist/esm/sdk/sdk-gov-legacy/tokens/aura.js +0 -213
- package/dist/esm/sdk/sdk-gov-legacy/tokens/balancer.js +0 -314
- package/dist/esm/sdk/sdk-gov-legacy/tokens/convex.js +0 -424
- package/dist/esm/sdk/sdk-gov-legacy/tokens/curveLP.js +0 -369
- package/dist/esm/sdk/sdk-gov-legacy/tokens/gear.js +0 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/index.js +0 -16
- package/dist/esm/sdk/sdk-gov-legacy/tokens/normal.js +0 -538
- package/dist/esm/sdk/sdk-gov-legacy/tokens/stakingRewards.js +0 -20
- package/dist/esm/sdk/sdk-gov-legacy/tokens/token.js +0 -975
- package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenData.js +0 -55
- package/dist/esm/sdk/sdk-gov-legacy/tokens/tokenType.js +0 -26
- package/dist/esm/sdk/sdk-gov-legacy/tokens/wrapped.js +0 -0
- package/dist/esm/sdk/sdk-gov-legacy/tokens/yearn.js +0 -71
- package/dist/esm/sdk/sdk-gov-legacy/tokens/zircuit.js +0 -0
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +0 -495
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.spec.js +0 -1805
- package/dist/esm/sdk/sdk-legacy/core/creditManager.js +0 -242
- package/dist/esm/sdk/sdk-legacy/core/creditSession.js +0 -228
- package/dist/esm/sdk/sdk-legacy/core/endpoint.js +0 -107
- package/dist/esm/sdk/sdk-legacy/core/eventOrTx.js +0 -63
- package/dist/esm/sdk/sdk-legacy/core/pool.js +0 -311
- package/dist/esm/sdk/sdk-legacy/core/transactions.js +0 -732
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +0 -332
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +0 -158
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +0 -102
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/index.js +0 -3
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/merklAPI.js +0 -6
- package/dist/esm/sdk/sdk-legacy/index.js +0 -16
- package/dist/esm/sdk/sdk-legacy/payload/creditAccount.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/creditManager.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/creditSession.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/graphPayload.js +0 -0
- package/dist/esm/sdk/sdk-legacy/payload/pool.js +0 -0
- package/dist/esm/sdk/sdk-legacy/tokens/tokenData.js +0 -68
- package/dist/esm/sdk/sdk-legacy/utils/formatter.js +0 -39
- package/dist/esm/sdk/sdk-legacy/utils/index.js +0 -3
- package/dist/esm/sdk/sdk-legacy/utils/math.js +0 -9
- package/dist/esm/sdk/sdk-legacy/utils/price.js +0 -11
- package/dist/types/abi/iDegenDistributorV300.d.ts +0 -87
- package/dist/types/abi/iStateSerializer.d.ts +0 -11
- package/dist/types/abi/routerV300.d.ts +0 -585
- package/dist/types/abi/v300.d.ts +0 -5484
- package/dist/types/plugins/adapters/contracts/BalancerV2VaultAdapterContract.d.ts +0 -482
- package/dist/types/plugins/adapters/contracts/EqualizerRouterAdapterContract.d.ts +0 -225
- package/dist/types/plugins/adapters/contracts/InfraredVaultAdapterContract.d.ts +0 -198
- package/dist/types/plugins/adapters/contracts/KodiakIslandGatewayAdapterContract.d.ts +0 -396
- package/dist/types/plugins/adapters/contracts/MellowVaultAdapterContract.d.ts +0 -203
- package/dist/types/plugins/adapters/contracts/YearnV2AdapterContract.d.ts +0 -185
- package/dist/types/plugins/adapters/contracts/types.d.ts +0 -34
- package/dist/types/plugins/bots/abi/iPartialLiquidationBotV300.d.ts +0 -210
- package/dist/types/sdk/accountMigration/AbstractMigrateCreditAccountsService.d.ts +0 -32
- package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV300.d.ts +0 -4
- package/dist/types/sdk/accountMigration/MigrateCreditAccountsServiceV310.d.ts +0 -4
- package/dist/types/sdk/accountMigration/createMigrateCreditAccountsService.d.ts +0 -8
- package/dist/types/sdk/accountMigration/index.d.ts +0 -3
- package/dist/types/sdk/accountMigration/types.d.ts +0 -62
- package/dist/types/sdk/accounts/CreditAccountsServiceV300.d.ts +0 -32
- package/dist/types/sdk/base/token-types.d.ts +0 -25
- package/dist/types/sdk/core/BotListV3Contract.d.ts +0 -323
- package/dist/types/sdk/core/GearStakingV3Contract.d.ts +0 -520
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +0 -97
- package/dist/types/sdk/core/address-provider/index.d.ts +0 -4
- package/dist/types/sdk/gauges/GaugeStakingService.d.ts +0 -14
- package/dist/types/sdk/gauges/index.d.ts +0 -2
- package/dist/types/sdk/gauges/utils.d.ts +0 -22
- package/dist/types/sdk/market/ZapperRegister.d.ts +0 -17
- package/dist/types/sdk/market/credit/CreditConfiguratorV300Contract.d.ts +0 -648
- package/dist/types/sdk/market/credit/CreditManagerV300Contract.d.ts +0 -1043
- package/dist/types/sdk/market/oracle/PriceOracleV300Contract.d.ts +0 -369
- package/dist/types/sdk/market/pool/PoolQuotaKeeperV300Contract.d.ts +0 -448
- package/dist/types/sdk/market/pool/PoolV300Contract.d.ts +0 -1107
- package/dist/types/sdk/market/types.d.ts +0 -10
- package/dist/types/sdk/plugins/V300StalenessPeriodPlugin.d.ts +0 -29
- package/dist/types/sdk/poolMigration/index.d.ts +0 -11
- package/dist/types/sdk/pools/PoolService.d.ts +0 -11
- package/dist/types/sdk/router/PathOptionFactory.d.ts +0 -9
- package/dist/types/sdk/router/RouterV300Contract.d.ts +0 -39
- package/dist/types/sdk/sdk-gov-legacy/contracts/adapters.d.ts +0 -39
- package/dist/types/sdk/sdk-gov-legacy/contracts/contracts.d.ts +0 -194
- package/dist/types/sdk/sdk-gov-legacy/contracts/index.d.ts +0 -2
- package/dist/types/sdk/sdk-gov-legacy/contracts/protocols.d.ts +0 -30
- package/dist/types/sdk/sdk-gov-legacy/index.d.ts +0 -3
- package/dist/types/sdk/sdk-gov-legacy/oracles/PriceFeedType.d.ts +0 -24
- package/dist/types/sdk/sdk-gov-legacy/oracles/index.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/aave.d.ts +0 -2
- package/dist/types/sdk/sdk-gov-legacy/tokens/aura.d.ts +0 -26
- package/dist/types/sdk/sdk-gov-legacy/tokens/balancer.d.ts +0 -15
- package/dist/types/sdk/sdk-gov-legacy/tokens/compound.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/convex.d.ts +0 -31
- package/dist/types/sdk/sdk-gov-legacy/tokens/curveLP.d.ts +0 -25
- package/dist/types/sdk/sdk-gov-legacy/tokens/erc4626.d.ts +0 -1
- package/dist/types/sdk/sdk-gov-legacy/tokens/gear.d.ts +0 -5
- package/dist/types/sdk/sdk-gov-legacy/tokens/index.d.ts +0 -16
- package/dist/types/sdk/sdk-gov-legacy/tokens/normal.d.ts +0 -9
- package/dist/types/sdk/sdk-gov-legacy/tokens/stakingRewards.d.ts +0 -13
- package/dist/types/sdk/sdk-gov-legacy/tokens/token.d.ts +0 -34
- package/dist/types/sdk/sdk-gov-legacy/tokens/tokenData.d.ts +0 -5
- package/dist/types/sdk/sdk-gov-legacy/tokens/tokenType.d.ts +0 -24
- package/dist/types/sdk/sdk-gov-legacy/tokens/wrapped.d.ts +0 -7
- package/dist/types/sdk/sdk-gov-legacy/tokens/yearn.d.ts +0 -26
- package/dist/types/sdk/sdk-gov-legacy/tokens/zircuit.d.ts +0 -1
- package/dist/types/sdk/sdk-legacy/core/assets.d.ts +0 -39
- package/dist/types/sdk/sdk-legacy/core/creditAccount.d.ts +0 -152
- package/dist/types/sdk/sdk-legacy/core/creditAccount.spec.d.ts +0 -1
- package/dist/types/sdk/sdk-legacy/core/creditManager.d.ts +0 -92
- package/dist/types/sdk/sdk-legacy/core/creditSession.d.ts +0 -110
- package/dist/types/sdk/sdk-legacy/core/endpoint.d.ts +0 -24
- package/dist/types/sdk/sdk-legacy/core/eventOrTx.d.ts +0 -35
- package/dist/types/sdk/sdk-legacy/core/pool.d.ts +0 -144
- package/dist/types/sdk/sdk-legacy/core/transactions.d.ts +0 -348
- package/dist/types/sdk/sdk-legacy/gearboxRewards/api.d.ts +0 -87
- package/dist/types/sdk/sdk-legacy/gearboxRewards/apy.d.ts +0 -46
- package/dist/types/sdk/sdk-legacy/gearboxRewards/extraAPY.d.ts +0 -41
- package/dist/types/sdk/sdk-legacy/gearboxRewards/index.d.ts +0 -3
- package/dist/types/sdk/sdk-legacy/gearboxRewards/merklAPI.d.ts +0 -42
- package/dist/types/sdk/sdk-legacy/index.d.ts +0 -16
- package/dist/types/sdk/sdk-legacy/payload/creditAccount.d.ts +0 -47
- package/dist/types/sdk/sdk-legacy/payload/creditManager.d.ts +0 -109
- package/dist/types/sdk/sdk-legacy/payload/creditSession.d.ts +0 -111
- package/dist/types/sdk/sdk-legacy/payload/graphPayload.d.ts +0 -10
- package/dist/types/sdk/sdk-legacy/payload/pool.d.ts +0 -181
- package/dist/types/sdk/sdk-legacy/tokens/tokenData.d.ts +0 -21
- package/dist/types/sdk/sdk-legacy/utils/formatter.d.ts +0 -8
- package/dist/types/sdk/sdk-legacy/utils/index.d.ts +0 -3
- package/dist/types/sdk/sdk-legacy/utils/math.d.ts +0 -6
- package/dist/types/sdk/sdk-legacy/utils/price.d.ts +0 -9
- /package/dist/cjs/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
- /package/dist/cjs/{sdk/core/address-provider → history}/types.js +0 -0
- /package/dist/cjs/{sdk/market → plugins/zappers}/types.js +0 -0
- /package/dist/esm/{sdk/accountMigration → common-utils/utils/creditAccount}/types.js +0 -0
- /package/dist/esm/{sdk/core/address-provider/types.js → history/inner-operations.js} +0 -0
- /package/dist/esm/{sdk/gauges/utils.js → history/internal-types.js} +0 -0
- /package/dist/esm/{sdk/market → history}/types.js +0 -0
- /package/dist/esm/{sdk/sdk-gov-legacy/tokens/aave.js → plugins/adapters/legacyAdapterOperations.js} +0 -0
- /package/dist/esm/{sdk/sdk-gov-legacy/tokens/compound.js → plugins/zappers/types.js} +0 -0
- /package/dist/esm/sdk/{sdk-gov-legacy/tokens/erc4626.js → core/types.js} +0 -0
- /package/dist/esm/sdk/market/adapters/{factory.js → createAdapter.js} +0 -0
- /package/dist/types/sdk/market/adapters/{factory.d.ts → createAdapter.d.ts} +0 -0
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { BigIntMath } from "
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { BigIntMath } from "./bigintMath.js";
|
|
2
|
+
import { sortBalances } from "./creditAccount/sort.js";
|
|
3
|
+
import { PriceUtils } from "./priceMath.js";
|
|
4
4
|
class AssetUtils {
|
|
5
|
+
constructor() {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Selects the next candidate token to add to a selected-asset list.
|
|
9
|
+
*
|
|
10
|
+
* Flow:
|
|
11
|
+
* 1) Removes tokens already present in `selectedAssets`
|
|
12
|
+
* 2) Builds balances for the remaining allowed tokens
|
|
13
|
+
* 3) Sorts the balances using `CreditAccountDataUtils.sortBalances`
|
|
14
|
+
* 4) Returns the highest-priority token address, if any
|
|
15
|
+
*
|
|
16
|
+
* Addresses are normalized to lowercase for matching.
|
|
17
|
+
*
|
|
18
|
+
* @returns The next token address to select, or `undefined` if no candidates remain.
|
|
19
|
+
*/
|
|
5
20
|
static nextAsset({
|
|
6
21
|
allowedTokens,
|
|
7
22
|
selectedAssets,
|
|
@@ -20,7 +35,7 @@ class AssetUtils {
|
|
|
20
35
|
const alreadySelected = selectedRecord[allowedToken.toLowerCase()];
|
|
21
36
|
return !alreadySelected;
|
|
22
37
|
});
|
|
23
|
-
const sorted =
|
|
38
|
+
const sorted = sortBalances(
|
|
24
39
|
AssetUtils.getBalances(notSelected, balances),
|
|
25
40
|
prices,
|
|
26
41
|
tokensList
|
|
@@ -28,15 +43,30 @@ class AssetUtils {
|
|
|
28
43
|
const [address] = sorted[0] || [];
|
|
29
44
|
return address;
|
|
30
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Builds a normalized balance record for a specific token subset.
|
|
48
|
+
*
|
|
49
|
+
* Missing balances are defaulted to `0n`.
|
|
50
|
+
*
|
|
51
|
+
* @param allowedTokens Tokens to include in the output record.
|
|
52
|
+
* @param externalBalances Source balances keyed by lowercase address.
|
|
53
|
+
* @returns A record that contains only `allowedTokens`.
|
|
54
|
+
*/
|
|
31
55
|
static getBalances(allowedTokens, externalBalances) {
|
|
32
56
|
return allowedTokens.reduce((acc, address) => {
|
|
33
57
|
const addressLc = address.toLowerCase();
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
[addressLc]: externalBalances[addressLc] || 0n
|
|
37
|
-
};
|
|
58
|
+
acc[addressLc] = externalBalances[addressLc] || 0n;
|
|
59
|
+
return acc;
|
|
38
60
|
}, {});
|
|
39
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Converts an asset array into a token-address keyed record.
|
|
64
|
+
*
|
|
65
|
+
* If duplicate token addresses are present, the last occurrence wins.
|
|
66
|
+
*
|
|
67
|
+
* @param a Source asset list.
|
|
68
|
+
* @returns Record keyed by `asset.token`.
|
|
69
|
+
*/
|
|
40
70
|
static constructAssetRecord(a) {
|
|
41
71
|
const record = a.reduce((acc, asset) => {
|
|
42
72
|
acc[asset.token] = asset;
|
|
@@ -44,6 +74,18 @@ class AssetUtils {
|
|
|
44
74
|
}, {});
|
|
45
75
|
return record;
|
|
46
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Creates a reusable wrapper function that merges "unwrapped" and "wrapped"
|
|
79
|
+
* token balances into the wrapped token representation.
|
|
80
|
+
*
|
|
81
|
+
* The returned function:
|
|
82
|
+
* - converts non-negative unwrapped balance into wrapped units by price
|
|
83
|
+
* - adds the converted amount to the wrapped token balance
|
|
84
|
+
* - removes the unwrapped token from the result list
|
|
85
|
+
* - leaves input untouched when no unwrapped token is present
|
|
86
|
+
*
|
|
87
|
+
* @returns A function producing `[assets, convertedUnwrapped, originalWrapped]`.
|
|
88
|
+
*/
|
|
47
89
|
static memoWrap = (unwrappedAddress, wrappedAddress, prices, tokensList) => function wrap(assets) {
|
|
48
90
|
const assetsRecord = AssetUtils.constructAssetRecord(assets);
|
|
49
91
|
const unwrapped = assetsRecord[unwrappedAddress];
|
|
@@ -76,8 +118,16 @@ class AssetUtils {
|
|
|
76
118
|
return [Object.values(assetsRecord), 0n, wrappedAmount];
|
|
77
119
|
};
|
|
78
120
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
121
|
+
* Adds balances from the second asset list into the first list.
|
|
122
|
+
*
|
|
123
|
+
* Behavior:
|
|
124
|
+
* - balances are clamped to non-negative before summation
|
|
125
|
+
* - tokens found only in `b` are created in the output
|
|
126
|
+
* - existing asset metadata is preserved from `a` when possible
|
|
127
|
+
*
|
|
128
|
+
* @param a Base asset list.
|
|
129
|
+
* @param b Asset deltas to add.
|
|
130
|
+
* @returns A merged list containing assets from both inputs.
|
|
81
131
|
*/
|
|
82
132
|
static sumAssets(a, b) {
|
|
83
133
|
const aRecord = AssetUtils.constructAssetRecord(a);
|
|
@@ -95,8 +145,16 @@ class AssetUtils {
|
|
|
95
145
|
return Object.values(resRecord);
|
|
96
146
|
}
|
|
97
147
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
148
|
+
* Adds balances from the second list to matching assets in the first list.
|
|
149
|
+
*
|
|
150
|
+
* Behavior:
|
|
151
|
+
* - balances are clamped to non-negative before summation
|
|
152
|
+
* - only assets already present in `a` are returned
|
|
153
|
+
* - no new token entries are created
|
|
154
|
+
*
|
|
155
|
+
* @param a Base asset list.
|
|
156
|
+
* @param b Asset deltas keyed by token.
|
|
157
|
+
* @returns Updated version of `a` with adjusted balances.
|
|
100
158
|
*/
|
|
101
159
|
static addBalances(a, b) {
|
|
102
160
|
const bRecord = AssetUtils.constructAssetRecord(b);
|
|
@@ -108,8 +166,16 @@ class AssetUtils {
|
|
|
108
166
|
});
|
|
109
167
|
}
|
|
110
168
|
/**
|
|
111
|
-
* Subtracts
|
|
112
|
-
*
|
|
169
|
+
* Subtracts balances in the second list from matching assets in the first list.
|
|
170
|
+
*
|
|
171
|
+
* Behavior:
|
|
172
|
+
* - both operands are clamped to non-negative before subtraction
|
|
173
|
+
* - output balances are clamped to non-negative after subtraction
|
|
174
|
+
* - only assets already present in `a` are returned
|
|
175
|
+
*
|
|
176
|
+
* @param a Base asset list.
|
|
177
|
+
* @param b Asset amounts to subtract by token.
|
|
178
|
+
* @returns Updated `a` list with non-negative post-subtraction balances.
|
|
113
179
|
*/
|
|
114
180
|
static subAssets(a, b) {
|
|
115
181
|
const bRecord = AssetUtils.constructAssetRecord(b);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
class BigIntMath {
|
|
2
|
+
constructor() {
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Returns the absolute (non-negative) value of a bigint.
|
|
6
|
+
*
|
|
7
|
+
* @param x Input value.
|
|
8
|
+
* @returns `x` when `x` is already non-negative, otherwise `-x`.
|
|
9
|
+
*/
|
|
10
|
+
static abs = (x) => x < 0n ? -x : x;
|
|
11
|
+
/**
|
|
12
|
+
* Returns the greater of two bigint values.
|
|
13
|
+
*
|
|
14
|
+
* @param a First candidate value.
|
|
15
|
+
* @param b Second candidate value.
|
|
16
|
+
* @returns The larger value between `a` and `b`.
|
|
17
|
+
*/
|
|
18
|
+
static max = (a, b) => a > b ? a : b;
|
|
19
|
+
/**
|
|
20
|
+
* Returns the smaller of two bigint values.
|
|
21
|
+
*
|
|
22
|
+
* @param a First candidate value.
|
|
23
|
+
* @param b Second candidate value.
|
|
24
|
+
* @returns The smaller value between `a` and `b`.
|
|
25
|
+
*/
|
|
26
|
+
static min = (a, b) => a < b ? a : b;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the negative form of a bigint if it is currently positive.
|
|
29
|
+
*
|
|
30
|
+
* Useful when a value should be represented as an outflow/debit:
|
|
31
|
+
* - positive values become negative
|
|
32
|
+
* - zero and negative values are returned unchanged
|
|
33
|
+
*
|
|
34
|
+
* @param a Input value.
|
|
35
|
+
* @returns A non-positive bigint representation of `a`.
|
|
36
|
+
*/
|
|
37
|
+
static neg = (a) => a > 0 ? a * -1n : a;
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
BigIntMath
|
|
41
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PERCENTAGE_FACTOR,
|
|
3
|
+
PRICE_DECIMALS
|
|
4
|
+
} from "../../../sdk/index.js";
|
|
5
|
+
import { BigIntMath } from "../bigintMath.js";
|
|
6
|
+
import { PriceUtils } from "../priceMath.js";
|
|
7
|
+
const MAX_UINT16 = 65535;
|
|
8
|
+
function calcHealthFactor({
|
|
9
|
+
assets,
|
|
10
|
+
quotas,
|
|
11
|
+
quotasInfo,
|
|
12
|
+
liquidationThresholds,
|
|
13
|
+
underlyingToken,
|
|
14
|
+
debt,
|
|
15
|
+
prices,
|
|
16
|
+
tokensList
|
|
17
|
+
}) {
|
|
18
|
+
if (debt === 0n) return MAX_UINT16;
|
|
19
|
+
const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
|
|
20
|
+
const underlyingPrice = prices[underlyingToken] || 0n;
|
|
21
|
+
const assetMoney = assets.reduce(
|
|
22
|
+
(acc, { token: tokenAddress, balance: amount }) => {
|
|
23
|
+
const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
|
|
24
|
+
const lt = liquidationThresholds[tokenAddress] || 0n;
|
|
25
|
+
const price = prices[tokenAddress] || 0n;
|
|
26
|
+
const tokenMoney = PriceUtils.calcTotalPrice(
|
|
27
|
+
price,
|
|
28
|
+
amount,
|
|
29
|
+
tokenDecimals
|
|
30
|
+
);
|
|
31
|
+
const tokenLtMoney = tokenMoney * lt / PERCENTAGE_FACTOR;
|
|
32
|
+
const { isActive = false } = quotasInfo?.[tokenAddress] || {};
|
|
33
|
+
const quota = quotas[tokenAddress];
|
|
34
|
+
const quotaBalance = isActive ? quota?.balance || 0n : 0n;
|
|
35
|
+
const quotaMoney = PriceUtils.calcTotalPrice(
|
|
36
|
+
underlyingPrice,
|
|
37
|
+
quotaBalance,
|
|
38
|
+
underlyingDecimals
|
|
39
|
+
);
|
|
40
|
+
const money = quota ? BigIntMath.min(quotaMoney, tokenLtMoney) : tokenLtMoney;
|
|
41
|
+
return acc + money;
|
|
42
|
+
},
|
|
43
|
+
0n
|
|
44
|
+
);
|
|
45
|
+
const borrowedMoney = PriceUtils.calcTotalPrice(
|
|
46
|
+
underlyingPrice || PRICE_DECIMALS,
|
|
47
|
+
debt,
|
|
48
|
+
underlyingDecimals
|
|
49
|
+
);
|
|
50
|
+
const hfInPercent = borrowedMoney > 0n ? assetMoney * PERCENTAGE_FACTOR / borrowedMoney : 0n;
|
|
51
|
+
return Number(hfInPercent);
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
calcHealthFactor
|
|
55
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PERCENTAGE_FACTOR,
|
|
3
|
+
PRICE_DECIMALS
|
|
4
|
+
} from "../../../sdk/index.js";
|
|
5
|
+
import { PriceUtils } from "../priceMath.js";
|
|
6
|
+
function calcOverallAPY({
|
|
7
|
+
caAssets,
|
|
8
|
+
lpAPY,
|
|
9
|
+
prices,
|
|
10
|
+
quotas,
|
|
11
|
+
quotaRates,
|
|
12
|
+
feeInterest,
|
|
13
|
+
totalValue,
|
|
14
|
+
debt,
|
|
15
|
+
baseRateWithFee,
|
|
16
|
+
underlyingToken,
|
|
17
|
+
tokensList
|
|
18
|
+
}) {
|
|
19
|
+
if (!lpAPY || !totalValue || totalValue <= 0n || !debt || totalValue <= debt)
|
|
20
|
+
return void 0;
|
|
21
|
+
const underlyingTokenDecimals = tokensList[underlyingToken]?.decimals || 18;
|
|
22
|
+
const underlyingPrice = prices[underlyingToken];
|
|
23
|
+
const assetAPYMoney = caAssets.reduce(
|
|
24
|
+
(acc, { token: tokenAddress, balance: amount }) => {
|
|
25
|
+
const apy = lpAPY[tokenAddress] || 0;
|
|
26
|
+
const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
|
|
27
|
+
const price = prices[tokenAddress] || 0n;
|
|
28
|
+
const money = PriceUtils.calcTotalPrice(price, amount, tokenDecimals);
|
|
29
|
+
const apyMoney = money * BigInt(apy);
|
|
30
|
+
const { rate: quotaAPY = 0n, isActive = false } = quotaRates?.[tokenAddress] || {};
|
|
31
|
+
const { balance: quotaBalance = 0n } = quotas[tokenAddress] || {};
|
|
32
|
+
const quotaAmount = isActive ? quotaBalance : 0n;
|
|
33
|
+
const quotaMoney = PriceUtils.calcTotalPrice(
|
|
34
|
+
underlyingPrice || 0n,
|
|
35
|
+
quotaAmount,
|
|
36
|
+
underlyingTokenDecimals
|
|
37
|
+
);
|
|
38
|
+
const quotaRate = quotaAPY * (BigInt(feeInterest) + PERCENTAGE_FACTOR) / PERCENTAGE_FACTOR;
|
|
39
|
+
const quotaAPYMoney = quotaMoney * quotaRate;
|
|
40
|
+
return acc + apyMoney - quotaAPYMoney;
|
|
41
|
+
},
|
|
42
|
+
0n
|
|
43
|
+
);
|
|
44
|
+
const debtMoney = PriceUtils.calcTotalPrice(
|
|
45
|
+
underlyingPrice || 0n,
|
|
46
|
+
debt,
|
|
47
|
+
underlyingTokenDecimals
|
|
48
|
+
);
|
|
49
|
+
const debtAPYMoney = debtMoney * BigInt(baseRateWithFee);
|
|
50
|
+
const yourAssetsMoney = PriceUtils.calcTotalPrice(
|
|
51
|
+
underlyingPrice || PRICE_DECIMALS,
|
|
52
|
+
totalValue - debt,
|
|
53
|
+
underlyingTokenDecimals
|
|
54
|
+
);
|
|
55
|
+
const apyInPercent = (assetAPYMoney - debtAPYMoney) / yourAssetsMoney;
|
|
56
|
+
return apyInPercent;
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
calcOverallAPY
|
|
60
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function calcQuotaBorrowRate({
|
|
2
|
+
quotas,
|
|
3
|
+
quotaRates
|
|
4
|
+
}) {
|
|
5
|
+
const totalRateBalance = Object.values(quotas).reduce(
|
|
6
|
+
(acc, { token, balance }) => {
|
|
7
|
+
const { rate = 0, isActive = false } = quotaRates?.[token] || {};
|
|
8
|
+
const quotaBalance = isActive ? balance : 0n;
|
|
9
|
+
const rateBalance = quotaBalance * BigInt(rate);
|
|
10
|
+
return acc + rateBalance;
|
|
11
|
+
},
|
|
12
|
+
0n
|
|
13
|
+
);
|
|
14
|
+
return totalRateBalance;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
calcQuotaBorrowRate
|
|
18
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PERCENTAGE_FACTOR,
|
|
3
|
+
PRICE_DECIMALS_POW,
|
|
4
|
+
WAD_DECIMALS_POW
|
|
5
|
+
} from "../../../sdk/index.js";
|
|
6
|
+
import { BigIntMath } from "../bigintMath.js";
|
|
7
|
+
import { PriceUtils } from "../priceMath.js";
|
|
8
|
+
function calcMaxDebtIncrease(healthFactor, debt, underlyingLT, minHf = Number(PERCENTAGE_FACTOR)) {
|
|
9
|
+
const result = debt * BigInt(healthFactor - minHf) / BigInt(minHf - underlyingLT);
|
|
10
|
+
return BigIntMath.max(0n, result);
|
|
11
|
+
}
|
|
12
|
+
function calcMaxLendingDebt({
|
|
13
|
+
assets,
|
|
14
|
+
liquidationThresholds,
|
|
15
|
+
underlyingToken,
|
|
16
|
+
prices,
|
|
17
|
+
tokensList,
|
|
18
|
+
targetHF = PERCENTAGE_FACTOR
|
|
19
|
+
}) {
|
|
20
|
+
const assetsLTMoney = assets.reduce(
|
|
21
|
+
(acc, { token: tokenAddress, balance: amount }) => {
|
|
22
|
+
const tokenDecimals = tokensList[tokenAddress]?.decimals || 18;
|
|
23
|
+
const lt = liquidationThresholds[tokenAddress] || 0n;
|
|
24
|
+
const price = prices[tokenAddress] || 0n;
|
|
25
|
+
const tokenMoney = PriceUtils.calcTotalPrice(
|
|
26
|
+
price,
|
|
27
|
+
amount,
|
|
28
|
+
tokenDecimals
|
|
29
|
+
);
|
|
30
|
+
const tokenLtMoney = tokenMoney * lt;
|
|
31
|
+
return acc + tokenLtMoney;
|
|
32
|
+
},
|
|
33
|
+
0n
|
|
34
|
+
);
|
|
35
|
+
const underlyingPrice = prices[underlyingToken] || 0n;
|
|
36
|
+
const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
|
|
37
|
+
const max = underlyingPrice > 0 ? assetsLTMoney * 10n ** BigInt(underlyingDecimals) / underlyingPrice / targetHF / 10n ** BigInt(WAD_DECIMALS_POW - PRICE_DECIMALS_POW) : 0n;
|
|
38
|
+
return max;
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
calcMaxDebtIncrease,
|
|
42
|
+
calcMaxLendingDebt
|
|
43
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PERCENTAGE_DECIMALS,
|
|
3
|
+
PERCENTAGE_FACTOR,
|
|
4
|
+
SECONDS_PER_YEAR
|
|
5
|
+
} from "../../../sdk/index.js";
|
|
6
|
+
function getTimeToLiquidation({
|
|
7
|
+
healthFactor,
|
|
8
|
+
totalBorrowRate_debt
|
|
9
|
+
}) {
|
|
10
|
+
if (healthFactor <= PERCENTAGE_FACTOR || totalBorrowRate_debt === 0n)
|
|
11
|
+
return null;
|
|
12
|
+
const HF_1 = BigInt(healthFactor) - PERCENTAGE_FACTOR;
|
|
13
|
+
const brPerYear = BigInt(SECONDS_PER_YEAR) * PERCENTAGE_FACTOR * PERCENTAGE_DECIMALS / totalBorrowRate_debt;
|
|
14
|
+
return HF_1 * brPerYear * 1000n / PERCENTAGE_FACTOR;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
getTimeToLiquidation
|
|
18
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from "./calcHealthFactor.js";
|
|
2
|
+
export * from "./calcOverallAPY.js";
|
|
3
|
+
export * from "./calcQuotaBorrowRate.js";
|
|
4
|
+
export * from "./calcQuotaBorrowRate.js";
|
|
5
|
+
export * from "./calcRelativeBaseBorrowRate.js";
|
|
6
|
+
export * from "./debt.js";
|
|
7
|
+
export * from "./getTimeToLiquidation.js";
|
|
8
|
+
export * from "./liquidationPrice.js";
|
|
9
|
+
export * from "./quotaUtils.js";
|
|
10
|
+
export * from "./sort.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PERCENTAGE_FACTOR, PRICE_DECIMALS, WAD } from "../../../sdk/index.js";
|
|
2
|
+
function liquidationPrice({
|
|
3
|
+
liquidationThresholds,
|
|
4
|
+
debt,
|
|
5
|
+
underlyingToken,
|
|
6
|
+
targetToken,
|
|
7
|
+
assets,
|
|
8
|
+
tokensList
|
|
9
|
+
}) {
|
|
10
|
+
const underlyingDecimals = tokensList[underlyingToken]?.decimals || 18;
|
|
11
|
+
const { balance: underlyingBalance = 0n } = assets[underlyingToken] || {};
|
|
12
|
+
const ltUnderlying = liquidationThresholds[underlyingToken] || 0n;
|
|
13
|
+
const effectiveDebt = (debt - underlyingBalance * ltUnderlying / PERCENTAGE_FACTOR) * WAD / 10n ** BigInt(underlyingDecimals);
|
|
14
|
+
const targetDecimals = tokensList[targetToken]?.decimals || 18;
|
|
15
|
+
const { balance: targetBalance = 0n } = assets[targetToken] || {};
|
|
16
|
+
const effectiveTargetBalance = targetBalance * WAD / 10n ** BigInt(targetDecimals);
|
|
17
|
+
const lpLT = liquidationThresholds[targetToken] || 0n;
|
|
18
|
+
if (targetBalance <= 0n || lpLT <= 0n) return 0n;
|
|
19
|
+
return effectiveDebt * PRICE_DECIMALS * PERCENTAGE_FACTOR / (effectiveTargetBalance * lpLT);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
liquidationPrice
|
|
23
|
+
};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MIN_INT96,
|
|
3
|
+
PERCENTAGE_FACTOR
|
|
4
|
+
} from "../../../sdk/index.js";
|
|
5
|
+
import { BigIntMath } from "../bigintMath.js";
|
|
6
|
+
function roundUpQuota(quotaChange) {
|
|
7
|
+
return quotaChange !== MIN_INT96 ? quotaChange / PERCENTAGE_FACTOR * PERCENTAGE_FACTOR : quotaChange;
|
|
8
|
+
}
|
|
9
|
+
function calcRecommendedQuota({
|
|
10
|
+
amount,
|
|
11
|
+
debt,
|
|
12
|
+
lt,
|
|
13
|
+
quotaReserve
|
|
14
|
+
}) {
|
|
15
|
+
const recommendedBaseQuota = BigIntMath.min(
|
|
16
|
+
debt,
|
|
17
|
+
amount * lt / PERCENTAGE_FACTOR
|
|
18
|
+
);
|
|
19
|
+
const recommendedQuota = recommendedBaseQuota * (PERCENTAGE_FACTOR + quotaReserve) / PERCENTAGE_FACTOR;
|
|
20
|
+
return roundUpQuota(recommendedQuota);
|
|
21
|
+
}
|
|
22
|
+
function calcDefaultQuota({
|
|
23
|
+
amount,
|
|
24
|
+
lt,
|
|
25
|
+
quotaReserve
|
|
26
|
+
}) {
|
|
27
|
+
const recommendedBaseQuota = amount * lt / PERCENTAGE_FACTOR;
|
|
28
|
+
const recommendedQuota = recommendedBaseQuota * (PERCENTAGE_FACTOR + quotaReserve) / PERCENTAGE_FACTOR;
|
|
29
|
+
return roundUpQuota(recommendedQuota);
|
|
30
|
+
}
|
|
31
|
+
function calcQuotaUpdate(props) {
|
|
32
|
+
const { quotas, initialQuotas, maxDebt, allowedToSpend, allowedToObtain } = props;
|
|
33
|
+
const quotaDecrease = Object.keys(allowedToSpend).reduce((acc, token) => {
|
|
34
|
+
const ch = getSingleQuotaChange(token, 0n, props);
|
|
35
|
+
if (ch && ch.balance < 0) acc[ch.token] = ch;
|
|
36
|
+
return acc;
|
|
37
|
+
}, {});
|
|
38
|
+
const quotaCap = roundUpQuota(maxDebt * 2n);
|
|
39
|
+
const quotaBought = Object.values(initialQuotas).reduce(
|
|
40
|
+
(sum, q) => sum + roundUpQuota(q?.quota || 0n),
|
|
41
|
+
0n
|
|
42
|
+
);
|
|
43
|
+
const quotaReduced = Object.values(quotaDecrease).reduce((sum, q) => {
|
|
44
|
+
const quotaBalance = q.balance || 0n;
|
|
45
|
+
const safeBalance = quotaBalance === MIN_INT96 ? BigIntMath.neg(roundUpQuota(initialQuotas[q.token]?.quota || 0n)) : quotaBalance;
|
|
46
|
+
return sum + safeBalance;
|
|
47
|
+
}, 0n);
|
|
48
|
+
const maxQuotaIncrease = roundUpQuota(
|
|
49
|
+
BigIntMath.max(quotaCap - (quotaBought + quotaReduced), 0n)
|
|
50
|
+
);
|
|
51
|
+
const quotaIncrease = Object.keys(allowedToObtain).reduce((acc, token) => {
|
|
52
|
+
const ch = getSingleQuotaChange(token, maxQuotaIncrease, props);
|
|
53
|
+
if (ch && ch.balance > 0) acc[ch.token] = ch;
|
|
54
|
+
return acc;
|
|
55
|
+
}, {});
|
|
56
|
+
const quotaChange = {
|
|
57
|
+
...quotaDecrease,
|
|
58
|
+
...quotaIncrease
|
|
59
|
+
};
|
|
60
|
+
const desiredQuota = Object.values(quotas).reduce(
|
|
61
|
+
(acc, cmQuota) => {
|
|
62
|
+
const { token, isActive } = cmQuota;
|
|
63
|
+
const { quota: initialQuota = 0n } = initialQuotas[token] || {};
|
|
64
|
+
if (!isActive) {
|
|
65
|
+
acc[token] = {
|
|
66
|
+
balance: initialQuota,
|
|
67
|
+
token
|
|
68
|
+
};
|
|
69
|
+
} else {
|
|
70
|
+
const change = quotaChange[token]?.balance || 0n;
|
|
71
|
+
const quotaAfter = change === MIN_INT96 ? 0n : initialQuota + change;
|
|
72
|
+
acc[token] = {
|
|
73
|
+
balance: quotaAfter,
|
|
74
|
+
token
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return acc;
|
|
78
|
+
},
|
|
79
|
+
{}
|
|
80
|
+
);
|
|
81
|
+
return {
|
|
82
|
+
desiredQuota,
|
|
83
|
+
quotaDecrease: Object.values(quotaDecrease),
|
|
84
|
+
quotaIncrease: Object.values(quotaIncrease)
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function getSingleQuotaChange(token, unsafeMaxQuotaIncrease, props) {
|
|
88
|
+
const { isActive = false } = props.quotas[token] || {};
|
|
89
|
+
const { quota: unsafeInitialQuota = 0n } = props.initialQuotas[token] || {};
|
|
90
|
+
if (!isActive) {
|
|
91
|
+
return void 0;
|
|
92
|
+
}
|
|
93
|
+
const assetAfter = props.assetsAfterUpdate[token];
|
|
94
|
+
const { amountInTarget = 0n } = assetAfter || {};
|
|
95
|
+
const lt = props.liquidationThresholds[token] || 0n;
|
|
96
|
+
const maxQuotaIncrease = roundUpQuota(unsafeMaxQuotaIncrease);
|
|
97
|
+
const initialQuota = roundUpQuota(unsafeInitialQuota);
|
|
98
|
+
const defaultQuota = props.calcModification?.type === "recommendedQuota" && props.calcModification.debt > 0 ? calcRecommendedQuota({
|
|
99
|
+
lt,
|
|
100
|
+
quotaReserve: props.quotaReserve,
|
|
101
|
+
amount: amountInTarget,
|
|
102
|
+
debt: props.calcModification.debt
|
|
103
|
+
}) : calcDefaultQuota({
|
|
104
|
+
lt,
|
|
105
|
+
quotaReserve: props.quotaReserve,
|
|
106
|
+
amount: amountInTarget
|
|
107
|
+
});
|
|
108
|
+
const unsafeQuotaChange = roundUpQuota(defaultQuota - initialQuota);
|
|
109
|
+
const quotaChange = unsafeQuotaChange > 0 ? BigIntMath.min(maxQuotaIncrease, unsafeQuotaChange) : unsafeQuotaChange < 0 && BigIntMath.abs(unsafeQuotaChange) >= initialQuota ? MIN_INT96 : unsafeQuotaChange;
|
|
110
|
+
const correctIncrease = assetAfter && props.allowedToObtain[token] && quotaChange > 0;
|
|
111
|
+
const correctDecrease = assetAfter && props.allowedToSpend[token] && quotaChange < 0;
|
|
112
|
+
if (correctIncrease || correctDecrease) {
|
|
113
|
+
return {
|
|
114
|
+
balance: quotaChange,
|
|
115
|
+
token
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return void 0;
|
|
119
|
+
}
|
|
120
|
+
export {
|
|
121
|
+
calcDefaultQuota,
|
|
122
|
+
calcQuotaUpdate,
|
|
123
|
+
calcRecommendedQuota,
|
|
124
|
+
roundUpQuota
|
|
125
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { PRICE_DECIMALS } from "../../../sdk/index.js";
|
|
2
|
+
import { PriceUtils } from "../priceMath.js";
|
|
3
|
+
function sortBalances(balances, prices, tokens) {
|
|
4
|
+
return Object.entries(balances).sort(
|
|
5
|
+
([addr1, amount1], [addr2, amount2]) => {
|
|
6
|
+
return assetComparator(
|
|
7
|
+
{
|
|
8
|
+
token: addr1,
|
|
9
|
+
balance: amount1
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
token: addr2,
|
|
13
|
+
balance: amount2
|
|
14
|
+
},
|
|
15
|
+
prices,
|
|
16
|
+
prices,
|
|
17
|
+
tokens,
|
|
18
|
+
tokens
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
function sortAssets(balances, prices, tokens) {
|
|
24
|
+
return [...balances].sort(
|
|
25
|
+
(t1, t2) => assetComparator(t1, t2, prices, prices, tokens, tokens)
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
function assetComparator(t1, t2, prices1, prices2, tokens1, tokens2) {
|
|
29
|
+
const addr1Lc = t1.token.toLowerCase();
|
|
30
|
+
const addr2Lc = t2.token.toLowerCase();
|
|
31
|
+
const token1 = tokens1?.[addr1Lc];
|
|
32
|
+
const token2 = tokens2?.[addr2Lc];
|
|
33
|
+
const price1 = prices1?.[addr1Lc] || PRICE_DECIMALS;
|
|
34
|
+
const price2 = prices2?.[addr2Lc] || PRICE_DECIMALS;
|
|
35
|
+
const totalPrice1 = PriceUtils.calcTotalPrice(
|
|
36
|
+
price1,
|
|
37
|
+
t1.balance,
|
|
38
|
+
token1?.decimals
|
|
39
|
+
);
|
|
40
|
+
const totalPrice2 = PriceUtils.calcTotalPrice(
|
|
41
|
+
price2,
|
|
42
|
+
t2.balance,
|
|
43
|
+
token2?.decimals
|
|
44
|
+
);
|
|
45
|
+
if (totalPrice1 === totalPrice2) {
|
|
46
|
+
return t1.balance === t2.balance ? tokensAbcComparator(token1, token2) : amountAbcComparator(t1.balance, t2.balance);
|
|
47
|
+
}
|
|
48
|
+
return amountAbcComparator(totalPrice1, totalPrice2);
|
|
49
|
+
}
|
|
50
|
+
function tokensAbcComparator(t1, t2) {
|
|
51
|
+
const { symbol: symbol1 = "" } = t1 || {};
|
|
52
|
+
const { symbol: symbol2 = "" } = t2 || {};
|
|
53
|
+
const symbol1LC = symbol1.toLowerCase();
|
|
54
|
+
const symbol2LC = symbol2.toLowerCase();
|
|
55
|
+
if (symbol1LC === symbol2LC) return 0;
|
|
56
|
+
return symbol1LC > symbol2LC ? 1 : -1;
|
|
57
|
+
}
|
|
58
|
+
function amountAbcComparator(t1, t2) {
|
|
59
|
+
return t1 > t2 ? -1 : 1;
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
amountAbcComparator,
|
|
63
|
+
assetComparator,
|
|
64
|
+
sortAssets,
|
|
65
|
+
sortBalances,
|
|
66
|
+
tokensAbcComparator
|
|
67
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { isSupportedNetwork } from "../../sdk/index.js";
|
|
2
|
+
const CHARTS_BACKEND_ADDRESS = "https://charts-server.fly.dev";
|
|
3
|
+
const STATIC_TOKEN = "https://static.gearbox.finance/tokens/";
|
|
4
|
+
class GearboxBackendApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
}
|
|
7
|
+
static getChartsUrl = (url, chainId, options = { params: {} }, priceSource) => {
|
|
8
|
+
const domain = CHARTS_BACKEND_ADDRESS;
|
|
9
|
+
const priceSourceArr = priceSource ? [priceSource] : [];
|
|
10
|
+
const isMain = isSupportedNetwork(chainId);
|
|
11
|
+
const relativePath = getRelativeUrl(
|
|
12
|
+
url,
|
|
13
|
+
isMain ? {
|
|
14
|
+
...options,
|
|
15
|
+
params: { ...options.params, chainId }
|
|
16
|
+
} : options
|
|
17
|
+
);
|
|
18
|
+
return [domain, "api", ...priceSourceArr, relativePath].join("/");
|
|
19
|
+
};
|
|
20
|
+
static getStaticTokenUrl = () => STATIC_TOKEN;
|
|
21
|
+
static getRewardsMerkleUrl = (network, root, account) => {
|
|
22
|
+
const path = `${network}_${root.slice(2)}/${account.slice(2, 4)}`;
|
|
23
|
+
const url = `https://am.gearbox.finance/${path.toLowerCase()}.json`;
|
|
24
|
+
return url;
|
|
25
|
+
};
|
|
26
|
+
static getNFTMerkleUrl = (network, root) => {
|
|
27
|
+
const url = `https://dm.gearbox.finance/${network.toLowerCase()}_${root}.json`;
|
|
28
|
+
return url;
|
|
29
|
+
};
|
|
30
|
+
static apyAllRewards = () => getRelativeUrl(
|
|
31
|
+
"https://state-cache.gearbox.foundation/apy-server/latest.json"
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
const getRelativeUrl = (url, options) => {
|
|
35
|
+
const { params = {} } = options || {};
|
|
36
|
+
const paramsString = Object.entries(params).map(([key, value]) => `${key}=${value}`).join("&");
|
|
37
|
+
return [url, ...paramsString ? [paramsString] : []].join("?");
|
|
38
|
+
};
|
|
39
|
+
export {
|
|
40
|
+
GearboxBackendApi
|
|
41
|
+
};
|