@1delta/margin-fetcher 0.0.14 → 0.0.15-0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_esm-2UAQOYNJ.js +3898 -0
- package/dist/_esm-2UAQOYNJ.js.map +1 -0
- package/dist/abis/aave-v2/YLDR.d.ts.map +1 -1
- package/dist/abis/aave-v3/AavePoolDataProviderLegacy.d.ts.map +1 -1
- package/dist/abis/compound-v2/CollateralToken.d.ts +58 -0
- package/dist/abis/compound-v2/CollateralToken.d.ts.map +1 -0
- package/dist/abis/compound-v2/Comptroller.d.ts +1 -1600
- package/dist/abis/compound-v2/Comptroller.d.ts.map +1 -1
- package/dist/abis/compound-v2/VenusLens.d.ts +1007 -0
- package/dist/abis/{aave/AavePoolV3.d.ts.map → compound-v2/VenusLens.d.ts.map} +1 -1
- package/dist/abis/compound-v2/VenusLensLegacy.d.ts +109 -0
- package/dist/abis/compound-v2/VenusLensLegacy.d.ts.map +1 -0
- package/dist/abis/compound-v3/Comet.d.ts +0 -20
- package/dist/abis/compound-v3/Comet.d.ts.map +1 -1
- package/dist/abis/morpho/lens.d.ts +127 -15
- package/dist/abis/morpho/lens.d.ts.map +1 -1
- package/dist/abis/multicall/Multicall.d.ts.map +1 -1
- package/dist/abis/oracle/ChainLinkAggregator.d.ts +5 -223
- package/dist/abis/oracle/ChainLinkAggregator.d.ts.map +1 -1
- package/dist/abis/oracle/ProxyOracle.d.ts +26 -0
- package/dist/abis/oracle/ProxyOracle.d.ts.map +1 -0
- package/dist/abis/oracle/UniV3.d.ts +12 -0
- package/dist/abis/oracle/UniV3.d.ts.map +1 -0
- package/dist/assets/index.d.ts +3 -8
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/liquidityThresholds.d.ts +10 -0
- package/dist/assets/liquidityThresholds.d.ts.map +1 -1
- package/dist/ccip-MNAQZE7H.js +5 -0
- package/dist/ccip-MNAQZE7H.js.map +1 -0
- package/dist/chunk-BYTNVMX7.js +369 -0
- package/dist/chunk-BYTNVMX7.js.map +1 -0
- package/dist/chunk-GXAEO4DI.js +4133 -0
- package/dist/chunk-GXAEO4DI.js.map +1 -0
- package/dist/chunk-PR4QN5HX.js +39 -0
- package/dist/chunk-PR4QN5HX.js.map +1 -0
- package/dist/flash-liquidity/assets.d.ts +2 -2
- package/dist/flash-liquidity/assets.d.ts.map +1 -1
- package/dist/flash-liquidity/fetchLiquidity.d.ts +3 -3
- package/dist/flash-liquidity/fetchLiquidity.d.ts.map +1 -1
- package/dist/flash-liquidity/index.d.ts +2 -2
- package/dist/flash-liquidity/types.d.ts +1 -0
- package/dist/flash-liquidity/types.d.ts.map +1 -1
- package/dist/flash-liquidity/utils.d.ts +3 -2
- package/dist/flash-liquidity/utils.d.ts.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23868 -6
- package/dist/index.js.map +1 -0
- package/dist/lending/aave-v2-type/misc.d.ts +3 -9
- package/dist/lending/aave-v2-type/misc.d.ts.map +1 -1
- package/dist/lending/aave-v2-type/publicCallBuild.d.ts +3 -4
- package/dist/lending/aave-v2-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/aave-v2-type/publicCallParse.d.ts +4 -5
- package/dist/lending/aave-v2-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/aave-v3-type/publicCallBuild.d.ts +3 -3
- package/dist/lending/aave-v3-type/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/aave-v3-type/publicCallParse.d.ts +5 -6
- package/dist/lending/aave-v3-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/addresses/aave.d.ts.map +1 -1
- package/dist/lending/addresses/aaveV2.d.ts.map +1 -1
- package/dist/lending/addresses/compoundV2.d.ts +13 -0
- package/dist/lending/addresses/compoundV2.d.ts.map +1 -0
- package/dist/lending/addresses/compoundV3.d.ts +2 -4
- package/dist/lending/addresses/compoundV3.d.ts.map +1 -1
- package/dist/lending/addresses/meridian.d.ts +3 -0
- package/dist/lending/addresses/meridian.d.ts.map +1 -1
- package/dist/lending/addresses/takotako.d.ts.map +1 -1
- package/dist/lending/compound-v2/getters/moonwell.d.ts +32 -0
- package/dist/lending/compound-v2/getters/moonwell.d.ts.map +1 -0
- package/dist/lending/compound-v2/getters/types.d.ts +12 -0
- package/dist/lending/compound-v2/getters/types.d.ts.map +1 -0
- package/dist/lending/compound-v2/getters/venus.d.ts +86 -0
- package/dist/lending/compound-v2/getters/venus.d.ts.map +1 -0
- package/dist/lending/compound-v2/publicCallBuild.d.ts +2 -0
- package/dist/lending/compound-v2/publicCallBuild.d.ts.map +1 -0
- package/dist/lending/compound-v2/publicCallParse.d.ts +6 -0
- package/dist/lending/compound-v2/publicCallParse.d.ts.map +1 -0
- package/dist/lending/compound-v3/publicCallBuild.d.ts +1 -2
- package/dist/lending/compound-v3/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/compound-v3/publicCallParse.d.ts +3 -4
- package/dist/lending/compound-v3/publicCallParse.d.ts.map +1 -1
- package/dist/lending/fetchLender.d.ts +5 -3
- package/dist/lending/fetchLender.d.ts.map +1 -1
- package/dist/lending/fetchLenderAll.d.ts +2 -2
- package/dist/lending/fetchLenderAll.d.ts.map +1 -1
- package/dist/lending/fetchLenderExt.d.ts +2 -2
- package/dist/lending/fetchLenderExt.d.ts.map +1 -1
- package/dist/lending/index.d.ts +6 -5
- package/dist/lending/index.d.ts.map +1 -1
- package/dist/lending/init/publicCallBuild.d.ts +1 -1
- package/dist/lending/init/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/init/publicCallParse.d.ts +4 -4
- package/dist/lending/init/publicCallParse.d.ts.map +1 -1
- package/dist/lending/lista/getMarketsFromChain.d.ts +4 -0
- package/dist/lending/lista/getMarketsFromChain.d.ts.map +1 -0
- package/dist/lending/lista/getMarketsOnChain.d.ts +6 -0
- package/dist/lending/lista/getMarketsOnChain.d.ts.map +1 -0
- package/dist/lending/lista/publicCallBuild.d.ts +10 -0
- package/dist/lending/lista/publicCallBuild.d.ts.map +1 -0
- package/dist/lending/meta/index.d.ts +20 -0
- package/dist/lending/meta/index.d.ts.map +1 -0
- package/dist/lending/morpho/convertPublic.d.ts +2 -2
- package/dist/lending/morpho/convertPublic.d.ts.map +1 -1
- package/dist/lending/morpho/fetchPublic.d.ts.map +1 -1
- package/dist/lending/morpho/getMarketsFromChain.d.ts +4 -0
- package/dist/lending/morpho/getMarketsFromChain.d.ts.map +1 -0
- package/dist/lending/morpho/index.d.ts +3 -0
- package/dist/lending/morpho/index.d.ts.map +1 -0
- package/dist/lending/morpho/publicCallBuild.d.ts +12 -2
- package/dist/lending/morpho/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/morpho/utils/evmParser.d.ts +48 -0
- package/dist/lending/morpho/utils/evmParser.d.ts.map +1 -0
- package/dist/lending/morpho/utils/mathLib.d.ts +125 -0
- package/dist/lending/morpho/utils/mathLib.d.ts.map +1 -0
- package/dist/lending/morpho/utils/parsers.d.ts +10 -0
- package/dist/lending/morpho/utils/parsers.d.ts.map +1 -0
- package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts +3 -3
- package/dist/lending/user-data/aave-v2-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/aave-v2-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts +3 -3
- package/dist/lending/user-data/aave-v3-type/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/aave-v3-type/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts +2 -2
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.d.ts.map +1 -1
- package/dist/lending/user-data/abis.d.ts +179 -34
- package/dist/lending/user-data/abis.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v2/index.d.ts +3 -0
- package/dist/lending/user-data/compound-v2/index.d.ts.map +1 -0
- package/dist/lending/user-data/compound-v2/userCallBuild.d.ts +4 -0
- package/dist/lending/user-data/compound-v2/userCallBuild.d.ts.map +1 -0
- package/dist/lending/user-data/compound-v2/userCallParse.d.ts +8 -0
- package/dist/lending/user-data/compound-v2/userCallParse.d.ts.map +1 -0
- package/dist/lending/user-data/compound-v3/index.d.ts +2 -3
- package/dist/lending/user-data/compound-v3/index.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts +3 -3
- package/dist/lending/user-data/compound-v3/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/compound-v3/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/fetchUserData.d.ts +114 -5
- package/dist/lending/user-data/fetchUserData.d.ts.map +1 -1
- package/dist/lending/user-data/index.d.ts +2 -2
- package/dist/lending/user-data/index.d.ts.map +1 -1
- package/dist/lending/user-data/init/userCallBuild.d.ts +2 -2
- package/dist/lending/user-data/init/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/init/userCallParse.d.ts +2 -2
- package/dist/lending/user-data/init/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/decoder.d.ts +20 -1
- package/dist/lending/user-data/morpho/decoder.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/index.d.ts +4 -0
- package/dist/lending/user-data/morpho/index.d.ts.map +1 -0
- package/dist/lending/user-data/morpho/morphoLib.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/types.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.d.ts +6 -3
- package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallParse.d.ts +16 -2
- package/dist/lending/user-data/morpho/userCallParse.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createGeneralUserState.d.ts +4 -1
- package/dist/lending/user-data/utils/createGeneralUserState.d.ts.map +1 -1
- package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts +1 -1
- package/dist/lending/user-data/utils/createMultiAccountStyleUserState.d.ts.map +1 -1
- package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts +1 -1
- package/dist/lending/user-data/utils/formatting/generalFormatters.d.ts.map +1 -1
- package/dist/lending/user-data/utils/formatting/index.d.ts +1 -1
- package/dist/lending/user-data/utils/index.d.ts +4 -4
- package/dist/lending/user-data/utils/index.d.ts.map +1 -1
- package/dist/lending-pairs/computeLendingPairs.d.ts +10 -1
- package/dist/lending-pairs/computeLendingPairs.d.ts.map +1 -1
- package/dist/lending-pairs/index.d.ts +1 -1
- package/dist/lending-pairs/index.d.ts.map +1 -1
- package/dist/lending-pools/computeLenderDataFromPools.d.ts +10 -0
- package/dist/lending-pools/computeLenderDataFromPools.d.ts.map +1 -0
- package/dist/lending-pools/computeLendingPools.d.ts +23 -0
- package/dist/lending-pools/computeLendingPools.d.ts.map +1 -0
- package/dist/lending-pools/index.d.ts +3 -0
- package/dist/lending-pools/index.d.ts.map +1 -0
- package/dist/prices/defillama/index.d.ts.map +1 -1
- package/dist/prices/index.d.ts +3 -2
- package/dist/prices/index.d.ts.map +1 -1
- package/dist/prices/main-prices/addresses/api3.d.ts.map +1 -1
- package/dist/prices/main-prices/addresses/chainlink.d.ts +0 -7
- package/dist/prices/main-prices/addresses/chainlink.d.ts.map +1 -1
- package/dist/prices/main-prices/fetchOracleData.d.ts +9 -3
- package/dist/prices/main-prices/fetchOracleData.d.ts.map +1 -1
- package/dist/prices/main-prices/index.d.ts +1 -1
- package/dist/prices/main-prices/index.d.ts.map +1 -1
- package/dist/prices/pendle/fetchPendlePrices.d.ts +47 -0
- package/dist/prices/pendle/fetchPendlePrices.d.ts.map +1 -0
- package/dist/prices/pendle/index.d.ts +2 -0
- package/dist/prices/pendle/index.d.ts.map +1 -0
- package/dist/secp256k1-XP7IUONI.js +2208 -0
- package/dist/secp256k1-XP7IUONI.js.map +1 -0
- package/dist/types/apiReturnType.d.ts +4 -4
- package/dist/types/apiReturnType.d.ts.map +1 -1
- package/dist/{lending/types/index.d.ts → types/general.d.ts} +1 -1
- package/dist/types/general.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -41
- package/dist/types/index.d.ts.map +1 -1
- package/dist/{lending/aave-v2-type/types.d.ts → types/lender/aave-v2-types.d.ts} +5 -9
- package/dist/types/lender/aave-v2-types.d.ts.map +1 -0
- package/dist/{lending/aave-v3-type/types.d.ts → types/lender/aave-v3-types.d.ts} +5 -9
- package/dist/types/lender/aave-v3-types.d.ts.map +1 -0
- package/dist/types/lender/compound-v2-types.d.ts +41 -0
- package/dist/types/lender/compound-v2-types.d.ts.map +1 -0
- package/dist/{lending/compound-v3/types.d.ts → types/lender/compound-v3-types.d.ts} +5 -9
- package/dist/types/lender/compound-v3-types.d.ts.map +1 -0
- package/dist/{lending/init/types.d.ts → types/lender/init-types.d.ts} +5 -9
- package/dist/types/lender/init-types.d.ts.map +1 -0
- package/dist/{lending/morpho/types.d.ts → types/lender/morpho-types.d.ts} +12 -2
- package/dist/types/lender/morpho-types.d.ts.map +1 -0
- package/dist/{lending/user-data/types.d.ts → types/lenderTypes.d.ts} +30 -20
- package/dist/types/lenderTypes.d.ts.map +1 -0
- package/dist/types/misc.d.ts +47 -0
- package/dist/types/misc.d.ts.map +1 -0
- package/dist/types/providers.d.ts +1 -9
- package/dist/types/providers.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +0 -23
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/index.d.ts +6 -7
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/multicall.d.ts +2 -1
- package/dist/utils/multicall.d.ts.map +1 -1
- package/dist/utils/parsing.d.ts +6 -3
- package/dist/utils/parsing.d.ts.map +1 -1
- package/dist/yields/index.d.ts.map +1 -1
- package/dist/yields/yieldTypes.d.ts +76 -0
- package/dist/yields/yieldTypes.d.ts.map +1 -0
- package/package.json +16 -8
- package/dist/abis/aave/AToken.d.ts +0 -526
- package/dist/abis/aave/AToken.d.ts.map +0 -1
- package/dist/abis/aave/AToken.js +0 -686
- package/dist/abis/aave/AaveOracle.js +0 -66
- package/dist/abis/aave/AavePoolAndDataProvider.js +0 -2080
- package/dist/abis/aave/AavePoolV3.d.ts +0 -819
- package/dist/abis/aave/AavePoolV3.js +0 -1060
- package/dist/abis/aave/AavePoolV3Upgraded.js +0 -1474
- package/dist/abis/aave/AaveV3ProtocolDataProvider.js +0 -553
- package/dist/abis/aave/VariableDebtToken.js +0 -820
- package/dist/abis/aave-v2/ProtocolDataProvider.js +0 -312
- package/dist/abis/aave-v2/YLDR.js +0 -199
- package/dist/abis/aave-v3/AavePoolDataProviderLegacy.js +0 -460
- package/dist/abis/aave-v3/AavePoolLegacy.js +0 -1060
- package/dist/abis/aave-v3/YLDR.js +0 -46
- package/dist/abis/aurelius/Rewarder.js +0 -118
- package/dist/abis/compound-v2/CompoundLens.js +0 -851
- package/dist/abis/compound-v2/Comptroller.js +0 -2104
- package/dist/abis/compound-v3/Comet.js +0 -1829
- package/dist/abis/compound-v3/CometExt.js +0 -536
- package/dist/abis/compound-v3/CometLens.js +0 -194
- package/dist/abis/compound-v3/CometRewards.js +0 -330
- package/dist/abis/compound-v3/IrGetter.js +0 -31
- package/dist/abis/flashloan-united/flashAbi.js +0 -72
- package/dist/abis/init/Core.d.ts +0 -523
- package/dist/abis/init/Core.d.ts.map +0 -1
- package/dist/abis/init/Core.js +0 -681
- package/dist/abis/init/InitFlashAggregator.d.ts +0 -624
- package/dist/abis/init/InitFlashAggregator.d.ts.map +0 -1
- package/dist/abis/init/InitFlashAggregator.js +0 -795
- package/dist/abis/init/InitLens.js +0 -203
- package/dist/abis/init/PosManager.d.ts +0 -802
- package/dist/abis/init/PosManager.d.ts.map +0 -1
- package/dist/abis/init/PosManager.js +0 -1055
- package/dist/abis/lendle/IncentivesController.js +0 -525
- package/dist/abis/lendle/MultiFeeDistribution.js +0 -820
- package/dist/abis/meridian/PullRewardsIncentivesController.js +0 -98
- package/dist/abis/morpho/blue.js +0 -99
- package/dist/abis/morpho/lens.js +0 -31
- package/dist/abis/multicall/Multicall.js +0 -101
- package/dist/abis/oracle/AaveOracle.js +0 -66
- package/dist/abis/oracle/Api3Oracle.js +0 -62
- package/dist/abis/oracle/ChainLinkAggregator.js +0 -480
- package/dist/abis/oracle/RWADynamicOracle.js +0 -15
- package/dist/abis/oracle/UniswapV2Pair.js +0 -659
- package/dist/abis/uniswap/FeeOnTransferDetector.d.ts +0 -102
- package/dist/abis/uniswap/FeeOnTransferDetector.d.ts.map +0 -1
- package/dist/abis/uniswap/FeeOnTransferDetector.js +0 -133
- package/dist/abis/uniswap/UniswapV2Pair.d.ts +0 -513
- package/dist/abis/uniswap/UniswapV2Pair.d.ts.map +0 -1
- package/dist/abis/uniswap/UniswapV2Pair.js +0 -659
- package/dist/assets/index.js +0 -54
- package/dist/assets/liquidityThresholds.js +0 -51
- package/dist/flash-liquidity/assets.js +0 -45
- package/dist/flash-liquidity/fetchLiquidity.js +0 -235
- package/dist/flash-liquidity/index.js +0 -2
- package/dist/flash-liquidity/types.js +0 -8
- package/dist/flash-liquidity/utils.js +0 -17
- package/dist/lending/aave-v2-type/misc.js +0 -8
- package/dist/lending/aave-v2-type/publicCallBuild.js +0 -102
- package/dist/lending/aave-v2-type/publicCallParse.js +0 -257
- package/dist/lending/aave-v2-type/types.d.ts.map +0 -1
- package/dist/lending/aave-v2-type/types.js +0 -46
- package/dist/lending/aave-v3-type/publicCallBuild.js +0 -123
- package/dist/lending/aave-v3-type/publicCallParse.js +0 -307
- package/dist/lending/aave-v3-type/types.d.ts.map +0 -1
- package/dist/lending/aave-v3-type/types.js +0 -98
- package/dist/lending/addresses/aave.js +0 -10
- package/dist/lending/addresses/aaveV2.js +0 -6
- package/dist/lending/addresses/aurelius.js +0 -12
- package/dist/lending/addresses/compoundV3.js +0 -36
- package/dist/lending/addresses/contracts.d.ts +0 -5
- package/dist/lending/addresses/contracts.d.ts.map +0 -1
- package/dist/lending/addresses/contracts.js +0 -49
- package/dist/lending/addresses/hana.js +0 -6
- package/dist/lending/addresses/index.d.ts +0 -2
- package/dist/lending/addresses/index.d.ts.map +0 -1
- package/dist/lending/addresses/index.js +0 -1
- package/dist/lending/addresses/init.js +0 -33
- package/dist/lending/addresses/lendle.js +0 -12
- package/dist/lending/addresses/meridian.js +0 -12
- package/dist/lending/addresses/takotako.js +0 -12
- package/dist/lending/compound-v3/publicCallBuild.js +0 -63
- package/dist/lending/compound-v3/publicCallParse.js +0 -135
- package/dist/lending/compound-v3/types.d.ts.map +0 -1
- package/dist/lending/compound-v3/types.js +0 -6
- package/dist/lending/fetchLender.js +0 -104
- package/dist/lending/fetchLenderAll.js +0 -12
- package/dist/lending/fetchLenderExt.js +0 -42
- package/dist/lending/index.js +0 -5
- package/dist/lending/init/publicCallBuild.js +0 -21
- package/dist/lending/init/publicCallParse.js +0 -76
- package/dist/lending/init/types.d.ts.map +0 -1
- package/dist/lending/init/types.js +0 -6
- package/dist/lending/morpho/convertPublic.js +0 -119
- package/dist/lending/morpho/fetchPublic.js +0 -72
- package/dist/lending/morpho/publicCallBuild.js +0 -6
- package/dist/lending/morpho/types.d.ts.map +0 -1
- package/dist/lending/morpho/types.js +0 -1
- package/dist/lending/types/index.d.ts.map +0 -1
- package/dist/lending/types/index.js +0 -1
- package/dist/lending/user-data/aave-v2-type/userCallBuild.js +0 -87
- package/dist/lending/user-data/aave-v2-type/userCallParse.js +0 -239
- package/dist/lending/user-data/aave-v3-type/userCallBuild.js +0 -26
- package/dist/lending/user-data/aave-v3-type/userCallParse.js +0 -84
- package/dist/lending/user-data/aave-v3-type/userCallParseYldr.js +0 -81
- package/dist/lending/user-data/abis.js +0 -56
- package/dist/lending/user-data/compound-v3/addresses.d.ts +0 -10
- package/dist/lending/user-data/compound-v3/addresses.d.ts.map +0 -1
- package/dist/lending/user-data/compound-v3/addresses.js +0 -33
- package/dist/lending/user-data/compound-v3/index.js +0 -3
- package/dist/lending/user-data/compound-v3/userCallBuild.js +0 -44
- package/dist/lending/user-data/compound-v3/userCallParse.js +0 -103
- package/dist/lending/user-data/fetchUserData.js +0 -100
- package/dist/lending/user-data/index.js +0 -2
- package/dist/lending/user-data/init/userCallBuild.js +0 -20
- package/dist/lending/user-data/init/userCallParse.js +0 -88
- package/dist/lending/user-data/morpho/decoder.js +0 -52
- package/dist/lending/user-data/morpho/morphoLib.js +0 -21
- package/dist/lending/user-data/morpho/types.js +0 -13
- package/dist/lending/user-data/morpho/userCallBuild.js +0 -42
- package/dist/lending/user-data/morpho/userCallParse.js +0 -102
- package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts +0 -11
- package/dist/lending/user-data/morpho/userCallParseNoDeploy.d.ts.map +0 -1
- package/dist/lending/user-data/morpho/userCallParseNoDeploy.js +0 -112
- package/dist/lending/user-data/types.d.ts.map +0 -1
- package/dist/lending/user-data/types.js +0 -38
- package/dist/lending/user-data/utils/createGeneralUserState.js +0 -105
- package/dist/lending/user-data/utils/createMultiAccountStyleUserState.js +0 -96
- package/dist/lending/user-data/utils/formatting/generalFormatters.js +0 -109
- package/dist/lending/user-data/utils/formatting/index.js +0 -1
- package/dist/lending/user-data/utils/index.js +0 -17
- package/dist/lending-pairs/computeLendingPairs.js +0 -259
- package/dist/lending-pairs/index.js +0 -1
- package/dist/prices/defillama/index.js +0 -269
- package/dist/prices/index.js +0 -2
- package/dist/prices/main-prices/addresses/aaveOracles.d.ts +0 -278
- package/dist/prices/main-prices/addresses/aaveOracles.d.ts.map +0 -1
- package/dist/prices/main-prices/addresses/aaveOracles.js +0 -277
- package/dist/prices/main-prices/addresses/api3.js +0 -9
- package/dist/prices/main-prices/addresses/chainlink.js +0 -744
- package/dist/prices/main-prices/fetchOracleData.js +0 -348
- package/dist/prices/main-prices/index.js +0 -1
- package/dist/types/apiReturnType.js +0 -1
- package/dist/types/index.js +0 -10
- package/dist/types/providers.js +0 -1
- package/dist/utils/constants.js +0 -97
- package/dist/utils/index.js +0 -106
- package/dist/utils/multicall.js +0 -30
- package/dist/utils/parsing.js +0 -66
- package/dist/yields/index.js +0 -164
- package/src/abis/aave/AToken.ts +0 -686
- package/src/abis/aave/AaveOracle.ts +0 -66
- package/src/abis/aave/AavePoolAndDataProvider.ts +0 -2080
- package/src/abis/aave/AavePoolV3.ts +0 -1060
- package/src/abis/aave/AavePoolV3Upgraded.ts +0 -1474
- package/src/abis/aave/AaveV3ProtocolDataProvider.ts +0 -553
- package/src/abis/aave/VariableDebtToken.ts +0 -820
- package/src/abis/aave-v2/ProtocolDataProvider.ts +0 -312
- package/src/abis/aave-v2/YLDR.ts +0 -199
- package/src/abis/aave-v3/AavePoolDataProviderLegacy.ts +0 -459
- package/src/abis/aave-v3/AavePoolLegacy.ts +0 -1060
- package/src/abis/aave-v3/YLDR.ts +0 -46
- package/src/abis/aurelius/Rewarder.ts +0 -118
- package/src/abis/compound-v2/CompoundLens.ts +0 -851
- package/src/abis/compound-v2/Comptroller.ts +0 -2104
- package/src/abis/compound-v3/Comet.ts +0 -1829
- package/src/abis/compound-v3/CometExt.ts +0 -536
- package/src/abis/compound-v3/CometLens.ts +0 -194
- package/src/abis/compound-v3/CometRewards.ts +0 -330
- package/src/abis/compound-v3/IrGetter.ts +0 -31
- package/src/abis/flashloan-united/flashAbi.ts +0 -72
- package/src/abis/init/Core.ts +0 -681
- package/src/abis/init/InitFlashAggregator.ts +0 -795
- package/src/abis/init/InitLens.ts +0 -203
- package/src/abis/init/PosManager.ts +0 -1055
- package/src/abis/lendle/IncentivesController.ts +0 -525
- package/src/abis/lendle/MultiFeeDistribution.ts +0 -820
- package/src/abis/meridian/PullRewardsIncentivesController.ts +0 -98
- package/src/abis/morpho/blue.ts +0 -99
- package/src/abis/morpho/lens.ts +0 -31
- package/src/abis/multicall/Multicall.ts +0 -101
- package/src/abis/oracle/AaveOracle.ts +0 -66
- package/src/abis/oracle/Api3Oracle.ts +0 -62
- package/src/abis/oracle/ChainLinkAggregator.ts +0 -480
- package/src/abis/oracle/RWADynamicOracle.ts +0 -15
- package/src/abis/oracle/UniswapV2Pair.ts +0 -659
- package/src/abis/uniswap/FeeOnTransferDetector.ts +0 -133
- package/src/abis/uniswap/UniswapV2Pair.ts +0 -659
- package/src/assets/index.ts +0 -101
- package/src/assets/liquidityThresholds.ts +0 -83
- package/src/flash-liquidity/assets.ts +0 -61
- package/src/flash-liquidity/fetchLiquidity.ts +0 -300
- package/src/flash-liquidity/index.ts +0 -2
- package/src/flash-liquidity/types.ts +0 -20
- package/src/flash-liquidity/utils.ts +0 -22
- package/src/index.ts +0 -7
- package/src/lending/aave-v2-type/misc.ts +0 -9
- package/src/lending/aave-v2-type/publicCallBuild.ts +0 -105
- package/src/lending/aave-v2-type/publicCallParse.ts +0 -305
- package/src/lending/aave-v2-type/types.ts +0 -100
- package/src/lending/aave-v3-type/publicCallBuild.ts +0 -148
- package/src/lending/aave-v3-type/publicCallParse.ts +0 -378
- package/src/lending/aave-v3-type/types.ts +0 -191
- package/src/lending/addresses/aave.ts +0 -12
- package/src/lending/addresses/aaveV2.ts +0 -8
- package/src/lending/addresses/aurelius.ts +0 -13
- package/src/lending/addresses/compoundV3.ts +0 -56
- package/src/lending/addresses/contracts.ts +0 -54
- package/src/lending/addresses/hana.ts +0 -7
- package/src/lending/addresses/index.ts +0 -1
- package/src/lending/addresses/init.ts +0 -37
- package/src/lending/addresses/lendle.ts +0 -13
- package/src/lending/addresses/meridian.ts +0 -13
- package/src/lending/addresses/takotako.ts +0 -14
- package/src/lending/compound-v3/publicCallBuild.ts +0 -74
- package/src/lending/compound-v3/publicCallParse.ts +0 -202
- package/src/lending/compound-v3/types.ts +0 -45
- package/src/lending/fetchLender.ts +0 -181
- package/src/lending/fetchLenderAll.ts +0 -30
- package/src/lending/fetchLenderExt.ts +0 -82
- package/src/lending/index.ts +0 -5
- package/src/lending/init/publicCallBuild.ts +0 -29
- package/src/lending/init/publicCallParse.ts +0 -93
- package/src/lending/init/types.ts +0 -53
- package/src/lending/morpho/convertPublic.ts +0 -153
- package/src/lending/morpho/fetchPublic.ts +0 -80
- package/src/lending/morpho/publicCallBuild.ts +0 -11
- package/src/lending/morpho/types.ts +0 -129
- package/src/lending/types/index.ts +0 -16
- package/src/lending/user-data/aave-v2-type/userCallBuild.ts +0 -118
- package/src/lending/user-data/aave-v2-type/userCallParse.ts +0 -343
- package/src/lending/user-data/aave-v3-type/userCallBuild.ts +0 -42
- package/src/lending/user-data/aave-v3-type/userCallParse.ts +0 -126
- package/src/lending/user-data/aave-v3-type/userCallParseYldr.ts +0 -124
- package/src/lending/user-data/abis.ts +0 -53
- package/src/lending/user-data/compound-v3/addresses.ts +0 -59
- package/src/lending/user-data/compound-v3/index.ts +0 -3
- package/src/lending/user-data/compound-v3/userCallBuild.ts +0 -53
- package/src/lending/user-data/compound-v3/userCallParse.ts +0 -126
- package/src/lending/user-data/fetchUserData.ts +0 -205
- package/src/lending/user-data/index.ts +0 -2
- package/src/lending/user-data/init/userCallBuild.ts +0 -26
- package/src/lending/user-data/init/userCallParse.ts +0 -115
- package/src/lending/user-data/morpho/decoder.ts +0 -71
- package/src/lending/user-data/morpho/morphoLib.ts +0 -61
- package/src/lending/user-data/morpho/types.ts +0 -12
- package/src/lending/user-data/morpho/userCallBuild.ts +0 -63
- package/src/lending/user-data/morpho/userCallParse.ts +0 -150
- package/src/lending/user-data/morpho/userCallParseNoDeploy.ts +0 -168
- package/src/lending/user-data/types.ts +0 -300
- package/src/lending/user-data/utils/createGeneralUserState.ts +0 -142
- package/src/lending/user-data/utils/createMultiAccountStyleUserState.ts +0 -113
- package/src/lending/user-data/utils/formatting/generalFormatters.ts +0 -121
- package/src/lending/user-data/utils/formatting/index.ts +0 -1
- package/src/lending/user-data/utils/index.ts +0 -19
- package/src/lending-pairs/computeLendingPairs.ts +0 -445
- package/src/lending-pairs/index.ts +0 -1
- package/src/prices/defillama/index.ts +0 -306
- package/src/prices/index.ts +0 -2
- package/src/prices/main-prices/addresses/aaveOracles.ts +0 -278
- package/src/prices/main-prices/addresses/api3.ts +0 -10
- package/src/prices/main-prices/addresses/chainlink.ts +0 -750
- package/src/prices/main-prices/fetchOracleData.ts +0 -496
- package/src/prices/main-prices/index.ts +0 -1
- package/src/types/apiReturnType.ts +0 -80
- package/src/types/index.ts +0 -38
- package/src/types/providers.ts +0 -26
- package/src/utils/constants.ts +0 -100
- package/src/utils/index.ts +0 -139
- package/src/utils/multicall.ts +0 -53
- package/src/utils/parsing.ts +0 -80
- package/src/yields/index.ts +0 -207
- package/test/index.test.ts +0 -112
- package/test/lenderData.test.ts +0 -13320
- package/test/mainPrices.test.ts +0 -23
- package/test/morpho.test.ts +0 -20
- package/test/userDataMorpho.test.ts +0 -79
- package/test/userdata.test.ts +0 -284
- package/test/utils.ts +0 -13
- package/tsconfig.json +0 -28
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
import { AaveOracleAbi } from '../../abis/oracle/AaveOracle';
|
|
2
|
-
import { UniswapV2PairAbi } from '../../abis/oracle/UniswapV2Pair';
|
|
3
|
-
import { ChainLinkAggregatorAbi } from '../../abis/oracle/ChainLinkAggregator';
|
|
4
|
-
import { Api3OracleAbi } from '../../abis/oracle/Api3Oracle';
|
|
5
|
-
import { RWADynamicOracleAbi } from '../../abis/oracle/RWADynamicOracle';
|
|
6
|
-
import { api3OracleAddresses } from './addresses/api3';
|
|
7
|
-
import { AAVE_V2_LENDERS, ASSET_META, Chain } from '@1delta/asset-registry';
|
|
8
|
-
import { formatEther } from 'viem';
|
|
9
|
-
import { getAaveAssets } from '../../assets';
|
|
10
|
-
import { chainlinkOracles, getChainLinkKeys, ChainlinkAggregatorIndexes, } from './addresses/chainlink';
|
|
11
|
-
import { fetchDefillamaData } from '../defillama';
|
|
12
|
-
import { multicallViemAbiArray } from '../../utils/multicall';
|
|
13
|
-
import { AAVE_STYLE_ORACLES } from './addresses/aaveOracles';
|
|
14
|
-
import { AAVES_PER_CHAIN } from '../../utils';
|
|
15
|
-
import { parseRawAmount } from '../../utils/parsing';
|
|
16
|
-
export const formatAavePrice = (price, isV2 = false) => {
|
|
17
|
-
return Number(formatEther(BigInt(price ?? '0') *
|
|
18
|
-
// 10^(18 - decimals)
|
|
19
|
-
10n ** (isV2 ? 0n : 10n)));
|
|
20
|
-
};
|
|
21
|
-
const LENDLE_PAIR_MANTLE = '0x4c57BE599d0e0414785943569E9B6A66dA79Aa6b';
|
|
22
|
-
const AU_PAIR_MANTLE = '0x709503fbb50b10f921e812c48fbd5c5522a0b20c';
|
|
23
|
-
const WMNT_USDT_PAIR = '0x3e5922cd0cec71dc2d60ec8b36aa4c05b7c1672f';
|
|
24
|
-
const RWA_DYNAMIC_ORACLE = '0xA96abbe61AfEdEB0D14a20440Ae7100D9aB4882f';
|
|
25
|
-
/**
|
|
26
|
-
* Fetches Aave and uniswap V2 oracle data
|
|
27
|
-
*/
|
|
28
|
-
export const fetchMainPrices = async (chainIds, getEvmClient) => {
|
|
29
|
-
let promises = chainIds.map((chainId) => {
|
|
30
|
-
const aaveForks = AAVES_PER_CHAIN[chainId];
|
|
31
|
-
let reservesToQuery = aaveForks.map((a) => ({ fork: a, assets: getAaveAssets(chainId, a) }));
|
|
32
|
-
let handled = [];
|
|
33
|
-
let queries = [];
|
|
34
|
-
reservesToQuery.forEach((e) => {
|
|
35
|
-
const newOnes = e.assets.filter((a) => !handled.includes(a));
|
|
36
|
-
if (newOnes.length > 0) {
|
|
37
|
-
queries.push({
|
|
38
|
-
assets: newOnes,
|
|
39
|
-
// @ts-ignore
|
|
40
|
-
oracle: AAVE_STYLE_ORACLES[e.fork][chainId],
|
|
41
|
-
fork: e.fork,
|
|
42
|
-
});
|
|
43
|
-
handled = [...handled, ...newOnes];
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
const callAave = getAaveCalls(queries);
|
|
47
|
-
const [callsChainLink, chainLinkNames] = getChainLinkCalls(chainId);
|
|
48
|
-
const uniswapV2Calls = getUniswapV2Calls(chainId);
|
|
49
|
-
const [api3Calls, api3Names] = getApi3Calls(chainId);
|
|
50
|
-
const [rwaCalls, rwaNames] = getRWADynamicOracleCalls(chainId);
|
|
51
|
-
return multicallViemAbiArray(chainId, [
|
|
52
|
-
...ChainLinkAggregatorAbi,
|
|
53
|
-
...UniswapV2PairAbi,
|
|
54
|
-
...AaveOracleAbi,
|
|
55
|
-
...Api3OracleAbi,
|
|
56
|
-
...RWADynamicOracleAbi,
|
|
57
|
-
], [
|
|
58
|
-
...callsChainLink,
|
|
59
|
-
...callAave,
|
|
60
|
-
...uniswapV2Calls,
|
|
61
|
-
...api3Calls,
|
|
62
|
-
...rwaCalls,
|
|
63
|
-
], getEvmClient).then((multicallResult) => {
|
|
64
|
-
const chainLinkResults = multicallResult.slice(0, callsChainLink.length);
|
|
65
|
-
const aaveResult = multicallResult.slice(callsChainLink.length, callsChainLink.length + callAave.length);
|
|
66
|
-
const chainLinkData = parseChainLinkResults(chainId, chainLinkResults, chainLinkNames);
|
|
67
|
-
// @ts-ignore
|
|
68
|
-
const aaveData = parseAaveResults(chainId, aaveResult, queries);
|
|
69
|
-
const uniswapResult = multicallResult.slice(callsChainLink.length + callAave.length, callsChainLink.length + callAave.length + uniswapV2Calls.length);
|
|
70
|
-
const api3Result = multicallResult.slice(callsChainLink.length + callAave.length + uniswapV2Calls.length, callsChainLink.length +
|
|
71
|
-
callAave.length +
|
|
72
|
-
uniswapV2Calls.length +
|
|
73
|
-
api3Calls.length);
|
|
74
|
-
const uniswapData = parseUniswapV2results(uniswapResult, chainId);
|
|
75
|
-
const api3Data = parseApi3Results(chainId, api3Result, api3Names);
|
|
76
|
-
const rwaResult = multicallResult.slice(callsChainLink.length +
|
|
77
|
-
callAave.length +
|
|
78
|
-
uniswapV2Calls.length +
|
|
79
|
-
api3Calls.length, callsChainLink.length +
|
|
80
|
-
callAave.length +
|
|
81
|
-
uniswapV2Calls.length +
|
|
82
|
-
api3Calls.length +
|
|
83
|
-
rwaCalls.length);
|
|
84
|
-
const rwaData = parseRWADynamicOracleResults(chainId, rwaResult, rwaNames);
|
|
85
|
-
return {
|
|
86
|
-
...uniswapData,
|
|
87
|
-
...aaveData,
|
|
88
|
-
...chainLinkData,
|
|
89
|
-
...api3Data,
|
|
90
|
-
...rwaData,
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
promises.push(fetchDefillamaData());
|
|
95
|
-
const result = await Promise.all(promises);
|
|
96
|
-
let data = {};
|
|
97
|
-
result.forEach((r) => {
|
|
98
|
-
data = { ...data, ...r };
|
|
99
|
-
});
|
|
100
|
-
return data;
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Gets the calls foir the uniswap pools
|
|
104
|
-
* @param chainId network id
|
|
105
|
-
* @returns array of calls
|
|
106
|
-
*/
|
|
107
|
-
const getUniswapV2Calls = (chainId) => {
|
|
108
|
-
switch (chainId) {
|
|
109
|
-
case Chain.MANTLE:
|
|
110
|
-
return [
|
|
111
|
-
{
|
|
112
|
-
address: WMNT_USDT_PAIR,
|
|
113
|
-
name: 'getReserves',
|
|
114
|
-
params: [],
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
address: LENDLE_PAIR_MANTLE,
|
|
118
|
-
name: 'getReserves',
|
|
119
|
-
params: [],
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
address: AU_PAIR_MANTLE,
|
|
123
|
-
name: 'getReserves',
|
|
124
|
-
params: [],
|
|
125
|
-
},
|
|
126
|
-
];
|
|
127
|
-
default:
|
|
128
|
-
return [];
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* Create calldata for aave oracles
|
|
133
|
-
* @param chainId network
|
|
134
|
-
* @param addressesAaveUnderlyings address array
|
|
135
|
-
* @returns call data
|
|
136
|
-
*/
|
|
137
|
-
const getAaveCalls = (query) => {
|
|
138
|
-
if (query.length === 0)
|
|
139
|
-
return [];
|
|
140
|
-
return query
|
|
141
|
-
.map(({ oracle, assets }) => ({
|
|
142
|
-
address: oracle,
|
|
143
|
-
name: 'getAssetsPrices',
|
|
144
|
-
params: [assets],
|
|
145
|
-
}))
|
|
146
|
-
.flat();
|
|
147
|
-
};
|
|
148
|
-
/**
|
|
149
|
-
* Create calldata for chainLink oracles
|
|
150
|
-
* @param chainId network
|
|
151
|
-
* @param addressesAaveUnderlyings address array
|
|
152
|
-
* @returns call data
|
|
153
|
-
*/
|
|
154
|
-
const getChainLinkCalls = (chainId) => {
|
|
155
|
-
switch (chainId) {
|
|
156
|
-
case Chain.MANTLE:
|
|
157
|
-
return [[], []];
|
|
158
|
-
default: {
|
|
159
|
-
const keys = getChainLinkKeys(chainId).filter((k) => k.split('-')[1] === 'USD');
|
|
160
|
-
// @ts-ignore
|
|
161
|
-
const addresses = keys.map((k) => chainlinkOracles[k][chainId]);
|
|
162
|
-
return [
|
|
163
|
-
addresses.map((tk) => {
|
|
164
|
-
return {
|
|
165
|
-
address: tk,
|
|
166
|
-
name: 'latestRoundData',
|
|
167
|
-
params: [],
|
|
168
|
-
};
|
|
169
|
-
}),
|
|
170
|
-
keys.map((k) => k.split('-')[0]),
|
|
171
|
-
];
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
/**
|
|
176
|
-
* Processes data creeated from fetch through 'getUniswapV2Calls
|
|
177
|
-
* @param data the result data array slice from the multicall
|
|
178
|
-
* @param chainId network id
|
|
179
|
-
* @returns price dictionary asset->number
|
|
180
|
-
*/
|
|
181
|
-
const parseUniswapV2results = (data, chainId) => {
|
|
182
|
-
switch (chainId) {
|
|
183
|
-
case Chain.MANTLE: {
|
|
184
|
-
let uniswapData = {};
|
|
185
|
-
if (data.length > 0) {
|
|
186
|
-
const reserves = data[1];
|
|
187
|
-
// lendle and wmnt are respective token0s
|
|
188
|
-
const lendleReserve = Number(parseRawAmount(reserves[0].toString(), 18));
|
|
189
|
-
const wmntReserve = Number(parseRawAmount(reserves[1].toString(), 18));
|
|
190
|
-
const auReserves = data[2];
|
|
191
|
-
const auReserve = Number(parseRawAmount(auReserves[1].toString(), 18));
|
|
192
|
-
const wmntReserve_au = Number(parseRawAmount(auReserves[0].toString(), 18));
|
|
193
|
-
const reservesWmntUsdt = data[0];
|
|
194
|
-
const usdtReserve = Number(parseRawAmount(reservesWmntUsdt[0].toString(), 6));
|
|
195
|
-
const wmnt2Reserve = Number(parseRawAmount(reservesWmntUsdt[1].toString(), 18));
|
|
196
|
-
const lendPrice = (wmntReserve / lendleReserve / wmnt2Reserve) * usdtReserve;
|
|
197
|
-
const auPrice = (wmntReserve_au / auReserve / wmnt2Reserve) * usdtReserve;
|
|
198
|
-
uniswapData['LEND'] = lendPrice;
|
|
199
|
-
uniswapData['AU'] = auPrice;
|
|
200
|
-
}
|
|
201
|
-
return uniswapData;
|
|
202
|
-
}
|
|
203
|
-
default:
|
|
204
|
-
return {};
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
function lowDecimalOracle(chainId, fork) {
|
|
208
|
-
// some chains only have high decimal oracles
|
|
209
|
-
if (chainId === Chain.AVALANCHE_C_CHAIN || chainId === Chain.MODE) {
|
|
210
|
-
return false;
|
|
211
|
-
}
|
|
212
|
-
// otherwise, it depends on whether it is aave V3
|
|
213
|
-
return AAVE_V2_LENDERS.includes(fork);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Parser for aave results in ulticall slice
|
|
217
|
-
* @param chainId network
|
|
218
|
-
* @param data result array slice
|
|
219
|
-
* @param assetName asset names (aligned with the originall addresses called)
|
|
220
|
-
* @returns price mapping asset->number
|
|
221
|
-
*/
|
|
222
|
-
const parseAaveResults = (chainId, data, queries) => {
|
|
223
|
-
let prices = {};
|
|
224
|
-
data.forEach((d, i) => {
|
|
225
|
-
const details = queries[i];
|
|
226
|
-
details.assets.forEach((a, j) => {
|
|
227
|
-
const oracleId = ASSET_META[chainId][a]?.assetGroup ??
|
|
228
|
-
ASSET_META[chainId]?.[a]?.symbol ??
|
|
229
|
-
chainId + '-' + a;
|
|
230
|
-
prices[oracleId] = formatAavePrice(d[j].toString(), lowDecimalOracle(chainId, details.fork));
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
return prices;
|
|
234
|
-
};
|
|
235
|
-
/**
|
|
236
|
-
* Parser for aave results in ulticall slice
|
|
237
|
-
* @param chainId network
|
|
238
|
-
* @param data result array slice
|
|
239
|
-
* @param assetName asset names (aligned with the originall addresses called)
|
|
240
|
-
* @returns price mapping asset->number
|
|
241
|
-
*/
|
|
242
|
-
const parseChainLinkResults = (chainId, data, assetName) => {
|
|
243
|
-
switch (chainId) {
|
|
244
|
-
default: {
|
|
245
|
-
return Object.assign({}, ...data.map((entry, index) => {
|
|
246
|
-
return {
|
|
247
|
-
[assetName[index]]: Number(parseRawAmount(entry?.[ChainlinkAggregatorIndexes.answer]?.toString() ?? '0', 8)),
|
|
248
|
-
};
|
|
249
|
-
}));
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
};
|
|
253
|
-
/**
|
|
254
|
-
* Create calldata for api3 oracles
|
|
255
|
-
* @param chainId network
|
|
256
|
-
* @returns call data
|
|
257
|
-
*/
|
|
258
|
-
const getApi3Calls = (chainId) => {
|
|
259
|
-
switch (chainId) {
|
|
260
|
-
case Chain.MANTLE: {
|
|
261
|
-
const keys = ['WETH', 'METH', 'FBTC', 'CMETH'];
|
|
262
|
-
const addresses = keys.map((k) => api3OracleAddresses[chainId][k]);
|
|
263
|
-
return [
|
|
264
|
-
addresses.map((tk) => {
|
|
265
|
-
return {
|
|
266
|
-
address: tk,
|
|
267
|
-
name: 'read',
|
|
268
|
-
params: [],
|
|
269
|
-
};
|
|
270
|
-
}),
|
|
271
|
-
keys,
|
|
272
|
-
];
|
|
273
|
-
}
|
|
274
|
-
default:
|
|
275
|
-
return [[], []];
|
|
276
|
-
}
|
|
277
|
-
};
|
|
278
|
-
/**
|
|
279
|
-
* Parser for api3 results in multicall slice
|
|
280
|
-
* @param chainId network
|
|
281
|
-
* @param data result array slice
|
|
282
|
-
* @param assetName asset names (aligned with the originall addresses called)
|
|
283
|
-
* @returns price mapping asset->number
|
|
284
|
-
*/
|
|
285
|
-
const parseApi3Results = (chainId, data, assetName) => {
|
|
286
|
-
switch (chainId) {
|
|
287
|
-
case Chain.MANTLE: {
|
|
288
|
-
let prices = Object.assign({}, ...data.map((entry, index) => {
|
|
289
|
-
return {
|
|
290
|
-
[assetName[index]]: Number(parseRawAmount(entry?.[0]?.toString() ?? '0', 18)),
|
|
291
|
-
};
|
|
292
|
-
}));
|
|
293
|
-
// METH is given in mETH/WETH
|
|
294
|
-
prices['METH'] = prices['METH'] * prices['WETH'];
|
|
295
|
-
prices['CMETH'] = prices['CMETH'] * prices['METH'];
|
|
296
|
-
return prices;
|
|
297
|
-
}
|
|
298
|
-
default: {
|
|
299
|
-
return {};
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
/**
|
|
304
|
-
* Create calldata for RWADynamicOracle (wrap rate for musd/usdy)
|
|
305
|
-
* @param chainId network
|
|
306
|
-
* @returns call data
|
|
307
|
-
*/
|
|
308
|
-
const getRWADynamicOracleCalls = (chainId) => {
|
|
309
|
-
switch (chainId) {
|
|
310
|
-
case Chain.MANTLE: {
|
|
311
|
-
const keys = ['USDY_MUSD'];
|
|
312
|
-
return [
|
|
313
|
-
[
|
|
314
|
-
{
|
|
315
|
-
address: RWA_DYNAMIC_ORACLE,
|
|
316
|
-
name: 'getPrice',
|
|
317
|
-
params: [],
|
|
318
|
-
},
|
|
319
|
-
],
|
|
320
|
-
keys,
|
|
321
|
-
];
|
|
322
|
-
}
|
|
323
|
-
default:
|
|
324
|
-
return [[], []];
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
/**
|
|
328
|
-
* Parser for RWADynamicOracle (wrap rate for musd/usdy) results in multicall slice
|
|
329
|
-
* @param chainId network
|
|
330
|
-
* @param data result array slice
|
|
331
|
-
* @param assetName asset names (aligned with the originall addresses called)
|
|
332
|
-
* @returns price mapping asset->number
|
|
333
|
-
*/
|
|
334
|
-
const parseRWADynamicOracleResults = (chainId, data, assetName) => {
|
|
335
|
-
switch (chainId) {
|
|
336
|
-
case Chain.MANTLE: {
|
|
337
|
-
let prices = Object.assign({}, ...data.map((entry, index) => {
|
|
338
|
-
return {
|
|
339
|
-
[assetName[index]]: Number(parseRawAmount(entry?.toString() ?? '0', 18)),
|
|
340
|
-
};
|
|
341
|
-
}));
|
|
342
|
-
return prices;
|
|
343
|
-
}
|
|
344
|
-
default: {
|
|
345
|
-
return {};
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./fetchOracleData";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/types/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from "./apiReturnType";
|
|
2
|
-
export var ChainlinkAggregatorIndexes;
|
|
3
|
-
(function (ChainlinkAggregatorIndexes) {
|
|
4
|
-
ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["roundId"] = 0] = "roundId";
|
|
5
|
-
ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["answer"] = 1] = "answer";
|
|
6
|
-
ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["startedAt"] = 2] = "startedAt";
|
|
7
|
-
ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["updatedAt"] = 3] = "updatedAt";
|
|
8
|
-
ChainlinkAggregatorIndexes[ChainlinkAggregatorIndexes["answeredInRound"] = 4] = "answeredInRound";
|
|
9
|
-
})(ChainlinkAggregatorIndexes || (ChainlinkAggregatorIndexes = {}));
|
|
10
|
-
export * from "./providers";
|
package/dist/types/providers.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/utils/constants.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Chain } from '@1delta/asset-registry';
|
|
2
|
-
// Uniswap interface Multicalls
|
|
3
|
-
const CELO_MULTICALL_ADDRESS = '0x633987602DE5C4F337e3DbF265303A1080324204';
|
|
4
|
-
const BNB_MULTICALL_ADDRESS = '0x963Df249eD09c358A4819E39d9Cd5736c3087184';
|
|
5
|
-
const MANTLE_MULTICALL_ADDRESS = '0x2A51f2F647E1883F88C992244dEd171238693107';
|
|
6
|
-
const ARBITRUM_ONE_MULTICALL_ADDRESS = '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB';
|
|
7
|
-
const LINEA_MULTICALL_ADDRESS = '0xac1cE734566f390A94b00eb9bf561c2625BF44ea';
|
|
8
|
-
const AVALANCHE_MULTICALL_ADDRESS = '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2';
|
|
9
|
-
const BASE_MULTICALL_ADDRESS = '0x091e99cb1C49331a94dD62755D168E941AbD0693';
|
|
10
|
-
const BLAST_MULTICALL_ADDRESS = '0xdC7f370de7631cE9e2c2e1DCDA6B3B5744Cf4705';
|
|
11
|
-
const TAIKO_MULTICALL_ADDRESS = '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201';
|
|
12
|
-
const HEMI_MULTICALL_ADDRESS = '0x352A86168e6988A1aDF9A15Cb00017AAd3B67155';
|
|
13
|
-
const GNOSIS_MULTICALL_ADDRESS = '0x4dfa9a980efE4802E969AC33968E3d6E59B8a19e';
|
|
14
|
-
const MODE_MULTICALL_ADDRESS = '0xAB39cE30D98a59DFDa40A630b074170800bfF179';
|
|
15
|
-
const FANTOM_MULTICALL_ADDRESS = '0xDb51CffFf3B989d0cB6b58AbF173371b6F2d0D24';
|
|
16
|
-
const SCROLL_MULTICALL_ADDRESS = '0x3b615B1AC55bc34e51a81D3dea67467F32bcb8C2';
|
|
17
|
-
const SHAPE_MULTICALL_ADDRESS = '0x356A450B32f5030ae7083702b86FaFbBe7490411';
|
|
18
|
-
const SONIC_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
|
|
19
|
-
const INK_MULTICALL_ADDRESS = '0xA0fCec583AeE6176527C07B198e5561722332014';
|
|
20
|
-
const METIS_MULTICALL_ADDRESS = '0x7a59ddbB76521E8982Fa3A08598C9a83b14A6C07';
|
|
21
|
-
const IOTA_MULTICALL_ADDRESS = '0x9683D433621A83aA7dd290106e1da85251317F55';
|
|
22
|
-
const KAVA_MULTICALL_ADDRESS = '0x8B741B0D79BE80E135C880F7583d427B4D41F015';
|
|
23
|
-
const CORN_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
|
|
24
|
-
const SAGA_MULTICALL_ADDRESS = '0x743E03cceB4af2efA3CC76838f6E8B50B63F184c';
|
|
25
|
-
const CYBER_MULTICALL_ADDRESS = '0x906d6eB9CF8f64e100e44f8f491b833a8d40B530';
|
|
26
|
-
const METAL_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
|
|
27
|
-
const ZERO_MULTICALL_ADDRESS = '0x9CA4dcb2505fbf536F6c54AA0a77C79f4fBC35C0';
|
|
28
|
-
const BOB_MULTICALL_ADDRESS = '0x5d6b0f5335ec95cD2aB7E52f2A0750dd86502435';
|
|
29
|
-
const WORLDCHAIN_MULTICALL_ADDRESS = '0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9';
|
|
30
|
-
const LISK_MULTICALL_ADDRESS = '0xE3dbcD53f4Ce1b06Ab200f4912BD35672e68f1FA';
|
|
31
|
-
const REDSTONE_MULTICALL_ADDRESS = '0xd57B52452a0FDfE3ff8e0A40Bd10D00D0bfe0723';
|
|
32
|
-
const MANTA_MULTICALL_ADDRESS = '0x52dFC0D9960F11A9Ca9FF616e791B91188446a60';
|
|
33
|
-
const ZORA_MULTICALL_ADDRESS = '0xA51c76bEE6746cB487a7e9312E43e2b8f4A37C15';
|
|
34
|
-
const CORE_MULTICALL_ADDRESS = '0xFe9F82D820757787895Da00B1dBD35c3B8b04894';
|
|
35
|
-
/**
|
|
36
|
-
* Uniswap Interface Multicall
|
|
37
|
-
*/
|
|
38
|
-
export const MULTICALL_ADDRESS = {
|
|
39
|
-
[Chain.OP_MAINNET]: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
40
|
-
[Chain.POLYGON_MAINNET]: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
41
|
-
[Chain.ETHEREUM_MAINNET]: '0x1F98415757620B543A52E61c46B32eB19261F984',
|
|
42
|
-
[Chain.ARBITRUM_ONE]: ARBITRUM_ONE_MULTICALL_ADDRESS,
|
|
43
|
-
[Chain.BASE]: BASE_MULTICALL_ADDRESS,
|
|
44
|
-
[Chain.CELO_MAINNET]: CELO_MULTICALL_ADDRESS,
|
|
45
|
-
[Chain.BNB_SMART_CHAIN_MAINNET]: BNB_MULTICALL_ADDRESS,
|
|
46
|
-
[Chain.MANTLE]: MANTLE_MULTICALL_ADDRESS,
|
|
47
|
-
[Chain.BLAST]: BLAST_MULTICALL_ADDRESS,
|
|
48
|
-
[Chain.LINEA]: LINEA_MULTICALL_ADDRESS,
|
|
49
|
-
[Chain.AVALANCHE_C_CHAIN]: AVALANCHE_MULTICALL_ADDRESS,
|
|
50
|
-
[Chain.TAIKO_ALETHIA]: TAIKO_MULTICALL_ADDRESS,
|
|
51
|
-
[Chain.HEMI_NETWORK]: HEMI_MULTICALL_ADDRESS,
|
|
52
|
-
[Chain.GNOSIS]: GNOSIS_MULTICALL_ADDRESS,
|
|
53
|
-
[Chain.CORE_BLOCKCHAIN_MAINNET]: CORE_MULTICALL_ADDRESS,
|
|
54
|
-
[Chain.METIS_ANDROMEDA_MAINNET]: METIS_MULTICALL_ADDRESS,
|
|
55
|
-
[Chain.MODE]: MODE_MULTICALL_ADDRESS,
|
|
56
|
-
[Chain.INK]: INK_MULTICALL_ADDRESS,
|
|
57
|
-
[Chain.IOTA_EVM]: IOTA_MULTICALL_ADDRESS,
|
|
58
|
-
[Chain.CORN]: CORN_MULTICALL_ADDRESS,
|
|
59
|
-
[Chain.SONIC_MAINNET]: SONIC_MULTICALL_ADDRESS,
|
|
60
|
-
[Chain.FANTOM_OPERA]: FANTOM_MULTICALL_ADDRESS,
|
|
61
|
-
[Chain.SCROLL]: SCROLL_MULTICALL_ADDRESS,
|
|
62
|
-
[Chain.SHAPE]: SHAPE_MULTICALL_ADDRESS,
|
|
63
|
-
[Chain.CYBER_MAINNET]: CYBER_MULTICALL_ADDRESS,
|
|
64
|
-
[Chain.ZORA]: ZORA_MULTICALL_ADDRESS,
|
|
65
|
-
[Chain.MANTA_PACIFIC_MAINNET]: MANTA_MULTICALL_ADDRESS,
|
|
66
|
-
[Chain.REDSTONE]: REDSTONE_MULTICALL_ADDRESS,
|
|
67
|
-
[Chain.KAVA]: KAVA_MULTICALL_ADDRESS,
|
|
68
|
-
[Chain.METAL_L2]: METAL_MULTICALL_ADDRESS,
|
|
69
|
-
[Chain.LISK]: LISK_MULTICALL_ADDRESS,
|
|
70
|
-
[Chain.BOB]: BOB_MULTICALL_ADDRESS,
|
|
71
|
-
[Chain.ZERO_NETWORK]: ZERO_MULTICALL_ADDRESS,
|
|
72
|
-
[Chain.SAGA]: SAGA_MULTICALL_ADDRESS,
|
|
73
|
-
[Chain.WORLD_CHAIN]: WORLDCHAIN_MULTICALL_ADDRESS,
|
|
74
|
-
};
|
|
75
|
-
/**
|
|
76
|
-
* 1Delta Composer Addresses
|
|
77
|
-
*/
|
|
78
|
-
export const COMPOSERS = {
|
|
79
|
-
[Chain.ARBITRUM_ONE]: "0x05f3f58716a88A52493Be45aA0871c55b3748f18",
|
|
80
|
-
[Chain.OP_MAINNET]: "0xCDef0A216fcEF809258aA4f341dB1A5aB296ea72",
|
|
81
|
-
[Chain.POLYGON_MAINNET]: "0xFd245e732b40b6BF2038e42b476bD06580585326",
|
|
82
|
-
[Chain.BASE]: "0xB7ea94340e65CC68d1274aE483dfBE593fD6f21e",
|
|
83
|
-
[Chain.SONIC_MAINNET]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
|
|
84
|
-
[Chain.HEMI_NETWORK]: "0x79f4061BF049c5c6CAC6bfe2415c2460815F4ac7",
|
|
85
|
-
[Chain.TAIKO_ALETHIA]: "0x594cE4B82A81930cC637f1A59afdFb0D70054232",
|
|
86
|
-
[Chain.METIS_ANDROMEDA_MAINNET]: "0xCe434378adacC51d54312c872113D687Ac19B516",
|
|
87
|
-
[Chain.GNOSIS]: "0xcb6eb8df68153cebf60e1872273ef52075a5c297",
|
|
88
|
-
[Chain.AVALANCHE_C_CHAIN]: '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201',
|
|
89
|
-
[Chain.MODE]: '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201',
|
|
90
|
-
[Chain.SCROLL]: '0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201',
|
|
91
|
-
[Chain.CORE_BLOCKCHAIN_MAINNET]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
|
|
92
|
-
[Chain.FANTOM_OPERA]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
|
|
93
|
-
[Chain.BNB_SMART_CHAIN_MAINNET]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
|
|
94
|
-
[Chain.MANTLE]: "0x5c019a146758287c614fe654caec1ba1caf05f4e",
|
|
95
|
-
[Chain.LINEA]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
|
|
96
|
-
[Chain.BLAST]: "0x816EBC5cb8A5651C902Cb06659907A93E574Db0B",
|
|
97
|
-
};
|
package/dist/utils/index.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { AAVE_FORK_POOL_DATA, AAVE_STYLE_RESERVE_ASSETS, AAVE_V2_LENDERS, AAVE_V3_LENDERS, COMPOUND_BASE_TOKENS, COMPOUND_STYLE_RESERVE_ASSETS, INIT_STYLE_RESERVE_ASSETS, Lender, SWAYLEND_RESERVE_ASSETS, INIT_CONFIG_DATA, MORPHO_BLUE_POOL_DATA, } from "@1delta/asset-registry";
|
|
2
|
-
import { uniq } from "lodash";
|
|
3
|
-
import { COMPOSERS } from "./constants";
|
|
4
|
-
const AAVE_V3_KEY = "AAVE_V3";
|
|
5
|
-
const COMPOUND_V3_KEY = "COMPOUND_V3";
|
|
6
|
-
export function isCompoundV3(lender) { return lender.startsWith(COMPOUND_V3_KEY); }
|
|
7
|
-
export function isCompoundV3Type(lender) { return lender.startsWith(COMPOUND_V3_KEY); }
|
|
8
|
-
export function isInit(lender) { return lender === Lender.INIT; }
|
|
9
|
-
export function isMorphoType(lender) {
|
|
10
|
-
return [
|
|
11
|
-
Lender.MORPHO_BLUE
|
|
12
|
-
].includes(lender);
|
|
13
|
-
}
|
|
14
|
-
const SWAYLEND_KEY = "SWAYLEND";
|
|
15
|
-
export const AAVE_V3_2_PROTOCOLS = [Lender.AAVE_V3, Lender.AAVE_V3_ETHER_FI, Lender.AAVE_V3_PRIME];
|
|
16
|
-
export function isAaveV3Type(lender) {
|
|
17
|
-
return AAVE_V3_LENDERS.includes(lender);
|
|
18
|
-
}
|
|
19
|
-
export function isAaveV3Original(lender) {
|
|
20
|
-
return lender.startsWith(AAVE_V3_KEY);
|
|
21
|
-
}
|
|
22
|
-
export function isAaveV2Type(lender) {
|
|
23
|
-
return AAVE_V2_LENDERS.includes(lender);
|
|
24
|
-
}
|
|
25
|
-
export function isYLDR(lender) {
|
|
26
|
-
return lender === Lender.YLDR;
|
|
27
|
-
}
|
|
28
|
-
export function isAaveV32Type(lender) {
|
|
29
|
-
return AAVE_V3_2_PROTOCOLS.includes(lender);
|
|
30
|
-
}
|
|
31
|
-
export function isAaveType(lender) {
|
|
32
|
-
return [...AAVE_V3_LENDERS, ...AAVE_V2_LENDERS].includes(lender);
|
|
33
|
-
}
|
|
34
|
-
export function isSwaylend(lender) {
|
|
35
|
-
return lender.startsWith(SWAYLEND_KEY);
|
|
36
|
-
}
|
|
37
|
-
export const getLendersForChain = (c) => {
|
|
38
|
-
let lenders = [];
|
|
39
|
-
// aaves
|
|
40
|
-
Object.entries(AAVE_FORK_POOL_DATA).forEach(([l, data]) => {
|
|
41
|
-
const chains = Object.keys(data);
|
|
42
|
-
if (chains.includes(c))
|
|
43
|
-
lenders.push(l);
|
|
44
|
-
});
|
|
45
|
-
// compound V3s
|
|
46
|
-
Object.entries(COMPOUND_BASE_TOKENS).forEach(([l, data]) => {
|
|
47
|
-
const chains = Object.keys(data);
|
|
48
|
-
if (chains.includes(c))
|
|
49
|
-
lenders.push(l);
|
|
50
|
-
});
|
|
51
|
-
// init
|
|
52
|
-
Object.entries(INIT_CONFIG_DATA).forEach(([l, data]) => {
|
|
53
|
-
const chains = Object.keys(data);
|
|
54
|
-
if (chains.includes(c))
|
|
55
|
-
lenders.push(l);
|
|
56
|
-
});
|
|
57
|
-
// morpho
|
|
58
|
-
Object.entries(MORPHO_BLUE_POOL_DATA).forEach(([l, data]) => {
|
|
59
|
-
const chains = Object.keys(data);
|
|
60
|
-
if (chains.includes(c))
|
|
61
|
-
lenders.push(l);
|
|
62
|
-
});
|
|
63
|
-
return lenders;
|
|
64
|
-
};
|
|
65
|
-
/** Filter lenders by protocol list */
|
|
66
|
-
export const filterLendersByProtocol = (allLenders, protocolList) => {
|
|
67
|
-
// return all lenders if no filter is provided
|
|
68
|
-
if (!protocolList || protocolList.length === 0) {
|
|
69
|
-
return allLenders;
|
|
70
|
-
}
|
|
71
|
-
const hasMorpho = protocolList.includes(Lender.MORPHO_BLUE);
|
|
72
|
-
// Filter lenders based on protocol list
|
|
73
|
-
return allLenders.filter((lender) => protocolList.includes(lender) || (hasMorpho && lender.startsWith("MORPHO_BLUE")));
|
|
74
|
-
};
|
|
75
|
-
const getAavesForChain = () => {
|
|
76
|
-
let lenders = {};
|
|
77
|
-
Object.entries(AAVE_FORK_POOL_DATA).forEach(([l, data]) => {
|
|
78
|
-
Object.entries(data).forEach(([chain, data]) => {
|
|
79
|
-
if (!lenders[chain])
|
|
80
|
-
lenders[chain] = [];
|
|
81
|
-
lenders[chain] = uniq([...lenders[chain], l]);
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
return lenders;
|
|
85
|
-
};
|
|
86
|
-
/** All aave protocols per chain */
|
|
87
|
-
export const AAVES_PER_CHAIN = getAavesForChain();
|
|
88
|
-
export const getComposerAddress = (chainId) => {
|
|
89
|
-
return COMPOSERS[chainId];
|
|
90
|
-
};
|
|
91
|
-
export const getLenderAssets = (chainId, lendingProtocol = Lender.AAVE_V3) => {
|
|
92
|
-
if (!chainId)
|
|
93
|
-
return [];
|
|
94
|
-
if (isAaveType(lendingProtocol))
|
|
95
|
-
return AAVE_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId] ?? [];
|
|
96
|
-
if (isCompoundV3(lendingProtocol))
|
|
97
|
-
return COMPOUND_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId] ?? [];
|
|
98
|
-
if (isInit(lendingProtocol))
|
|
99
|
-
return INIT_STYLE_RESERVE_ASSETS[lendingProtocol]?.[chainId] ?? [];
|
|
100
|
-
if (isSwaylend(lendingProtocol))
|
|
101
|
-
return SWAYLEND_RESERVE_ASSETS[lendingProtocol]?.[chainId ?? 0] ?? [];
|
|
102
|
-
return [];
|
|
103
|
-
};
|
|
104
|
-
export function isMultiMarket(lender) {
|
|
105
|
-
return lender.startsWith("MORPHO_BLUE");
|
|
106
|
-
}
|
package/dist/utils/multicall.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { isArray } from 'lodash';
|
|
2
|
-
const MULTICALL_DEFAULT_BATCH_SIZE = 4096;
|
|
3
|
-
const maxRetries = 3;
|
|
4
|
-
/** Same as Multicall viem except that the abi param is supposed to be the abi per call */
|
|
5
|
-
export const multicallViemAbiArray = async (chainId, abi, calls, getEvmClient, retry = true, providerId = 0, retries = maxRetries) => {
|
|
6
|
-
try {
|
|
7
|
-
const provider = getEvmClient(chainId, providerId);
|
|
8
|
-
const abiIsArray = isArray(abi[0]);
|
|
9
|
-
const returnData = await provider.multicall({
|
|
10
|
-
allowFailure: true,
|
|
11
|
-
batchSize: MULTICALL_DEFAULT_BATCH_SIZE,
|
|
12
|
-
contracts: calls.map(({ address, name, params }, i) => ({
|
|
13
|
-
abi: abiIsArray ? abi?.[i] : abi,
|
|
14
|
-
address: address,
|
|
15
|
-
functionName: name,
|
|
16
|
-
args: params,
|
|
17
|
-
})),
|
|
18
|
-
});
|
|
19
|
-
const res = returnData.map(({ result, status }) => status !== "success" ? '0x' : result);
|
|
20
|
-
return res;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
console.log("error in multicall", error);
|
|
24
|
-
retries--;
|
|
25
|
-
if (retries < 0)
|
|
26
|
-
throw new Error("Failed too often");
|
|
27
|
-
providerId++;
|
|
28
|
-
return multicallViemAbiArray(chainId, abi, calls, getEvmClient, retry, providerId, retries);
|
|
29
|
-
}
|
|
30
|
-
};
|
package/dist/utils/parsing.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Chain, Lender } from "@1delta/asset-registry";
|
|
2
|
-
import { formatEther, formatUnits } from "viem";
|
|
3
|
-
import { isCompoundV3 } from ".";
|
|
4
|
-
export const BPS = 10000;
|
|
5
|
-
export const parseRawAmount = (answer, decimals = 18) => {
|
|
6
|
-
if (!answer || answer === "0x")
|
|
7
|
-
return "0";
|
|
8
|
-
try {
|
|
9
|
-
return formatUnits(BigInt(answer ?? "0"), decimals ?? 18);
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
return "0";
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
export var TimeScale;
|
|
16
|
-
(function (TimeScale) {
|
|
17
|
-
TimeScale[TimeScale["BLOCK"] = 0] = "BLOCK";
|
|
18
|
-
TimeScale[TimeScale["MS"] = 1] = "MS";
|
|
19
|
-
})(TimeScale || (TimeScale = {}));
|
|
20
|
-
const BLOCK_TIMES = {
|
|
21
|
-
5: 12,
|
|
22
|
-
1: 12,
|
|
23
|
-
56: 3,
|
|
24
|
-
};
|
|
25
|
-
// Converters from apy to apr and reversed
|
|
26
|
-
const SECONDS_PER_YEAR = 31536000;
|
|
27
|
-
export const aprToApy = (apr) => {
|
|
28
|
-
return (1 + apr / SECONDS_PER_YEAR) ** SECONDS_PER_YEAR - 1;
|
|
29
|
-
};
|
|
30
|
-
export const apyToApr = (apy) => {
|
|
31
|
-
return ((apy + 1) ** (1 / SECONDS_PER_YEAR) - 1) * SECONDS_PER_YEAR;
|
|
32
|
-
};
|
|
33
|
-
export const apyToAprPercent = (apy) => {
|
|
34
|
-
return 100 * ((apy / 100 + 1) ** (1 / SECONDS_PER_YEAR) - 1) * SECONDS_PER_YEAR;
|
|
35
|
-
};
|
|
36
|
-
export const formatAaveYieldToNumber = (n) => {
|
|
37
|
-
if (!n)
|
|
38
|
-
return 0;
|
|
39
|
-
return Number(formatEther(BigInt(n) / BigInt(1e7)));
|
|
40
|
-
};
|
|
41
|
-
export const calculateRateForCompound = (n, chainId, lender = Lender.COMPOUND_V3_USDCE) => {
|
|
42
|
-
let scale = TimeScale.MS;
|
|
43
|
-
if (isCompoundV3(lender) || Lender.COMPOUND_V2) {
|
|
44
|
-
scale = TimeScale.BLOCK;
|
|
45
|
-
}
|
|
46
|
-
else if (chainId === Chain.BNB_SMART_CHAIN_MAINNET) {
|
|
47
|
-
scale = TimeScale.BLOCK;
|
|
48
|
-
}
|
|
49
|
-
const rate = Number(formatEther(BigInt(n)));
|
|
50
|
-
if (scale === TimeScale.BLOCK)
|
|
51
|
-
return ((Math.pow((rate * 60 * 60 * 24) / (BLOCK_TIMES[chainId] ?? 1) + 1, 365) -
|
|
52
|
-
1) *
|
|
53
|
-
100);
|
|
54
|
-
return (Math.pow(rate * 60 * 60 * 24 + 1, 365) - 1) * 100;
|
|
55
|
-
};
|
|
56
|
-
export const formatAaveRawApyToApr = (raw) => {
|
|
57
|
-
const apy = formatAaveYieldToNumber(raw);
|
|
58
|
-
return apyToApr(apy / 100) * 100;
|
|
59
|
-
};
|
|
60
|
-
// converts rate per second to rate per year
|
|
61
|
-
export const convertRateToApr = (ratePerSecond) => {
|
|
62
|
-
const rps = Number(ratePerSecond);
|
|
63
|
-
if (isNaN(rps))
|
|
64
|
-
return 0;
|
|
65
|
-
return rps * 3600 * 24 * 365 * 100;
|
|
66
|
-
};
|