@merkl/api 0.20.118 → 0.20.119
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/eden/index.d.ts +18 -18
- package/dist/src/engine/deprecated/dynamicData/implementations/Radiant.js +1 -1
- package/dist/src/engine/implementations/Ajna/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Ambient/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Badger/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Clamm/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Compound/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/CompoundV3/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Default/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Dolomite/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/EigenLayer/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Encompassing/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Erc20/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Erc20/subTypes/implementations/superlend/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Erc20Snapshot/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Erc721/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/ErcMultiToken/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Euler/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/EventBased/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Hyperdrive/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Ion/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/JsonAirdrop/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Morpho/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/MultiLog/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/MultiLog/tvl.d.ts +1 -1
- package/dist/src/engine/implementations/MultiLog/tvl.js +1 -1
- package/dist/src/engine/implementations/Radiant/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Silo/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/UniswapV4/metadata.d.ts +1 -1
- package/dist/src/engine/implementations/Vest/metadata.d.ts +1 -1
- package/dist/src/index.d.ts +6 -6
- package/dist/src/jobs/pendings.js +1 -1
- package/dist/src/jobs/update-analytics.js +3 -3
- package/dist/src/jobs/update-dynamic-data.js +2 -2
- package/dist/src/jobs/update-euler-vaults.js +1 -1
- package/dist/src/jobs/update-rpc-calls-cache.js +2 -2
- package/dist/src/jobs/update-uniswap-v4-pools.js +1 -1
- package/dist/src/libs/positions/clamm/index.js +2 -2
- package/dist/src/modules/v4/accounting/accounting.controller.js +2 -1
- package/dist/src/modules/v4/accounting/accounting.repository.d.ts +1 -1
- package/dist/src/modules/v4/accounting/accounting.service.d.ts +1 -1
- package/dist/src/modules/v4/blacklist/blacklist.service.d.ts +1 -1
- package/dist/src/modules/v4/blacklist/blacklist.service.js +2 -2
- package/dist/src/modules/v4/campaign/campaign.controller.js +1 -1
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +1 -1
- package/dist/src/modules/v4/campaign/campaign.repository.js +1 -1
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +1 -1
- package/dist/src/modules/v4/campaign/campaign.service.js +1 -1
- package/dist/src/modules/v4/campaign/campaign.test.controller.js +3 -3
- package/dist/src/modules/v4/chain/chain.service.js +1 -1
- package/dist/src/modules/v4/claims/claims.service.d.ts +2 -2
- package/dist/src/modules/v4/claims/claims.service.js +2 -2
- package/dist/src/modules/v4/coingecko/coingecko.service.js +1 -1
- package/dist/src/modules/v4/computedValue/computedValue.controller.js +1 -1
- package/dist/src/modules/v4/dynamicData/dynamicData.service.js +4 -4
- package/dist/src/modules/v4/liquidity/implementations/AjnaPositionFetcher.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/implementations/AjnaPositionFetcher.js +1 -1
- package/dist/src/modules/v4/liquidity/implementations/BadgerPositionFetcher.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/implementations/BadgerPositionFetcher.js +1 -1
- package/dist/src/modules/v4/liquidity/implementations/ClammPositionFetcher.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/implementations/ClammPositionFetcher.js +1 -1
- package/dist/src/modules/v4/liquidity/implementations/DolomitePositionFetcher.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/implementations/DolomitePositionFetcher.js +1 -1
- package/dist/src/modules/v4/liquidity/implementations/ERC20PositionFetcher.d.ts +2 -2
- package/dist/src/modules/v4/liquidity/implementations/ERC20PositionFetcher.js +1 -1
- package/dist/src/modules/v4/liquidity/implementations/EulerPositionFetcher.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/liquidity.model.d.ts +1 -1
- package/dist/src/modules/v4/liquidity/liquidity.service.js +1 -1
- package/dist/src/modules/v4/merklRoot/merklRoot.service.js +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.controller.js +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.converter.d.ts +2 -2
- package/dist/src/modules/v4/opportunity/opportunity.converter.js +3 -3
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.repository.js +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.service.js +1 -1
- package/dist/src/modules/v4/opportunity/transform-id.pipe.js +1 -1
- package/dist/src/modules/v4/protocol/protocol.service.js +1 -1
- package/dist/src/modules/v4/reward/reward.controller.js +1 -1
- package/dist/src/modules/v4/reward/reward.repository.js +1 -1
- package/dist/src/modules/v4/reward/reward.service.d.ts +1 -1
- package/dist/src/modules/v4/reward/reward.service.js +8 -8
- package/dist/src/modules/v4/router.d.ts +6 -6
- package/dist/src/modules/v4/router.js +1 -1
- package/dist/src/modules/v4/status/status.model.d.ts +2 -2
- package/dist/src/modules/v4/status/status.repository.d.ts +1 -1
- package/dist/src/modules/v4/status/status.repository.js +1 -1
- package/dist/src/modules/v4/status/status.service.d.ts +2 -1
- package/dist/src/modules/v4/status/status.service.js +2 -2
- package/dist/src/modules/v4/token/token.controller.js +4 -3
- package/dist/src/modules/v4/token/token.service.js +1 -1
- package/dist/src/modules/v4/uniswap/uniswap.controller.d.ts +2 -2
- package/dist/src/modules/v4/uniswap/uniswap.controller.js +1 -1
- package/dist/src/modules/v4/uniswap/uniswap.service.d.ts +2 -2
- package/dist/src/modules/v4/uniswap/uniswap.service.js +5 -5
- package/dist/src/modules/v4/user/user.controller.d.ts +2 -2
- package/dist/src/modules/v4/user/user.controller.js +2 -2
- package/dist/src/modules/v4/user/user.service.js +1 -1
- package/dist/src/routes/v3/app.js +1 -1
- package/dist/src/routes/v3/blacklist.js +1 -1
- package/dist/src/routes/v3/campaignUnclaimed.js +1 -1
- package/dist/src/routes/v3/campaigns.js +1 -1
- package/dist/src/routes/v3/campaignsForMainParameter.js +1 -1
- package/dist/src/routes/v3/campaignsRewardsReport.js +1 -1
- package/dist/src/routes/v3/euler.js +1 -1
- package/dist/src/routes/v3/recipients.js +1 -1
- package/dist/src/routes/v3/rewards.js +1 -1
- package/dist/src/routes/v3/rewardsReport.js +1 -1
- package/dist/src/routes/v3/uniswapv4.js +1 -1
- package/dist/src/routes/v3/userRewards.js +2 -1
- package/dist/src/scripts/reparse-opportunities.js +1 -1
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/modules/v4/accounting/index.d.ts +0 -3
- package/dist/src/modules/v4/accounting/index.js +0 -3
- package/dist/src/modules/v4/apr/index.d.ts +0 -2
- package/dist/src/modules/v4/apr/index.js +0 -2
- package/dist/src/modules/v4/blacklist/index.d.ts +0 -3
- package/dist/src/modules/v4/blacklist/index.js +0 -3
- package/dist/src/modules/v4/boost/index.d.ts +0 -2
- package/dist/src/modules/v4/boost/index.js +0 -2
- package/dist/src/modules/v4/cache/index.d.ts +0 -1
- package/dist/src/modules/v4/cache/index.js +0 -1
- package/dist/src/modules/v4/campaign/index.d.ts +0 -2
- package/dist/src/modules/v4/campaign/index.js +0 -2
- package/dist/src/modules/v4/creator/index.d.ts +0 -3
- package/dist/src/modules/v4/creator/index.js +0 -3
- package/dist/src/modules/v4/merklRoot/index.d.ts +0 -3
- package/dist/src/modules/v4/merklRoot/index.js +0 -3
- package/dist/src/modules/v4/opportunity/index.d.ts +0 -3
- package/dist/src/modules/v4/opportunity/index.js +0 -3
- package/dist/src/modules/v4/reward/index.d.ts +0 -2
- package/dist/src/modules/v4/reward/index.js +0 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { CampaignUnique, CampaignWithParams, GetCampaignQueryModel } from "@/modules/v4/campaign";
|
1
|
+
import type { CampaignUnique, CampaignWithParams, GetCampaignQueryModel } from "@/modules/v4/campaign/campaign.model";
|
2
2
|
import { type CampaignManualOverride, Prisma } from "@db/api";
|
3
3
|
import { type ChainId } from "@sdk";
|
4
4
|
export declare abstract class CampaignRepository {
|
@@ -1,10 +1,10 @@
|
|
1
|
+
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
1
2
|
import { CannotUpdateOpportunityLastCreatedAt } from "@/utils/error";
|
2
3
|
import { log } from "@/utils/logger";
|
3
4
|
import { apiDbClient, engineDbClient } from "@db";
|
4
5
|
import { Prisma, RunStatus } from "@db/api";
|
5
6
|
import { MAX_COMPUTE_JOB_TIME } from "@sdk";
|
6
7
|
import moment from "moment";
|
7
|
-
import { OpportunityService } from "../opportunity";
|
8
8
|
export class CampaignRepository {
|
9
9
|
static transformQueryToPrismaFilters(query) {
|
10
10
|
const { creatorTag, creatorId, creatorAddress, chainId, distributionChainIds, endTimestamp, opportunityId, mainParameter, campaignId, startTimestamp, status, subType, type, types, tokenAddress, tokenSymbol, test, createdAfter, point, } = query;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { CampaignConfigMinimalModel, CampaignUnique, CampaignWithParams, CreateCampaignModel, GetCampaignQueryModel, UpdateCampaignCreatorModel, UpdateCampaignModel, UpdateMetaDataCampaignModel } from "@/modules/v4/campaign";
|
1
|
+
import type { CampaignConfigMinimalModel, CampaignUnique, CampaignWithParams, CreateCampaignModel, GetCampaignQueryModel, UpdateCampaignCreatorModel, UpdateCampaignModel, UpdateMetaDataCampaignModel } from "@/modules/v4/campaign/campaign.model";
|
2
2
|
import type { CampaignManualOverride } from "@db/api";
|
3
3
|
import { type CampaignParameters, Campaign as CampaignType, type ChainId } from "@sdk";
|
4
4
|
import type { GetCampaignComputedValueModel } from "../computedValue/computedValue.model";
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { HttpError } from "@/errors";
|
2
|
-
import { OpportunityService } from "@/modules/v4/opportunity";
|
2
|
+
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
3
3
|
import { StatusService } from "@/modules/v4/status/status.service";
|
4
4
|
import { TokenService } from "@/modules/v4/token/token.service";
|
5
5
|
import { CannotParseOpportunity, InvalidParameter } from "@/utils/error";
|
@@ -2,12 +2,12 @@ import { NotFoundError } from "@/errors";
|
|
2
2
|
import { InvalidParameter } from "@/errors/InvalidParameter.error";
|
3
3
|
import { BackOfficeGuard } from "@/guards/BackOffice.guard";
|
4
4
|
import { AuthorizationHeadersDto } from "@/guards/Engine.guard";
|
5
|
+
import { DynamicDataSourceIdentifier } from "@/modules/v4/dynamicData/dynamicData.model";
|
6
|
+
import { DynamicDataService } from "@/modules/v4/dynamicData/dynamicData.service";
|
7
|
+
import { OpportunityConvertorService } from "@/modules/v4/opportunity/opportunity.converter";
|
5
8
|
import { throwOnUnsupportedChainId } from "@/utils/throw";
|
6
9
|
import { Campaign as CampaignType } from "@sdk";
|
7
10
|
import Elysia, { t } from "elysia";
|
8
|
-
import { DynamicDataSourceIdentifier } from "../dynamicData/dynamicData.model";
|
9
|
-
import { DynamicDataService } from "../dynamicData/dynamicData.service";
|
10
|
-
import { OpportunityConvertorService } from "../opportunity/opportunity.converter";
|
11
11
|
import { CampaignConfigMinimal, CampaignsDto } from "./campaign.model";
|
12
12
|
import { CampaignService } from "./campaign.service";
|
13
13
|
// ─── Routes for dev and test only ──────────────────────────────────────────────
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
1
2
|
import { DistributorService } from "@sdk";
|
2
|
-
import { CacheService } from "../cache";
|
3
3
|
import { TTLPresets } from "../cache/cache.model";
|
4
4
|
import { ChainRepository } from "./chain.repository";
|
5
5
|
export class ChainService {
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import type { Token } from "@/modules/v4/token/token.model";
|
2
|
+
import type { UserUniqueModel } from "@/modules/v4/user/user.model";
|
1
3
|
import type { ChainId } from "@sdk";
|
2
|
-
import type { Token } from "../token/token.model";
|
3
|
-
import type { UserUniqueModel } from "../user/user.model";
|
4
4
|
import type { ClaimModel } from "./claims.model";
|
5
5
|
export declare abstract class ClaimService {
|
6
6
|
static getHistoricalClaims(params: UserUniqueModel, chainFilter?: ChainId[]): Promise<(ClaimModel & {
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { MerklRootService } from "
|
2
|
-
import { RewardService } from "
|
1
|
+
import { MerklRootService } from "@/modules/v4/merklRoot/merklRoot.service";
|
2
|
+
import { RewardService } from "@/modules/v4/reward/reward.service";
|
3
3
|
import { ClaimRepository } from "./claims.repository";
|
4
4
|
export class ClaimService {
|
5
5
|
// ─── Get Historical Claims ─────────────────────────────────────────────────
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { AuthorizationHeadersDto, EngineGuard } from "@/guards/Engine.guard";
|
2
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
2
3
|
import { throwOnInvalidRequiredAddress } from "@/utils/throw";
|
3
4
|
import Elysia from "elysia";
|
4
|
-
import { CampaignService } from "../campaign";
|
5
5
|
import { GetCampaignComputedValue, GetUserComputedValues, UpsertCampaignComputedValue, UpsertUserComputedValues, } from "./computedValue.model";
|
6
6
|
import { ComputedValueService } from "./computedValue.service";
|
7
7
|
export const ComputedValueController = new Elysia({
|
@@ -2,6 +2,10 @@ import { dynamicDataBuilderFactory } from "@/engine/deprecated/dynamicData/facto
|
|
2
2
|
import { campaignTVLBuilderFactory } from "@/engine/tvl/factory";
|
3
3
|
import { HttpError } from "@/errors";
|
4
4
|
import { InvalidParameter } from "@/errors/InvalidParameter.error";
|
5
|
+
import { ComputedValueService } from "@/modules/v4//computedValue/computedValue.service";
|
6
|
+
import { TokenService } from "@/modules/v4//token/token.service";
|
7
|
+
import { AprService } from "@/modules/v4/apr/apr.service";
|
8
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
5
9
|
import { OpportunityRepository } from "@/modules/v4/opportunity/opportunity.repository";
|
6
10
|
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
7
11
|
import { RewardService } from "@/modules/v4/reward/reward.service";
|
@@ -12,10 +16,6 @@ import { parseDistributionType } from "@/utils/parseDistributionType";
|
|
12
16
|
import { AprType, DistributionType } from "@db/api";
|
13
17
|
import { Campaign as CampaignType, DAY, NETWORK_LABELS, bigIntToNumber, } from "@sdk";
|
14
18
|
import moment from "moment";
|
15
|
-
import { AprService } from "../apr";
|
16
|
-
import { CampaignService } from "../campaign";
|
17
|
-
import { ComputedValueService } from "../computedValue/computedValue.service";
|
18
|
-
import { TokenService } from "../token/token.service";
|
19
19
|
export class DynamicDataService {
|
20
20
|
/**
|
21
21
|
* @notice Updates all records for opportunities associated to the given campaigns
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
1
2
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import type { Opportunity } from "../../opportunity";
|
3
3
|
import type { PositionFetcher } from "../liquidity.model";
|
4
4
|
export declare class AjnaPositionFetcher implements PositionFetcher {
|
5
5
|
fetchPositions: (chainId: MerklChainId, user: string, opportunities: Opportunity["model"][]) => Promise<import("../liquidity.model").PositionT[]>;
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
1
2
|
import { AjnaSubCampaignType, BN2Number, Campaign, ChainInteractionService, NETWORK_LABELS, POOL_INFO_UTILS, PoolInfoUtilsInterface, } from "@sdk";
|
2
3
|
import axios from "axios";
|
3
|
-
import { CampaignService } from "../../campaign";
|
4
4
|
const campaignType = Campaign.AJNA;
|
5
5
|
export class AjnaPositionFetcher {
|
6
6
|
fetchPositions = async (chainId, user, opportunities) => {
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
1
2
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import type { Opportunity } from "../../opportunity";
|
3
3
|
import type { PositionFetcher, PositionT } from "../liquidity.model";
|
4
4
|
export declare class BadgerPositionFetcher implements PositionFetcher {
|
5
5
|
fetchPositions: (chainId: MerklChainId, user: string, opportunities: Opportunity["model"][]) => Promise<PositionT[]>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { CDPMANAGER_ADDRESS, SORTEDCDPS_ADDRESS } from "@/constants";
|
2
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
2
3
|
import { BN2Number, Campaign, CdpManagerInterface, ChainInteractionService, ERC20Interface, SortedCdpsInterface, } from "@sdk";
|
3
|
-
import { CampaignService } from "../../campaign";
|
4
4
|
const campaignType = Campaign.BADGER;
|
5
5
|
export class BadgerPositionFetcher {
|
6
6
|
fetchPositions = async (chainId, user, opportunities) => {
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
1
2
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import type { Opportunity } from "../../opportunity";
|
3
3
|
import type { PositionFetcher, PositionT } from "../liquidity.model";
|
4
4
|
export declare class ClammPositionFetcher implements PositionFetcher {
|
5
5
|
fetchPositions: (chainId: MerklChainId, user: string, opportunities: Opportunity["model"][]) => Promise<PositionT[]>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { getClammUserPositions } from "@/libs/positions/clamm";
|
2
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
2
3
|
import { Campaign } from "@sdk";
|
3
|
-
import { CampaignService } from "../../campaign";
|
4
4
|
const campaignType = Campaign.CLAMM;
|
5
5
|
export class ClammPositionFetcher {
|
6
6
|
fetchPositions = async (chainId, user, opportunities) => {
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
1
2
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import type { Opportunity } from "../../opportunity";
|
3
3
|
import type { PositionFetcher } from "../liquidity.model";
|
4
4
|
export declare class DolomitePositionFetcher implements PositionFetcher {
|
5
5
|
fetchPositions: (chainId: MerklChainId, user: string, opportunities: Opportunity["model"][]) => Promise<import("../liquidity.model").PositionT[]>;
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
1
2
|
import { Campaign } from "@sdk";
|
2
3
|
import { utils } from "ethers";
|
3
|
-
import { CampaignService } from "../../campaign";
|
4
4
|
import { LiquidityRepository } from "../liquidity.repository";
|
5
5
|
const campaignType = Campaign.DOLOMITE;
|
6
6
|
export class DolomitePositionFetcher {
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import type { PositionFetcher, PositionT } from "@/modules/v4/liquidity/liquidity.model";
|
2
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
1
3
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import type { Opportunity } from "../../opportunity";
|
3
|
-
import type { PositionFetcher, PositionT } from "../liquidity.model";
|
4
4
|
export declare class ERC20PositionFetcher implements PositionFetcher {
|
5
5
|
fetchPositions: (chainId: MerklChainId, user: string, opportunities: Opportunity["model"][]) => Promise<PositionT[]>;
|
6
6
|
}
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
1
2
|
import { BN2Number, Campaign, ChainInteractionService, ERC20Interface } from "@sdk";
|
2
|
-
import { CampaignService } from "../../campaign";
|
3
3
|
const campaignType = Campaign.ERC20;
|
4
4
|
export class ERC20PositionFetcher {
|
5
5
|
fetchPositions = async (chainId, user, opportunities) => {
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
1
2
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import type { Opportunity } from "../../opportunity";
|
3
3
|
import type { PositionFetcher, PositionT } from "../liquidity.model";
|
4
4
|
export declare class EulerPositionFetcher implements PositionFetcher {
|
5
5
|
fetchPositions: (chainId: MerklChainId, user: string, opportunities: Opportunity["model"][]) => Promise<PositionT[]>;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { MERKL_USER_POSITION_FETCHING_GLOBAL_TIMEOUT } from "@/constants";
|
2
|
+
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
2
3
|
import { Campaign, withTimeout } from "@sdk";
|
3
|
-
import { OpportunityService } from "../opportunity";
|
4
4
|
import { AjnaPositionFetcher } from "./implementations/AjnaPositionFetcher";
|
5
5
|
import { BadgerPositionFetcher } from "./implementations/BadgerPositionFetcher";
|
6
6
|
import { ClammPositionFetcher } from "./implementations/ClammPositionFetcher";
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
1
2
|
import { log } from "@/utils/logger";
|
2
3
|
import { NETWORK_LABELS } from "@sdk";
|
3
|
-
import { CacheService } from "../cache";
|
4
4
|
import { TTLPresets } from "../cache/cache.model";
|
5
5
|
import { ChainService } from "../chain/chain.service";
|
6
6
|
import { MerklRootRepository } from "./merklRoot.repository";
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { HttpErrorDto, NotFoundError, NotFoundErrorDto } from "@/errors";
|
2
2
|
import { BackOfficeGuard } from "@/guards/BackOffice.guard";
|
3
3
|
import { AuthorizationHeadersDto, TokenAuthGuard } from "@/guards/TokenAuth.guard";
|
4
|
+
import { GetCampaignQueryDto } from "@/modules/v4/campaign/campaign.model";
|
4
5
|
import { log } from "@/utils/logger";
|
5
6
|
import { ChainId } from "@sdk";
|
6
7
|
import Elysia, { t } from "elysia";
|
7
|
-
import { GetCampaignQueryDto } from "../campaign";
|
8
8
|
import { CreateOpportunityDto, GetOpportunitiesQueryDto, GetOpportunityQueryDto, OpportunityAggregateFieldDto, OpportunityDeleteOverrideDto, OpportunityOverrideDto, OpportunityResourceDto, OpportunityUniqueDto, OpportunityUniqueUpdateDto, OpportunityWithCampaignsResourceDto, } from "./opportunity.model";
|
9
9
|
import { OpportunityService } from "./opportunity.service";
|
10
10
|
import { transformId } from "./transform-id.pipe";
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import type { CampaignWithParams } from "@/modules/v4/campaign/campaign.model";
|
2
|
+
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
1
3
|
import { type CampaignParameters, Campaign as CampaignType, type Opportunity as OpportunityV3 } from "@sdk";
|
2
|
-
import type { CampaignWithParams } from "../campaign";
|
3
|
-
import { OpportunityService } from "./opportunity.service";
|
4
4
|
export declare abstract class OpportunityConvertorService {
|
5
5
|
#private;
|
6
6
|
static convertV4CampaignToV3<C extends CampaignType>(campaignType: C, campaign: Exclude<Awaited<ReturnType<(typeof OpportunityService)["findMany"]>>[number]["campaigns"], undefined>[number] | Omit<CampaignWithParams<C>, "manualOverrides">, opportunityIdentifier: string): CampaignParameters<C>;
|
@@ -1,10 +1,10 @@
|
|
1
|
+
import { TTLPresets } from "@/modules/v4/cache/cache.model";
|
2
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
3
|
+
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
1
4
|
import { kebabToPascalCase } from "@/utils/caseChanges";
|
2
5
|
import { log } from "@/utils/logger";
|
3
6
|
import { Campaign as CampaignType, EAprBreakdownType, opportunityActions, } from "@sdk";
|
4
7
|
import moment from "moment";
|
5
|
-
import { CacheService } from "../cache";
|
6
|
-
import { TTLPresets } from "../cache/cache.model";
|
7
|
-
import { OpportunityService } from "./opportunity.service";
|
8
8
|
export class OpportunityConvertorService {
|
9
9
|
static convertV4CampaignToV3(campaignType, campaign, opportunityIdentifier) {
|
10
10
|
return {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { AprRecord } from "@/modules/v4/apr/apr.model";
|
2
2
|
import type { Campaign } from "@/modules/v4/campaign/campaign.model";
|
3
|
-
import {
|
3
|
+
import type { DailyRewardsRecord } from "@/modules/v4/reward/reward.model";
|
4
4
|
import type { TvlRecord } from "@/modules/v4/tvl/tvl.model";
|
5
5
|
import { type Prisma, Status } from "@db/api";
|
6
6
|
import type { MerklChainId } from "@sdk";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AprService } from "@/modules/v4/apr/apr.service";
|
2
2
|
import { ProtocolService } from "@/modules/v4/protocol/protocol.service";
|
3
|
-
import { RewardService } from "@/modules/v4/reward";
|
3
|
+
import { RewardService } from "@/modules/v4/reward/reward.service";
|
4
4
|
import { TvlService } from "@/modules/v4/tvl/tvl.service";
|
5
5
|
import { log } from "@/utils/logger";
|
6
6
|
import { apiDbClient } from "@db";
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import type { CampaignWithParams, GetCampaignQueryModel } from "@/modules/v4/campaign/campaign.model";
|
2
2
|
import { type OpportunityManualOverride, type Prisma } from "@db/api";
|
3
3
|
import { type MerklChainId } from "@sdk";
|
4
4
|
import type { CreateOpportunityModel, GetOpportunitiesQueryModel, LightOpportunityFromDB, Opportunity, OpportunityOverrideModel, OpportunityResourceModel, OpportunityUnique } from "./opportunity.model";
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { NotFoundError } from "@/errors";
|
2
2
|
import { TTLPresets } from "@/modules/v4/cache/cache.model";
|
3
3
|
import { CacheService } from "@/modules/v4/cache/cache.service";
|
4
|
-
import { CampaignService } from "@/modules/v4/campaign";
|
5
4
|
import { CampaignRepository } from "@/modules/v4/campaign/campaign.repository";
|
5
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
6
6
|
import { TokenService } from "@/modules/v4/token/token.service";
|
7
7
|
import { UserService } from "@/modules/v4/user/user.service";
|
8
8
|
import { log } from "@/utils/logger";
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
1
2
|
import { ChainService } from "@/modules/v4/chain/chain.service";
|
2
3
|
import { TokenService } from "@/modules/v4/token/token.service";
|
3
4
|
import { log } from "@/utils/logger";
|
4
5
|
import { BucketService } from "../bucket/bucket.service";
|
5
|
-
import { CacheService } from "../cache";
|
6
6
|
import { TTLPresets } from "../cache/cache.model";
|
7
7
|
import { IconService } from "../icon/icon.service";
|
8
8
|
import { ProtocolRepository } from "./protocol.repository";
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { BackOfficeGuard } from "@/guards/BackOffice.guard";
|
2
2
|
import { AuthorizationHeadersDto, EngineGuard } from "@/guards/Engine.guard";
|
3
3
|
import { ChainDto } from "@/modules/v4/accounting/accounting.model";
|
4
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
4
5
|
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
5
6
|
import { TokenService } from "@/modules/v4/token/token.service";
|
6
7
|
import { throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "@/utils/throw";
|
7
8
|
import Elysia, { t } from "elysia";
|
8
|
-
import { CacheService } from "../cache";
|
9
9
|
import { TTLPresets } from "../cache/cache.model";
|
10
10
|
import { CampaignIdDto, CampaignIdWithoutPageDto, CampaignRewardsDto, CreateManyBreakdownDto, CreateManyRewardDto, RegisterClaimsDto, TokenIdDto, } from "./reward.model";
|
11
11
|
import { RewardService } from "./reward.service";
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { Campaign, Reward, RewardBreakdown } from "@db/api:drizzle";
|
2
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
2
3
|
import { TokenService } from "@/modules/v4/token/token.service";
|
3
4
|
import { UserService } from "@/modules/v4/user/user.service";
|
4
5
|
import { apiDbClient } from "@db";
|
5
6
|
import { DAY } from "@sdk";
|
6
7
|
import { and, eq, exists, inArray, sql } from "drizzle-orm";
|
7
|
-
import { CampaignService } from "../campaign";
|
8
8
|
import { RewardService } from "./reward.service";
|
9
9
|
export class RewardRepository {
|
10
10
|
static async createManyReward(rewards) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { CacheKeys } from "@/cache/keys";
|
2
|
+
import type { LightOpportunityFromDB, Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
2
3
|
import type { Chain } from "@db/api";
|
3
4
|
import { type CampaignDynamicData, Campaign as CampaignType, type ChainId, type MerklChainId } from "@sdk";
|
4
|
-
import { type LightOpportunityFromDB, type Opportunity } from "../opportunity";
|
5
5
|
import type { CampaignIdModel, CampaignIdWithoutPageModel, CreateManyBreakdownModel, CreateManyRewardModel, DailyRewardsRecord, RegisterClaimsModel, RewardBreakdown, TokenIdModel } from "./reward.model";
|
6
6
|
import { RewardRepository } from "./reward.repository";
|
7
7
|
export declare abstract class RewardService {
|
@@ -1,14 +1,14 @@
|
|
1
|
+
import { BlacklistService } from "@/modules/v4/blacklist/blacklist.service";
|
2
|
+
import { TTLPresets } from "@/modules/v4/cache/cache.model";
|
3
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
4
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
5
|
+
import { ChainService } from "@/modules/v4/chain/chain.service";
|
6
|
+
import { MerklRootService } from "@/modules/v4/merklRoot/merklRoot.service";
|
7
|
+
import { OpportunityService } from "@/modules/v4/opportunity/opportunity.service";
|
8
|
+
import { TokenService } from "@/modules/v4/token/token.service";
|
1
9
|
import { log } from "@/utils/logger";
|
2
10
|
import { Campaign as CampaignType, DAY, DistributorService, NETWORK_LABELS, } from "@sdk";
|
3
11
|
import moment from "moment";
|
4
|
-
import { BlacklistService } from "../blacklist";
|
5
|
-
import { CacheService } from "../cache";
|
6
|
-
import { TTLPresets } from "../cache/cache.model";
|
7
|
-
import { CampaignService } from "../campaign";
|
8
|
-
import { ChainService } from "../chain/chain.service";
|
9
|
-
import { MerklRootService } from "../merklRoot";
|
10
|
-
import { OpportunityService } from "../opportunity";
|
11
|
-
import { TokenService } from "../token/token.service";
|
12
12
|
import { RewardRepository } from "./reward.repository";
|
13
13
|
export class RewardService {
|
14
14
|
static hashId(root, recipient, rewardTokenId) {
|
@@ -2824,7 +2824,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
2824
2824
|
};
|
2825
2825
|
headers: unknown;
|
2826
2826
|
response: {
|
2827
|
-
200: import("./reward").BreakdownForCampaignsRaw[];
|
2827
|
+
200: import("./reward/reward.model").BreakdownForCampaignsRaw[];
|
2828
2828
|
};
|
2829
2829
|
};
|
2830
2830
|
};
|
@@ -3721,7 +3721,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
3721
3721
|
response: {
|
3722
3722
|
200: (Omit<{
|
3723
3723
|
chain: import("@db/api").Chain;
|
3724
|
-
rewards: Awaited<ReturnType<typeof import("./reward").RewardService["format"]>>;
|
3724
|
+
rewards: Awaited<ReturnType<typeof import("./reward/reward.service").RewardService["format"]>>;
|
3725
3725
|
}, "rewards"> & {
|
3726
3726
|
rewards: (Omit<{
|
3727
3727
|
token: {
|
@@ -3811,7 +3811,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
3811
3811
|
proofs: string[];
|
3812
3812
|
}, "breakdowns"> & {
|
3813
3813
|
breakdowns: {
|
3814
|
-
opportunity: import("
|
3814
|
+
opportunity: import("./opportunity/opportunity.model").Opportunity["model"];
|
3815
3815
|
claimed: bigint;
|
3816
3816
|
amount: bigint;
|
3817
3817
|
pending: bigint;
|
@@ -3844,7 +3844,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
3844
3844
|
response: {
|
3845
3845
|
200: (Omit<{
|
3846
3846
|
chain: import("@db/api").Chain;
|
3847
|
-
rewards: Awaited<ReturnType<typeof import("./reward").RewardService["format"]>>;
|
3847
|
+
rewards: Awaited<ReturnType<typeof import("./reward/reward.service").RewardService["format"]>>;
|
3848
3848
|
}, "rewards"> & {
|
3849
3849
|
rewards: (Omit<{
|
3850
3850
|
token: {
|
@@ -5259,7 +5259,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
5259
5259
|
pending: string;
|
5260
5260
|
reason: string;
|
5261
5261
|
rewardToken: import("./token/token.model").Token["model"];
|
5262
|
-
opportunity: import("
|
5262
|
+
opportunity: import("./opportunity/opportunity.model").Opportunity["model"];
|
5263
5263
|
}[]>>;
|
5264
5264
|
};
|
5265
5265
|
};
|
@@ -5288,7 +5288,7 @@ export declare const v4: Elysia<"/v4", false, {
|
|
5288
5288
|
pending: string;
|
5289
5289
|
reason: string;
|
5290
5290
|
rewardToken: import("./token/token.model").Token["model"];
|
5291
|
-
opportunity: import("
|
5291
|
+
opportunity: import("./opportunity/opportunity.model").Opportunity["model"];
|
5292
5292
|
}[]>>;
|
5293
5293
|
};
|
5294
5294
|
};
|
@@ -11,7 +11,7 @@ import { ExplorerController } from "@/modules/v4/explorer/explorer.controller";
|
|
11
11
|
import { InteractionController } from "@/modules/v4/interaction/interaction.controller";
|
12
12
|
import { LiquidityController } from "@/modules/v4/liquidity/liquidity.controller";
|
13
13
|
import { MerklRootController } from "@/modules/v4/merklRoot/merklRoot.controller";
|
14
|
-
import { OpportunityController } from "@/modules/v4/opportunity";
|
14
|
+
import { OpportunityController } from "@/modules/v4/opportunity/opportunity.controller";
|
15
15
|
import { PriceController } from "@/modules/v4/price/price.controller";
|
16
16
|
import { ProgramPayloadController } from "@/modules/v4/programPayload/programPayload.controller";
|
17
17
|
import { ProtocolController } from "@/modules/v4/protocol/protocol.controller";
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import type { Campaign } from "
|
2
|
-
import type { Resource } from "
|
1
|
+
import type { Campaign } from "@/modules/v4/campaign/campaign.model";
|
2
|
+
import type { Resource } from "@/modules/v4/prisma";
|
3
3
|
export type Status = Resource<"CampaignStatus", "campaignId", {
|
4
4
|
computedUntil: number;
|
5
5
|
processingStarted: number;
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import type { CampaignUnique } from "@/modules/v4/campaign/campaign.model";
|
1
2
|
import type { Prisma, RunStatus } from "@db/api";
|
2
|
-
import { type CampaignUnique } from "../campaign";
|
3
3
|
import type { DelayModel, QueryCampaignStatus } from "./status.model";
|
4
4
|
export declare abstract class StatusRepository {
|
5
5
|
#private;
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import type { CampaignUnique } from "@/modules/v4/campaign/campaign.model";
|
2
|
+
import { CampaignService } from "@/modules/v4/campaign/campaign.service";
|
2
3
|
import type { DelayModel, QueryCampaignStatus, UpdateStatusModel } from "./status.model";
|
3
4
|
export declare abstract class StatusService {
|
4
5
|
static format(status: Awaited<ReturnType<(typeof CampaignService)["findUniqueOrThrow"]>>["CampaignStatus"][number]): {
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { NotFoundError } from "@/errors";
|
2
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";
|
3
5
|
import { log } from "@/utils/logger";
|
4
6
|
import { RunStatus } from "@db/api";
|
5
7
|
import { HOUR, MAX_COMPUTE_JOB_TIME, NETWORK_LABELS, getMultisigURL, registry } from "@sdk";
|
6
8
|
import moment from "moment";
|
7
|
-
import { CampaignService } from "../campaign";
|
8
|
-
import { MerklRootService } from "../merklRoot";
|
9
9
|
import { StatusRepository } from "./status.repository";
|
10
10
|
export class StatusService {
|
11
11
|
static format(status) {
|
@@ -2,8 +2,7 @@ import { NotFoundError } from "@/errors/NotFound.error";
|
|
2
2
|
import { AuthorizationHeadersDto, BackOfficeGuard } from "@/guards/BackOffice.guard";
|
3
3
|
import { getUserAllowance } from "@/libs/tokens/allowances";
|
4
4
|
import { throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "@/utils/throw";
|
5
|
-
import Elysia from "elysia";
|
6
|
-
import { ChainDto } from "../accounting";
|
5
|
+
import Elysia, { t } from "elysia";
|
7
6
|
import { CreateTokenDto, FindUniqueTokenAllowanceDto, FindUniqueTokenDto, GetTokenBalanceDto, GetTokenQueryDto, NotionWebhookAddTokenDto, TokenIdDto, UpdateTokenDto, } from "./token.model";
|
8
7
|
import { TokenService } from "./token.service";
|
9
8
|
// ─── Tokens Controller ───────────────────────────────────────────────────────
|
@@ -43,7 +42,9 @@ export const TokenController = new Elysia({ prefix: "/tokens", detail: { tags: [
|
|
43
42
|
})
|
44
43
|
// ─── Get Valid Reward Token ───────────────────────────────────────────
|
45
44
|
.get("/reward/:chainId", async ({ params }) => TokenService.getValidRewardTokens(params.chainId), {
|
46
|
-
params:
|
45
|
+
params: t.Object({
|
46
|
+
chainId: t.Numeric(),
|
47
|
+
}),
|
47
48
|
beforeHandle: ({ params }) => throwOnUnsupportedChainId(params.chainId),
|
48
49
|
detail: {
|
49
50
|
description: "Get the list of tokens that are accept as reward tokens on a given chain",
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { HttpError } from "@/errors";
|
2
2
|
import { getOnlyUserBalance } from "@/libs/tokens/balances";
|
3
3
|
import { BucketService } from "@/modules/v4/bucket/bucket.service";
|
4
|
-
import { CacheService } from "@/modules/v4/cache";
|
5
4
|
import { TTLPresets } from "@/modules/v4/cache/cache.model";
|
5
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
6
6
|
import { CoingeckoService } from "@/modules/v4/coingecko/coingecko.service";
|
7
7
|
import { IconService } from "@/modules/v4/icon/icon.service";
|
8
8
|
import { PriceService } from "@/modules/v4/price/price.service";
|
@@ -34,7 +34,7 @@ export declare const UniswapController: Elysia<"uniswap", false, {
|
|
34
34
|
pending: string;
|
35
35
|
reason: string;
|
36
36
|
rewardToken: import("../token/token.model").Token["model"];
|
37
|
-
opportunity: import("../opportunity").Opportunity["model"];
|
37
|
+
opportunity: import("../opportunity/opportunity.model").Opportunity["model"];
|
38
38
|
}[]>>;
|
39
39
|
};
|
40
40
|
};
|
@@ -63,7 +63,7 @@ export declare const UniswapController: Elysia<"uniswap", false, {
|
|
63
63
|
pending: string;
|
64
64
|
reason: string;
|
65
65
|
rewardToken: import("../token/token.model").Token["model"];
|
66
|
-
opportunity: import("../opportunity").Opportunity["model"];
|
66
|
+
opportunity: import("../opportunity/opportunity.model").Opportunity["model"];
|
67
67
|
}[]>>;
|
68
68
|
};
|
69
69
|
};
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { AuthorizationHeadersDto, BackOfficeGuard } from "@/guards/BackOffice.guard";
|
2
|
+
import { CacheService } from "@/modules/v4/cache/cache.service";
|
2
3
|
import { UnsupportedNetwork } from "@/utils/error";
|
3
4
|
import { throwOnInvalidAddress, throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "@/utils/throw";
|
4
5
|
import Elysia, { t } from "elysia";
|
5
|
-
import { CacheService } from "../cache";
|
6
6
|
import { TTLPresets } from "../cache/cache.model";
|
7
7
|
import { ChainUniqueDto } from "../chain/chain.model";
|
8
8
|
import { Bytes32Dto, RewardsPerPositionDto, UniV4ChainIdArray, UniswapV4PoolDto, } from "./uniswap.model";
|
@@ -1,6 +1,6 @@
|
|
1
|
+
import type { Opportunity } from "@/modules/v4/opportunity/opportunity.model";
|
2
|
+
import type { Token } from "@/modules/v4/token/token.model";
|
1
3
|
import { type MerklChainId } from "@sdk";
|
2
|
-
import { type Opportunity } from "../opportunity";
|
3
|
-
import type { Token } from "../token/token.model";
|
4
4
|
import { type RewardsPerPositionModel, type UniV4ChainId, type UniswapV4PoolsReturnType } from "./uniswap.model";
|
5
5
|
export declare abstract class UniswapService {
|
6
6
|
static findRewardsPerPosition(version: "v3" | "v4", query: RewardsPerPositionModel): Promise<Record<number, Record<string, Record<string, {
|