@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
package/package.json
CHANGED
@@ -1,23 +0,0 @@
|
|
1
|
-
import { Campaign } from "@sdk";
|
2
|
-
import { AjnaCampaignTVLBuilder } from "./implementations/Ajna";
|
3
|
-
import { AmbiantCampaignTVLBuilder } from "./implementations/Ambiant";
|
4
|
-
import { Erc20CampaignTVLBuilder } from "./implementations/Erc20";
|
5
|
-
import { UniswapV4CampaignTVLBuilder } from "./implementations/UniswapV4";
|
6
|
-
/**
|
7
|
-
* @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
|
8
|
-
*
|
9
|
-
* @dev Casts are made to enforce type safety
|
10
|
-
* @dev A type error must be thrown if a new campaign type is added and the corresponding builder is not implemented
|
11
|
-
*/
|
12
|
-
const map = {
|
13
|
-
[Campaign.AJNA]: new AjnaCampaignTVLBuilder(),
|
14
|
-
[Campaign.AMBIENTPROCESSOR]: new AmbiantCampaignTVLBuilder(),
|
15
|
-
[Campaign.UNISWAP_V4]: new UniswapV4CampaignTVLBuilder(),
|
16
|
-
[Campaign.ERC20]: new Erc20CampaignTVLBuilder(),
|
17
|
-
};
|
18
|
-
export const campaignTVLBuilderFactory = (campaignType) => {
|
19
|
-
if (!map[campaignType]) {
|
20
|
-
return null;
|
21
|
-
}
|
22
|
-
return map[campaignType];
|
23
|
-
};
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { type Campaign, type CampaignParameters, type MerklChainId } from "@sdk";
|
2
|
-
import type { CampaignTVLBuilder, TVLData } from "../interface";
|
3
|
-
type campaignType = Campaign.AJNA;
|
4
|
-
export declare class AjnaCampaignTVLBuilder implements CampaignTVLBuilder<campaignType> {
|
5
|
-
build(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<TVLData>;
|
6
|
-
}
|
7
|
-
export {};
|
@@ -1,13 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @dev TYPE SAFETY DISABLED FOR NOW AS WE DON'T HAVE ALL THE CAMPAIGNS IMPLEMENTED
|
3
|
-
*
|
4
|
-
* @dev Casts are made to enforce type safety
|
5
|
-
* @dev A type error must be thrown if a new erc20Subtype is added and the corresponding builder is not implemented
|
6
|
-
*/
|
7
|
-
const map = {};
|
8
|
-
export const erc20SubTypeTVLBuilderFactory = (erc20Subtype) => {
|
9
|
-
if (!map[erc20Subtype]) {
|
10
|
-
return null;
|
11
|
-
}
|
12
|
-
return map[erc20Subtype];
|
13
|
-
};
|
@@ -1,6 +0,0 @@
|
|
1
|
-
import type { CampaignParameters, MerklChainId } from "@sdk";
|
2
|
-
import type { CampaignTVLBuilder, TVLData } from "../../interface";
|
3
|
-
import type { Erc20LikeCampaignEnum } from "./Erc20SubType";
|
4
|
-
export declare class Erc20CampaignTVLBuilder implements CampaignTVLBuilder<Erc20LikeCampaignEnum> {
|
5
|
-
build(chainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]): Promise<TVLData>;
|
6
|
-
}
|
@@ -1,34 +0,0 @@
|
|
1
|
-
import { Erc20DynamicData } from "@/engine/dynamicData/implementations/Erc20";
|
2
|
-
import { computeSubTypes } from "./computeSubTypes";
|
3
|
-
import { erc20SubTypeTVLBuilderFactory } from "./factory";
|
4
|
-
export class Erc20CampaignTVLBuilder {
|
5
|
-
async build(chainId, campaigns) {
|
6
|
-
const subTypes = await computeSubTypes(chainId, campaigns);
|
7
|
-
let tvls = [];
|
8
|
-
const promises = [];
|
9
|
-
const processSubtype = async (subType) => {
|
10
|
-
const builder = erc20SubTypeTVLBuilderFactory(subType);
|
11
|
-
if (!!builder) {
|
12
|
-
tvls = tvls.concat(await builder.build(chainId, campaigns.filter((_campaign, index) => subTypes[index] === subType)));
|
13
|
-
}
|
14
|
-
else {
|
15
|
-
console.log(`building TVLs for subtype ${subType}`);
|
16
|
-
// @deprecated In case we don't have the new builder, use the old erc20 dynamic data
|
17
|
-
const dynamicDataList = await new Erc20DynamicData().build(chainId, campaigns);
|
18
|
-
for (const [index, dynamicData] of dynamicDataList.entries()) {
|
19
|
-
tvls.push({
|
20
|
-
campaign: campaigns[index],
|
21
|
-
tvl: dynamicData.tvl,
|
22
|
-
tvlBreakdown: [],
|
23
|
-
});
|
24
|
-
}
|
25
|
-
}
|
26
|
-
return;
|
27
|
-
};
|
28
|
-
for (const subType of new Set(subTypes)) {
|
29
|
-
promises.push(processSubtype(subType));
|
30
|
-
}
|
31
|
-
await Promise.allSettled(promises);
|
32
|
-
return tvls;
|
33
|
-
}
|
34
|
-
}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { type Campaign, type CampaignParameters, type MerklChainId } from "@sdk";
|
2
|
-
import type { CampaignTVLBuilder, TVLData } from "../interface";
|
3
|
-
type campaignType = Campaign.UNISWAP_V4;
|
4
|
-
export declare class UniswapV4CampaignTVLBuilder implements CampaignTVLBuilder<campaignType> {
|
5
|
-
build(chainId: MerklChainId, campaigns: CampaignParameters<campaignType>[]): Promise<TVLData>;
|
6
|
-
}
|
7
|
-
export {};
|
@@ -1,69 +0,0 @@
|
|
1
|
-
import { TokenService } from "@/modules/v4/token/token.service";
|
2
|
-
import { BN2Number, ChainInteractionService, CompoundV3Interface, CompoundV3SubCampaignType, NULL_ADDRESS, YEAR, } from "@sdk";
|
3
|
-
import { log } from "../../../utils/logger";
|
4
|
-
import { Pricer } from "../../../utils/pricer";
|
5
|
-
export class CompoundV3DynamicData {
|
6
|
-
async build(chainId, campaigns) {
|
7
|
-
const pricer = await Pricer.load();
|
8
|
-
const calls = [];
|
9
|
-
for (const campaign of campaigns) {
|
10
|
-
if (campaign.campaignSubType === CompoundV3SubCampaignType.SUPPLY) {
|
11
|
-
calls.push({
|
12
|
-
allowFailure: true,
|
13
|
-
callData: CompoundV3Interface.encodeFunctionData("totalSupply"),
|
14
|
-
target: campaign.campaignParameters.targetToken,
|
15
|
-
});
|
16
|
-
calls.push({
|
17
|
-
allowFailure: true,
|
18
|
-
callData: CompoundV3Interface.encodeFunctionData("baseToken"),
|
19
|
-
target: campaign.campaignParameters.targetToken,
|
20
|
-
});
|
21
|
-
}
|
22
|
-
}
|
23
|
-
const result = await ChainInteractionService(chainId).fetchState(calls);
|
24
|
-
let i = 0;
|
25
|
-
const dynamicData = [];
|
26
|
-
for (const campaign of campaigns) {
|
27
|
-
let totalSupply;
|
28
|
-
let underlyingToken;
|
29
|
-
if (campaign.campaignSubType === CompoundV3SubCampaignType.SUPPLY) {
|
30
|
-
try {
|
31
|
-
totalSupply = BN2Number(CompoundV3Interface.decodeFunctionResult("totalSupply", result[i++].returnData)[0], campaign.campaignParameters.decimalsTargetToken);
|
32
|
-
underlyingToken = CompoundV3Interface.decodeFunctionResult("baseToken", result[i++].returnData)[0];
|
33
|
-
}
|
34
|
-
catch {
|
35
|
-
log.warn(`Error getting totalSupply for campaign ${campaign.campaignId} and token ${campaign.campaignParameters.targetToken}`);
|
36
|
-
totalSupply = 0.0000001;
|
37
|
-
underlyingToken = NULL_ADDRESS;
|
38
|
-
}
|
39
|
-
}
|
40
|
-
else {
|
41
|
-
totalSupply = 0.0000001;
|
42
|
-
underlyingToken = NULL_ADDRESS;
|
43
|
-
}
|
44
|
-
const priceRewardToken = await TokenService.getRewardTokenPrice(campaign);
|
45
|
-
const priceTargetToken = (await pricer.get({
|
46
|
-
address: underlyingToken,
|
47
|
-
chainId: campaign.computeChainId,
|
48
|
-
// Remove the `c` at the beginning of the symbol and the `v3` at the end
|
49
|
-
symbol: campaign.campaignParameters.symbolTargetToken.slice(1, -2),
|
50
|
-
})) ?? 0;
|
51
|
-
let apr = (priceRewardToken * BN2Number(campaign.amount, campaign.campaignParameters.decimalsRewardToken) * YEAR * 100) /
|
52
|
-
campaign.campaignParameters.duration /
|
53
|
-
(totalSupply * priceTargetToken);
|
54
|
-
const rewardTokens = await TokenService.findManyOrCreate([
|
55
|
-
{ chainId: campaign.chainId, address: campaign.rewardToken },
|
56
|
-
]);
|
57
|
-
const rewardToken = rewardTokens[0];
|
58
|
-
apr = rewardToken.isPoint ? apr / 365 / 100 : apr;
|
59
|
-
dynamicData.push({
|
60
|
-
...campaign,
|
61
|
-
apr,
|
62
|
-
totalSupplyTargetToken: totalSupply,
|
63
|
-
tvl: totalSupply * priceTargetToken,
|
64
|
-
priceRewardToken: priceRewardToken,
|
65
|
-
});
|
66
|
-
}
|
67
|
-
return dynamicData;
|
68
|
-
}
|
69
|
-
}
|
@@ -1,71 +0,0 @@
|
|
1
|
-
import { Campaign } from "@sdk";
|
2
|
-
import { AjnaMetadata } from "./implementations/Ajna";
|
3
|
-
import { AmbientMetadata } from "./implementations/Ambient";
|
4
|
-
import { BadgerMetadata } from "./implementations/Badger";
|
5
|
-
import { ClammMetadata } from "./implementations/Clamm";
|
6
|
-
import { CompoundMetadata } from "./implementations/Compound";
|
7
|
-
import { CompoundV3Metadata } from "./implementations/CompoundV3";
|
8
|
-
import { DefaultMetadata } from "./implementations/Default";
|
9
|
-
import { DolomiteMetadata } from "./implementations/Dolomite";
|
10
|
-
import { ERC721Metadata } from "./implementations/ERC721";
|
11
|
-
import { ERCMultiTokenMetadata } from "./implementations/ERCMultiToken";
|
12
|
-
import { EigenLayerMetadata } from "./implementations/EigenLayer";
|
13
|
-
import { EncompassingMetadata } from "./implementations/Encompassing";
|
14
|
-
import { Erc20Metadata } from "./implementations/Erc20";
|
15
|
-
import { EulerMetadata } from "./implementations/Euler";
|
16
|
-
import { EventBasedMetadata } from "./implementations/EventBased";
|
17
|
-
import { HyperdriveMetadata } from "./implementations/Hyperdrive";
|
18
|
-
import { InvalidMetadata } from "./implementations/Invalid";
|
19
|
-
import { IonMetadata } from "./implementations/Ion";
|
20
|
-
import { JsonAirdropMetadata } from "./implementations/JsonAirdrop";
|
21
|
-
import { MorphoMetadata } from "./implementations/Morpho";
|
22
|
-
import { RadiantMetadata } from "./implementations/Radiant";
|
23
|
-
import { SiloMetadata } from "./implementations/Silo";
|
24
|
-
import { UniswapV4Metadata } from "./implementations/UniswapV4";
|
25
|
-
import { VestMetadata } from "./implementations/Vest";
|
26
|
-
/**
|
27
|
-
* @dev Casts are made to enforce type safety
|
28
|
-
* @dev A type error must be thrown if a new campaign type is added and the corresponding builder is not implemented
|
29
|
-
*/
|
30
|
-
const map = {
|
31
|
-
[Campaign.INVALID]: new InvalidMetadata(),
|
32
|
-
[Campaign.ERC20]: new Erc20Metadata(),
|
33
|
-
[Campaign.CLAMM]: new ClammMetadata(),
|
34
|
-
[Campaign.ERC20_SNAPSHOT]: new Erc20Metadata(),
|
35
|
-
[Campaign.JSON_AIRDROP]: new JsonAirdropMetadata(),
|
36
|
-
[Campaign.SILO]: new SiloMetadata(),
|
37
|
-
[Campaign.RADIANT]: new RadiantMetadata(),
|
38
|
-
[Campaign.DOLOMITE]: new DolomiteMetadata(),
|
39
|
-
[Campaign.BADGER]: new BadgerMetadata(),
|
40
|
-
[Campaign.AJNA]: new AjnaMetadata(),
|
41
|
-
[Campaign.EULER]: new EulerMetadata(),
|
42
|
-
[Campaign.COMPOUND]: new CompoundMetadata(),
|
43
|
-
[Campaign.COMPOUND_V3]: new CompoundV3Metadata(),
|
44
|
-
[Campaign.COMPOUND_V3_FIXAPR]: new CompoundV3Metadata(),
|
45
|
-
[Campaign.ION]: new IonMetadata(),
|
46
|
-
[Campaign.MORPHO]: new MorphoMetadata(),
|
47
|
-
[Campaign.HYPERDRIVELOGFIXPROCESSOR]: new HyperdriveMetadata(),
|
48
|
-
[Campaign.HYPERDRIVELOGPROCESSOR]: new HyperdriveMetadata(),
|
49
|
-
[Campaign.ERC20_FIX_APR]: new Erc20Metadata(),
|
50
|
-
[Campaign.UNISWAP_V4]: new UniswapV4Metadata(),
|
51
|
-
[Campaign.EIGENLAYER]: new EigenLayerMetadata(),
|
52
|
-
[Campaign.VEST]: new VestMetadata(),
|
53
|
-
[Campaign.ERC20LOGPROCESSOR]: new Erc20Metadata(),
|
54
|
-
[Campaign.ERC20REBASELOGPROCESSOR]: new Erc20Metadata(),
|
55
|
-
[Campaign.ERC20TRANSFERS]: new DefaultMetadata(), // TODO
|
56
|
-
[Campaign.M0]: new DefaultMetadata(), // TODO
|
57
|
-
[Campaign.MORPHOSUPPLY]: new DefaultMetadata(), // TODO
|
58
|
-
[Campaign.SYNCSWAP_VAULT]: new DefaultMetadata(), // TODO
|
59
|
-
[Campaign.AMBIENTPROCESSOR]: new AmbientMetadata(),
|
60
|
-
[Campaign.ENCOMPASSING]: new EncompassingMetadata(),
|
61
|
-
[Campaign.EVENT_BASED]: new EventBasedMetadata(),
|
62
|
-
[Campaign.ERC20REBASEFIXAPR]: new Erc20Metadata(),
|
63
|
-
[Campaign.MAVERICK_BP]: new DefaultMetadata(), // TODO
|
64
|
-
[Campaign.ERC6909]: new ERCMultiTokenMetadata(),
|
65
|
-
[Campaign.ERC6909FIXAPR]: new ERCMultiTokenMetadata(),
|
66
|
-
[Campaign.ERC1155]: new ERCMultiTokenMetadata(),
|
67
|
-
[Campaign.ERC1155FIXAPR]: new ERCMultiTokenMetadata(),
|
68
|
-
[Campaign.ERC721]: new ERC721Metadata(),
|
69
|
-
[Campaign.ERC721FIXAPR]: new ERC721Metadata(),
|
70
|
-
};
|
71
|
-
export const metadataBuilderFactory = (campaignType) => map[campaignType];
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import type { Campaign as CampaignEnum } from "@sdk";
|
2
|
-
import type { CampaignParameters, ChainId } from "@sdk";
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
|
-
type campaignType = CampaignEnum;
|
5
|
-
export declare class DefaultMetadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(_computeChainId: ChainId, _params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string): Promise<{
|
7
|
-
action: "HOLD";
|
8
|
-
name: string;
|
9
|
-
tokens: never[];
|
10
|
-
explorerAddress: string;
|
11
|
-
}>;
|
12
|
-
}
|
13
|
-
export {};
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
|
2
|
-
import type { MetadataBuilder } from "../interface";
|
3
|
-
type campaignType = CampaignEnum.ERC721 | CampaignEnum.ERC721FIXAPR;
|
4
|
-
export declare class ERC721Metadata implements MetadataBuilder<campaignType> {
|
5
|
-
build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): Promise<{
|
6
|
-
action: "HOLD";
|
7
|
-
name: string;
|
8
|
-
tokens: {
|
9
|
-
chainId: ChainId;
|
10
|
-
address: any;
|
11
|
-
}[];
|
12
|
-
mainProtocol: undefined;
|
13
|
-
depositUrl: undefined;
|
14
|
-
}>;
|
15
|
-
}
|
16
|
-
export {};
|
@@ -1,28 +0,0 @@
|
|
1
|
-
import type { ProtocolId } from "@/modules/v4/protocol/protocol.model";
|
2
|
-
import { type Campaign as CampaignEnum, type CampaignParameters, type ChainId } from "@sdk";
|
3
|
-
import type { MetadataBuilder } from "../interface";
|
4
|
-
type campaignType = CampaignEnum.ERC1155 | CampaignEnum.ERC1155FIXAPR | CampaignEnum.ERC6909 | CampaignEnum.ERC6909FIXAPR;
|
5
|
-
export declare class ERCMultiTokenMetadata implements MetadataBuilder<campaignType> {
|
6
|
-
build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): Promise<{
|
7
|
-
action: "HOLD";
|
8
|
-
name: string;
|
9
|
-
tokens: {
|
10
|
-
chainId: ChainId;
|
11
|
-
address: CampaignParameters<any>;
|
12
|
-
}[];
|
13
|
-
explorerAddress: CampaignParameters<any>;
|
14
|
-
mainProtocol: ProtocolId;
|
15
|
-
depositUrl: string;
|
16
|
-
} | {
|
17
|
-
action: "HOLD";
|
18
|
-
name: string;
|
19
|
-
tokens: {
|
20
|
-
chainId: ChainId;
|
21
|
-
address: CampaignParameters<any>;
|
22
|
-
}[];
|
23
|
-
explorerAddress: CampaignParameters<any>;
|
24
|
-
mainProtocol: undefined;
|
25
|
-
depositUrl: undefined;
|
26
|
-
}>;
|
27
|
-
}
|
28
|
-
export {};
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
|
2
|
-
import type { MetadataBuilder } from "../interface";
|
3
|
-
type campaignType = CampaignEnum.ENCOMPASSING;
|
4
|
-
export declare class EncompassingMetadata implements MetadataBuilder<campaignType> {
|
5
|
-
build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string): Promise<{
|
6
|
-
action: "DROP";
|
7
|
-
name: any;
|
8
|
-
tokens: {
|
9
|
-
chainId: ChainId;
|
10
|
-
address: string;
|
11
|
-
}[];
|
12
|
-
mainProtocol: any;
|
13
|
-
}>;
|
14
|
-
}
|
15
|
-
export {};
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { type CampaignDynamicData, Campaign as CampaignEnum, type CampaignParameters, type ChainId } from "@sdk";
|
2
|
-
import type { MetadataBuilder } from "../../interface";
|
3
|
-
type campaignType = CampaignEnum.ERC20;
|
4
|
-
export declare class Erc20Metadata implements MetadataBuilder<campaignType> {
|
5
|
-
build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], rewardTokenAddress: string, distributionChainId: ChainId, campaignId: string): Promise<{
|
6
|
-
action: import("@db/api").$Enums.OpportunityAction;
|
7
|
-
name: string;
|
8
|
-
tokens: {
|
9
|
-
chainId: ChainId;
|
10
|
-
address: any;
|
11
|
-
}[];
|
12
|
-
mainProtocol: any;
|
13
|
-
depositUrl: any;
|
14
|
-
explorerAddress: `0x${string}`;
|
15
|
-
}>;
|
16
|
-
static generateUrl(_computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], dynamicData: CampaignDynamicData<campaignType>): any;
|
17
|
-
}
|
18
|
-
export {};
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
|
2
|
-
import type { MetadataBuilder } from "../interface";
|
3
|
-
type campaignType = CampaignEnum.ERC20_SNAPSHOT;
|
4
|
-
export declare class Erc20SnapshotMetadata implements MetadataBuilder<campaignType> {
|
5
|
-
build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): Promise<{
|
6
|
-
name: string;
|
7
|
-
action: "DROP";
|
8
|
-
tokens: {
|
9
|
-
chainId: ChainId;
|
10
|
-
address: any;
|
11
|
-
}[];
|
12
|
-
}>;
|
13
|
-
}
|
14
|
-
export {};
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import type { Campaign as CampaignEnum, CampaignParameters, ChainId } from "@sdk";
|
2
|
-
import type { MetadataBuilder } from "../interface";
|
3
|
-
type campaignType = CampaignEnum.JSON_AIRDROP;
|
4
|
-
export declare class JsonAirdropMetadata implements MetadataBuilder<campaignType> {
|
5
|
-
build(computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"], _subType: CampaignParameters<campaignType>["campaignSubType"], _rewardTokenAddress: string, _distributionChainId: ChainId, _campaignId: string, creator: string): Promise<{
|
6
|
-
action: "DROP";
|
7
|
-
name: string;
|
8
|
-
tokens: {
|
9
|
-
chainId: ChainId;
|
10
|
-
address: string;
|
11
|
-
}[];
|
12
|
-
mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "uniswap" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
|
13
|
-
depositUrl?: undefined;
|
14
|
-
} | {
|
15
|
-
action: "DROP";
|
16
|
-
name: string;
|
17
|
-
tokens: never[];
|
18
|
-
mainProtocol: "splice" | "morpho" | "quickswap" | "euler" | "ambient" | "aura" | "poolside" | "gearbox" | "filament" | "fluid" | "compound" | "ionic" | "layerbank" | "moonwell" | "fraxlend" | "fenix" | "ra" | "syncswap" | "beefy" | "aerodrome" | "velodrome" | "curve" | "toros" | "akron" | "enzyme" | "dragonswap" | "koi" | "rfx" | "woofi" | "pendle" | "zkSwapThreePool" | "maha" | "tempest" | "holdstation" | "venus" | "reactor_fusion" | "vicuna" | "curveNPool" | "satlayer" | "veda" | "cian" | "concrete" | "hourglass" | "katana" | "gamma" | "uniswap" | "arthswap" | "base-swap" | "camelot" | "crust" | "horiza" | "izumi" | "kim" | "pancake-swap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "zero" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "balancer" | "cross_curve" | "neptune" | "maverick" | "trader-joe" | "hanji" | "radiant" | "aave" | "ironclad" | "sturdy" | "frax" | "silo" | "dolomite" | "badger" | "ajna" | "ion" | "eigenlayer" | "vest" | "zerolend" | "hyperdrive" | "oku" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "angles" | "bunni" | "beratrax" | "yei" | "gammaswap" | "uranium" | undefined;
|
19
|
-
depositUrl: any;
|
20
|
-
}>;
|
21
|
-
static generateUrl(_computeChainId: ChainId, params: CampaignParameters<campaignType>["campaignParameters"]): any;
|
22
|
-
}
|
23
|
-
export {};
|
@@ -1,58 +0,0 @@
|
|
1
|
-
import { Campaign, type CampaignDynamicData, type ChainId, type Opportunity, type OpportunityId } from "@sdk";
|
2
|
-
import type { PerChain } from "../types/utils";
|
3
|
-
export declare const activeCampaign: <C extends ValidCampaign>(v: CampaignDynamicData<C>) => boolean;
|
4
|
-
export declare const inactiveCampaign: <C extends ValidCampaign>(v: CampaignDynamicData<C>) => boolean;
|
5
|
-
export declare const removeTestTokens: <C extends ValidCampaign>(v: CampaignDynamicData<C>) => boolean;
|
6
|
-
export type ValidCampaign = Exclude<Campaign, Campaign.INVALID>;
|
7
|
-
export type Campaigns = {
|
8
|
-
[type_mainParameter: string]: {
|
9
|
-
[campaignId: string]: CampaignDynamicData<Campaign>;
|
10
|
-
};
|
11
|
-
};
|
12
|
-
export declare function getCampaignsFor(chainIds: ChainId[], filters?: {
|
13
|
-
onlyLive: boolean;
|
14
|
-
types?: number[];
|
15
|
-
}): Promise<Campaigns>;
|
16
|
-
/**
|
17
|
-
* @returns all opportunityIds in the campaign data
|
18
|
-
*/
|
19
|
-
export declare function extractIds(campaigns: PerChain<Campaigns>): OpportunityId<ChainId>[];
|
20
|
-
/**
|
21
|
-
* @returns the daily price of all rewards from the campaign array
|
22
|
-
*/
|
23
|
-
export declare function getDailyRewards<C extends ValidCampaign>(campaigns: CampaignDynamicData<C>[], prices: {
|
24
|
-
[token: string]: number;
|
25
|
-
}): number;
|
26
|
-
/**
|
27
|
-
* @returns the status of an opportunity based on its campaigns
|
28
|
-
*/
|
29
|
-
export declare function getStatus<C extends ValidCampaign>(campaigns: CampaignDynamicData<C>[]): Opportunity["status"];
|
30
|
-
/**
|
31
|
-
* @returns the sum of the APRs from a campaigns array
|
32
|
-
*/
|
33
|
-
export declare function getApr<C extends Exclude<ValidCampaign, Campaign.ERC20_SNAPSHOT | Campaign.JSON_AIRDROP>>(campaigns: CampaignDynamicData<C>[]): number;
|
34
|
-
/**
|
35
|
-
* @returns the sum of the all tags
|
36
|
-
*/
|
37
|
-
export declare function getTags(campaigns: CampaignDynamicData<ValidCampaign>[]): string[] | undefined;
|
38
|
-
/**
|
39
|
-
* @returns all the reward token symbols from a compaign array
|
40
|
-
*/
|
41
|
-
export declare function getRewardTokenIcons(campaigns: CampaignDynamicData<ValidCampaign>[]): string[];
|
42
|
-
/**
|
43
|
-
* @returns the daily reward token symbols from a compaign array
|
44
|
-
*/
|
45
|
-
export declare function getRewardTokens(campaigns: CampaignDynamicData<ValidCampaign>[]): {
|
46
|
-
symbol: string;
|
47
|
-
address: string;
|
48
|
-
amount: string;
|
49
|
-
}[];
|
50
|
-
/**
|
51
|
-
* @returns campaigns that match the opportunityIds
|
52
|
-
*/
|
53
|
-
export declare function splitCampaigns(campaigns: PerChain<Campaigns>, ids: OpportunityId<ChainId>[], showTest?: boolean): {
|
54
|
-
id: OpportunityId<ChainId>;
|
55
|
-
all: CampaignDynamicData<ValidCampaign>[];
|
56
|
-
active: CampaignDynamicData<ValidCampaign>[];
|
57
|
-
inactive: CampaignDynamicData<ValidCampaign>[];
|
58
|
-
}[];
|
@@ -1,136 +0,0 @@
|
|
1
|
-
import { Redis } from "@/cache";
|
2
|
-
import { Campaign, Int256 } from "@sdk";
|
3
|
-
import moment from "moment";
|
4
|
-
export const activeCampaign = (v) => v.startTimestamp < moment().unix() && v.endTimestamp > moment().unix();
|
5
|
-
export const inactiveCampaign = (v) => v.startTimestamp > moment().unix() || v.endTimestamp < moment().unix();
|
6
|
-
export const removeTestTokens = (v) => !["aglamerkl", "test"].includes(v.campaignParameters.symbolRewardToken?.toLowerCase());
|
7
|
-
export async function getCampaignsFor(chainIds, filters = { onlyLive: false }) {
|
8
|
-
const cachePrefix = filters?.onlyLive ? "LiveCampaigns" : "Campaigns";
|
9
|
-
const cacheKeys = chainIds.map(chain => `${cachePrefix}_${chain}`);
|
10
|
-
return (await Redis.findMany(cacheKeys)).reduce((prev, allData, index) => {
|
11
|
-
if (!!allData) {
|
12
|
-
const chain = chainIds[index];
|
13
|
-
prev[chain] = Object.keys(allData).reduce((acc, curr) => {
|
14
|
-
const [type, mainParameter] = curr.split("_");
|
15
|
-
const campaignType = Number.parseInt(type);
|
16
|
-
if (!filters?.types?.length || filters?.types?.includes(campaignType)) {
|
17
|
-
acc[`${campaignType}_${mainParameter}`] = allData[curr];
|
18
|
-
}
|
19
|
-
return acc;
|
20
|
-
}, {});
|
21
|
-
}
|
22
|
-
return prev;
|
23
|
-
}, {});
|
24
|
-
}
|
25
|
-
/**
|
26
|
-
* @returns all opportunityIds in the campaign data
|
27
|
-
*/
|
28
|
-
export function extractIds(campaigns) {
|
29
|
-
const chains = Object.keys(campaigns).map(n => Number.parseInt(n));
|
30
|
-
return chains.flatMap(chainId => Object.keys(campaigns[chainId] ?? {})?.map(opportunityId => `${chainId}_${opportunityId}`));
|
31
|
-
}
|
32
|
-
/**
|
33
|
-
* @returns the daily price of all rewards from the campaign array
|
34
|
-
*/
|
35
|
-
export function getDailyRewards(campaigns, prices) {
|
36
|
-
const rewardPrices = campaigns
|
37
|
-
.map(({ campaignParameters: c, amount, endTimestamp, startTimestamp, campaignType }) => {
|
38
|
-
const isSporadic = [Campaign.ERC20_SNAPSHOT, Campaign.JSON_AIRDROP].includes(campaignType);
|
39
|
-
const timespan = Math.abs(endTimestamp - startTimestamp);
|
40
|
-
let dayspan = isSporadic ? 1 : Math.floor(timespan / (60 * 60 * 24));
|
41
|
-
if (dayspan === 0)
|
42
|
-
dayspan = 1; // If distribution periode < 1 day -> avoid division by 0
|
43
|
-
return [c.symbolRewardToken, Int256.from(amount, c.decimalsRewardToken).div(dayspan)];
|
44
|
-
})
|
45
|
-
.map(([symbol, amount]) => {
|
46
|
-
return Math.max(prices?.[symbol] ?? 0, 0) * (amount?.toNumber() ?? 0);
|
47
|
-
});
|
48
|
-
return rewardPrices?.length > 0 ? rewardPrices.reduce((a, b) => a + b) : 0;
|
49
|
-
}
|
50
|
-
/**
|
51
|
-
* @returns the status of an opportunity based on its campaigns
|
52
|
-
*/
|
53
|
-
export function getStatus(campaigns) {
|
54
|
-
const active = campaigns?.filter(activeCampaign);
|
55
|
-
const inactive = campaigns?.filter(inactiveCampaign);
|
56
|
-
if (active?.length)
|
57
|
-
return "live";
|
58
|
-
if (inactive?.some(v => v.startTimestamp > moment().unix()))
|
59
|
-
return "soon";
|
60
|
-
return "past";
|
61
|
-
}
|
62
|
-
/**
|
63
|
-
* @returns the sum of the APRs from a campaigns array
|
64
|
-
*/
|
65
|
-
export function getApr(campaigns) {
|
66
|
-
return campaigns.reduce((res, campaign) => res + (campaign.apr ?? 0), 0);
|
67
|
-
}
|
68
|
-
/**
|
69
|
-
* @returns the sum of the all tags
|
70
|
-
*/
|
71
|
-
export function getTags(campaigns) {
|
72
|
-
const tags = Array.from(campaigns.reduce((res, campaign) => {
|
73
|
-
campaign.tags?.forEach(tag => {
|
74
|
-
res.add(tag);
|
75
|
-
});
|
76
|
-
return res;
|
77
|
-
}, new Set()));
|
78
|
-
return tags.length === 0 ? undefined : tags;
|
79
|
-
}
|
80
|
-
/**
|
81
|
-
* @returns all the reward token symbols from a compaign array
|
82
|
-
*/
|
83
|
-
export function getRewardTokenIcons(campaigns) {
|
84
|
-
const rewardTokens = new Set();
|
85
|
-
campaigns.forEach(({ rewardToken }) => rewardTokens.add(rewardToken));
|
86
|
-
return Array.from(rewardTokens);
|
87
|
-
}
|
88
|
-
/**
|
89
|
-
* @returns the daily reward token symbols from a compaign array
|
90
|
-
*/
|
91
|
-
export function getRewardTokens(campaigns) {
|
92
|
-
const rewardTokens = {};
|
93
|
-
campaigns.forEach(({ amount, rewardToken, campaignParameters: { symbolRewardToken: symbol }, ...c }) => {
|
94
|
-
const timespan = Math.abs(c.endTimestamp - c.startTimestamp);
|
95
|
-
const isWithinTimespan = moment().unix() > c.startTimestamp && moment().unix() < c.endTimestamp;
|
96
|
-
const dayspan = Math.max(Math.floor(timespan / (60 * 60 * 24)), 1);
|
97
|
-
const dailyAmount = isWithinTimespan ? BigInt(amount) / BigInt(dayspan) : 0n;
|
98
|
-
if (!rewardTokens[symbol])
|
99
|
-
rewardTokens[symbol] = { amount: dailyAmount, address: rewardToken };
|
100
|
-
else
|
101
|
-
rewardTokens[symbol].amount += dailyAmount;
|
102
|
-
});
|
103
|
-
return Object.entries(rewardTokens).map(([symbol, { amount, address }]) => ({
|
104
|
-
symbol,
|
105
|
-
address,
|
106
|
-
amount: amount.toString(),
|
107
|
-
}));
|
108
|
-
}
|
109
|
-
/**
|
110
|
-
* @returns campaigns that match the opportunityIds
|
111
|
-
*/
|
112
|
-
export function splitCampaigns(campaigns, ids, showTest) {
|
113
|
-
if (!campaigns || !ids?.length)
|
114
|
-
return [];
|
115
|
-
const campaignAt = (id) => {
|
116
|
-
const [chainId, type, mainParameter] = id.split("_");
|
117
|
-
return (campaigns?.[chainId]?.[`${type}_${mainParameter}`] ??
|
118
|
-
Object.entries(campaigns[chainId] ?? {}).find(([t_m]) => t_m?.toLowerCase() === id?.toLowerCase())?.[1]);
|
119
|
-
};
|
120
|
-
return ids
|
121
|
-
.filter(id => campaignAt(id) !== undefined)
|
122
|
-
.map(id => {
|
123
|
-
let all = Object.values(campaignAt(id) ?? {});
|
124
|
-
if (!showTest)
|
125
|
-
all = all.filter(removeTestTokens);
|
126
|
-
const active = all?.filter(activeCampaign);
|
127
|
-
const inactive = all?.filter(inactiveCampaign);
|
128
|
-
return {
|
129
|
-
id,
|
130
|
-
all,
|
131
|
-
active,
|
132
|
-
inactive,
|
133
|
-
};
|
134
|
-
})
|
135
|
-
.filter(opportunity => opportunity?.all?.length);
|
136
|
-
}
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import Elysia from "elysia";
|
2
|
-
export declare const DynamicDataController: Elysia<"/dynamic-data", false, {
|
3
|
-
decorator: {};
|
4
|
-
store: {};
|
5
|
-
derive: {};
|
6
|
-
resolve: {};
|
7
|
-
}, {
|
8
|
-
type: {};
|
9
|
-
error: {};
|
10
|
-
}, {
|
11
|
-
schema: {};
|
12
|
-
macro: {};
|
13
|
-
macroFn: {};
|
14
|
-
}, {
|
15
|
-
"dynamic-data": {
|
16
|
-
index: {
|
17
|
-
get: {
|
18
|
-
body: unknown;
|
19
|
-
params: {};
|
20
|
-
query: {
|
21
|
-
decimals?: number | undefined;
|
22
|
-
chainId: number;
|
23
|
-
tokenAddress: string;
|
24
|
-
rewardTokenAddress: string;
|
25
|
-
symbolRewardToken: string;
|
26
|
-
};
|
27
|
-
headers: {
|
28
|
-
authorization: string;
|
29
|
-
};
|
30
|
-
response: {
|
31
|
-
200: {
|
32
|
-
tvl: number;
|
33
|
-
totalSupply: number;
|
34
|
-
cardName: string;
|
35
|
-
blacklistedSupply: number;
|
36
|
-
priceTargetToken: number;
|
37
|
-
type: string;
|
38
|
-
};
|
39
|
-
};
|
40
|
-
};
|
41
|
-
};
|
42
|
-
};
|
43
|
-
}, {
|
44
|
-
derive: {};
|
45
|
-
resolve: {};
|
46
|
-
schema: {};
|
47
|
-
}, {
|
48
|
-
derive: {};
|
49
|
-
resolve: {};
|
50
|
-
schema: {};
|
51
|
-
}>;
|