@merkl/api 0.21.47 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cache/index.d.ts +1 -1
- package/dist/src/constants.d.ts +8 -8
- package/dist/src/eden/index.d.ts +16937 -8167
- package/dist/src/eden/index.js +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Ajna.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Badger.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Clamm.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Compound.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Dolomite.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.d.ts +2 -2
- package/dist/src/engine/deprecated/dynamicData/implementations/ERCMultiToken.d.ts +2 -2
- package/dist/src/engine/deprecated/dynamicData/implementations/EigenLayer.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Encompassing.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.d.ts +105 -3
- package/dist/src/engine/deprecated/dynamicData/implementations/Erc20Snapshot.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Hyperdrive.d.ts +2 -2
- package/dist/src/engine/deprecated/dynamicData/implementations/Morpho.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Radiant.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Silo.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/UniswapV4.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/Vest.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/implementations/default.d.ts +2 -2
- package/dist/src/engine/deprecated/dynamicData/utils/fetchA51Strategies.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/utils/fetchClamInfo.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/utils/fetchLogs.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/utils/getCompV2ForksVaults.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/utils/getDolomiteMarkets.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/utils/getEulerV2Vaults.d.ts +1 -1
- package/dist/src/engine/deprecated/dynamicData/utils/getFixedApr.d.ts +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/GenericProcessor.d.ts +6 -6
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/factoryFinder.d.ts +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/hardcoded.d.ts +2 -2
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/ownerFinder.d.ts +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/treasuryFinder.d.ts +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AaveProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AnglesLiquid.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AssetProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AuraProcessor.d.ts +4 -4
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BEXRewardGaugeProcessor.d.ts +4 -4
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BalancerGaugeProcessor.d.ts +4 -4
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BalancerPoolProcessor.d.ts +4 -4
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BalancerV3PoolProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BeefyProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BunniV2Processor.d.ts +4 -4
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/CompoundProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/ERC4626Processor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EnzymeProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EqualizerGaugeProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EulerBorrowProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EulerLendProcessor.d.ts +2 -2
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/FluidProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/FraxProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/GammaALMProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/GammaProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/GearboxProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/HanjiVaultProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/HoldStationProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/HourglassProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/MaverickBPProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/MetamorphoProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/NoLinkVaultProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/PendleProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/PendleYTProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/RadiantProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/RfxProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/Satlayer.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SpectraProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SpectraYTProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SpliceProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/StabilityProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SturdySiloProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/TempestVaultProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/TemplateProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/TorosProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/UniswapProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/VicunaProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/WoofiProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/ZkSwapThreePoolProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/curveNPoolProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/curveProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/processorMapping.d.ts +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/stakedCurveProcessor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/xU308Processor.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesPrices.d.ts +3 -3
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound1.d.ts +1 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound2.d.ts +2 -2
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound3.d.ts +2 -2
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound4.d.ts +2 -2
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/tokenTypeStruct.d.ts +2 -2
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/tokenTypeToProtocolAndAction.d.ts +3 -3
- package/dist/src/engine/implementations/Ajna/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Ajna/tvl.d.ts +2 -2
- package/dist/src/engine/implementations/Ambient/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Ambient/tvl.d.ts +2 -2
- package/dist/src/engine/implementations/Badger/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/Clamm/metadata.d.ts +22 -22
- package/dist/src/engine/implementations/Compound/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/CompoundV3/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/Default/metadata.d.ts +3 -3
- package/dist/src/engine/implementations/Dolomite/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/EigenLayer/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/EigenLayer/tvl.d.ts +2 -2
- package/dist/src/engine/implementations/Encompassing/metadata.d.ts +3 -3
- package/dist/src/engine/implementations/Erc20/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/detect.d.ts +2 -2
- package/dist/src/engine/implementations/Erc20/subTypes/factories.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/aave/metadata.d.ts +6 -6
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/aave/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/euler/metadata.d.ts +6 -6
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/euler/tvl.d.ts +2 -2
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/hypurrfiIsolatedMarket/metadata.d.ts +6 -6
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/hypurrfiIsolatedMarket/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/lendleVaults/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/lendleVaults/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/metamorpho/metadata.d.ts +17 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/metamorpho/tvl.d.ts +6 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/pino/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/pino/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmaxVault/metadata.d.ts +18 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmaxVault/tvl.d.ts +6 -0
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/uniswapV2/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/uniswapV2/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20/subTypes/index.d.ts +3 -2
- package/dist/src/engine/implementations/Erc20/tvl.d.ts +4 -4
- package/dist/src/engine/implementations/Erc20Snapshot/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/Erc721/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/ErcMultiToken/metadata.d.ts +6 -6
- package/dist/src/engine/implementations/EventBased/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/FraxLend/metadataBorrow.d.ts +24 -0
- package/dist/src/engine/implementations/FraxLend/metadataCollateral.d.ts +18 -0
- package/dist/src/engine/implementations/FraxLend/tvlBorrow.d.ts +7 -0
- package/dist/src/engine/implementations/FraxLend/tvlCollateral.d.ts +7 -0
- package/dist/src/engine/implementations/Hyperdrive/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Invalid/metadata.d.ts +2 -2
- package/dist/src/engine/implementations/Ion/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +7 -7
- package/dist/src/engine/implementations/Locker/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/Locker/tvl.d.ts +2 -2
- package/dist/src/engine/implementations/Morpho/metadata.d.ts +7 -7
- package/dist/src/engine/implementations/MultiLog/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/MultiLog/tvl.d.ts +3 -3
- package/dist/src/engine/implementations/Radiant/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/Silo/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/UniswapV4/metadata.d.ts +5 -5
- package/dist/src/engine/implementations/UniswapV4/tvl.d.ts +2 -2
- package/dist/src/engine/implementations/Vest/metadata.d.ts +4 -4
- package/dist/src/engine/implementations/morphoBorrow/metadata.d.ts +20 -0
- package/dist/src/engine/implementations/morphoBorrow/tvl.d.ts +7 -0
- package/dist/src/engine/implementations/morphoCollateral/metadata.d.ts +20 -0
- package/dist/src/engine/implementations/morphoCollateral/tvl.d.ts +7 -0
- package/dist/src/engine/implementations/morphoSupply/metadata.d.ts +20 -0
- package/dist/src/engine/implementations/morphoSupply/tvl.d.ts +7 -0
- package/dist/src/engine/metadata/factory.d.ts +1 -1
- package/dist/src/engine/tvl/factory.d.ts +2 -2
- package/dist/src/engine/tvl/logStates.d.ts +1 -1
- package/dist/src/hooks/checkQueryAddressValidity.d.ts +6 -2
- package/dist/src/hooks/checkQueryChainIdValidity.d.ts +6 -2
- package/dist/src/index.d.ts +5548 -2626
- package/dist/src/jobs/{dynamic-data.d.ts → update-v3-caches.d.ts} +4 -1
- package/dist/src/libs/computeFee.d.ts +1 -1
- package/dist/src/libs/deprecated-merklv3/index.d.ts +3 -3
- package/dist/src/libs/merklChainData.d.ts +1 -1
- package/dist/src/libs/parse/marketsWithCache.d.ts +1 -1
- package/dist/src/libs/positions/EigenLayer/index.d.ts +2 -2
- package/dist/src/libs/positions/ajna/index.d.ts +2 -2
- package/dist/src/libs/positions/badger/index.d.ts +2 -2
- package/dist/src/libs/positions/clamm/index.d.ts +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.d.ts +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.d.ts +1 -1
- package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.d.ts +1 -1
- package/dist/src/libs/positions/compound/index.d.ts +2 -2
- package/dist/src/libs/positions/dolomite/index.d.ts +2 -2
- package/dist/src/libs/positions/erc20/index.d.ts +2 -2
- package/dist/src/libs/positions/euler/index.d.ts +2 -2
- package/dist/src/libs/positions/index.d.ts +1 -1
- package/dist/src/libs/positions/morpho/index.d.ts +2 -2
- package/dist/src/libs/positions/prepareFetch.d.ts +1 -1
- package/dist/src/libs/positions/silo/index.d.ts +2 -2
- package/dist/src/libs/positions/types.d.ts +1 -1
- package/dist/src/libs/staticCampaigns.d.ts +1 -1
- package/dist/src/libs/tokens/balances.d.ts +1 -1
- package/dist/src/libs/tokens/tokenInfo.d.ts +1 -1
- package/dist/src/modules/v4/accounting/accounting.controller.d.ts +98 -33
- package/dist/src/modules/v4/accounting/accounting.repository.d.ts +41 -41
- package/dist/src/modules/v4/accounting/accounting.service.d.ts +7 -7
- package/dist/src/modules/v4/apr/apr.model.d.ts +8 -8
- package/dist/src/modules/v4/apr/apr.service.d.ts +1 -1
- package/dist/src/modules/v4/authentication/authentication.controller.d.ts +24 -2
- package/dist/src/modules/v4/blacklist/blacklist.controller.d.ts +64 -37
- package/dist/src/modules/v4/blacklist/blacklist.repository.d.ts +4 -4
- package/dist/src/modules/v4/blacklist/blacklist.service.d.ts +5 -5
- package/dist/src/modules/v4/boost/boost.controller.d.ts +25 -3
- package/dist/src/modules/v4/cache/cache.repository.d.ts +1 -1
- package/dist/src/modules/v4/cache/cache.service.d.ts +1 -1
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +665 -504
- package/dist/src/modules/v4/campaign/campaign.model.d.ts +30 -9
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +191 -191
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +415 -319
- package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +352 -282
- package/dist/src/modules/v4/chain/chain.controller.d.ts +91 -47
- package/dist/src/modules/v4/chain/chain.model.d.ts +11 -3
- package/dist/src/modules/v4/chain/chain.repository.d.ts +10 -10
- package/dist/src/modules/v4/chain/chain.service.d.ts +10 -10
- package/dist/src/modules/v4/chainInteraction/chainInteraction.service.d.ts +1 -1
- package/dist/src/modules/v4/claims/claims.controller.d.ts +15 -2
- package/dist/src/modules/v4/claims/claims.repository.d.ts +1 -1
- package/dist/src/modules/v4/claims/claims.service.d.ts +3 -3
- package/dist/src/modules/v4/computedValue/computedValue.controller.d.ts +47 -7
- package/dist/src/modules/v4/computedValue/computedValue.repository.d.ts +2 -2
- package/dist/src/modules/v4/computedValue/computedValue.service.d.ts +2 -2
- package/dist/src/modules/v4/creator/creator.controller.d.ts +160 -88
- package/dist/src/modules/v4/creator/creator.model.d.ts +1 -1
- package/dist/src/modules/v4/creator/creator.repository.d.ts +20 -20
- package/dist/src/modules/v4/creator/creator.service.d.ts +47 -47
- package/dist/src/modules/v4/dynamicData/dynamicData.model.d.ts +1 -1
- package/dist/src/modules/v4/dynamicData/dynamicData.service.d.ts +1 -1
- package/dist/src/modules/v4/enso/enso.service.d.ts +17 -17
- package/dist/src/modules/v4/explorer/explorer.controller.d.ts +19 -6
- package/dist/src/modules/v4/explorer/explorer.model.d.ts +2 -2
- package/dist/src/modules/v4/explorer/explorer.repository.d.ts +5 -5
- package/dist/src/modules/v4/explorer/explorer.service.d.ts +7 -7
- package/dist/src/modules/v4/interaction/interaction.controller.d.ts +39 -8
- package/dist/src/modules/v4/interaction/interaction.model.d.ts +1 -1
- package/dist/src/modules/v4/interaction/interaction.service.d.ts +2 -2
- package/dist/src/modules/v4/kyberzap/kyberzap.service.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/implementations/AjnaPositionFetcher.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/implementations/BadgerPositionFetcher.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/implementations/ClammPositionFetcher.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/implementations/DolomitePositionFetcher.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/implementations/ERC20PositionFetcher.d.ts +3 -3
- package/dist/src/modules/v4/liquidity/implementations/EulerPositionFetcher.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/liquidity.controller.d.ts +24 -13
- package/dist/src/modules/v4/liquidity/liquidity.model.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/liquidity.repository.d.ts +1 -1
- package/dist/src/modules/v4/merklRoot/merklRoot.controller.d.ts +42 -22
- package/dist/src/modules/v4/merklRoot/merklRoot.repository.d.ts +7 -7
- package/dist/src/modules/v4/merklRoot/merklRoot.service.d.ts +18 -8
- package/dist/src/modules/v4/nodes/node.controller.d.ts +65 -0
- package/dist/src/modules/v4/nodes/node.model.d.ts +21 -0
- package/dist/src/modules/v4/nodes/node.repository.d.ts +21 -0
- package/dist/src/modules/v4/nodes/node.service.d.ts +21 -0
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +743 -644
- package/dist/src/modules/v4/opportunity/opportunity.converter.d.ts +111 -5
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +116 -81
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +408 -408
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +489 -459
- package/dist/src/modules/v4/parse/parse.controller.d.ts +64 -0
- package/dist/src/modules/v4/parse/parse.model.d.ts +10 -0
- package/dist/src/modules/v4/payload/payload.controller.d.ts +125 -0
- package/dist/src/modules/v4/payload/payload.model.d.ts +307 -0
- package/dist/src/modules/v4/payload/payload.service.d.ts +27 -0
- package/dist/src/modules/v4/price/price.controller.d.ts +93 -50
- package/dist/src/modules/v4/price/price.model.d.ts +16 -16
- package/dist/src/modules/v4/price/price.repository.d.ts +11 -11
- package/dist/src/modules/v4/price/price.service.d.ts +9 -9
- package/dist/src/modules/v4/prisma/index.d.ts +1 -1
- package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +939 -146
- package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +12 -14
- package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +450 -362
- package/dist/src/modules/v4/programPayload/programPayload.service.d.ts +40 -19
- package/dist/src/modules/v4/protocol/protocol.controller.d.ts +117 -67
- package/dist/src/modules/v4/protocol/protocol.model.d.ts +2 -2
- package/dist/src/modules/v4/protocol/protocol.repository.d.ts +29 -29
- package/dist/src/modules/v4/protocol/protocol.service.d.ts +9 -6
- package/dist/src/modules/v4/referral/referral.controller.d.ts +29 -7
- package/dist/src/modules/v4/referral/referral.service.d.ts +8 -8
- package/dist/src/modules/v4/reward/reward.controller.d.ts +261 -93
- package/dist/src/modules/v4/reward/reward.converter.d.ts +1 -1
- package/dist/src/modules/v4/reward/reward.model.d.ts +3 -3
- package/dist/src/modules/v4/reward/reward.repository.d.ts +55 -54
- package/dist/src/modules/v4/reward/reward.service.d.ts +260 -260
- package/dist/src/modules/v4/router.d.ts +4706 -2394
- package/dist/src/modules/v4/status/status.controller.d.ts +127 -64
- package/dist/src/modules/v4/status/status.model.d.ts +10 -10
- package/dist/src/modules/v4/status/status.repository.d.ts +35 -35
- package/dist/src/modules/v4/status/status.service.d.ts +23 -23
- package/dist/src/modules/v4/token/token.controller.d.ts +224 -130
- package/dist/src/modules/v4/token/token.model.d.ts +1 -1
- package/dist/src/modules/v4/token/token.repository.d.ts +41 -37
- package/dist/src/modules/v4/token/token.service.d.ts +106 -101
- package/dist/src/modules/v4/turtle/turtle.controller.d.ts +15 -2
- package/dist/src/modules/v4/tvl/tvl.model.d.ts +5 -5
- package/dist/src/modules/v4/tvl/tvl.service.d.ts +1 -1
- package/dist/src/modules/v4/uniswap/uniswap.controller.d.ts +248 -11
- package/dist/src/modules/v4/uniswap/uniswap.model.d.ts +3 -3
- package/dist/src/modules/v4/uniswap/uniswap.repository.d.ts +4 -4
- package/dist/src/modules/v4/uniswap/uniswap.service.d.ts +3 -3
- package/dist/src/modules/v4/user/user.controller.d.ts +175 -164
- package/dist/src/modules/v4/user/user.model.d.ts +10 -1
- package/dist/src/modules/v4/user/user.repository.d.ts +7 -7
- package/dist/src/modules/v4/user/user.service.d.ts +7 -7
- package/dist/src/plugins/error-handling.plugin.d.ts +7 -3
- package/dist/src/routes/v1/allowances.d.ts +18 -5
- package/dist/src/routes/v1/balances.d.ts +16 -3
- package/dist/src/routes/v1/prices.d.ts +15 -2
- package/dist/src/routes/v1/router.d.ts +44 -4
- package/dist/src/routes/v1/tokens.d.ts +15 -2
- package/dist/src/routes/v2/merkl.d.ts +41 -4
- package/dist/src/routes/v2/router.d.ts +41 -4
- package/dist/src/routes/v3/app.d.ts +15 -2
- package/dist/src/routes/v3/blacklist.d.ts +15 -2
- package/dist/src/routes/v3/campaign/delay.d.ts +27 -16
- package/dist/src/routes/v3/campaignClaims.d.ts +15 -2
- package/dist/src/routes/v3/campaignUnclaimed.d.ts +15 -2
- package/dist/src/routes/v3/campaigns.d.ts +17 -4
- package/dist/src/routes/v3/campaignsForMainParameter.d.ts +15 -2
- package/dist/src/routes/v3/campaignsRewardsReport.d.ts +15 -2
- package/dist/src/routes/v3/claims.d.ts +15 -2
- package/dist/src/routes/v3/compoundV2.d.ts +15 -2
- package/dist/src/routes/v3/createCampaign.d.ts +16 -3
- package/dist/src/routes/v3/dolomite.d.ts +15 -2
- package/dist/src/routes/v3/euler.d.ts +43 -14
- package/dist/src/routes/v3/fetch.d.ts +15 -2
- package/dist/src/routes/v3/health.d.ts +15 -2
- package/dist/src/routes/v3/lostyield.d.ts +15 -2
- package/dist/src/routes/v3/merkl.d.ts +34 -6
- package/dist/src/routes/v3/morphoMarkets.d.ts +15 -2
- package/dist/src/routes/v3/morphoVaults.d.ts +15 -2
- package/dist/src/routes/v3/multiChainPositions.d.ts +15 -2
- package/dist/src/routes/v3/opportunity.d.ts +72 -6
- package/dist/src/routes/v3/overview.d.ts +15 -2
- package/dist/src/routes/v3/parse.d.ts +15 -2
- package/dist/src/routes/v3/payload.d.ts +19 -6
- package/dist/src/routes/v3/poolInfo.d.ts +18 -5
- package/dist/src/routes/v3/positions.d.ts +15 -2
- package/dist/src/routes/v3/radiant.d.ts +15 -2
- package/dist/src/routes/v3/recipients.d.ts +15 -2
- package/dist/src/routes/v3/rewards.d.ts +18 -5
- package/dist/src/routes/v3/rewardsReport.d.ts +16 -3
- package/dist/src/routes/v3/router.d.ts +608 -55
- package/dist/src/routes/v3/silo.d.ts +15 -2
- package/dist/src/routes/v3/token.d.ts +16 -3
- package/dist/src/routes/v3/twt/participants.d.ts +24 -13
- package/dist/src/routes/v3/uniswapv4.d.ts +192 -19
- package/dist/src/routes/v3/updates.d.ts +15 -2
- package/dist/src/routes/v3/userRewards.d.ts +18 -5
- package/dist/src/utils/decodeCalls.d.ts +1 -1
- package/dist/src/utils/encodeCalls.d.ts +2 -2
- package/dist/src/utils/error.d.ts +8 -4
- package/dist/src/utils/generateCardName.d.ts +2 -2
- package/dist/src/utils/generic.d.ts +2 -2
- package/dist/src/utils/lastBlockBefore.d.ts +1 -1
- package/dist/src/utils/logger.d.ts +0 -8
- package/dist/src/utils/pricer.d.ts +1 -1
- package/dist/src/utils/prices/chainlinkRead.d.ts +1 -1
- package/dist/src/utils/prices/curveVirtualPrice.d.ts +1 -1
- package/dist/src/utils/prices/getDQUICK.d.ts +1 -1
- package/dist/src/utils/prices/priceFetcherFactory.d.ts +1 -1
- package/dist/src/utils/prices/services/OnChainCallService.d.ts +1 -1
- package/dist/src/utils/prices/services/coinGeckoService.d.ts +1 -1
- package/dist/src/utils/prices/services/defillamaService.d.ts +1 -1
- package/dist/src/utils/prices/services/dexScreenerService.d.ts +1 -1
- package/dist/src/utils/prices/services/erc4626Service.d.ts +1 -1
- package/dist/src/utils/prices/services/getERC4626.d.ts +1 -1
- package/dist/src/utils/prices/services/indexCoopService.d.ts +1 -1
- package/dist/src/utils/prices/services/priceFetcher.d.ts +1 -1
- package/dist/src/utils/prices/uniV2Price.d.ts +1 -1
- package/dist/src/utils/providers.d.ts +113 -2
- package/dist/src/utils/queries/allCampaigns.d.ts +1 -2
- package/dist/src/utils/sanitizeChain.d.ts +2 -2
- package/dist/src/utils/stryke.d.ts +1 -1
- package/dist/src/utils/throw.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +28 -48
- package/dist/database/api/.generated/default.d.ts +0 -1
- package/dist/database/api/.generated/default.js +0 -1
- package/dist/database/api/.generated/drizzle/schema.d.ts +0 -3342
- package/dist/database/api/.generated/drizzle/schema.js +0 -928
- package/dist/database/api/.generated/drizzle/schema.ts +0 -989
- package/dist/database/api/.generated/edge.d.ts +0 -1
- package/dist/database/api/.generated/edge.js +0 -725
- package/dist/database/api/.generated/index-browser.js +0 -696
- package/dist/database/api/.generated/index.d.ts +0 -48645
- package/dist/database/api/.generated/index.js +0 -758
- package/dist/database/api/.generated/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
- package/dist/database/api/.generated/libquery_engine-linux-arm64-openssl-1.1.x.so.node +0 -0
- package/dist/database/api/.generated/libquery_engine-linux-arm64-openssl-3.0.x.so.node +0 -0
- package/dist/database/api/.generated/libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node +0 -0
- package/dist/database/api/.generated/package.json +0 -97
- package/dist/database/api/.generated/runtime/edge-esm.js +0 -31
- package/dist/database/api/.generated/runtime/edge.js +0 -31
- package/dist/database/api/.generated/runtime/index-browser.d.ts +0 -365
- package/dist/database/api/.generated/runtime/index-browser.js +0 -13
- package/dist/database/api/.generated/runtime/library.d.ts +0 -3447
- package/dist/database/api/.generated/runtime/library.js +0 -143
- package/dist/database/api/.generated/runtime/react-native.js +0 -80
- package/dist/database/api/.generated/runtime/wasm.js +0 -32
- package/dist/database/api/.generated/schema.prisma +0 -482
- package/dist/database/api/.generated/wasm.d.ts +0 -1
- package/dist/database/api/.generated/wasm.js +0 -696
- package/dist/database/engine/.generated/default.d.ts +0 -1
- package/dist/database/engine/.generated/default.js +0 -1
- package/dist/database/engine/.generated/edge.d.ts +0 -1
- package/dist/database/engine/.generated/edge.js +0 -485
- package/dist/database/engine/.generated/index-browser.js +0 -456
- package/dist/database/engine/.generated/index.d.ts +0 -22107
- package/dist/database/engine/.generated/index.js +0 -518
- package/dist/database/engine/.generated/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
- package/dist/database/engine/.generated/libquery_engine-linux-arm64-openssl-1.1.x.so.node +0 -0
- package/dist/database/engine/.generated/libquery_engine-linux-arm64-openssl-3.0.x.so.node +0 -0
- package/dist/database/engine/.generated/libquery_engine-linux-musl-arm64-openssl-3.0.x.so.node +0 -0
- package/dist/database/engine/.generated/package.json +0 -97
- package/dist/database/engine/.generated/runtime/edge-esm.js +0 -31
- package/dist/database/engine/.generated/runtime/edge.js +0 -31
- package/dist/database/engine/.generated/runtime/index-browser.d.ts +0 -365
- package/dist/database/engine/.generated/runtime/index-browser.js +0 -13
- package/dist/database/engine/.generated/runtime/library.d.ts +0 -3447
- package/dist/database/engine/.generated/runtime/library.js +0 -143
- package/dist/database/engine/.generated/runtime/react-native.js +0 -80
- package/dist/database/engine/.generated/runtime/wasm.js +0 -32
- package/dist/database/engine/.generated/schema.prisma +0 -248
- package/dist/database/engine/.generated/wasm.d.ts +0 -1
- package/dist/database/engine/.generated/wasm.js +0 -456
- package/dist/database/index.d.ts +0 -29
- package/dist/database/index.js +0 -17
- package/dist/src/cache/declaration.js +0 -121
- package/dist/src/cache/index.js +0 -161
- package/dist/src/cache/redis.js +0 -57
- package/dist/src/constants.js +0 -93
- package/dist/src/engine/deprecated/dynamicData/implementations/Ajna.js +0 -107
- package/dist/src/engine/deprecated/dynamicData/implementations/Badger.js +0 -90
- package/dist/src/engine/deprecated/dynamicData/implementations/Clamm.js +0 -975
- package/dist/src/engine/deprecated/dynamicData/implementations/Compound.js +0 -139
- package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.js +0 -101
- package/dist/src/engine/deprecated/dynamicData/implementations/Dolomite.js +0 -59
- package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.js +0 -87
- package/dist/src/engine/deprecated/dynamicData/implementations/ERCMultiToken.js +0 -161
- package/dist/src/engine/deprecated/dynamicData/implementations/EigenLayer.js +0 -67
- package/dist/src/engine/deprecated/dynamicData/implementations/Encompassing.js +0 -26
- package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.js +0 -162
- package/dist/src/engine/deprecated/dynamicData/implementations/Erc20Snapshot.js +0 -32
- package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.js +0 -129
- package/dist/src/engine/deprecated/dynamicData/implementations/Hyperdrive.js +0 -112
- package/dist/src/engine/deprecated/dynamicData/implementations/Morpho.js +0 -132
- package/dist/src/engine/deprecated/dynamicData/implementations/Radiant.js +0 -123
- package/dist/src/engine/deprecated/dynamicData/implementations/Silo.js +0 -112
- package/dist/src/engine/deprecated/dynamicData/implementations/UniswapV4.js +0 -255
- package/dist/src/engine/deprecated/dynamicData/implementations/Vest.js +0 -61
- package/dist/src/engine/deprecated/dynamicData/implementations/default.js +0 -5
- package/dist/src/engine/deprecated/dynamicData/utils/fetchA51Strategies.js +0 -44
- package/dist/src/engine/deprecated/dynamicData/utils/fetchClamInfo.js +0 -27
- package/dist/src/engine/deprecated/dynamicData/utils/fetchLogs.js +0 -149
- package/dist/src/engine/deprecated/dynamicData/utils/getCompV2ForksVaults.js +0 -141
- package/dist/src/engine/deprecated/dynamicData/utils/getContractCreationBlock.js +0 -44
- package/dist/src/engine/deprecated/dynamicData/utils/getDolomiteMarkets.js +0 -53
- package/dist/src/engine/deprecated/dynamicData/utils/getEulerV2Vaults.js +0 -266
- package/dist/src/engine/deprecated/dynamicData/utils/getFixedApr.js +0 -27
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/GenericProcessor.js +0 -335
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/eulerVaultNames.js +0 -13
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/factoryFinder.js +0 -47
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/getBlacklistedSupply.js +0 -22
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/getCrossCurveTokenPrice.js +0 -13
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/hardcoded.js +0 -30
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/metamorphoTvl.d.ts +0 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/metamorphoTvl.js +0 -35
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/ownerFinder.js +0 -16
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/spliceTVL.js +0 -23
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/helpers/treasuryFinder.js +0 -10
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AaveProcessor.js +0 -26
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AnglesLiquid.js +0 -51
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AssetProcessor.js +0 -48
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/AuraProcessor.js +0 -113
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BEXRewardGaugeProcessor.js +0 -111
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BalancerGaugeProcessor.js +0 -86
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BalancerPoolProcessor.js +0 -101
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BalancerV3PoolProcessor.js +0 -81
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BeefyProcessor.js +0 -54
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/BunniV2Processor.js +0 -91
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/CompoundProcessor.js +0 -37
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/ERC4626Processor.js +0 -37
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EnzymeProcessor.js +0 -52
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EqualizerGaugeProcessor.js +0 -54
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EulerBorrowProcessor.js +0 -51
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EulerLendProcessor.js +0 -58
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/FluidProcessor.js +0 -37
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/FraxProcessor.js +0 -42
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/GammaALMProcessor.js +0 -52
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/GammaProcessor.js +0 -67
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/GearboxProcessor.js +0 -58
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/HanjiVaultProcessor.js +0 -63
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/HoldStationProcessor.js +0 -35
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/HourglassProcessor.js +0 -35
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/MaverickBPProcessor.js +0 -78
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/MetamorphoProcessor.js +0 -48
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/NoLinkVaultProcessor.js +0 -82
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/PendleProcessor.js +0 -30
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/PendleYTProcessor.js +0 -30
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/RadiantProcessor.js +0 -59
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/RfxProcessor.js +0 -71
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/Satlayer.js +0 -28
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SpectraProcessor.js +0 -42
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SpectraYTProcessor.js +0 -40
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SpliceProcessor.js +0 -37
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/StabilityProcessor.js +0 -30
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/SturdySiloProcessor.js +0 -38
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/TempestVaultProcessor.js +0 -83
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/TemplateProcessor.js +0 -40
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/TorosProcessor.js +0 -34
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/UniswapProcessor.js +0 -72
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/VicunaProcessor.js +0 -36
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/WoofiProcessor.js +0 -41
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/ZkSwapThreePoolProcessor.js +0 -60
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/curveNPoolProcessor.js +0 -102
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/curveProcessor.js +0 -85
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/processorMapping.js +0 -159
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/stakedCurveProcessor.js +0 -88
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/xU308Processor.js +0 -42
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesPrices.js +0 -28
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound1.js +0 -353
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound2.js +0 -22
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound3.js +0 -22
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound4.js +0 -22
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/tokenTypeStruct.js +0 -1
- package/dist/src/engine/deprecated/erc20SubTypeProcessors/tokenTypeToProtocolAndAction.js +0 -155
- package/dist/src/engine/implementations/Ajna/metadata.js +0 -59
- package/dist/src/engine/implementations/Ajna/tvl.js +0 -91
- package/dist/src/engine/implementations/Ambient/metadata.js +0 -36
- package/dist/src/engine/implementations/Ambient/tvl.js +0 -178
- package/dist/src/engine/implementations/Badger/metadata.js +0 -31
- package/dist/src/engine/implementations/Clamm/metadata.js +0 -176
- package/dist/src/engine/implementations/Compound/metadata.js +0 -23
- package/dist/src/engine/implementations/CompoundV3/metadata.js +0 -23
- package/dist/src/engine/implementations/Default/metadata.js +0 -12
- package/dist/src/engine/implementations/Dolomite/metadata.js +0 -20
- package/dist/src/engine/implementations/EigenLayer/metadata.js +0 -12
- package/dist/src/engine/implementations/EigenLayer/tvl.js +0 -60
- package/dist/src/engine/implementations/Encompassing/metadata.js +0 -43
- package/dist/src/engine/implementations/Erc20/metadata.js +0 -64
- package/dist/src/engine/implementations/Erc20/subTypes/detect.js +0 -170
- package/dist/src/engine/implementations/Erc20/subTypes/factories.js +0 -69
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/aave/metadata.js +0 -46
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/aave/tvl.js +0 -51
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/euler/metadata.js +0 -35
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/euler/tvl.js +0 -59
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.js +0 -21
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.js +0 -46
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/hypurrfiIsolatedMarket/metadata.js +0 -40
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/hypurrfiIsolatedMarket/tvl.js +0 -57
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/lendleVaults/metadata.js +0 -20
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/lendleVaults/tvl.js +0 -52
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/pino/metadata.js +0 -38
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/pino/tvl.js +0 -83
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/metadata.js +0 -24
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/termmax/tvl.js +0 -69
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/uniswapV2/metadata.js +0 -65
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/uniswapV2/tvl.js +0 -94
- package/dist/src/engine/implementations/Erc20/subTypes/index.js +0 -119
- package/dist/src/engine/implementations/Erc20/tvl.js +0 -99
- package/dist/src/engine/implementations/Erc20Snapshot/metadata.js +0 -11
- package/dist/src/engine/implementations/Erc721/metadata.js +0 -13
- package/dist/src/engine/implementations/ErcMultiToken/metadata.js +0 -63
- package/dist/src/engine/implementations/EventBased/metadata.js +0 -181
- package/dist/src/engine/implementations/Hyperdrive/metadata.js +0 -29
- package/dist/src/engine/implementations/Invalid/metadata.js +0 -10
- package/dist/src/engine/implementations/Ion/metadata.js +0 -16
- package/dist/src/engine/implementations/JsonAirdrop/metadata.js +0 -43
- package/dist/src/engine/implementations/Locker/metadata.js +0 -36
- package/dist/src/engine/implementations/Locker/tvl.js +0 -26
- package/dist/src/engine/implementations/Morpho/metadata.js +0 -63
- package/dist/src/engine/implementations/MultiLog/metadata.js +0 -36
- package/dist/src/engine/implementations/MultiLog/tvl.js +0 -59
- package/dist/src/engine/implementations/Radiant/metadata.js +0 -33
- package/dist/src/engine/implementations/Silo/metadata.js +0 -20
- package/dist/src/engine/implementations/UniswapV4/metadata.js +0 -36
- package/dist/src/engine/implementations/UniswapV4/tvl.js +0 -158
- package/dist/src/engine/implementations/Vest/metadata.js +0 -13
- package/dist/src/engine/metadata/factory.js +0 -76
- package/dist/src/engine/tvl/factory.js +0 -87
- package/dist/src/engine/tvl/logStates.js +0 -106
- package/dist/src/errors/BadRequest.error.js +0 -7
- package/dist/src/errors/Conflict.error.js +0 -7
- package/dist/src/errors/HttpError.js +0 -17
- package/dist/src/errors/InvalidParameter.error.js +0 -7
- package/dist/src/errors/NotFound.error.js +0 -12
- package/dist/src/errors/Opportunity.error.js +0 -11
- package/dist/src/errors/UnableToFindPrice.error.js +0 -7
- package/dist/src/errors/Unauthorized.error.js +0 -7
- package/dist/src/errors/VoidString.error.js +0 -7
- package/dist/src/errors/index.js +0 -6
- package/dist/src/guards/BackOffice.guard.js +0 -10
- package/dist/src/guards/Engine.guard.js +0 -9
- package/dist/src/guards/TokenAuth.guard.js +0 -10
- package/dist/src/guards/VerifyJwt.guard.js +0 -13
- package/dist/src/hooks/checkQueryAddressValidity.js +0 -7
- package/dist/src/hooks/checkQueryChainIdValidity.js +0 -7
- package/dist/src/index.js +0 -113
- package/dist/src/jobs/dynamic-data.js +0 -159
- package/dist/src/jobs/pendings.js +0 -238
- package/dist/src/jobs/prices.js +0 -10
- package/dist/src/jobs/reward-breakdowns.js +0 -163
- package/dist/src/jobs/rewards.js +0 -112
- package/dist/src/jobs/set-dungeon-keeper.js +0 -90
- package/dist/src/jobs/update-analytics.js +0 -548
- package/dist/src/jobs/update-dynamic-data.js +0 -57
- package/dist/src/jobs/update-euler-vaults.js +0 -18
- package/dist/src/jobs/update-rpc-calls-cache.js +0 -30
- package/dist/src/jobs/update-uniswap-v4-pools.js +0 -15
- package/dist/src/libs/computeFee.js +0 -34
- package/dist/src/libs/deprecated-merklv3/index.js +0 -183
- package/dist/src/libs/getTokensList.js +0 -19
- package/dist/src/libs/merklChainData.js +0 -116
- package/dist/src/libs/parse/marketsWithCache.js +0 -8
- package/dist/src/libs/positions/EigenLayer/index.js +0 -54
- package/dist/src/libs/positions/ajna/index.js +0 -107
- package/dist/src/libs/positions/badger/index.js +0 -80
- package/dist/src/libs/positions/clamm/index.js +0 -412
- package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js +0 -36
- package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js +0 -36
- package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js +0 -42
- package/dist/src/libs/positions/clamm/thegraph/index.js +0 -163
- package/dist/src/libs/positions/compound/index.js +0 -91
- package/dist/src/libs/positions/dolomite/index.js +0 -51
- package/dist/src/libs/positions/erc20/index.js +0 -55
- package/dist/src/libs/positions/euler/index.js +0 -56
- package/dist/src/libs/positions/index.js +0 -56
- package/dist/src/libs/positions/morpho/index.js +0 -177
- package/dist/src/libs/positions/prepareFetch.js +0 -392
- package/dist/src/libs/positions/silo/index.js +0 -68
- package/dist/src/libs/positions/types.js +0 -1
- package/dist/src/libs/staticCampaigns.js +0 -15
- package/dist/src/libs/tokens/allowances.js +0 -18
- package/dist/src/libs/tokens/balances.js +0 -128
- package/dist/src/libs/tokens/tokenInfo.js +0 -22
- package/dist/src/modules/v4/accounting/accounting.controller.js +0 -61
- package/dist/src/modules/v4/accounting/accounting.model.js +0 -32
- package/dist/src/modules/v4/accounting/accounting.repository.js +0 -154
- package/dist/src/modules/v4/accounting/accounting.service.js +0 -107
- package/dist/src/modules/v4/airflow/airflow.service.js +0 -20
- package/dist/src/modules/v4/apr/apr.model.js +0 -13
- package/dist/src/modules/v4/apr/apr.service.js +0 -52
- package/dist/src/modules/v4/authentication/authentication.controller.js +0 -23
- package/dist/src/modules/v4/authentication/authentication.model.js +0 -6
- package/dist/src/modules/v4/authentication/authentication.service.js +0 -31
- package/dist/src/modules/v4/blacklist/blacklist.controller.js +0 -42
- package/dist/src/modules/v4/blacklist/blacklist.model.js +0 -13
- package/dist/src/modules/v4/blacklist/blacklist.repository.js +0 -50
- package/dist/src/modules/v4/blacklist/blacklist.service.js +0 -31
- package/dist/src/modules/v4/boost/boost.controller.js +0 -15
- package/dist/src/modules/v4/boost/boost.model.js +0 -14
- package/dist/src/modules/v4/boost/boost.service.js +0 -20
- package/dist/src/modules/v4/bucket/bucket.model.js +0 -85
- package/dist/src/modules/v4/bucket/bucket.service.js +0 -178
- package/dist/src/modules/v4/cache/cache.model.js +0 -14
- package/dist/src/modules/v4/cache/cache.repository.js +0 -22
- package/dist/src/modules/v4/cache/cache.service.js +0 -59
- package/dist/src/modules/v4/campaign/campaign.controller.js +0 -174
- package/dist/src/modules/v4/campaign/campaign.model.js +0 -140
- package/dist/src/modules/v4/campaign/campaign.repository.js +0 -535
- package/dist/src/modules/v4/campaign/campaign.service.js +0 -455
- package/dist/src/modules/v4/campaign/campaign.test.controller.js +0 -127
- package/dist/src/modules/v4/chain/chain.controller.js +0 -44
- package/dist/src/modules/v4/chain/chain.model.js +0 -36
- package/dist/src/modules/v4/chain/chain.repository.js +0 -79
- package/dist/src/modules/v4/chain/chain.service.js +0 -55
- package/dist/src/modules/v4/chainInteraction/chainInteraction.service.js +0 -4
- package/dist/src/modules/v4/claims/claims.controller.js +0 -19
- package/dist/src/modules/v4/claims/claims.model.js +0 -1
- package/dist/src/modules/v4/claims/claims.repository.js +0 -39
- package/dist/src/modules/v4/claims/claims.service.js +0 -40
- package/dist/src/modules/v4/coingecko/coingecko.model.js +0 -1
- package/dist/src/modules/v4/coingecko/coingecko.repository.js +0 -9
- package/dist/src/modules/v4/coingecko/coingecko.service.js +0 -65
- package/dist/src/modules/v4/computedValue/computedValue.controller.js +0 -46
- package/dist/src/modules/v4/computedValue/computedValue.model.js +0 -30
- package/dist/src/modules/v4/computedValue/computedValue.repository.js +0 -48
- package/dist/src/modules/v4/computedValue/computedValue.service.js +0 -23
- package/dist/src/modules/v4/creator/creator.controller.js +0 -43
- package/dist/src/modules/v4/creator/creator.model.js +0 -42
- package/dist/src/modules/v4/creator/creator.repository.js +0 -69
- package/dist/src/modules/v4/creator/creator.service.js +0 -92
- package/dist/src/modules/v4/dynamicData/dynamicData.model.js +0 -56
- package/dist/src/modules/v4/dynamicData/dynamicData.service.js +0 -263
- package/dist/src/modules/v4/enso/enso.model.js +0 -147
- package/dist/src/modules/v4/enso/enso.service.js +0 -116
- package/dist/src/modules/v4/explorer/explorer.controller.js +0 -13
- package/dist/src/modules/v4/explorer/explorer.model.js +0 -8
- package/dist/src/modules/v4/explorer/explorer.repository.js +0 -23
- package/dist/src/modules/v4/explorer/explorer.service.js +0 -24
- package/dist/src/modules/v4/icon/icon.model.js +0 -1
- package/dist/src/modules/v4/icon/icon.service.js +0 -16
- package/dist/src/modules/v4/interaction/interaction.controller.js +0 -45
- package/dist/src/modules/v4/interaction/interaction.model.js +0 -25
- package/dist/src/modules/v4/interaction/interaction.service.js +0 -95
- package/dist/src/modules/v4/kyberzap/kyberzap.model.js +0 -83
- package/dist/src/modules/v4/kyberzap/kyberzap.service.js +0 -176
- package/dist/src/modules/v4/liquidity/implementations/AjnaPositionFetcher.js +0 -90
- package/dist/src/modules/v4/liquidity/implementations/BadgerPositionFetcher.js +0 -69
- package/dist/src/modules/v4/liquidity/implementations/ClammPositionFetcher.js +0 -61
- package/dist/src/modules/v4/liquidity/implementations/DolomitePositionFetcher.js +0 -45
- package/dist/src/modules/v4/liquidity/implementations/ERC20PositionFetcher.js +0 -47
- package/dist/src/modules/v4/liquidity/implementations/EulerPositionFetcher.js +0 -40
- package/dist/src/modules/v4/liquidity/liquidity.controller.js +0 -16
- package/dist/src/modules/v4/liquidity/liquidity.model.js +0 -5
- package/dist/src/modules/v4/liquidity/liquidity.repository.js +0 -6
- package/dist/src/modules/v4/liquidity/liquidity.service.js +0 -34
- package/dist/src/modules/v4/merklRoot/merklRoot.controller.js +0 -31
- package/dist/src/modules/v4/merklRoot/merklRoot.model.js +0 -12
- package/dist/src/modules/v4/merklRoot/merklRoot.repository.js +0 -56
- package/dist/src/modules/v4/merklRoot/merklRoot.service.js +0 -48
- package/dist/src/modules/v4/opportunity/opportunity.controller.js +0 -189
- package/dist/src/modules/v4/opportunity/opportunity.converter.js +0 -174
- package/dist/src/modules/v4/opportunity/opportunity.model.js +0 -132
- package/dist/src/modules/v4/opportunity/opportunity.repository.js +0 -515
- package/dist/src/modules/v4/opportunity/opportunity.service.js +0 -380
- package/dist/src/modules/v4/opportunity/transform-id.pipe.js +0 -6
- package/dist/src/modules/v4/opportunity/validate-id.pipe.js +0 -12
- package/dist/src/modules/v4/price/price.controller.js +0 -56
- package/dist/src/modules/v4/price/price.model.js +0 -12
- package/dist/src/modules/v4/price/price.repository.js +0 -22
- package/dist/src/modules/v4/price/price.service.js +0 -63
- package/dist/src/modules/v4/prisma/index.js +0 -1
- package/dist/src/modules/v4/programPayload/programPayload.controller.js +0 -85
- package/dist/src/modules/v4/programPayload/programPayload.model.js +0 -179
- package/dist/src/modules/v4/programPayload/programPayload.repository.js +0 -7567
- package/dist/src/modules/v4/programPayload/programPayload.service.js +0 -240
- package/dist/src/modules/v4/protocol/protocol.controller.js +0 -42
- package/dist/src/modules/v4/protocol/protocol.model.js +0 -186
- package/dist/src/modules/v4/protocol/protocol.repository.js +0 -175
- package/dist/src/modules/v4/protocol/protocol.service.js +0 -73
- package/dist/src/modules/v4/referral/referral.controller.js +0 -25
- package/dist/src/modules/v4/referral/referral.model.js +0 -12
- package/dist/src/modules/v4/referral/referral.service.js +0 -171
- package/dist/src/modules/v4/reward/reward.controller.js +0 -140
- package/dist/src/modules/v4/reward/reward.converter.js +0 -124
- package/dist/src/modules/v4/reward/reward.model.js +0 -153
- package/dist/src/modules/v4/reward/reward.repository.js +0 -350
- package/dist/src/modules/v4/reward/reward.service.js +0 -406
- package/dist/src/modules/v4/router.js +0 -93
- package/dist/src/modules/v4/status/status.controller.js +0 -68
- package/dist/src/modules/v4/status/status.model.js +0 -34
- package/dist/src/modules/v4/status/status.repository.js +0 -146
- package/dist/src/modules/v4/status/status.service.js +0 -150
- package/dist/src/modules/v4/token/token.controller.js +0 -118
- package/dist/src/modules/v4/token/token.model.js +0 -87
- package/dist/src/modules/v4/token/token.repository.js +0 -192
- package/dist/src/modules/v4/token/token.service.js +0 -410
- package/dist/src/modules/v4/tracer/tracer.service.js +0 -30
- package/dist/src/modules/v4/turtle/turtle.controller.js +0 -20
- package/dist/src/modules/v4/turtle/turtle.repository.js +0 -40
- package/dist/src/modules/v4/turtle/turtle.service.js +0 -28
- package/dist/src/modules/v4/tvl/tvl.model.js +0 -13
- package/dist/src/modules/v4/tvl/tvl.service.js +0 -63
- package/dist/src/modules/v4/uniswap/uniswap.controller.js +0 -100
- package/dist/src/modules/v4/uniswap/uniswap.model.js +0 -46
- package/dist/src/modules/v4/uniswap/uniswap.repository.js +0 -12
- package/dist/src/modules/v4/uniswap/uniswap.service.js +0 -245
- package/dist/src/modules/v4/user/user.controller.js +0 -77
- package/dist/src/modules/v4/user/user.model.js +0 -66
- package/dist/src/modules/v4/user/user.repository.js +0 -41
- package/dist/src/modules/v4/user/user.service.js +0 -102
- package/dist/src/plugins/error-handling.plugin.js +0 -34
- package/dist/src/routes/v1/allowances.js +0 -115
- package/dist/src/routes/v1/balances.js +0 -25
- package/dist/src/routes/v1/prices.js +0 -9
- package/dist/src/routes/v1/router.js +0 -6
- package/dist/src/routes/v1/tokens.js +0 -17
- package/dist/src/routes/v2/merkl.js +0 -13
- package/dist/src/routes/v2/router.js +0 -3
- package/dist/src/routes/v3/app.js +0 -43
- package/dist/src/routes/v3/blacklist.js +0 -19
- package/dist/src/routes/v3/campaign/delay.js +0 -81
- package/dist/src/routes/v3/campaignClaims.js +0 -29
- package/dist/src/routes/v3/campaignUnclaimed.js +0 -28
- package/dist/src/routes/v3/campaigns.js +0 -136
- package/dist/src/routes/v3/campaignsForMainParameter.js +0 -33
- package/dist/src/routes/v3/campaignsRewardsReport.js +0 -48
- package/dist/src/routes/v3/claims.js +0 -16
- package/dist/src/routes/v3/compoundV2.js +0 -9
- package/dist/src/routes/v3/createCampaign.js +0 -66
- package/dist/src/routes/v3/dolomite.js +0 -12
- package/dist/src/routes/v3/euler.js +0 -52
- package/dist/src/routes/v3/fetch.js +0 -27
- package/dist/src/routes/v3/health.js +0 -13
- package/dist/src/routes/v3/lostyield.js +0 -101
- package/dist/src/routes/v3/merkl.js +0 -119
- package/dist/src/routes/v3/morphoMarkets.js +0 -27
- package/dist/src/routes/v3/morphoVaults.js +0 -22
- package/dist/src/routes/v3/multiChainPositions.js +0 -70
- package/dist/src/routes/v3/opportunity.js +0 -28
- package/dist/src/routes/v3/overview.js +0 -72
- package/dist/src/routes/v3/parse.js +0 -23
- package/dist/src/routes/v3/payload.js +0 -40
- package/dist/src/routes/v3/poolInfo.js +0 -88
- package/dist/src/routes/v3/positions.js +0 -62
- package/dist/src/routes/v3/radiant.js +0 -26
- package/dist/src/routes/v3/recipients.js +0 -29
- package/dist/src/routes/v3/rewards.js +0 -36
- package/dist/src/routes/v3/rewardsReport.js +0 -40
- package/dist/src/routes/v3/router.js +0 -70
- package/dist/src/routes/v3/silo.js +0 -20
- package/dist/src/routes/v3/token.js +0 -24
- package/dist/src/routes/v3/twt/participants.js +0 -63
- package/dist/src/routes/v3/uniswapv4.js +0 -29
- package/dist/src/routes/v3/updates.js +0 -47
- package/dist/src/routes/v3/userRewards.js +0 -63
- package/dist/src/scripts/fill-coingecko-data.js +0 -3
- package/dist/src/scripts/fill-descriptions.js +0 -101
- package/dist/src/scripts/fill-unknown-tokens.js +0 -58
- package/dist/src/scripts/reparse-opportunities.js +0 -75
- package/dist/src/types/external/spectraAPI.js +0 -1
- package/dist/src/types/index.js +0 -1
- package/dist/src/utils/TailSampler.js +0 -23
- package/dist/src/utils/bigintToString.js +0 -20
- package/dist/src/utils/caseChanges.js +0 -15
- package/dist/src/utils/decodeCalls.js +0 -340
- package/dist/src/utils/encodeCalls.js +0 -506
- package/dist/src/utils/error.js +0 -114
- package/dist/src/utils/execute.js +0 -117
- package/dist/src/utils/generateCardName.js +0 -209
- package/dist/src/utils/generic.js +0 -43
- package/dist/src/utils/hashArray.js +0 -7
- package/dist/src/utils/lastBlockBefore.js +0 -78
- package/dist/src/utils/logger.js +0 -52
- package/dist/src/utils/parseDistributionType.js +0 -16
- package/dist/src/utils/pricer.js +0 -189
- package/dist/src/utils/prices/chainlinkRead.js +0 -8
- package/dist/src/utils/prices/curveVirtualPrice.js +0 -7
- package/dist/src/utils/prices/getDQUICK.js +0 -8
- package/dist/src/utils/prices/priceFetcherFactory.js +0 -32
- package/dist/src/utils/prices/priceService.js +0 -274
- package/dist/src/utils/prices/services/OnChainCallService.js +0 -38
- package/dist/src/utils/prices/services/coinGeckoService.js +0 -63
- package/dist/src/utils/prices/services/defillamaService.js +0 -53
- package/dist/src/utils/prices/services/dexScreenerService.js +0 -62
- package/dist/src/utils/prices/services/erc4626Service.js +0 -38
- package/dist/src/utils/prices/services/getERC4626.js +0 -11
- package/dist/src/utils/prices/services/indexCoopService.js +0 -55
- package/dist/src/utils/prices/services/priceFetcher.js +0 -1
- package/dist/src/utils/prices/uniV2Price.js +0 -40
- package/dist/src/utils/providers.js +0 -37
- package/dist/src/utils/queries/allCampaigns.js +0 -12
- package/dist/src/utils/sanitizeChain.js +0 -6
- package/dist/src/utils/stryke.js +0 -4
- package/dist/src/utils/throw.js +0 -55
- package/dist/tsconfig.package.tsbuildinfo +0 -1
@@ -1,146 +0,0 @@
|
|
1
|
-
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
2
|
-
import { apiDbClient } from "@db";
|
3
|
-
import moment from "moment";
|
4
|
-
export class StatusRepository {
|
5
|
-
static #formatQuery(query) {
|
6
|
-
return {
|
7
|
-
where: {
|
8
|
-
status: Array.isArray(query.status) ? { in: query.status } : query.status,
|
9
|
-
Campaign: query.computeChainId ? { computeChainId: query.computeChainId } : undefined,
|
10
|
-
},
|
11
|
-
include: { Campaign: Boolean(query.status) },
|
12
|
-
};
|
13
|
-
}
|
14
|
-
static async findMany(query) {
|
15
|
-
return await apiDbClient.campaignStatus.findMany(StatusRepository.#formatQuery(query));
|
16
|
-
}
|
17
|
-
static async findManyByCampaignId(campaignId) {
|
18
|
-
return await apiDbClient.campaignStatus.findMany({
|
19
|
-
where: {
|
20
|
-
Campaign: {
|
21
|
-
campaignId: campaignId,
|
22
|
-
},
|
23
|
-
},
|
24
|
-
});
|
25
|
-
}
|
26
|
-
static async findUniqueOrThrow(campaignId) {
|
27
|
-
return await apiDbClient.campaignStatus.findUniqueOrThrow({
|
28
|
-
where: {
|
29
|
-
campaignId,
|
30
|
-
},
|
31
|
-
});
|
32
|
-
}
|
33
|
-
static async findUnique(campaignUnique) {
|
34
|
-
return await apiDbClient.campaignStatus.findUnique({
|
35
|
-
where: {
|
36
|
-
campaignId: CampaignService.hashId(campaignUnique),
|
37
|
-
},
|
38
|
-
});
|
39
|
-
}
|
40
|
-
static async create(campaign, startTimestamp) {
|
41
|
-
return await apiDbClient.campaignStatus.create({
|
42
|
-
data: {
|
43
|
-
campaignId: CampaignService.hashId(campaign),
|
44
|
-
computedUntil: startTimestamp,
|
45
|
-
processingStarted: startTimestamp,
|
46
|
-
},
|
47
|
-
});
|
48
|
-
}
|
49
|
-
static async updateSuccess(campaignUnique, computedUntil) {
|
50
|
-
return await apiDbClient.campaignStatus.update({
|
51
|
-
where: {
|
52
|
-
campaignId: CampaignService.hashId(campaignUnique),
|
53
|
-
},
|
54
|
-
data: {
|
55
|
-
computedUntil,
|
56
|
-
status: "SUCCESS",
|
57
|
-
error: "",
|
58
|
-
details: "{}",
|
59
|
-
},
|
60
|
-
});
|
61
|
-
}
|
62
|
-
static async updateWithError(campaignUnique, status, error, details) {
|
63
|
-
return await apiDbClient.campaignStatus.update({
|
64
|
-
where: {
|
65
|
-
campaignId: CampaignService.hashId(campaignUnique),
|
66
|
-
},
|
67
|
-
data: {
|
68
|
-
status,
|
69
|
-
error: error?.length > 0 ? error : undefined,
|
70
|
-
details,
|
71
|
-
},
|
72
|
-
});
|
73
|
-
}
|
74
|
-
static async updateProcessing(campaignUnique) {
|
75
|
-
const campaignId = CampaignService.hashId(campaignUnique);
|
76
|
-
const now = moment().unix();
|
77
|
-
await apiDbClient.campaignStatus.update({
|
78
|
-
where: {
|
79
|
-
campaignId,
|
80
|
-
processingStarted: {
|
81
|
-
lte: now - 60, // The job wasn't already updated in the last minute
|
82
|
-
},
|
83
|
-
},
|
84
|
-
data: {
|
85
|
-
status: "PROCESSING",
|
86
|
-
processingStarted: moment().unix(),
|
87
|
-
error: "",
|
88
|
-
details: "{}",
|
89
|
-
},
|
90
|
-
});
|
91
|
-
}
|
92
|
-
static async updateComputedUntil(campaignUnique, computedUntil) {
|
93
|
-
return await apiDbClient.campaignStatus.update({
|
94
|
-
where: {
|
95
|
-
campaignId: CampaignService.hashId(campaignUnique),
|
96
|
-
},
|
97
|
-
data: {
|
98
|
-
computedUntil,
|
99
|
-
},
|
100
|
-
});
|
101
|
-
}
|
102
|
-
static async updateErrorMessage(campaignUnique, error) {
|
103
|
-
return await apiDbClient.campaignStatus.update({
|
104
|
-
where: {
|
105
|
-
campaignId: CampaignService.hashId(campaignUnique),
|
106
|
-
},
|
107
|
-
data: {
|
108
|
-
error,
|
109
|
-
},
|
110
|
-
});
|
111
|
-
}
|
112
|
-
static async findManyDelay(query) {
|
113
|
-
return await apiDbClient.campaign.findMany({
|
114
|
-
where: {
|
115
|
-
distributionChainId: !!query.chainId ? query.chainId : undefined,
|
116
|
-
endTimestamp: {
|
117
|
-
gte: !!query.endTimestampLowerBound ? query.endTimestampLowerBound : moment().subtract(2, "week").unix(),
|
118
|
-
},
|
119
|
-
},
|
120
|
-
select: {
|
121
|
-
campaignId: true,
|
122
|
-
computeChainId: true,
|
123
|
-
startTimestamp: true,
|
124
|
-
endTimestamp: true,
|
125
|
-
distributionChainId: true,
|
126
|
-
RewardToken: {
|
127
|
-
select: {
|
128
|
-
address: true,
|
129
|
-
symbol: true,
|
130
|
-
isTest: true,
|
131
|
-
},
|
132
|
-
},
|
133
|
-
Opportunity: {
|
134
|
-
select: {
|
135
|
-
name: true,
|
136
|
-
identifier: true,
|
137
|
-
type: true,
|
138
|
-
},
|
139
|
-
},
|
140
|
-
CampaignStatus: {
|
141
|
-
take: 1,
|
142
|
-
},
|
143
|
-
},
|
144
|
-
});
|
145
|
-
}
|
146
|
-
}
|
@@ -1,150 +0,0 @@
|
|
1
|
-
import { NotFoundError } from "@/errors";
|
2
|
-
import { VoidString } from "@/errors/VoidString.error";
|
3
|
-
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
4
|
-
import { MerklRootService } from "@/modules/v4/merklRoot/merklRoot.service";
|
5
|
-
import { log } from "@/utils/logger";
|
6
|
-
import { RunStatus } from "@db/api";
|
7
|
-
import { HOUR, MAX_COMPUTE_JOB_TIME, NETWORK_LABELS, getMultisigURL, registry } from "@sdk";
|
8
|
-
import moment from "moment";
|
9
|
-
import { StatusRepository } from "./status.repository";
|
10
|
-
export class StatusService {
|
11
|
-
static format(status) {
|
12
|
-
return {
|
13
|
-
...status,
|
14
|
-
computedUntil: Number(status.computedUntil),
|
15
|
-
processingStarted: Number(status.processingStarted),
|
16
|
-
};
|
17
|
-
}
|
18
|
-
static async findMany(query) {
|
19
|
-
return await StatusRepository.findMany(query);
|
20
|
-
}
|
21
|
-
static async findManyByCampaignId(campaignId) {
|
22
|
-
return await StatusRepository.findManyByCampaignId(campaignId);
|
23
|
-
}
|
24
|
-
static async findUniqueOrThrow(campaignUnique) {
|
25
|
-
const campaignId = typeof campaignUnique === "string" ? campaignUnique : CampaignService.hashId(campaignUnique);
|
26
|
-
return await StatusRepository.findUniqueOrThrow(campaignId);
|
27
|
-
}
|
28
|
-
static async findUnique(campaignUnique) {
|
29
|
-
return await StatusRepository.findUnique(campaignUnique);
|
30
|
-
}
|
31
|
-
static async update(campaignUnique, status) {
|
32
|
-
// Check if the status exists already, otherwise create it
|
33
|
-
const campaignStatus = await StatusRepository.findUnique(campaignUnique);
|
34
|
-
if (!campaignStatus) {
|
35
|
-
let campaign = await CampaignService.findUnique(campaignUnique);
|
36
|
-
if (!campaign) {
|
37
|
-
await CampaignService.fill([campaignUnique]);
|
38
|
-
campaign = await CampaignService.findUniqueOrThrow(campaignUnique);
|
39
|
-
}
|
40
|
-
await StatusRepository.create(campaignUnique, campaign.startTimestamp);
|
41
|
-
}
|
42
|
-
// Update the run status
|
43
|
-
switch (status.value) {
|
44
|
-
case RunStatus.SUCCESS:
|
45
|
-
await StatusRepository.updateSuccess(campaignUnique, status.computedUntil);
|
46
|
-
return;
|
47
|
-
case RunStatus.PROCESSING:
|
48
|
-
await StatusRepository.updateProcessing(campaignUnique);
|
49
|
-
return;
|
50
|
-
case RunStatus.SKIPPED:
|
51
|
-
await StatusRepository.updateWithError(campaignUnique, status.value, status.error, status.details);
|
52
|
-
return;
|
53
|
-
case RunStatus.FAILED:
|
54
|
-
await StatusRepository.updateWithError(campaignUnique, status.value, status.error, status.details);
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
static async updateComputedUntil(campaignUnique, computedUntil) {
|
59
|
-
// Check if the status exists already, otherwise create it
|
60
|
-
const campaignStatus = await StatusRepository.findUnique(campaignUnique);
|
61
|
-
if (!campaignStatus) {
|
62
|
-
let campaign = await CampaignService.findUnique(campaignUnique);
|
63
|
-
if (!campaign) {
|
64
|
-
await CampaignService.fill([campaignUnique]);
|
65
|
-
campaign = await CampaignService.findUniqueOrThrow(campaignUnique);
|
66
|
-
}
|
67
|
-
await StatusRepository.create(campaignUnique, campaign.startTimestamp);
|
68
|
-
}
|
69
|
-
await StatusRepository.updateComputedUntil(campaignUnique, computedUntil);
|
70
|
-
}
|
71
|
-
static async updateErrorMessage(campaignUnique, error) {
|
72
|
-
// Check if the status exists already, otherwise thros
|
73
|
-
const campaignStatus = await StatusRepository.findUnique(campaignUnique);
|
74
|
-
if (!(error?.length > 0)) {
|
75
|
-
throw new VoidString("Error message is empty");
|
76
|
-
}
|
77
|
-
if (!campaignStatus) {
|
78
|
-
throw new NotFoundError("CampaignStatus not found");
|
79
|
-
}
|
80
|
-
await StatusRepository.updateErrorMessage(campaignUnique, error);
|
81
|
-
}
|
82
|
-
static async isSafeForOverlaps(campaignUnique) {
|
83
|
-
const status = await StatusRepository.findUnique(campaignUnique);
|
84
|
-
if (!status) {
|
85
|
-
return true;
|
86
|
-
}
|
87
|
-
if (status.status === RunStatus.PROCESSING) {
|
88
|
-
return status.processingStarted < moment().unix() - MAX_COMPUTE_JOB_TIME;
|
89
|
-
}
|
90
|
-
return true;
|
91
|
-
}
|
92
|
-
static async findUpdatesAndDelays() {
|
93
|
-
const merklRoots = await MerklRootService.fetchAll();
|
94
|
-
const delayedCampaignPromises = Promise.allSettled(Object.keys(merklRoots).map(chainId => StatusService.findManyDelay({ chainId: Number.parseInt(chainId), delayLowerBound: 9 * HOUR })));
|
95
|
-
const liveCampaignPromises = await Promise.allSettled(Object.keys(merklRoots).map(chainId => CampaignService.countLives({ distributionChainId: Number.parseInt(chainId) })));
|
96
|
-
const delayedCampaignArray = await delayedCampaignPromises;
|
97
|
-
const liveCampaignArray = await liveCampaignPromises;
|
98
|
-
const res = {};
|
99
|
-
for (const [index, chainIdString] of Object.keys(merklRoots).entries()) {
|
100
|
-
const chainId = Number.parseInt(chainIdString);
|
101
|
-
const delayedCampaignResult = delayedCampaignArray[index];
|
102
|
-
const liveCampaignResult = liveCampaignArray[index];
|
103
|
-
const delayedCampaigns = delayedCampaignResult.status === "rejected" ? [] : delayedCampaignResult.value;
|
104
|
-
if (delayedCampaignResult.status === "rejected") {
|
105
|
-
log.warn(`delayed campaigns fetching failed on ${NETWORK_LABELS[chainId]}: ${delayedCampaignResult.reason}`);
|
106
|
-
}
|
107
|
-
const liveCampaigns = liveCampaignResult.status === "rejected" ? 0 : liveCampaignResult.value;
|
108
|
-
if (liveCampaignResult.status === "rejected") {
|
109
|
-
log.warn(`live campaigns fetching failed on ${NETWORK_LABELS[chainId]}: ${liveCampaignResult.reason}`);
|
110
|
-
}
|
111
|
-
if (!registry(chainId)?.Merkl?.DistributionCreator || !registry(chainId)?.Merkl?.Distributor) {
|
112
|
-
log.warn(`Missing registry for ${NETWORK_LABELS[chainId]}`);
|
113
|
-
continue;
|
114
|
-
}
|
115
|
-
let adminUrl = undefined;
|
116
|
-
try {
|
117
|
-
adminUrl = getMultisigURL(chainId, registry(chainId)?.AngleLabs ?? "");
|
118
|
-
}
|
119
|
-
catch { }
|
120
|
-
res[chainId] = {
|
121
|
-
...merklRoots[chainId],
|
122
|
-
admin: registry(chainId)?.AngleLabs ?? "0xb08AB4332AD871F89da24df4751968A61e58013c",
|
123
|
-
adminUrl,
|
124
|
-
distributor: registry(chainId)?.Merkl?.Distributor,
|
125
|
-
distributionCreator: registry(chainId)?.Merkl?.DistributionCreator,
|
126
|
-
liveCampaigns,
|
127
|
-
delayed: delayedCampaigns,
|
128
|
-
};
|
129
|
-
}
|
130
|
-
return res;
|
131
|
-
}
|
132
|
-
static async findManyDelay(query) {
|
133
|
-
const now = moment().unix();
|
134
|
-
return (await StatusRepository.findManyDelay(query))
|
135
|
-
.map(x => {
|
136
|
-
const endTimestamp = Number(x.endTimestamp);
|
137
|
-
const computedUntil = !!Number(x.CampaignStatus?.[0]?.computedUntil)
|
138
|
-
? Number(x.CampaignStatus?.[0]?.computedUntil)
|
139
|
-
: Number(x.startTimestamp);
|
140
|
-
const delay = Math.min(now, endTimestamp) - Math.min(now, endTimestamp, computedUntil);
|
141
|
-
return {
|
142
|
-
...x,
|
143
|
-
delay,
|
144
|
-
computedUntil,
|
145
|
-
};
|
146
|
-
})
|
147
|
-
.sort((a, b) => b.delay - a.delay)
|
148
|
-
.filter(x => x.delay > (query.delayLowerBound ?? 0));
|
149
|
-
}
|
150
|
-
}
|
@@ -1,118 +0,0 @@
|
|
1
|
-
import { NotFoundError } from "@/errors/NotFound.error";
|
2
|
-
import { AuthorizationHeadersDto, BackOfficeGuard } from "@/guards/BackOffice.guard";
|
3
|
-
import { getUserAllowance } from "@/libs/tokens/allowances";
|
4
|
-
import { throwOnInvalidAddress, throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "@/utils/throw";
|
5
|
-
import Elysia, { t } from "elysia";
|
6
|
-
import { CreateTokenDto, FindUniqueTokenAllowanceDto, FindUniqueTokenDto, GetTokenBalanceDto, GetTokenQueryDto, NotionWebhookAddTokenDto, TokenIdDto, UpdateTokenDto, } from "./token.model";
|
7
|
-
import { TokenService } from "./token.service";
|
8
|
-
// ─── Tokens Controller ───────────────────────────────────────────────────────
|
9
|
-
export const TokenController = new Elysia({ prefix: "/tokens", detail: { tags: ["Tokens"] } })
|
10
|
-
// ─── Get A Token By Id ───────────────────────────────────────────────
|
11
|
-
.get("/:id", async ({ params }) => {
|
12
|
-
try {
|
13
|
-
const [chainId, address] = params.id.split("-");
|
14
|
-
return await TokenService.findUniqueOrThrow({ chainId: +chainId, address });
|
15
|
-
}
|
16
|
-
catch (err) {
|
17
|
-
if (err.code && err.code === "P2025")
|
18
|
-
throw new NotFoundError();
|
19
|
-
}
|
20
|
-
}, {
|
21
|
-
params: FindUniqueTokenDto,
|
22
|
-
detail: {
|
23
|
-
hide: true,
|
24
|
-
},
|
25
|
-
})
|
26
|
-
.get("/:id/allowance/:owner/:spender", async ({ params: { id, owner, spender } }) => {
|
27
|
-
try {
|
28
|
-
const [chainId, address] = id.split("-");
|
29
|
-
const token = await TokenService.findUniqueOrThrow({ chainId: +chainId, address });
|
30
|
-
const allowance = await getUserAllowance(token.chainId, token.address, owner, spender);
|
31
|
-
return { ...token, allowance };
|
32
|
-
}
|
33
|
-
catch (err) {
|
34
|
-
if (err.code && err.code === "P2025")
|
35
|
-
throw new NotFoundError();
|
36
|
-
}
|
37
|
-
}, {
|
38
|
-
params: FindUniqueTokenAllowanceDto,
|
39
|
-
detail: {
|
40
|
-
hide: true,
|
41
|
-
},
|
42
|
-
})
|
43
|
-
// ─── Get All Valid Reward Tokens across all chains ───────────────────
|
44
|
-
.get("/reward", async ({ query }) => TokenService.getAllValidRewardTokens(query), {
|
45
|
-
query: t.Object({
|
46
|
-
chainId: t.Optional(t.RegExp(/^\d+(,\d+)*$/)),
|
47
|
-
}),
|
48
|
-
detail: {
|
49
|
-
description: "Get all tokens that are accept as reward tokens",
|
50
|
-
},
|
51
|
-
})
|
52
|
-
// ─── Get Valid Reward Tokens on a given chain ────────────────────────
|
53
|
-
.get("/reward/:chainId", async ({ params }) => TokenService.getValidRewardTokens(params.chainId), {
|
54
|
-
params: t.Object({
|
55
|
-
chainId: t.Numeric(),
|
56
|
-
}),
|
57
|
-
beforeHandle: ({ params }) => throwOnUnsupportedChainId(params.chainId),
|
58
|
-
detail: {
|
59
|
-
description: "Get the list of tokens that are accept as reward tokens on a given chain",
|
60
|
-
},
|
61
|
-
})
|
62
|
-
// ─── Get Tokens With Balances ────────────────────────────────────────
|
63
|
-
.get("/balances", async ({ query: { chainId, userAddress, tokenAddress, additionalTokenAddresses } }) => {
|
64
|
-
if (tokenAddress)
|
65
|
-
return await TokenService.fetchTokensAndBalances(chainId, userAddress, [tokenAddress].concat(additionalTokenAddresses ?? []));
|
66
|
-
return await TokenService.fetchVerifiedAndNativeBalances(chainId, userAddress, additionalTokenAddresses);
|
67
|
-
}, {
|
68
|
-
beforeHandle: ({ query }) => {
|
69
|
-
throwOnUnsupportedChainId(query.chainId);
|
70
|
-
query.userAddress = throwOnInvalidRequiredAddress(query.userAddress);
|
71
|
-
query.tokenAddress = throwOnInvalidAddress(query.tokenAddress);
|
72
|
-
},
|
73
|
-
query: GetTokenBalanceDto,
|
74
|
-
detail: {
|
75
|
-
hide: true,
|
76
|
-
},
|
77
|
-
})
|
78
|
-
// ─── Get Many Tokens ─────────────────────────────────────────────────
|
79
|
-
.get("/", async ({ query }) => await TokenService.findManyOrFetch(query), {
|
80
|
-
query: GetTokenQueryDto,
|
81
|
-
detail: {
|
82
|
-
hide: true,
|
83
|
-
},
|
84
|
-
})
|
85
|
-
// ─── Count Tokens ────────────────────────────────────────────────────
|
86
|
-
.get("/count", async ({ query }) => await TokenService.countMany(query), {
|
87
|
-
query: GetTokenQueryDto,
|
88
|
-
detail: {
|
89
|
-
hide: true,
|
90
|
-
},
|
91
|
-
})
|
92
|
-
// ─── Create a new Token entity ────────────────────────────────────────────
|
93
|
-
.post("/", async ({ body }) => await TokenService.fillAndCreate(body), {
|
94
|
-
body: CreateTokenDto,
|
95
|
-
headers: AuthorizationHeadersDto,
|
96
|
-
beforeHandle: async ({ headers, body }) => {
|
97
|
-
BackOfficeGuard({ headers });
|
98
|
-
body.address = throwOnInvalidRequiredAddress(body.address);
|
99
|
-
throwOnUnsupportedChainId(body.chainId);
|
100
|
-
},
|
101
|
-
detail: { hide: true },
|
102
|
-
})
|
103
|
-
// ─── Update token fields Status ────────────────────────────────────────────
|
104
|
-
.patch("/:id", async ({ params, body }) => await TokenService.update(params.id, body), {
|
105
|
-
params: TokenIdDto,
|
106
|
-
body: UpdateTokenDto,
|
107
|
-
headers: AuthorizationHeadersDto,
|
108
|
-
beforeHandle: BackOfficeGuard,
|
109
|
-
detail: { hide: true },
|
110
|
-
})
|
111
|
-
.group("/webhooks", app => {
|
112
|
-
return app.post("/notion", async ({ body }) => TokenService.notionWebhook(body), {
|
113
|
-
body: NotionWebhookAddTokenDto,
|
114
|
-
headers: AuthorizationHeadersDto,
|
115
|
-
beforeHandle: BackOfficeGuard,
|
116
|
-
detail: { hide: true },
|
117
|
-
});
|
118
|
-
});
|
@@ -1,87 +0,0 @@
|
|
1
|
-
import { t } from "elysia";
|
2
|
-
// ─── Dtos ────────────────────────────────────────────────────────────────────
|
3
|
-
export const TokenResourceDto = t.Object({
|
4
|
-
id: t.String(),
|
5
|
-
name: t.Union([t.String(), t.Null()]),
|
6
|
-
chainId: t.Number(),
|
7
|
-
address: t.String(),
|
8
|
-
decimals: t.Number(),
|
9
|
-
icon: t.String(),
|
10
|
-
verified: t.Boolean(),
|
11
|
-
isTest: t.Boolean(),
|
12
|
-
isPoint: t.Boolean(),
|
13
|
-
isPreTGE: t.Boolean(),
|
14
|
-
price: t.Optional(t.Union([t.Union([t.Number(), t.Null()])])),
|
15
|
-
symbol: t.String(),
|
16
|
-
});
|
17
|
-
export const FindUniqueTokenDto = t.Object({
|
18
|
-
id: t.String(),
|
19
|
-
});
|
20
|
-
export const FindUniqueTokenAllowanceDto = t.Object({
|
21
|
-
id: t.String(),
|
22
|
-
owner: t.String(),
|
23
|
-
spender: t.String(),
|
24
|
-
});
|
25
|
-
export const GetTokenQueryDto = t.Object({
|
26
|
-
id: t.Optional(t.Array(t.String())),
|
27
|
-
symbol: t.Optional(t.String()),
|
28
|
-
displaySymbol: t.Optional(t.String()), // To filter by displaySymbol or if null symbol
|
29
|
-
chainId: t.Optional(t.Numeric()),
|
30
|
-
isNative: t.Optional(t.Boolean()),
|
31
|
-
address: t.Optional(t.String()),
|
32
|
-
name: t.Optional(t.String()),
|
33
|
-
search: t.Optional(t.String()),
|
34
|
-
page: t.Optional(t.Number()),
|
35
|
-
items: t.Optional(t.Number()),
|
36
|
-
verified: t.Optional(t.Boolean()),
|
37
|
-
test: t.Optional(t.Boolean()),
|
38
|
-
missingIcons: t.Optional(t.Boolean()),
|
39
|
-
missingPrice: t.Optional(t.Boolean()),
|
40
|
-
});
|
41
|
-
export const TokenDto = t.Object({
|
42
|
-
address: t.String(),
|
43
|
-
chainId: t.Numeric(),
|
44
|
-
});
|
45
|
-
export const GetTokenBalanceDto = t.Object({
|
46
|
-
chainId: t.Numeric(),
|
47
|
-
userAddress: t.String(),
|
48
|
-
verified: t.Optional(t.Boolean()),
|
49
|
-
tokenAddress: t.Optional(t.String({ description: "If provided, the default verified token balances won't be included" })),
|
50
|
-
additionalTokenAddresses: t.Optional(t.Array(t.String())),
|
51
|
-
});
|
52
|
-
export const TokenIdDto = t.Object({ id: t.String() });
|
53
|
-
export const UpdateTokenDto = t.Object({
|
54
|
-
isTest: t.Optional(t.Boolean()),
|
55
|
-
isPoint: t.Optional(t.Boolean()),
|
56
|
-
isPreTGE: t.Optional(t.Boolean()),
|
57
|
-
verified: t.Optional(t.Boolean()),
|
58
|
-
icon: t.Optional(t.String({ format: "uri" })),
|
59
|
-
// iconFile: t.Optional(t.File()),
|
60
|
-
displaySymbol: t.Optional(t.String()),
|
61
|
-
name: t.Optional(t.String()),
|
62
|
-
});
|
63
|
-
export const CreateTokenDto = t.Object({
|
64
|
-
chainId: t.Numeric(),
|
65
|
-
address: t.String(),
|
66
|
-
icon: t.String(),
|
67
|
-
verified: t.Boolean(),
|
68
|
-
isTest: t.Optional(t.Boolean()),
|
69
|
-
});
|
70
|
-
export const NotionWebhookAddTokenDto = t.Object({
|
71
|
-
data: t.Object({
|
72
|
-
properties: t.Object({
|
73
|
-
"Icon (Required)": t.Object({
|
74
|
-
files: t.Array(t.Union([
|
75
|
-
t.Object({ file: t.Object({ url: t.String() }) }),
|
76
|
-
t.Object({ external: t.Object({ url: t.String() }) }),
|
77
|
-
])),
|
78
|
-
}),
|
79
|
-
"Address (in checksum format) (Required)": t.Object({
|
80
|
-
rich_text: t.Array(t.Object({ plain_text: t.String() })),
|
81
|
-
}),
|
82
|
-
"Chain ID (Required)": t.Object({ number: t.Numeric() }),
|
83
|
-
"Symbol (Optional)": t.Object({ rich_text: t.Array(t.Object({ plain_text: t.String() })) }),
|
84
|
-
"CoinGecko API ID (Recommended)": t.Object({ rich_text: t.Array(t.Object({ plain_text: t.String() })) }),
|
85
|
-
}),
|
86
|
-
}),
|
87
|
-
}, { additionalProperties: true });
|
@@ -1,192 +0,0 @@
|
|
1
|
-
import { apiDbClient } from "@db";
|
2
|
-
import { NETWORK_LABELS, TokenInteractionService } from "@sdk";
|
3
|
-
import axios from "axios";
|
4
|
-
export class TokenRepository {
|
5
|
-
static #transformQueryToPrismaFilters(query) {
|
6
|
-
const ids = query.id ? query.id.map(id => ({ id })) : [];
|
7
|
-
const { page: _page, items: _items } = query;
|
8
|
-
const page = _page ? _page : 0;
|
9
|
-
const items = _items === 0 ? 100_000 : _items !== undefined ? _items : 100;
|
10
|
-
return {
|
11
|
-
take: items === 0 ? undefined : items,
|
12
|
-
skip: page * items,
|
13
|
-
where: {
|
14
|
-
AND: [
|
15
|
-
{
|
16
|
-
OR: query.symbol
|
17
|
-
? [
|
18
|
-
{ symbol: { equals: query.symbol, mode: "insensitive" } },
|
19
|
-
{ displaySymbol: { equals: query.symbol, mode: "insensitive" } },
|
20
|
-
...ids,
|
21
|
-
]
|
22
|
-
: query.displaySymbol
|
23
|
-
? [
|
24
|
-
{
|
25
|
-
displaySymbol: "",
|
26
|
-
symbol: { equals: query.displaySymbol, mode: "insensitive" },
|
27
|
-
},
|
28
|
-
{ displaySymbol: { equals: query.displaySymbol, mode: "insensitive" } },
|
29
|
-
...ids,
|
30
|
-
]
|
31
|
-
: ids.length
|
32
|
-
? [...ids]
|
33
|
-
: undefined,
|
34
|
-
address: query.address ? { equals: query.address, mode: "insensitive" } : undefined,
|
35
|
-
chainId: query.chainId ? { equals: query.chainId } : undefined,
|
36
|
-
name: query.name ? { contains: query.name, mode: "insensitive" } : undefined,
|
37
|
-
verified: query.verified ? { equals: query.verified } : undefined,
|
38
|
-
isTest: query.test ? { equals: query.test } : undefined,
|
39
|
-
icon: query.missingIcons ? { equals: "" } : undefined,
|
40
|
-
price: query.missingPrice ? { equals: null } : undefined,
|
41
|
-
},
|
42
|
-
!query.search
|
43
|
-
? {}
|
44
|
-
: {
|
45
|
-
AND: query.search?.split(" ")?.map((keyword) => ({
|
46
|
-
OR: [
|
47
|
-
{ id: { contains: keyword, mode: "insensitive" } },
|
48
|
-
{ name: { contains: keyword, mode: "insensitive" } },
|
49
|
-
{ symbol: { contains: keyword, mode: "insensitive" } },
|
50
|
-
{ address: { contains: keyword, mode: "insensitive" } },
|
51
|
-
{ Chain: { name: { contains: keyword, mode: "insensitive" } } },
|
52
|
-
],
|
53
|
-
})),
|
54
|
-
},
|
55
|
-
],
|
56
|
-
},
|
57
|
-
};
|
58
|
-
}
|
59
|
-
/**
|
60
|
-
* Fetch token metadata from onchain
|
61
|
-
* @param chainId
|
62
|
-
* @param address
|
63
|
-
*/
|
64
|
-
static async getTokenInfo(token) {
|
65
|
-
return TokenInteractionService(token.chainId).info(token.address);
|
66
|
-
}
|
67
|
-
/**
|
68
|
-
* Read token from database
|
69
|
-
* @param chainId
|
70
|
-
* @param address
|
71
|
-
*/
|
72
|
-
static async findUnique(id) {
|
73
|
-
return (await apiDbClient.token.findUnique({ where: { id } })) ?? undefined;
|
74
|
-
}
|
75
|
-
/**
|
76
|
-
* Read token from database
|
77
|
-
* @param chainId
|
78
|
-
* @param address
|
79
|
-
*/
|
80
|
-
static async findUniqueOrThrow(id) {
|
81
|
-
return await apiDbClient.token.findUniqueOrThrow({ where: { id } });
|
82
|
-
}
|
83
|
-
/**
|
84
|
-
* Read token from database by its symbol
|
85
|
-
* @param symbol
|
86
|
-
*/
|
87
|
-
static async findMany(query) {
|
88
|
-
const args = TokenRepository.#transformQueryToPrismaFilters(query);
|
89
|
-
const tokens = await apiDbClient.token.findMany({
|
90
|
-
...args,
|
91
|
-
});
|
92
|
-
return tokens;
|
93
|
-
}
|
94
|
-
static async findList(chainId, addresses) {
|
95
|
-
const tokens = await apiDbClient.token.findMany({
|
96
|
-
where: {
|
97
|
-
chainId,
|
98
|
-
address: {
|
99
|
-
in: addresses,
|
100
|
-
},
|
101
|
-
},
|
102
|
-
});
|
103
|
-
return tokens;
|
104
|
-
}
|
105
|
-
static async countMany(query) {
|
106
|
-
const args = TokenRepository.#transformQueryToPrismaFilters(query);
|
107
|
-
return await apiDbClient.token.count(args);
|
108
|
-
}
|
109
|
-
/**
|
110
|
-
* upsert a token on database
|
111
|
-
* @param token
|
112
|
-
*/
|
113
|
-
static async upsert(token) {
|
114
|
-
return await apiDbClient.token.upsert({
|
115
|
-
create: token,
|
116
|
-
update: token,
|
117
|
-
where: { id: token.id },
|
118
|
-
});
|
119
|
-
}
|
120
|
-
/**
|
121
|
-
* Updates price of tokens that share the same symbol
|
122
|
-
* @param symbol
|
123
|
-
* @param price value
|
124
|
-
* @param excludeAddresses to not update even if symbol match
|
125
|
-
*/
|
126
|
-
static async updateSymbolPrices(symbol, price, excludeAddresses) {
|
127
|
-
return await apiDbClient.token.updateMany({
|
128
|
-
data: { price },
|
129
|
-
where: {
|
130
|
-
symbol,
|
131
|
-
address: { notIn: excludeAddresses },
|
132
|
-
},
|
133
|
-
});
|
134
|
-
}
|
135
|
-
/**
|
136
|
-
* Updates price of tokens that share the same address
|
137
|
-
* @param address
|
138
|
-
* @param price value
|
139
|
-
* @param chainId
|
140
|
-
*/
|
141
|
-
static async updateAddressPrices(address, price, chainId) {
|
142
|
-
return await apiDbClient.token.updateMany({
|
143
|
-
data: { price },
|
144
|
-
where: {
|
145
|
-
chainId: chainId && { equals: chainId },
|
146
|
-
address: { equals: address, mode: "insensitive" },
|
147
|
-
},
|
148
|
-
});
|
149
|
-
}
|
150
|
-
static async updateMissingIconsPerSymbol(symbol, icon) {
|
151
|
-
return await apiDbClient.token.updateMany({
|
152
|
-
data: { icon },
|
153
|
-
where: {
|
154
|
-
symbol: symbol,
|
155
|
-
icon: "",
|
156
|
-
},
|
157
|
-
});
|
158
|
-
}
|
159
|
-
static async fetchIconFromCoingeckoTicker(coingeckoTicker) {
|
160
|
-
return (await axios.get(`https://api.coingecko.com/api/v3/coins/${coingeckoTicker}`)).data.image.small;
|
161
|
-
}
|
162
|
-
static async findChains() {
|
163
|
-
const tokens = await apiDbClient.token.findMany({
|
164
|
-
select: { chainId: true, id: true },
|
165
|
-
});
|
166
|
-
return tokens.reduce((acc, token) => {
|
167
|
-
acc[token.id] = token.chainId;
|
168
|
-
return acc;
|
169
|
-
}, {});
|
170
|
-
}
|
171
|
-
/**
|
172
|
-
* create a token on database
|
173
|
-
* @param token
|
174
|
-
*/
|
175
|
-
static async create(token) {
|
176
|
-
return await apiDbClient.token.create({
|
177
|
-
data: {
|
178
|
-
...token,
|
179
|
-
chainId: undefined,
|
180
|
-
Chain: {
|
181
|
-
connectOrCreate: {
|
182
|
-
where: { id: token.chainId },
|
183
|
-
create: { id: token.chainId, name: NETWORK_LABELS[token.chainId], icon: "" },
|
184
|
-
},
|
185
|
-
},
|
186
|
-
},
|
187
|
-
});
|
188
|
-
}
|
189
|
-
static async update(id, data) {
|
190
|
-
return await apiDbClient.token.update({ where: { id }, data });
|
191
|
-
}
|
192
|
-
}
|