@merkl/api 0.20.114 → 0.20.116

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.
Files changed (58) hide show
  1. package/dist/database/api/.generated/drizzle/schema.d.ts +17 -0
  2. package/dist/database/api/.generated/drizzle/schema.js +1 -0
  3. package/dist/database/api/.generated/drizzle/schema.ts +1 -0
  4. package/dist/database/api/.generated/edge.js +4 -3
  5. package/dist/database/api/.generated/index-browser.js +1 -0
  6. package/dist/database/api/.generated/index.d.ts +58 -1
  7. package/dist/database/api/.generated/index.js +4 -3
  8. package/dist/database/api/.generated/package.json +1 -1
  9. package/dist/database/api/.generated/schema.prisma +1 -0
  10. package/dist/database/api/.generated/wasm.js +1 -0
  11. package/dist/src/eden/index.d.ts +121 -3
  12. package/dist/src/engine/deprecated/dynamicData/factory.js +1 -0
  13. package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.js +4 -2
  14. package/dist/src/engine/deprecated/dynamicData/implementations/ERCMultiToken.js +4 -2
  15. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.js +4 -2
  16. package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.js +1 -1
  17. package/dist/src/engine/deprecated/dynamicData/utils/getFixedApr.d.ts +0 -1
  18. package/dist/src/engine/deprecated/dynamicData/utils/getFixedApr.js +0 -8
  19. package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesRound1.js +3 -8
  20. package/dist/src/engine/implementations/EigenLayer/tvl.d.ts +7 -0
  21. package/dist/src/engine/implementations/EigenLayer/tvl.js +60 -0
  22. package/dist/src/engine/implementations/Erc20/subTypes/factories.js +6 -0
  23. package/dist/src/engine/implementations/Erc20/subTypes/implementations/gearbox/tvl.js +1 -1
  24. package/dist/src/engine/implementations/Erc20/subTypes/implementations/superlend/metadata.d.ts +17 -0
  25. package/dist/src/engine/implementations/Erc20/subTypes/implementations/superlend/metadata.js +29 -0
  26. package/dist/src/engine/implementations/Erc20/subTypes/implementations/superlend/tvl.d.ts +6 -0
  27. package/dist/src/engine/implementations/Erc20/subTypes/implementations/superlend/tvl.js +48 -0
  28. package/dist/src/engine/implementations/Erc20/tvl.js +1 -1
  29. package/dist/src/engine/metadata/factory.js +1 -0
  30. package/dist/src/engine/tvl/factory.js +2 -0
  31. package/dist/src/index.d.ts +41 -1
  32. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +4 -0
  33. package/dist/src/modules/v4/campaign/campaign.model.d.ts +2 -0
  34. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +4 -0
  35. package/dist/src/modules/v4/campaign/campaign.service.d.ts +9 -0
  36. package/dist/src/modules/v4/campaign/campaign.service.js +4 -2
  37. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +3 -1
  38. package/dist/src/modules/v4/campaign/campaign.test.controller.js +14 -3
  39. package/dist/src/modules/v4/dynamicData/dynamicData.service.js +7 -7
  40. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +21 -0
  41. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +10 -0
  42. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +13 -0
  43. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +25 -0
  44. package/dist/src/modules/v4/reward/reward.model.d.ts +4 -0
  45. package/dist/src/modules/v4/reward/reward.repository.d.ts +2 -0
  46. package/dist/src/modules/v4/reward/reward.service.d.ts +14 -0
  47. package/dist/src/modules/v4/router.d.ts +41 -1
  48. package/dist/src/modules/v4/token/token.controller.d.ts +9 -0
  49. package/dist/src/modules/v4/token/token.model.d.ts +3 -0
  50. package/dist/src/modules/v4/token/token.model.js +3 -0
  51. package/dist/src/modules/v4/token/token.repository.d.ts +4 -0
  52. package/dist/src/modules/v4/token/token.service.d.ts +33 -0
  53. package/dist/src/modules/v4/token/token.service.js +20 -0
  54. package/dist/src/modules/v4/user/user.controller.d.ts +4 -0
  55. package/dist/src/utils/parseDistributionType.d.ts +1 -0
  56. package/dist/src/utils/parseDistributionType.js +16 -0
  57. package/dist/tsconfig.package.tsbuildinfo +1 -1
  58. package/package.json +1 -1
@@ -73,6 +73,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
73
73
  verified: boolean;
74
74
  isTest: boolean;
75
75
  isPoint: boolean;
76
+ isPreTGE: boolean;
76
77
  isNative: boolean;
77
78
  } & {
78
79
  price?: number | null | undefined;
@@ -243,6 +244,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
243
244
  verified: boolean;
244
245
  isTest: boolean;
245
246
  isPoint: boolean;
247
+ isPreTGE: boolean;
246
248
  isNative: boolean;
247
249
  } & {
248
250
  price?: number | null | undefined;
@@ -329,6 +331,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
329
331
  verified: boolean;
330
332
  isTest: boolean;
331
333
  isPoint: boolean;
334
+ isPreTGE: boolean;
332
335
  isNative: boolean;
333
336
  } & {
334
337
  price?: number | null | undefined;
@@ -516,6 +519,7 @@ export declare const CampaignController: Elysia<"/campaigns", false, {
516
519
  verified: boolean;
517
520
  isTest: boolean;
518
521
  isPoint: boolean;
522
+ isPreTGE: boolean;
519
523
  isNative: boolean;
520
524
  } & {
521
525
  price?: number | null | undefined;
@@ -63,6 +63,8 @@ export declare const CampaignResourceDto: import("@sinclair/typebox").TObject<{
63
63
  icon: import("@sinclair/typebox").TString;
64
64
  verified: import("@sinclair/typebox").TBoolean;
65
65
  isTest: import("@sinclair/typebox").TBoolean;
66
+ isPoint: import("@sinclair/typebox").TBoolean;
67
+ isPreTGE: import("@sinclair/typebox").TBoolean;
66
68
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
67
69
  symbol: import("@sinclair/typebox").TString;
68
70
  }>;
@@ -411,6 +411,7 @@ export declare abstract class CampaignRepository {
411
411
  verified: boolean;
412
412
  isTest: boolean;
413
413
  isPoint: boolean;
414
+ isPreTGE: boolean;
414
415
  isNative: boolean;
415
416
  price: number | null;
416
417
  };
@@ -536,6 +537,7 @@ export declare abstract class CampaignRepository {
536
537
  verified: boolean;
537
538
  isTest: boolean;
538
539
  isPoint: boolean;
540
+ isPreTGE: boolean;
539
541
  isNative: boolean;
540
542
  price: number | null;
541
543
  };
@@ -593,6 +595,7 @@ export declare abstract class CampaignRepository {
593
595
  verified: boolean;
594
596
  isTest: boolean;
595
597
  isPoint: boolean;
598
+ isPreTGE: boolean;
596
599
  isNative: boolean;
597
600
  price: number | null;
598
601
  };
@@ -677,6 +680,7 @@ export declare abstract class CampaignRepository {
677
680
  verified: boolean;
678
681
  isTest: boolean;
679
682
  isPoint: boolean;
683
+ isPreTGE: boolean;
680
684
  isNative: boolean;
681
685
  price: number | null;
682
686
  };
@@ -103,6 +103,7 @@ export declare abstract class CampaignService {
103
103
  verified: boolean;
104
104
  isTest: boolean;
105
105
  isPoint: boolean;
106
+ isPreTGE: boolean;
106
107
  isNative: boolean;
107
108
  price: number | null;
108
109
  };
@@ -183,6 +184,7 @@ export declare abstract class CampaignService {
183
184
  verified: boolean;
184
185
  isTest: boolean;
185
186
  isPoint: boolean;
187
+ isPreTGE: boolean;
186
188
  isNative: boolean;
187
189
  } & {
188
190
  price?: number | null | undefined;
@@ -247,6 +249,7 @@ export declare abstract class CampaignService {
247
249
  verified: boolean;
248
250
  isTest: boolean;
249
251
  isPoint: boolean;
252
+ isPreTGE: boolean;
250
253
  isNative: boolean;
251
254
  } & {
252
255
  price?: number | null | undefined;
@@ -320,6 +323,7 @@ export declare abstract class CampaignService {
320
323
  verified: boolean;
321
324
  isTest: boolean;
322
325
  isPoint: boolean;
326
+ isPreTGE: boolean;
323
327
  isNative: boolean;
324
328
  } & {
325
329
  price?: number | null | undefined;
@@ -394,6 +398,7 @@ export declare abstract class CampaignService {
394
398
  verified: boolean;
395
399
  isTest: boolean;
396
400
  isPoint: boolean;
401
+ isPreTGE: boolean;
397
402
  isNative: boolean;
398
403
  } & {
399
404
  price?: number | null | undefined;
@@ -468,6 +473,7 @@ export declare abstract class CampaignService {
468
473
  verified: boolean;
469
474
  isTest: boolean;
470
475
  isPoint: boolean;
476
+ isPreTGE: boolean;
471
477
  isNative: boolean;
472
478
  } & {
473
479
  price?: number | null | undefined;
@@ -554,6 +560,7 @@ export declare abstract class CampaignService {
554
560
  verified: boolean;
555
561
  isTest: boolean;
556
562
  isPoint: boolean;
563
+ isPreTGE: boolean;
557
564
  isNative: boolean;
558
565
  price: number | null;
559
566
  };
@@ -611,6 +618,7 @@ export declare abstract class CampaignService {
611
618
  verified: boolean;
612
619
  isTest: boolean;
613
620
  isPoint: boolean;
621
+ isPreTGE: boolean;
614
622
  isNative: boolean;
615
623
  price: number | null;
616
624
  };
@@ -749,6 +757,7 @@ export declare abstract class CampaignService {
749
757
  verified: boolean;
750
758
  isTest: boolean;
751
759
  isPoint: boolean;
760
+ isPreTGE: boolean;
752
761
  isNative: boolean;
753
762
  } & {
754
763
  price?: number | null | undefined;
@@ -4,6 +4,7 @@ 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";
6
6
  import { log } from "@/utils/logger";
7
+ import { parseDistributionType } from "@/utils/parseDistributionType";
7
8
  import { Campaign as CampaignType, NETWORK_LABELS, } from "@sdk";
8
9
  import { utils } from "ethers";
9
10
  import moment from "moment";
@@ -42,6 +43,7 @@ export class CampaignService {
42
43
  throw new Error(`unable to fetch data for token ${body.rewardTokenAddress}`);
43
44
  }
44
45
  const chain = await ChainService.findUniqueOrThrow(body.chainId);
46
+ const params = JSON.parse(body.params);
45
47
  const campaign = {
46
48
  distributionChainId: body.chainId,
47
49
  computeChainId: body.computeChainId,
@@ -50,12 +52,12 @@ export class CampaignService {
50
52
  type: campaignType,
51
53
  subType: body.subType ?? null,
52
54
  rewardToken,
53
- params: JSON.parse(body.params),
55
+ params,
54
56
  endTimestamp: Number(body.endTimestamp),
55
57
  startTimestamp: Number(body.startTimestamp),
58
+ distributionType: parseDistributionType(params),
56
59
  amount: body.amount,
57
60
  creatorAddress: body.creator,
58
- distributionType: "DUTCH_AUCTION",
59
61
  createdAt: new Date().toISOString(),
60
62
  chain,
61
63
  };
@@ -184,6 +184,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
184
184
  verified: boolean;
185
185
  isTest: boolean;
186
186
  isPoint: boolean;
187
+ isPreTGE: boolean;
187
188
  isNative: boolean;
188
189
  } & {
189
190
  price?: number | null | undefined;
@@ -204,8 +205,8 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
204
205
  body: unknown;
205
206
  params: {};
206
207
  query: {
208
+ distributionChain?: number | undefined;
207
209
  campaignId: string;
208
- distributionChain: number;
209
210
  };
210
211
  headers: {
211
212
  authorization: string;
@@ -247,6 +248,7 @@ export declare const CampaignTestController: Elysia<"/campaigns", false, {
247
248
  verified: boolean;
248
249
  isTest: boolean;
249
250
  isPoint: boolean;
251
+ isPreTGE: boolean;
250
252
  isNative: boolean;
251
253
  } & {
252
254
  price?: number | null | undefined;
@@ -4,11 +4,11 @@ import { BackOfficeGuard } from "@/guards/BackOffice.guard";
4
4
  import { AuthorizationHeadersDto } from "@/guards/Engine.guard";
5
5
  import { throwOnUnsupportedChainId } from "@/utils/throw";
6
6
  import { Campaign as CampaignType } from "@sdk";
7
- import Elysia from "elysia";
7
+ import Elysia, { t } from "elysia";
8
8
  import { DynamicDataSourceIdentifier } from "../dynamicData/dynamicData.model";
9
9
  import { DynamicDataService } from "../dynamicData/dynamicData.service";
10
10
  import { OpportunityConvertorService } from "../opportunity/opportunity.converter";
11
- import { CampaignConfigMinimal, CampaignUniqueDto, CampaignsDto } from "./campaign.model";
11
+ import { CampaignConfigMinimal, CampaignsDto } from "./campaign.model";
12
12
  import { CampaignService } from "./campaign.service";
13
13
  // ─── Routes for dev and test only ──────────────────────────────────────────────
14
14
  export const CampaignTestController = new Elysia({
@@ -84,6 +84,14 @@ export const CampaignTestController = new Elysia({
84
84
  // ─── Test Opportunity creation through a campaign Id and a chain ───────────────────────
85
85
  // @dev Starts from the engine db to debug opportunity creation failing and preventing the api db to be filled
86
86
  .get("/metadata", async ({ query }) => {
87
+ if (!query.distributionChain) {
88
+ try {
89
+ query.distributionChain = (await CampaignService.findMany({ campaignId: query.campaignId, test: true }))?.[0]?.distributionChainId;
90
+ }
91
+ catch {
92
+ throw new NotFoundError("Campaign not found");
93
+ }
94
+ }
87
95
  const engineCampaigns = await CampaignService.findEngineCampaigns([
88
96
  {
89
97
  distributionChain: query.distributionChain,
@@ -94,5 +102,8 @@ export const CampaignTestController = new Elysia({
94
102
  throw new NotFoundError("Campaign not found in engine db");
95
103
  return await CampaignService.create(engineCampaigns[0], true);
96
104
  }, {
97
- query: CampaignUniqueDto,
105
+ query: t.Object({
106
+ distributionChain: t.Optional(t.Numeric()),
107
+ campaignId: t.String(),
108
+ }),
98
109
  }));
@@ -1,5 +1,4 @@
1
1
  import { dynamicDataBuilderFactory } from "@/engine/deprecated/dynamicData/factory";
2
- import { hasFixedAprConfig } from "@/engine/deprecated/dynamicData/utils/getFixedApr";
3
2
  import { campaignTVLBuilderFactory } from "@/engine/tvl/factory";
4
3
  import { HttpError } from "@/errors";
5
4
  import { InvalidParameter } from "@/errors/InvalidParameter.error";
@@ -9,7 +8,8 @@ import { RewardService } from "@/modules/v4/reward/reward.service";
9
8
  import { TvlService } from "@/modules/v4/tvl/tvl.service";
10
9
  import bigintToString from "@/utils/bigintToString";
11
10
  import { log } from "@/utils/logger";
12
- import { AprType } from "@db/api";
11
+ import { parseDistributionType } from "@/utils/parseDistributionType";
12
+ import { AprType, DistributionType } from "@db/api";
13
13
  import { Campaign as CampaignType, DAY, NETWORK_LABELS, bigIntToNumber, } from "@sdk";
14
14
  import moment from "moment";
15
15
  import { AprService } from "../apr";
@@ -95,17 +95,17 @@ export class DynamicDataService {
95
95
  }
96
96
  let campaignDailyValue = await TokenService.getValueByTokenId(TokenService.hashId({ address: rewardTokenAddress, chainId: record.campaign.chainId }), dailyAmount);
97
97
  // Fixed APR campaigns
98
- if (hasFixedAprConfig(campaignParameters)) {
98
+ const distributionType = parseDistributionType(campaignParameters);
99
+ if (distributionType !== DistributionType.DUTCH_AUCTION) {
99
100
  log.local(`[${NETWORK_LABELS[chainId]}][${CampaignType[type]}] calculating fixed APR for ${record.campaign.campaignId}`);
100
- const { targetTokenPricing, rewardTokenPricing, apr: fixedApr } = campaignParameters;
101
+ const { apr: fixedApr } = campaignParameters;
101
102
  const targetApr = Number(fixedApr);
102
- if (targetTokenPricing && rewardTokenPricing) {
103
+ if (distributionType === DistributionType.FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE) {
103
104
  // Case 1: Fixed $ amount of reward per $ of liquidity
104
105
  campaignDailyValue = targetApr * tvl.total;
105
106
  dailyAmount = BigInt((campaignDailyValue / (rewardToken.price ?? 1)) * 10 ** rewardToken.decimals);
106
107
  }
107
- if (targetTokenPricing && !rewardTokenPricing) {
108
- // Case 2: Fixed # amount of reward per $ of liquidity
108
+ if (distributionType === DistributionType.FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE) {
109
109
  // Return 0 if reward token price is invalid
110
110
  // targetApr represents a yearly # amount of reward per $ of liquidity
111
111
  dailyAmount =
@@ -152,6 +152,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
152
152
  verified: boolean;
153
153
  isTest: boolean;
154
154
  isPoint: boolean;
155
+ isPreTGE: boolean;
155
156
  isNative: boolean;
156
157
  } & {
157
158
  price?: number | null | undefined;
@@ -216,6 +217,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
216
217
  verified: boolean;
217
218
  isTest: boolean;
218
219
  isPoint: boolean;
220
+ isPreTGE: boolean;
219
221
  isNative: boolean;
220
222
  } & {
221
223
  price?: number | null | undefined;
@@ -306,6 +308,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
306
308
  verified: boolean;
307
309
  isTest: boolean;
308
310
  isPoint: boolean;
311
+ isPreTGE: boolean;
309
312
  isNative: boolean;
310
313
  price: number | null;
311
314
  };
@@ -333,6 +336,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
333
336
  verified: boolean;
334
337
  isTest: boolean;
335
338
  isPoint: boolean;
339
+ isPreTGE: boolean;
336
340
  isNative: boolean;
337
341
  } & {
338
342
  price?: number | null | undefined;
@@ -401,6 +405,7 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
401
405
  verified: boolean;
402
406
  isTest: boolean;
403
407
  isPoint: boolean;
408
+ isPreTGE: boolean;
404
409
  isNative: boolean;
405
410
  } & {
406
411
  price?: number | null | undefined;
@@ -533,6 +538,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
533
538
  decimals: number;
534
539
  verified: boolean;
535
540
  isTest: boolean;
541
+ isPoint: boolean;
542
+ isPreTGE: boolean;
536
543
  };
537
544
  value: number;
538
545
  campaignId: string;
@@ -555,6 +562,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
555
562
  decimals: number;
556
563
  verified: boolean;
557
564
  isTest: boolean;
565
+ isPoint: boolean;
566
+ isPreTGE: boolean;
558
567
  }[];
559
568
  tags: string[];
560
569
  identifier: string;
@@ -666,6 +675,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
666
675
  decimals: number;
667
676
  verified: boolean;
668
677
  isTest: boolean;
678
+ isPoint: boolean;
679
+ isPreTGE: boolean;
669
680
  };
670
681
  value: number;
671
682
  campaignId: string;
@@ -688,6 +699,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
688
699
  decimals: number;
689
700
  verified: boolean;
690
701
  isTest: boolean;
702
+ isPoint: boolean;
703
+ isPreTGE: boolean;
691
704
  }[];
692
705
  tags: string[];
693
706
  identifier: string;
@@ -751,6 +764,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
751
764
  decimals: number;
752
765
  verified: boolean;
753
766
  isTest: boolean;
767
+ isPoint: boolean;
768
+ isPreTGE: boolean;
754
769
  };
755
770
  }[];
756
771
  }[];
@@ -833,6 +848,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
833
848
  decimals: number;
834
849
  verified: boolean;
835
850
  isTest: boolean;
851
+ isPoint: boolean;
852
+ isPreTGE: boolean;
836
853
  };
837
854
  value: number;
838
855
  campaignId: string;
@@ -855,6 +872,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
855
872
  decimals: number;
856
873
  verified: boolean;
857
874
  isTest: boolean;
875
+ isPoint: boolean;
876
+ isPreTGE: boolean;
858
877
  }[];
859
878
  tags: string[];
860
879
  identifier: string;
@@ -918,6 +937,8 @@ export declare const OpportunityController: Elysia<"/opportunities", false, {
918
937
  decimals: number;
919
938
  verified: boolean;
920
939
  isTest: boolean;
940
+ isPoint: boolean;
941
+ isPreTGE: boolean;
921
942
  };
922
943
  }[];
923
944
  };
@@ -61,6 +61,8 @@ export declare const OpportunityResourceDto: import("@sinclair/typebox").TObject
61
61
  icon: import("@sinclair/typebox").TString;
62
62
  verified: import("@sinclair/typebox").TBoolean;
63
63
  isTest: import("@sinclair/typebox").TBoolean;
64
+ isPoint: import("@sinclair/typebox").TBoolean;
65
+ isPreTGE: import("@sinclair/typebox").TBoolean;
64
66
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
65
67
  symbol: import("@sinclair/typebox").TString;
66
68
  }>>;
@@ -116,6 +118,8 @@ export declare const OpportunityResourceDto: import("@sinclair/typebox").TObject
116
118
  icon: import("@sinclair/typebox").TString;
117
119
  verified: import("@sinclair/typebox").TBoolean;
118
120
  isTest: import("@sinclair/typebox").TBoolean;
121
+ isPoint: import("@sinclair/typebox").TBoolean;
122
+ isPreTGE: import("@sinclair/typebox").TBoolean;
119
123
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
120
124
  symbol: import("@sinclair/typebox").TString;
121
125
  }>;
@@ -154,6 +158,8 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
154
158
  icon: import("@sinclair/typebox").TString;
155
159
  verified: import("@sinclair/typebox").TBoolean;
156
160
  isTest: import("@sinclair/typebox").TBoolean;
161
+ isPoint: import("@sinclair/typebox").TBoolean;
162
+ isPreTGE: import("@sinclair/typebox").TBoolean;
157
163
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
158
164
  symbol: import("@sinclair/typebox").TString;
159
165
  }>>;
@@ -226,6 +232,8 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
226
232
  icon: import("@sinclair/typebox").TString;
227
233
  verified: import("@sinclair/typebox").TBoolean;
228
234
  isTest: import("@sinclair/typebox").TBoolean;
235
+ isPoint: import("@sinclair/typebox").TBoolean;
236
+ isPreTGE: import("@sinclair/typebox").TBoolean;
229
237
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
230
238
  symbol: import("@sinclair/typebox").TString;
231
239
  }>;
@@ -265,6 +273,8 @@ export declare const OpportunityWithCampaignsResourceDto: import("@sinclair/type
265
273
  icon: import("@sinclair/typebox").TString;
266
274
  verified: import("@sinclair/typebox").TBoolean;
267
275
  isTest: import("@sinclair/typebox").TBoolean;
276
+ isPoint: import("@sinclair/typebox").TBoolean;
277
+ isPreTGE: import("@sinclair/typebox").TBoolean;
268
278
  price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
269
279
  symbol: import("@sinclair/typebox").TString;
270
280
  }>;
@@ -46,6 +46,7 @@ export declare abstract class OpportunityRepository {
46
46
  verified: boolean;
47
47
  isTest: boolean;
48
48
  isPoint: boolean;
49
+ isPreTGE: boolean;
49
50
  isNative: boolean;
50
51
  price: number | null;
51
52
  };
@@ -79,6 +80,7 @@ export declare abstract class OpportunityRepository {
79
80
  verified: boolean;
80
81
  isTest: boolean;
81
82
  isPoint: boolean;
83
+ isPreTGE: boolean;
82
84
  isNative: boolean;
83
85
  price: number | null;
84
86
  }[];
@@ -145,6 +147,7 @@ export declare abstract class OpportunityRepository {
145
147
  verified: boolean;
146
148
  isTest: boolean;
147
149
  isPoint: boolean;
150
+ isPreTGE: boolean;
148
151
  isNative: boolean;
149
152
  price: number | null;
150
153
  };
@@ -223,6 +226,7 @@ export declare abstract class OpportunityRepository {
223
226
  verified: boolean;
224
227
  isTest: boolean;
225
228
  isPoint: boolean;
229
+ isPreTGE: boolean;
226
230
  isNative: boolean;
227
231
  price: number | null;
228
232
  }[];
@@ -289,6 +293,7 @@ export declare abstract class OpportunityRepository {
289
293
  verified: boolean;
290
294
  isTest: boolean;
291
295
  isPoint: boolean;
296
+ isPreTGE: boolean;
292
297
  isNative: boolean;
293
298
  price: number | null;
294
299
  };
@@ -379,6 +384,7 @@ export declare abstract class OpportunityRepository {
379
384
  verified: boolean;
380
385
  isTest: boolean;
381
386
  isPoint: boolean;
387
+ isPreTGE: boolean;
382
388
  isNative: boolean;
383
389
  price: number | null;
384
390
  };
@@ -425,6 +431,7 @@ export declare abstract class OpportunityRepository {
425
431
  verified: boolean;
426
432
  isTest: boolean;
427
433
  isPoint: boolean;
434
+ isPreTGE: boolean;
428
435
  isNative: boolean;
429
436
  price: number | null;
430
437
  }[];
@@ -491,6 +498,7 @@ export declare abstract class OpportunityRepository {
491
498
  verified: boolean;
492
499
  isTest: boolean;
493
500
  isPoint: boolean;
501
+ isPreTGE: boolean;
494
502
  isNative: boolean;
495
503
  price: number | null;
496
504
  };
@@ -576,6 +584,7 @@ export declare abstract class OpportunityRepository {
576
584
  verified: boolean;
577
585
  isTest: boolean;
578
586
  isPoint: boolean;
587
+ isPreTGE: boolean;
579
588
  isNative: boolean;
580
589
  price: number | null;
581
590
  }[];
@@ -642,6 +651,7 @@ export declare abstract class OpportunityRepository {
642
651
  verified: boolean;
643
652
  isTest: boolean;
644
653
  isPoint: boolean;
654
+ isPreTGE: boolean;
645
655
  isNative: boolean;
646
656
  price: number | null;
647
657
  };
@@ -734,6 +744,7 @@ export declare abstract class OpportunityRepository {
734
744
  verified: boolean;
735
745
  isTest: boolean;
736
746
  isPoint: boolean;
747
+ isPreTGE: boolean;
737
748
  isNative: boolean;
738
749
  price: number | null;
739
750
  };
@@ -780,6 +791,7 @@ export declare abstract class OpportunityRepository {
780
791
  verified: boolean;
781
792
  isTest: boolean;
782
793
  isPoint: boolean;
794
+ isPreTGE: boolean;
783
795
  isNative: boolean;
784
796
  price: number | null;
785
797
  }[];
@@ -846,6 +858,7 @@ export declare abstract class OpportunityRepository {
846
858
  verified: boolean;
847
859
  isTest: boolean;
848
860
  isPoint: boolean;
861
+ isPreTGE: boolean;
849
862
  isNative: boolean;
850
863
  price: number | null;
851
864
  };