@merkl/api 0.20.106 → 0.20.109
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/src/constants.d.ts +1 -23
- package/dist/src/constants.js +1 -36
- package/dist/src/eden/index.d.ts +347 -226
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Ajna.js +1 -1
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Clamm.js +4 -4
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Compound.js +2 -2
- package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.js +101 -0
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Dolomite.js +1 -1
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERC721.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERCMultiToken.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EigenLayer.js +1 -1
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20.d.ts +1 -1
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20.js +10 -10
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20Snapshot.js +1 -1
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EventBased.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Morpho.js +1 -1
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Radiant.js +3 -3
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Silo.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/UniswapV4.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Vest.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchA51Strategies.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getDolomiteMarkets.js +2 -2
- package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getEulerV2Vaults.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/GenericProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/factoryFinder.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/factoryFinder.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/hardcoded.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/hardcoded.js +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/ownerFinder.d.ts +2 -0
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/ownerFinder.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AaveProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AnglesLiquid.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AssetProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AssetProcessor.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AuraProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BEXRewardGaugeProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BeefyProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BunniV2Processor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/CompoundProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ERC4626Processor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EnzymeProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerLendProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FluidProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FraxProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FraxProcessor.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaALMProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GearboxProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HoldStationProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HourglassProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/NoLinkVaultProcessor.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleYTProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RadiantProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RfxProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/Satlayer.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraProcessor.js +3 -3
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpectraYTProcessor.js +3 -3
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpliceProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TempestVaultProcessor.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TemplateProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TorosProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/UniswapProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/VicunaProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/WoofiProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveProcessor.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/processorMapping.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/processorMapping.js +3 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/stakedCurveProcessor.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/xU308Processor.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesPrices.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesPrices.js +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound1.js +5 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound2.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound3.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound4.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeStruct.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeToProtocolAndAction.d.ts +1 -1
- package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeToProtocolAndAction.js +3 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Ajna.d.ts → implementations/Ajna/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Ajna.js → implementations/Ajna/metadata.js} +4 -3
- package/dist/src/engine/implementations/Ajna/tvl.d.ts +7 -0
- package/dist/src/engine/{campaignTVL/implementations/Ajna.js → implementations/Ajna/tvl.js} +9 -9
- package/dist/src/engine/{opportunityMetadata/implementations/Ambient.d.ts → implementations/Ambient/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Ambient.js → implementations/Ambient/metadata.js} +2 -1
- package/dist/src/engine/{campaignTVL/implementations/Ambiant.d.ts → implementations/Ambient/tvl.d.ts} +3 -3
- package/dist/src/engine/{campaignTVL/implementations/Ambiant.js → implementations/Ambient/tvl.js} +2 -2
- package/dist/src/engine/{opportunityMetadata/implementations/Badger.d.ts → implementations/Badger/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Badger.js → implementations/Badger/metadata.js} +2 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Clamm.d.ts → implementations/Clamm/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Clamm.js → implementations/Clamm/metadata.js} +2 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Compound.d.ts → implementations/Compound/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Compound.js → implementations/Compound/metadata.js} +3 -2
- package/dist/src/engine/{opportunityMetadata/implementations/CompoundV3.d.ts → implementations/CompoundV3/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/CompoundV3.js → implementations/CompoundV3/metadata.js} +4 -3
- package/dist/src/engine/implementations/Default/metadata.d.ts +13 -0
- package/dist/src/engine/{opportunityMetadata/implementations/Default.js → implementations/Default/metadata.js} +3 -2
- package/dist/src/engine/{opportunityMetadata/implementations/Dolomite.d.ts → implementations/Dolomite/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Dolomite.js → implementations/Dolomite/metadata.js} +3 -2
- package/dist/src/engine/{opportunityMetadata/implementations/EigenLayer.d.ts → implementations/EigenLayer/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/EigenLayer.js → implementations/EigenLayer/metadata.js} +2 -1
- package/dist/src/engine/implementations/Encompassing/metadata.d.ts +16 -0
- package/dist/src/engine/{opportunityMetadata/implementations/Encompassing.js → implementations/Encompassing/metadata.js} +4 -3
- package/dist/src/engine/implementations/Erc20/metadata.d.ts +29 -0
- package/dist/src/engine/{opportunityMetadata/implementations/Erc20/index.js → implementations/Erc20/metadata.js} +19 -14
- package/dist/src/engine/{campaignTVL/implementations/Erc20/computeSubTypes.d.ts → implementations/Erc20/subTypes/detect.d.ts} +2 -2
- package/dist/src/engine/{campaignTVL/implementations/Erc20/computeSubTypes.js → implementations/Erc20/subTypes/detect.js} +6 -6
- package/dist/src/engine/implementations/Erc20/subTypes/factories.d.ts +5 -0
- package/dist/src/engine/implementations/Erc20/subTypes/factories.js +33 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.d.ts +17 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.js +21 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.d.ts +6 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.js +43 -0
- package/dist/src/engine/{campaignTVL/implementations/Erc20/Erc20SubType.d.ts → implementations/Erc20/subTypes/index.d.ts} +2 -0
- package/dist/src/engine/{campaignTVL/implementations/Erc20/Erc20SubType.js → implementations/Erc20/subTypes/index.js} +2 -0
- package/dist/src/engine/implementations/Erc20/tvl.d.ts +6 -0
- package/dist/src/engine/implementations/Erc20/tvl.js +98 -0
- package/dist/src/engine/implementations/Erc20Snapshot/metadata.d.ts +15 -0
- package/dist/src/engine/{opportunityMetadata/implementations/Erc20Snapshot.js → implementations/Erc20Snapshot/metadata.js} +2 -1
- package/dist/src/engine/implementations/Erc721/metadata.d.ts +17 -0
- package/dist/src/engine/{opportunityMetadata/implementations/ERC721.js → implementations/Erc721/metadata.js} +3 -2
- package/dist/src/engine/implementations/ErcMultiToken/metadata.d.ts +29 -0
- package/dist/src/engine/{opportunityMetadata/implementations/ERCMultiToken.js → implementations/ErcMultiToken/metadata.js} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Euler.d.ts → implementations/Euler/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Euler.js → implementations/Euler/metadata.js} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/EventBased.d.ts → implementations/EventBased/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/EventBased.js → implementations/EventBased/metadata.js} +2 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Hyperdrive.d.ts → implementations/Hyperdrive/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Hyperdrive.js → implementations/Hyperdrive/metadata.js} +3 -2
- package/dist/src/engine/{opportunityMetadata/implementations/Invalid.d.ts → implementations/Invalid/metadata.d.ts} +1 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Ion.d.ts → implementations/Ion/metadata.d.ts} +4 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Ion.js → implementations/Ion/metadata.js} +2 -1
- package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +24 -0
- package/dist/src/engine/{opportunityMetadata/implementations/JsonAirdrop.js → implementations/JsonAirdrop/metadata.js} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Morpho.d.ts → implementations/Morpho/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/Morpho.js → implementations/Morpho/metadata.js} +4 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Radiant.d.ts → implementations/Radiant/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Radiant.js → implementations/Radiant/metadata.js} +4 -1
- package/dist/src/engine/{opportunityMetadata/implementations/Silo.d.ts → implementations/Silo/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Silo.js → implementations/Silo/metadata.js} +4 -1
- package/dist/src/engine/{opportunityMetadata/implementations/UniswapV4.d.ts → implementations/UniswapV4/metadata.d.ts} +4 -3
- package/dist/src/engine/{opportunityMetadata/implementations/UniswapV4.js → implementations/UniswapV4/metadata.js} +2 -1
- package/dist/src/engine/implementations/UniswapV4/tvl.d.ts +7 -0
- package/dist/src/engine/{campaignTVL/implementations/UniswapV4.js → implementations/UniswapV4/tvl.js} +11 -11
- package/dist/src/engine/{opportunityMetadata/implementations/Vest.d.ts → implementations/Vest/metadata.d.ts} +5 -4
- package/dist/src/engine/{opportunityMetadata/implementations/Vest.js → implementations/Vest/metadata.js} +3 -2
- package/dist/src/engine/metadata/factory.js +71 -0
- package/dist/src/engine/tvl/factory.d.ts +3 -0
- package/dist/src/engine/tvl/factory.js +23 -0
- package/dist/src/hooks/checkQueryAddressValidity.js +1 -1
- package/dist/src/hooks/checkQueryChainIdValidity.js +1 -1
- package/dist/src/index.d.ts +123 -80
- package/dist/src/jobs/dynamic-data.js +1 -1
- package/dist/src/jobs/update-analytics.js +290 -34
- package/dist/src/jobs/update-euler-vaults.js +1 -1
- package/dist/src/libs/computeFee.js +1 -1
- package/dist/src/libs/deprecated-merklv3/index.js +1 -1
- package/dist/src/libs/getTokensList.js +1 -1
- package/dist/src/libs/merklChainData.js +1 -1
- package/dist/src/libs/positions/EigenLayer/index.d.ts +1 -1
- package/dist/src/libs/positions/ajna/index.d.ts +1 -1
- package/dist/src/libs/positions/badger/index.d.ts +1 -1
- package/dist/src/libs/positions/clamm/index.js +3 -3
- package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js +1 -1
- package/dist/src/libs/positions/compound/index.d.ts +1 -1
- package/dist/src/libs/positions/dolomite/index.d.ts +1 -1
- package/dist/src/libs/positions/erc20/index.d.ts +1 -1
- package/dist/src/libs/positions/erc20/index.js +0 -1
- package/dist/src/libs/positions/euler/index.d.ts +1 -1
- package/dist/src/libs/positions/euler/index.js +0 -1
- package/dist/src/libs/positions/index.js +1 -1
- package/dist/src/libs/positions/morpho/index.d.ts +1 -1
- package/dist/src/libs/positions/prepareFetch.js +1 -1
- package/dist/src/libs/positions/silo/index.d.ts +1 -1
- package/dist/src/libs/tokens/balances.d.ts +1 -1
- package/dist/src/libs/tokens/balances.js +1 -1
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +42 -15
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +7 -9
- package/dist/src/modules/v4/campaign/campaign.repository.js +20 -27
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +47 -17
- package/dist/src/modules/v4/campaign/campaign.service.js +51 -38
- package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +67 -22
- package/dist/src/modules/v4/campaign/campaign.test.controller.js +32 -9
- package/dist/src/modules/v4/chain/chain.controller.d.ts +3 -1
- package/dist/src/modules/v4/chain/chain.repository.d.ts +8 -2
- package/dist/src/modules/v4/chain/chain.repository.js +1 -2
- package/dist/src/modules/v4/chain/chain.service.d.ts +16 -2
- package/dist/src/modules/v4/chain/chain.service.js +3 -3
- package/dist/src/modules/v4/dynamicData/dynamicData.service.js +49 -13
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +4 -4
- package/dist/src/modules/v4/opportunity/opportunity.converter.d.ts +2 -1
- package/dist/src/modules/v4/opportunity/opportunity.converter.js +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +8 -8
- package/dist/src/modules/v4/opportunity/opportunity.service.js +16 -32
- package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +7 -7
- package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +3 -3
- package/dist/src/modules/v4/programPayload/programPayload.model.js +2 -2
- package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +279 -4
- package/dist/src/modules/v4/programPayload/programPayload.repository.js +295 -3
- package/dist/src/modules/v4/protocol/protocol.model.d.ts +1 -1
- package/dist/src/modules/v4/protocol/protocol.model.js +1 -0
- package/dist/src/modules/v4/router.d.ts +123 -80
- package/dist/src/modules/v4/router.js +0 -2
- package/dist/src/modules/v4/uniswap/uniswap.service.js +1 -1
- package/dist/src/routes/v3/campaigns.js +3 -3
- package/dist/src/routes/v3/compoundV2.js +1 -1
- package/dist/src/routes/v3/createCampaign.js +1 -1
- package/dist/src/routes/v3/dolomite.js +1 -1
- package/dist/src/routes/v3/euler.js +1 -1
- package/dist/src/routes/v3/fetch.js +1 -1
- package/dist/src/routes/v3/lostyield.js +3 -3
- package/dist/src/routes/v3/merkl.js +2 -2
- package/dist/src/routes/v3/multiChainPositions.js +1 -1
- package/dist/src/routes/v3/overview.js +1 -1
- package/dist/src/routes/v3/poolInfo.js +2 -2
- package/dist/src/routes/v3/rewardsReport.js +1 -1
- package/dist/src/scripts/reparse-opportunities.js +5 -3
- package/dist/src/utils/decodeCalls.d.ts +1 -1
- package/dist/src/utils/decodeCalls.js +3 -1
- package/dist/src/utils/encodeCalls.d.ts +1 -1
- package/dist/src/utils/encodeCalls.js +3 -1
- package/dist/src/utils/error.d.ts +6 -6
- package/dist/src/utils/generateCardName.d.ts +1 -1
- package/dist/src/utils/generateCardName.js +3 -1
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/engine/campaignTVL/factory.d.ts +0 -3
- package/dist/src/engine/campaignTVL/factory.js +0 -23
- package/dist/src/engine/campaignTVL/implementations/Ajna.d.ts +0 -7
- package/dist/src/engine/campaignTVL/implementations/Erc20/factory.d.ts +0 -3
- package/dist/src/engine/campaignTVL/implementations/Erc20/factory.js +0 -13
- package/dist/src/engine/campaignTVL/implementations/Erc20/index.d.ts +0 -6
- package/dist/src/engine/campaignTVL/implementations/Erc20/index.js +0 -34
- package/dist/src/engine/campaignTVL/implementations/UniswapV4.d.ts +0 -7
- package/dist/src/engine/dynamicData/implementations/CompoundV3.js +0 -69
- package/dist/src/engine/erc20SubTypeProcessors/helpers/ownerFinder.d.ts +0 -2
- package/dist/src/engine/opportunityMetadata/factory.js +0 -71
- package/dist/src/engine/opportunityMetadata/implementations/Default.d.ts +0 -13
- package/dist/src/engine/opportunityMetadata/implementations/ERC721.d.ts +0 -16
- package/dist/src/engine/opportunityMetadata/implementations/ERCMultiToken.d.ts +0 -28
- package/dist/src/engine/opportunityMetadata/implementations/Encompassing.d.ts +0 -15
- package/dist/src/engine/opportunityMetadata/implementations/Erc20/index.d.ts +0 -18
- package/dist/src/engine/opportunityMetadata/implementations/Erc20Snapshot.d.ts +0 -14
- package/dist/src/engine/opportunityMetadata/implementations/JsonAirdrop.d.ts +0 -23
- package/dist/src/entities/campaign.d.ts +0 -58
- package/dist/src/entities/campaign.js +0 -136
- package/dist/src/modules/v4/dynamicData/dynamicData.controller.d.ts +0 -51
- package/dist/src/modules/v4/dynamicData/dynamicData.controller.js +0 -19
- package/dist/src/modules/v4/dynamicData/dynamicData.repository.d.ts +0 -0
- package/dist/src/modules/v4/dynamicData/dynamicData.repository.js +0 -1
- package/dist/src/types/returnTypes.d.ts +0 -19
- package/dist/src/types/returnTypes.js +0 -1
- package/dist/src/types/utils.d.ts +0 -5
- package/dist/src/types/utils.js +0 -1
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/factory.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/factory.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Ajna.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Badger.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Badger.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Clamm.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Compound.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/CompoundV3.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Dolomite.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERC721.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/ERCMultiToken.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EigenLayer.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Encompassing.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Encompassing.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Erc20Snapshot.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/EventBased.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Hyperdrive.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Hyperdrive.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Morpho.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Radiant.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Silo.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/UniswapV4.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/Vest.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/default.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/implementations/default.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchA51Strategies.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchClamInfo.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchClamInfo.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchLogs.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/fetchLogs.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getCompV2ForksVaults.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getCompV2ForksVaults.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getContractCreationBlock.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getContractCreationBlock.js +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getDolomiteMarkets.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getEulerV2Vaults.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getFixedApr.d.ts +0 -0
- /package/dist/src/engine/{dynamicData → deprecated/dynamicData}/utils/getFixedApr.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/GenericProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/eulerVaultNames.d.ts +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/eulerVaultNames.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.d.ts +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/getBlacklistedSupply.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/metamorphoTvl.d.ts +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/metamorphoTvl.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/spliceTVL.d.ts +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/helpers/spliceTVL.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AaveProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AnglesLiquid.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/AuraProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BEXRewardGaugeProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerGaugeProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerPoolProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BalancerV3PoolProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BeefyProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/BunniV2Processor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/CompoundProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ERC4626Processor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EnzymeProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EqualizerGaugeProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerBorrowProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/EulerLendProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/FluidProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaALMProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GammaProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/GearboxProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HanjiVaultProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HoldStationProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/HourglassProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MaverickBPProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/MetamorphoProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/PendleYTProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RadiantProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/RfxProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/Satlayer.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SpliceProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/SturdySiloProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TemplateProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/TorosProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/UniswapProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/VicunaProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/WoofiProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/ZkSwapThreePoolProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/curveNPoolProcessor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/implementations/xU308Processor.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound1.d.ts +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound2.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound3.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/subtypesRound4.js +0 -0
- /package/dist/src/engine/{erc20SubTypeProcessors → deprecated/erc20SubTypeProcessors}/tokenTypeStruct.js +0 -0
- /package/dist/src/engine/{opportunityMetadata/implementations/Invalid.js → implementations/Invalid/metadata.js} +0 -0
- /package/dist/src/engine/{opportunityMetadata → metadata}/factory.d.ts +0 -0
@@ -2,7 +2,8 @@ import { OpportunityAction } from "@db/api";
|
|
2
2
|
import { NETWORK_LABELS, almName, } from "@sdk";
|
3
3
|
import { getAddress } from "viem";
|
4
4
|
export class AmbientMetadata {
|
5
|
-
async build(
|
5
|
+
async build(campaign) {
|
6
|
+
const { params, computeChainId } = campaign;
|
6
7
|
const platform = "Ambient";
|
7
8
|
let whitelistNameString = "";
|
8
9
|
if (params.whitelist.length > 0) {
|
@@ -1,7 +1,7 @@
|
|
1
|
+
import type { TVLBuilder, TVLData } from "@/engine/tvl/interface";
|
1
2
|
import { type Campaign, type CampaignParameters, type MerklChainId } from "@sdk";
|
2
|
-
import type { CampaignTVLBuilder, TVLData } from "../interface";
|
3
3
|
type campaignType = Campaign.AMBIENTPROCESSOR;
|
4
|
-
export declare class
|
5
|
-
build(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<TVLData
|
4
|
+
export declare class AmbiantTVLBuilder implements TVLBuilder<campaignType> {
|
5
|
+
build(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<TVLData<Campaign.AMBIENTPROCESSOR>>;
|
6
6
|
}
|
7
7
|
export {};
|
package/dist/src/engine/{campaignTVL/implementations/Ambiant.js → implementations/Ambient/tvl.js}
RENAMED
@@ -1,8 +1,8 @@
|
|
1
1
|
import { TokenService } from "@/modules/v4/token/token.service";
|
2
|
+
import { log } from "@/utils/logger";
|
2
3
|
import { TvlType } from "@db/api";
|
3
4
|
import { AmbientAddresses, AmbientLens, BN2Number, ChainInteractionService, NETWORK_LABELS, subgraphAmbientEndpoints, withRetry, } from "@sdk";
|
4
5
|
import request, { gql } from "graphql-request";
|
5
|
-
import { log } from "../../../utils/logger";
|
6
6
|
var AmbiantPositionType;
|
7
7
|
(function (AmbiantPositionType) {
|
8
8
|
AmbiantPositionType["Concentrated"] = "concentrated";
|
@@ -121,7 +121,7 @@ async function fetchAmbientPotentialPositions(poolId, chainId) {
|
|
121
121
|
holders = Array.from(new Set(holders.map(h => JSON.stringify(h)))).map(h => JSON.parse(h));
|
122
122
|
return holders;
|
123
123
|
}
|
124
|
-
export class
|
124
|
+
export class AmbiantTVLBuilder {
|
125
125
|
async build(chainId, campaigns) {
|
126
126
|
const tvls = [];
|
127
127
|
let calls = [];
|
@@ -1,13 +1,14 @@
|
|
1
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
1
2
|
import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
2
3
|
import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
|
3
|
-
import type { MetadataBuilder } from "
|
4
|
+
import type { MetadataBuilder } from "../../metadata/interface";
|
4
5
|
type campaignType = CampaignEnum.BADGER;
|
5
6
|
export declare class BadgerMetadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(
|
7
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
8
|
action: "BORROW";
|
8
9
|
name: string;
|
9
10
|
tokens: {
|
10
|
-
chainId:
|
11
|
+
chainId: number;
|
11
12
|
address: any;
|
12
13
|
}[];
|
13
14
|
mainProtocol: ProtocolId;
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { TokenService } from "@/modules/v4/token/token.service";
|
2
2
|
import { OpportunityAction } from "@db/api";
|
3
3
|
export class BadgerMetadata {
|
4
|
-
async build(
|
4
|
+
async build(campaign) {
|
5
|
+
const { params, computeChainId } = campaign;
|
5
6
|
try {
|
6
7
|
const [token] = await TokenService.findManyOrCreate([{ chainId: computeChainId, address: params.targetToken }]);
|
7
8
|
if (!token)
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
1
3
|
import { type ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
2
4
|
import { type Campaign as CampaignEnum, type CampaignParameters, ChainId } from "@sdk";
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
5
|
type campaignType = CampaignEnum.CLAMM;
|
5
6
|
export declare const uniswapV3OkuChains: {
|
6
7
|
[ChainId.BLAST]: string;
|
@@ -28,11 +29,11 @@ export declare const sushiswapv3Chains: {
|
|
28
29
|
[C in ChainId]?: string;
|
29
30
|
};
|
30
31
|
export declare class ClammMetadata implements MetadataBuilder<campaignType> {
|
31
|
-
build(
|
32
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
32
33
|
name: string;
|
33
34
|
action: "POOL";
|
34
35
|
tokens: {
|
35
|
-
chainId:
|
36
|
+
chainId: number;
|
36
37
|
address: any;
|
37
38
|
}[];
|
38
39
|
mainProtocol: ProtocolId;
|
@@ -35,7 +35,8 @@ export const sushiswapv3Chains = {
|
|
35
35
|
[ChainId.SKALE]: "skale-europa",
|
36
36
|
};
|
37
37
|
export class ClammMetadata {
|
38
|
-
async build(
|
38
|
+
async build(campaign) {
|
39
|
+
const { params, computeChainId } = campaign;
|
39
40
|
let platform = ammName(params.amm);
|
40
41
|
if (platform === "BaseSwap") {
|
41
42
|
switch (computeChainId) {
|
@@ -1,13 +1,14 @@
|
|
1
|
-
import
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
3
|
+
import { type Campaign as CampaignEnum } from "@sdk";
|
2
4
|
import type { ProtocolId } from "../../../modules/v4/protocol/protocol.model";
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
5
|
type campaignType = CampaignEnum.COMPOUND;
|
5
6
|
export declare class CompoundMetadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(
|
7
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
8
|
action: "LEND" | "BORROW";
|
8
9
|
name: string;
|
9
10
|
tokens: {
|
10
|
-
chainId:
|
11
|
+
chainId: number;
|
11
12
|
address: any;
|
12
13
|
}[];
|
13
14
|
mainProtocol: ProtocolId;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { camelToKebabCase } from "@/utils/caseChanges";
|
2
2
|
import { OpportunityAction } from "@db/api";
|
3
|
-
import { CompFork, CompoundSubCampaignType
|
3
|
+
import { CompFork, CompoundSubCampaignType } from "@sdk";
|
4
4
|
export class CompoundMetadata {
|
5
|
-
async build(
|
5
|
+
async build(campaign) {
|
6
|
+
const { params, computeChainId, subType } = campaign;
|
6
7
|
return {
|
7
8
|
action: subType === CompoundSubCampaignType.supply ? OpportunityAction.LEND : OpportunityAction.BORROW,
|
8
9
|
name: [
|
@@ -1,13 +1,14 @@
|
|
1
|
-
import
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
3
|
+
import { type Campaign as CampaignEnum } from "@sdk";
|
2
4
|
import type { ProtocolId } from "../../../modules/v4/protocol/protocol.model";
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
5
|
type campaignType = CampaignEnum.COMPOUND_V3;
|
5
6
|
export declare class CompoundV3Metadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(
|
7
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
8
|
action: "LEND" | "BORROW";
|
8
9
|
name: string;
|
9
10
|
tokens: {
|
10
|
-
chainId:
|
11
|
+
chainId: number;
|
11
12
|
address: any;
|
12
13
|
}[];
|
13
14
|
mainProtocol: ProtocolId;
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import { OpportunityAction } from "@db/api";
|
2
2
|
import { CompoundV3SubCampaignType } from "@sdk";
|
3
3
|
export class CompoundV3Metadata {
|
4
|
-
async build(
|
4
|
+
async build(campaign) {
|
5
|
+
const { params, computeChainId } = campaign;
|
5
6
|
const symbolUnderlyingToken = params.symbolTargetToken.slice(1, -2);
|
6
7
|
return {
|
7
|
-
action:
|
8
|
+
action: params.subCampaignType === CompoundV3SubCampaignType.SUPPLY ? OpportunityAction.LEND : OpportunityAction.BORROW,
|
8
9
|
name: [
|
9
|
-
|
10
|
+
params.subCampaignType === CompoundV3SubCampaignType.SUPPLY
|
10
11
|
? `Supply ${symbolUnderlyingToken} on`
|
11
12
|
: `Borrow ${symbolUnderlyingToken} on`,
|
12
13
|
"Compound V3",
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
3
|
+
import type { Campaign as CampaignEnum } from "@sdk";
|
4
|
+
type campaignType = CampaignEnum;
|
5
|
+
export declare class DefaultMetadata implements MetadataBuilder<campaignType> {
|
6
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
|
+
action: "HOLD";
|
8
|
+
name: string;
|
9
|
+
tokens: never[];
|
10
|
+
explorerAddress: string;
|
11
|
+
}>;
|
12
|
+
}
|
13
|
+
export {};
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import { OpportunityAction } from "@db/api";
|
2
2
|
export class DefaultMetadata {
|
3
|
-
async build(
|
3
|
+
async build(campaign) {
|
4
|
+
const { rewardToken } = campaign;
|
4
5
|
return {
|
5
6
|
action: OpportunityAction.HOLD,
|
6
7
|
name: "Reward Opportunity",
|
7
8
|
tokens: [],
|
8
|
-
explorerAddress:
|
9
|
+
explorerAddress: rewardToken.address,
|
9
10
|
};
|
10
11
|
}
|
11
12
|
}
|
@@ -1,12 +1,13 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
1
3
|
import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
2
|
-
import type { Campaign as CampaignEnum
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
|
+
import type { Campaign as CampaignEnum } from "@sdk";
|
4
5
|
type campaignType = CampaignEnum.DOLOMITE;
|
5
6
|
export declare class DolomiteMetadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(
|
7
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
8
|
action: "LEND" | "BORROW";
|
8
9
|
tokens: {
|
9
|
-
chainId:
|
10
|
+
chainId: number;
|
10
11
|
address: any;
|
11
12
|
}[];
|
12
13
|
name: string;
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import { OpportunityAction } from "@db/api";
|
2
2
|
import { getAddress } from "viem";
|
3
3
|
export class DolomiteMetadata {
|
4
|
-
async build(
|
4
|
+
async build(campaign) {
|
5
|
+
const { params, computeChainId, subType } = campaign;
|
5
6
|
const subtypes = [
|
6
7
|
{ name: "Supply (delta)", action: OpportunityAction.LEND },
|
7
8
|
{ name: "Supply", action: OpportunityAction.LEND },
|
8
9
|
{ name: "Borrow", action: OpportunityAction.BORROW },
|
9
10
|
];
|
10
|
-
const subtype = subtypes[subType];
|
11
|
+
const subtype = subtypes[subType ?? 0];
|
11
12
|
return {
|
12
13
|
action: subtype.action,
|
13
14
|
tokens: [{ chainId: computeChainId, address: params.targetToken }],
|
@@ -1,13 +1,14 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
1
3
|
import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
2
|
-
import type { Campaign as CampaignEnum
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
|
+
import type { Campaign as CampaignEnum } from "@sdk";
|
4
5
|
type campaignType = CampaignEnum.EIGENLAYER;
|
5
6
|
export declare class EigenLayerMetadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(
|
7
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
8
|
action: "LEND";
|
8
9
|
name: string;
|
9
10
|
tokens: {
|
10
|
-
chainId:
|
11
|
+
chainId: number;
|
11
12
|
address: any;
|
12
13
|
}[];
|
13
14
|
mainProtocol: ProtocolId;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { OpportunityAction } from "@db/api";
|
2
2
|
export class EigenLayerMetadata {
|
3
|
-
async build(
|
3
|
+
async build(campaign) {
|
4
|
+
const { params, computeChainId } = campaign;
|
4
5
|
return {
|
5
6
|
action: OpportunityAction.LEND,
|
6
7
|
name: ["EigenLayer", "strategy for", params.symbolUnderlyingToken].join(" "),
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
3
|
+
import type { Campaign as CampaignEnum } from "@sdk";
|
4
|
+
type campaignType = CampaignEnum.ENCOMPASSING;
|
5
|
+
export declare class EncompassingMetadata implements MetadataBuilder<campaignType> {
|
6
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">): Promise<{
|
7
|
+
action: "DROP";
|
8
|
+
name: any;
|
9
|
+
tokens: {
|
10
|
+
chainId: number;
|
11
|
+
address: string;
|
12
|
+
}[];
|
13
|
+
mainProtocol: any;
|
14
|
+
}>;
|
15
|
+
}
|
16
|
+
export {};
|
@@ -2,7 +2,8 @@ import { protocolIdList } from "@/modules/v4/protocol/protocol.model";
|
|
2
2
|
import { log } from "@/utils/logger";
|
3
3
|
import { OpportunityAction } from "@db/api";
|
4
4
|
export class EncompassingMetadata {
|
5
|
-
async build(
|
5
|
+
async build(campaign) {
|
6
|
+
const { params, computeChainId, rewardToken } = campaign;
|
6
7
|
try {
|
7
8
|
const dataResponse = await fetch(params.dataUrl);
|
8
9
|
if (!dataResponse.ok)
|
@@ -18,7 +19,7 @@ export class EncompassingMetadata {
|
|
18
19
|
tokens: [
|
19
20
|
{
|
20
21
|
chainId: computeChainId,
|
21
|
-
address:
|
22
|
+
address: rewardToken.address,
|
22
23
|
},
|
23
24
|
],
|
24
25
|
mainProtocol: data.mainProtocol ?? undefined,
|
@@ -32,7 +33,7 @@ export class EncompassingMetadata {
|
|
32
33
|
tokens: [
|
33
34
|
{
|
34
35
|
chainId: computeChainId,
|
35
|
-
address:
|
36
|
+
address: rewardToken.address,
|
36
37
|
},
|
37
38
|
],
|
38
39
|
mainProtocol: undefined,
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import type { Erc20LikeCampaignEnum } from "@/engine/implementations/Erc20/subTypes";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
3
|
+
import type { OpportunityAction } from "@db/api";
|
4
|
+
import type { MetadataBuilder } from "../../metadata/interface";
|
5
|
+
type campaignType = Erc20LikeCampaignEnum;
|
6
|
+
export declare class Erc20Metadata implements MetadataBuilder<campaignType> {
|
7
|
+
build(campaign: Omit<CampaignWithParams<campaignType>, "manualOverrides">, opportunityIdentifier: string): Promise<{
|
8
|
+
name: string;
|
9
|
+
action: OpportunityAction;
|
10
|
+
tokens: {
|
11
|
+
chainId: number;
|
12
|
+
address: string;
|
13
|
+
}[];
|
14
|
+
mainProtocol?: import("../../../modules/v4/protocol/protocol.model").ProtocolId;
|
15
|
+
depositUrl?: string;
|
16
|
+
explorerAddress?: string;
|
17
|
+
} | {
|
18
|
+
action: import("@db/api").$Enums.OpportunityAction;
|
19
|
+
name: string;
|
20
|
+
tokens: {
|
21
|
+
chainId: number;
|
22
|
+
address: any;
|
23
|
+
}[];
|
24
|
+
mainProtocol: any;
|
25
|
+
depositUrl: string;
|
26
|
+
explorerAddress: `0x${string}`;
|
27
|
+
}>;
|
28
|
+
}
|
29
|
+
export {};
|
@@ -1,20 +1,33 @@
|
|
1
|
-
import { dynamicDataBuilderFactory } from "@/engine/dynamicData/factory";
|
1
|
+
import { dynamicDataBuilderFactory } from "@/engine/deprecated/dynamicData/factory";
|
2
|
+
import { OpportunityConvertorService } from "@/modules/v4/opportunity/opportunity.converter";
|
2
3
|
import { log } from "@/utils/logger";
|
3
|
-
import { Campaign as CampaignEnum
|
4
|
+
import { Campaign as CampaignEnum } from "@sdk";
|
4
5
|
import { getAddress } from "viem";
|
5
|
-
import { ProtocolService } from "
|
6
|
+
import { ProtocolService } from "../../../modules/v4/protocol/protocol.service";
|
7
|
+
import { detectSubType } from "./subTypes/detect";
|
8
|
+
import { erc20SubTypeMetadataBuilderFactory } from "./subTypes/factories";
|
6
9
|
export class Erc20Metadata {
|
7
|
-
async build(
|
10
|
+
async build(campaign, opportunityIdentifier) {
|
11
|
+
const { params, computeChainId, campaignId, rewardToken, distributionChainId, type } = campaign;
|
12
|
+
const [subType] = await detectSubType(computeChainId, [
|
13
|
+
OpportunityConvertorService.convertV4CampaignToV3(CampaignEnum[type], campaign, opportunityIdentifier),
|
14
|
+
]);
|
15
|
+
log.info(`building metadata for subtype ${subType}`);
|
16
|
+
const builder = erc20SubTypeMetadataBuilderFactory(subType);
|
17
|
+
if (!!builder) {
|
18
|
+
return builder.build(campaign, opportunityIdentifier);
|
19
|
+
}
|
20
|
+
// @deprecated
|
8
21
|
let action = "HOLD";
|
9
22
|
let name = `Hold ${params.symbolTargetToken}`;
|
10
23
|
let mainProtocolId = undefined;
|
11
|
-
|
24
|
+
const depositUrl = params?.url;
|
12
25
|
let tokens = [{ chainId: computeChainId, address: params.targetToken }];
|
13
26
|
try {
|
14
27
|
const [dynamicData] = await dynamicDataBuilderFactory(CampaignEnum.ERC20).build(computeChainId, [
|
15
28
|
{
|
16
29
|
campaignId,
|
17
|
-
rewardToken:
|
30
|
+
rewardToken: rewardToken.address,
|
18
31
|
amount: "1",
|
19
32
|
chainId: distributionChainId,
|
20
33
|
computeChainId,
|
@@ -32,7 +45,6 @@ export class Erc20Metadata {
|
|
32
45
|
if (!!protocol) {
|
33
46
|
mainProtocolId = protocol?.id;
|
34
47
|
}
|
35
|
-
depositUrl = Erc20Metadata.generateUrl(computeChainId, params, dynamicData);
|
36
48
|
}
|
37
49
|
catch {
|
38
50
|
log.warn(`failed to fetch dynamic data for ERC20 campaign ${campaignId}`);
|
@@ -49,11 +61,4 @@ export class Erc20Metadata {
|
|
49
61
|
explorerAddress: getAddress(params.targetToken),
|
50
62
|
};
|
51
63
|
}
|
52
|
-
static generateUrl(_computeChainId, params, dynamicData) {
|
53
|
-
const erc20type = dynamicData.typeInfo?.type;
|
54
|
-
if (erc20type === "gearbox") {
|
55
|
-
return `https://app.gearbox.fi/pools/${params.targetToken}`;
|
56
|
-
}
|
57
|
-
return params.url;
|
58
|
-
}
|
59
64
|
}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { type Erc20LikeCampaignEnum, Erc20SubType } from "@/engine/
|
1
|
+
import { type Erc20LikeCampaignEnum, Erc20SubType } from "@/engine/implementations/Erc20/subTypes";
|
2
2
|
import { type CampaignParameters, type MerklChainId } from "@sdk";
|
3
3
|
/**
|
4
4
|
* @notice Compute the subtypes of the campaigns
|
5
5
|
* @warning
|
6
6
|
* @dev This function should return an array of length campaigns.length
|
7
7
|
*/
|
8
|
-
export declare const
|
8
|
+
export declare const detectSubType: (chainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]) => Promise<Erc20SubType[]>;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import {
|
1
|
+
import { getTypeFromFactoryAddress } from "@/engine/deprecated/erc20SubTypeProcessors/helpers/factoryFinder";
|
2
|
+
import { getTypeFromAddressChain } from "@/engine/deprecated/erc20SubTypeProcessors/helpers/hardcoded";
|
3
|
+
import { getTypeFromOwnerAddress } from "@/engine/deprecated/erc20SubTypeProcessors/helpers/ownerFinder";
|
4
|
+
import { processNamingConditionsInOrder } from "@/engine/deprecated/erc20SubTypeProcessors/subtypesRound1";
|
5
|
+
import { Erc20SubType } from "@/engine/implementations/Erc20/subTypes";
|
6
6
|
import { decodeReturnValue } from "@/utils/decodeCalls";
|
7
7
|
import { BalancerPoolInterface, BalancerV3StablePoolInterface, ChainInteractionService, ERC20Interface, EnzymeInterface, FactoryInterface, LayerBankERC20Interface, MetamorphoInterface, } from "@sdk";
|
8
8
|
/**
|
@@ -10,7 +10,7 @@ import { BalancerPoolInterface, BalancerV3StablePoolInterface, ChainInteractionS
|
|
10
10
|
* @warning
|
11
11
|
* @dev This function should return an array of length campaigns.length
|
12
12
|
*/
|
13
|
-
export const
|
13
|
+
export const detectSubType = async (chainId, campaigns) => {
|
14
14
|
// 1. Do a generic multicall per campaign to see which functions are supported
|
15
15
|
const callsPerCampaign = 7;
|
16
16
|
const calls = [];
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import { Erc20SubType } from ".";
|
3
|
+
import type { TVLBuilder } from "../../../tvl/interface";
|
4
|
+
export declare const erc20SubTypeTVLBuilderFactory: (erc20Subtype: Erc20SubType) => TVLBuilder<any> | null;
|
5
|
+
export declare const erc20SubTypeMetadataBuilderFactory: (erc20Subtype: Erc20SubType) => MetadataBuilder<any> | null;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { Erc20SubType } from ".";
|
2
|
+
import { GearboxMetadata } from "./implementations/gearbox/metadata";
|
3
|
+
import { GearboxTVLBuilder } from "./implementations/gearbox/tvl";
|
4
|
+
/**
|
5
|
+
* @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
|
6
|
+
*
|
7
|
+
* @dev Casts are made to enforce type safety
|
8
|
+
* @dev A type error must be thrown if a new erc20Subtype is added and the corresponding builder is not implemented
|
9
|
+
*/
|
10
|
+
const tvlMap = {
|
11
|
+
[Erc20SubType.gearbox]: new GearboxTVLBuilder(),
|
12
|
+
};
|
13
|
+
export const erc20SubTypeTVLBuilderFactory = (erc20Subtype) => {
|
14
|
+
if (!tvlMap[erc20Subtype]) {
|
15
|
+
return null;
|
16
|
+
}
|
17
|
+
return tvlMap[erc20Subtype];
|
18
|
+
};
|
19
|
+
/**
|
20
|
+
* @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
|
21
|
+
*
|
22
|
+
* @dev Casts are made to enforce type safety
|
23
|
+
* @dev A type error must be thrown if a new erc20Subtype is added and the corresponding builder is not implemented
|
24
|
+
*/
|
25
|
+
const metadataMap = {
|
26
|
+
[Erc20SubType.gearbox]: new GearboxMetadata(),
|
27
|
+
};
|
28
|
+
export const erc20SubTypeMetadataBuilderFactory = (erc20Subtype) => {
|
29
|
+
if (!metadataMap[erc20Subtype]) {
|
30
|
+
return null;
|
31
|
+
}
|
32
|
+
return metadataMap[erc20Subtype];
|
33
|
+
};
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { MetadataBuilder } from "@/engine/metadata/interface";
|
2
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign";
|
3
|
+
import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
4
|
+
import type { Erc20LikeCampaignEnum } from "../..";
|
5
|
+
export declare class GearboxMetadata implements MetadataBuilder<Erc20LikeCampaignEnum> {
|
6
|
+
build(campaign: Omit<CampaignWithParams<Erc20LikeCampaignEnum>, "manualOverrides">): Promise<{
|
7
|
+
action: "LEND";
|
8
|
+
protocol: ProtocolId;
|
9
|
+
name: string;
|
10
|
+
tokens: {
|
11
|
+
chainId: number;
|
12
|
+
address: any;
|
13
|
+
}[];
|
14
|
+
depositUrl: string;
|
15
|
+
explorerAddress: any;
|
16
|
+
}>;
|
17
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { OpportunityAction } from "@db/api";
|
2
|
+
import { ChainInteractionService, GearBoxVault__factory, TokenInteractionService } from "@sdk";
|
3
|
+
export class GearboxMetadata {
|
4
|
+
async build(campaign) {
|
5
|
+
const { params, computeChainId } = campaign;
|
6
|
+
const { targetToken } = params;
|
7
|
+
const underlyingToken = await GearBoxVault__factory.connect(targetToken, ChainInteractionService(computeChainId).provider()).underlyingToken();
|
8
|
+
const underlyingTokenSymbol = await TokenInteractionService(computeChainId).symbol(underlyingToken);
|
9
|
+
return {
|
10
|
+
action: OpportunityAction.LEND,
|
11
|
+
protocol: "gearbox",
|
12
|
+
name: `Gearbox ${underlyingTokenSymbol} Deposit`,
|
13
|
+
tokens: [
|
14
|
+
{ chainId: computeChainId, address: targetToken },
|
15
|
+
{ chainId: computeChainId, address: underlyingToken },
|
16
|
+
],
|
17
|
+
depositUrl: `https://app.gearbox.fi/pools/${params.targetToken}`,
|
18
|
+
explorerAddress: params.targetToken,
|
19
|
+
};
|
20
|
+
}
|
21
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import type { Erc20LikeCampaignEnum } from "@/engine/implementations/Erc20/subTypes";
|
2
|
+
import type { TVLBuilder, TVLData } from "@/engine/tvl/interface";
|
3
|
+
import { type CampaignParameters, type MerklChainId } from "@sdk";
|
4
|
+
export declare class GearboxTVLBuilder implements TVLBuilder<Erc20LikeCampaignEnum> {
|
5
|
+
build(computeChainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]): Promise<TVLData<any>>;
|
6
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { TokenService } from "@/modules/v4/token/token.service";
|
2
|
+
import { TvlType } from "@db/api";
|
3
|
+
import { BN2Number, ChainInteractionService, ERC4626Interface, GearboxVaultInterface, bigIntToNumber, } from "@sdk";
|
4
|
+
export class GearboxTVLBuilder {
|
5
|
+
async build(computeChainId, campaigns) {
|
6
|
+
const tvls = [];
|
7
|
+
const calls = [];
|
8
|
+
for (const campaign of campaigns) {
|
9
|
+
const { targetToken } = campaign.campaignParameters;
|
10
|
+
calls.push({
|
11
|
+
allowFailure: true,
|
12
|
+
callData: GearboxVaultInterface.encodeFunctionData("underlyingToken"),
|
13
|
+
target: targetToken,
|
14
|
+
}, {
|
15
|
+
allowFailure: true,
|
16
|
+
callData: ERC4626Interface.encodeFunctionData("totalAssets"),
|
17
|
+
target: targetToken,
|
18
|
+
});
|
19
|
+
}
|
20
|
+
const result = await ChainInteractionService(computeChainId).fetchState(calls);
|
21
|
+
for (const [index, campaign] of campaigns.entries()) {
|
22
|
+
const underlyingTokenAddress = GearboxVaultInterface.decodeFunctionResult("underlyingToken", result[2 * index].returnData)[0];
|
23
|
+
const totalAssets = ERC4626Interface.decodeFunctionResult("totalAssets", result[2 * index + 1].returnData)[0];
|
24
|
+
const underlyingToken = await TokenService.findUniqueOrThrow({
|
25
|
+
chainId: computeChainId,
|
26
|
+
address: underlyingTokenAddress,
|
27
|
+
});
|
28
|
+
const tvl = (bigIntToNumber(totalAssets, underlyingToken.decimals) ?? 0) * (underlyingToken.price ?? 0);
|
29
|
+
tvls.push({
|
30
|
+
campaign,
|
31
|
+
tvl,
|
32
|
+
tvlBreakdown: [
|
33
|
+
{
|
34
|
+
identifier: underlyingToken.id,
|
35
|
+
type: TvlType.TOKEN,
|
36
|
+
value: BN2Number(totalAssets, underlyingToken.decimals),
|
37
|
+
},
|
38
|
+
],
|
39
|
+
});
|
40
|
+
}
|
41
|
+
return tvls;
|
42
|
+
}
|
43
|
+
}
|
@@ -23,9 +23,11 @@ export declare enum Erc20SubType {
|
|
23
23
|
yei_borrowing = "yei_borrowing",
|
24
24
|
ironclad_borrowing = "ironclad_borrowing",
|
25
25
|
zerolend_borrowing = "zerolend_borrowing",
|
26
|
+
lnd_borrowing = "lnd_borrowing",
|
26
27
|
yei_lending = "yei_lending",
|
27
28
|
ironclad_lending = "ironclad_lending",
|
28
29
|
zerolend_lending = "zerolend_lending",
|
30
|
+
lnd_lending = "lnd_lending",
|
29
31
|
aave_borrowing = "aave_borrowing",
|
30
32
|
aave_lending = "aave_lending",
|
31
33
|
sturdy_aggregator = "sturdy_aggregator",
|
@@ -22,9 +22,11 @@ export var Erc20SubType;
|
|
22
22
|
Erc20SubType["yei_borrowing"] = "yei_borrowing";
|
23
23
|
Erc20SubType["ironclad_borrowing"] = "ironclad_borrowing";
|
24
24
|
Erc20SubType["zerolend_borrowing"] = "zerolend_borrowing";
|
25
|
+
Erc20SubType["lnd_borrowing"] = "lnd_borrowing";
|
25
26
|
Erc20SubType["yei_lending"] = "yei_lending";
|
26
27
|
Erc20SubType["ironclad_lending"] = "ironclad_lending";
|
27
28
|
Erc20SubType["zerolend_lending"] = "zerolend_lending";
|
29
|
+
Erc20SubType["lnd_lending"] = "lnd_lending";
|
28
30
|
Erc20SubType["aave_borrowing"] = "aave_borrowing";
|
29
31
|
Erc20SubType["aave_lending"] = "aave_lending";
|
30
32
|
Erc20SubType["sturdy_aggregator"] = "sturdy_aggregator";
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import type { Erc20LikeCampaignEnum } from "@/engine/implementations/Erc20/subTypes";
|
2
|
+
import type { TVLBuilder, TVLData } from "@/engine/tvl/interface";
|
3
|
+
import { type CampaignParameters, type MerklChainId } from "@sdk";
|
4
|
+
export declare class Erc20TVLBuilder implements TVLBuilder<Erc20LikeCampaignEnum> {
|
5
|
+
build(computeChainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]): Promise<TVLData<any>>;
|
6
|
+
}
|