@merkl/api 0.18.11 → 0.18.13

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 (30) 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 +96 -9
  12. package/dist/src/index.d.ts +20 -3
  13. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +2 -0
  14. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +4 -0
  15. package/dist/src/modules/v4/campaign/campaign.service.d.ts +5 -0
  16. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +4 -0
  17. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +13 -0
  18. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +12 -0
  19. package/dist/src/modules/v4/reward/reward.repository.d.ts +2 -0
  20. package/dist/src/modules/v4/reward/reward.service.d.ts +11 -0
  21. package/dist/src/modules/v4/router.d.ts +18 -0
  22. package/dist/src/modules/v4/token/token.controller.d.ts +8 -0
  23. package/dist/src/modules/v4/token/token.repository.d.ts +3 -0
  24. package/dist/src/modules/v4/token/token.service.d.ts +10 -0
  25. package/dist/src/modules/v4/user/user.controller.d.ts +4 -0
  26. package/dist/src/routes/v3/campaigns.d.ts +2 -3
  27. package/dist/src/routes/v3/campaigns.js +59 -21
  28. package/dist/src/routes/v3/router.d.ts +2 -3
  29. package/dist/tsconfig.package.tsbuildinfo +1 -1
  30. package/package.json +1 -5
@@ -103,6 +103,7 @@ export declare const v4: Elysia<"/v4", false, {
103
103
  decimals: number;
104
104
  verified: boolean;
105
105
  isTest: boolean;
106
+ isPoint: boolean;
106
107
  isNative: boolean;
107
108
  } & {
108
109
  price?: number | null | undefined;
@@ -187,6 +188,7 @@ export declare const v4: Elysia<"/v4", false, {
187
188
  displaySymbol: string;
188
189
  verified: boolean;
189
190
  isTest: boolean;
191
+ isPoint: boolean;
190
192
  isNative: boolean;
191
193
  price: number | null;
192
194
  };
@@ -212,6 +214,7 @@ export declare const v4: Elysia<"/v4", false, {
212
214
  decimals: number;
213
215
  verified: boolean;
214
216
  isTest: boolean;
217
+ isPoint: boolean;
215
218
  isNative: boolean;
216
219
  } & {
217
220
  price?: number | null | undefined;
@@ -273,6 +276,7 @@ export declare const v4: Elysia<"/v4", false, {
273
276
  decimals: number;
274
277
  verified: boolean;
275
278
  isTest: boolean;
279
+ isPoint: boolean;
276
280
  isNative: boolean;
277
281
  } & {
278
282
  price?: number | null | undefined;
@@ -1142,6 +1146,7 @@ export declare const v4: Elysia<"/v4", false, {
1142
1146
  decimals: number;
1143
1147
  verified: boolean;
1144
1148
  isTest: boolean;
1149
+ isPoint: boolean;
1145
1150
  isNative: boolean;
1146
1151
  } & {
1147
1152
  price?: number | null | undefined;
@@ -1223,6 +1228,7 @@ export declare const v4: Elysia<"/v4", false, {
1223
1228
  decimals: number;
1224
1229
  verified: boolean;
1225
1230
  isTest: boolean;
1231
+ isPoint: boolean;
1226
1232
  isNative: boolean;
1227
1233
  } & {
1228
1234
  price?: number | null | undefined;
@@ -1570,6 +1576,7 @@ export declare const v4: Elysia<"/v4", false, {
1570
1576
  decimals: number;
1571
1577
  verified: boolean;
1572
1578
  isTest: boolean;
1579
+ isPoint: boolean;
1573
1580
  isNative: boolean;
1574
1581
  price?: number | null | undefined;
1575
1582
  } | undefined;
@@ -1602,6 +1609,7 @@ export declare const v4: Elysia<"/v4", false, {
1602
1609
  decimals: number;
1603
1610
  verified: boolean;
1604
1611
  isTest: boolean;
1612
+ isPoint: boolean;
1605
1613
  isNative: boolean;
1606
1614
  price?: number | null | undefined;
1607
1615
  } | undefined;
@@ -1634,6 +1642,7 @@ export declare const v4: Elysia<"/v4", false, {
1634
1642
  displaySymbol: string;
1635
1643
  verified: boolean;
1636
1644
  isTest: boolean;
1645
+ isPoint: boolean;
1637
1646
  isNative: boolean;
1638
1647
  price: number | null;
1639
1648
  }[];
@@ -1665,6 +1674,7 @@ export declare const v4: Elysia<"/v4", false, {
1665
1674
  decimals: number;
1666
1675
  verified: boolean;
1667
1676
  isTest: boolean;
1677
+ isPoint: boolean;
1668
1678
  isNative: boolean;
1669
1679
  } & {
1670
1680
  price?: number | null | undefined;
@@ -1703,6 +1713,7 @@ export declare const v4: Elysia<"/v4", false, {
1703
1713
  decimals: number;
1704
1714
  verified: boolean;
1705
1715
  isTest: boolean;
1716
+ isPoint: boolean;
1706
1717
  isNative: boolean;
1707
1718
  } & {
1708
1719
  price?: number | null | undefined;
@@ -1759,6 +1770,7 @@ export declare const v4: Elysia<"/v4", false, {
1759
1770
  decimals: number;
1760
1771
  verified: boolean;
1761
1772
  isTest: boolean;
1773
+ isPoint: boolean;
1762
1774
  isNative: boolean;
1763
1775
  price?: number | null | undefined;
1764
1776
  } | undefined;
@@ -1794,6 +1806,7 @@ export declare const v4: Elysia<"/v4", false, {
1794
1806
  displaySymbol: string;
1795
1807
  verified: boolean;
1796
1808
  isTest: boolean;
1809
+ isPoint: boolean;
1797
1810
  isNative: boolean;
1798
1811
  price: number | null;
1799
1812
  };
@@ -1869,6 +1882,7 @@ export declare const v4: Elysia<"/v4", false, {
1869
1882
  displaySymbol: string;
1870
1883
  verified: boolean;
1871
1884
  isTest: boolean;
1885
+ isPoint: boolean;
1872
1886
  isNative: boolean;
1873
1887
  price: number | null;
1874
1888
  };
@@ -2709,6 +2723,7 @@ export declare const v4: Elysia<"/v4", false, {
2709
2723
  displaySymbol: string;
2710
2724
  verified: boolean;
2711
2725
  isTest: boolean;
2726
+ isPoint: boolean;
2712
2727
  isNative: boolean;
2713
2728
  price: number | null;
2714
2729
  };
@@ -2731,6 +2746,7 @@ export declare const v4: Elysia<"/v4", false, {
2731
2746
  displaySymbol: string;
2732
2747
  verified: boolean;
2733
2748
  isTest: boolean;
2749
+ isPoint: boolean;
2734
2750
  isNative: boolean;
2735
2751
  price: number | null;
2736
2752
  }[];
@@ -2824,6 +2840,7 @@ export declare const v4: Elysia<"/v4", false, {
2824
2840
  displaySymbol: string;
2825
2841
  verified: boolean;
2826
2842
  isTest: boolean;
2843
+ isPoint: boolean;
2827
2844
  isNative: boolean;
2828
2845
  price: number | null;
2829
2846
  };
@@ -2846,6 +2863,7 @@ export declare const v4: Elysia<"/v4", false, {
2846
2863
  displaySymbol: string;
2847
2864
  verified: boolean;
2848
2865
  isTest: boolean;
2866
+ isPoint: boolean;
2849
2867
  isNative: boolean;
2850
2868
  price: number | null;
2851
2869
  }[];
@@ -32,6 +32,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
32
32
  decimals: number;
33
33
  verified: boolean;
34
34
  isTest: boolean;
35
+ isPoint: boolean;
35
36
  isNative: boolean;
36
37
  price?: number | null | undefined;
37
38
  } | undefined;
@@ -64,6 +65,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
64
65
  decimals: number;
65
66
  verified: boolean;
66
67
  isTest: boolean;
68
+ isPoint: boolean;
67
69
  isNative: boolean;
68
70
  price?: number | null | undefined;
69
71
  } | undefined;
@@ -96,6 +98,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
96
98
  displaySymbol: string;
97
99
  verified: boolean;
98
100
  isTest: boolean;
101
+ isPoint: boolean;
99
102
  isNative: boolean;
100
103
  price: number | null;
101
104
  }[];
@@ -127,6 +130,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
127
130
  decimals: number;
128
131
  verified: boolean;
129
132
  isTest: boolean;
133
+ isPoint: boolean;
130
134
  isNative: boolean;
131
135
  } & {
132
136
  price?: number | null | undefined;
@@ -165,6 +169,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
165
169
  decimals: number;
166
170
  verified: boolean;
167
171
  isTest: boolean;
172
+ isPoint: boolean;
168
173
  isNative: boolean;
169
174
  } & {
170
175
  price?: number | null | undefined;
@@ -221,6 +226,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
221
226
  decimals: number;
222
227
  verified: boolean;
223
228
  isTest: boolean;
229
+ isPoint: boolean;
224
230
  isNative: boolean;
225
231
  price?: number | null | undefined;
226
232
  } | undefined;
@@ -256,6 +262,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
256
262
  displaySymbol: string;
257
263
  verified: boolean;
258
264
  isTest: boolean;
265
+ isPoint: boolean;
259
266
  isNative: boolean;
260
267
  price: number | null;
261
268
  };
@@ -331,6 +338,7 @@ export declare const TokenController: Elysia<"/tokens", false, {
331
338
  displaySymbol: string;
332
339
  verified: boolean;
333
340
  isTest: boolean;
341
+ isPoint: boolean;
334
342
  isNative: boolean;
335
343
  price: number | null;
336
344
  };
@@ -35,6 +35,7 @@ export declare abstract class TokenRepository {
35
35
  displaySymbol: string;
36
36
  verified: boolean;
37
37
  isTest: boolean;
38
+ isPoint: boolean;
38
39
  isNative: boolean;
39
40
  price: number | null;
40
41
  }[]>;
@@ -49,6 +50,7 @@ export declare abstract class TokenRepository {
49
50
  displaySymbol: string;
50
51
  verified: boolean;
51
52
  isTest: boolean;
53
+ isPoint: boolean;
52
54
  isNative: boolean;
53
55
  price: number | null;
54
56
  }[]>;
@@ -91,6 +93,7 @@ export declare abstract class TokenRepository {
91
93
  displaySymbol: string;
92
94
  verified: boolean;
93
95
  isTest: boolean;
96
+ isPoint: boolean;
94
97
  isNative: boolean;
95
98
  price: number | null;
96
99
  }>;
@@ -26,6 +26,7 @@ export declare abstract class TokenService {
26
26
  decimals: number;
27
27
  verified: boolean;
28
28
  isTest: boolean;
29
+ isPoint: boolean;
29
30
  isNative: boolean;
30
31
  } & {
31
32
  price?: number | null | undefined;
@@ -47,6 +48,7 @@ export declare abstract class TokenService {
47
48
  decimals: number;
48
49
  verified: boolean;
49
50
  isTest: boolean;
51
+ isPoint: boolean;
50
52
  isNative: boolean;
51
53
  } & {
52
54
  price?: number | null | undefined;
@@ -66,6 +68,7 @@ export declare abstract class TokenService {
66
68
  decimals: number;
67
69
  verified: boolean;
68
70
  isTest: boolean;
71
+ isPoint: boolean;
69
72
  isNative: boolean;
70
73
  } & {
71
74
  price?: number | null | undefined;
@@ -107,6 +110,7 @@ export declare abstract class TokenService {
107
110
  decimals: number;
108
111
  verified: boolean;
109
112
  isTest: boolean;
113
+ isPoint: boolean;
110
114
  isNative: boolean;
111
115
  } & {
112
116
  price?: number | null | undefined;
@@ -126,6 +130,7 @@ export declare abstract class TokenService {
126
130
  decimals: number;
127
131
  verified: boolean;
128
132
  isTest: boolean;
133
+ isPoint: boolean;
129
134
  isNative: boolean;
130
135
  } & {
131
136
  price?: number | null | undefined;
@@ -140,6 +145,7 @@ export declare abstract class TokenService {
140
145
  decimals: number;
141
146
  verified: boolean;
142
147
  isTest: boolean;
148
+ isPoint: boolean;
143
149
  isNative: boolean;
144
150
  } & {
145
151
  price?: number | null | undefined;
@@ -181,6 +187,7 @@ export declare abstract class TokenService {
181
187
  displaySymbol: string;
182
188
  verified: boolean;
183
189
  isTest: boolean;
190
+ isPoint: boolean;
184
191
  isNative: boolean;
185
192
  price: number | null;
186
193
  }[]>;
@@ -195,6 +202,7 @@ export declare abstract class TokenService {
195
202
  displaySymbol: string;
196
203
  verified: boolean;
197
204
  isTest: boolean;
205
+ isPoint: boolean;
198
206
  isNative: boolean;
199
207
  price: number | null;
200
208
  }>;
@@ -209,6 +217,7 @@ export declare abstract class TokenService {
209
217
  displaySymbol: string;
210
218
  verified: boolean;
211
219
  isTest: boolean;
220
+ isPoint: boolean;
212
221
  isNative: boolean;
213
222
  price: number | null;
214
223
  }>;
@@ -227,6 +236,7 @@ export declare abstract class TokenService {
227
236
  decimals: number;
228
237
  verified: boolean;
229
238
  isTest: boolean;
239
+ isPoint: boolean;
230
240
  isNative: boolean;
231
241
  } & {
232
242
  price?: number | null | undefined;
@@ -131,6 +131,7 @@ export declare const UserController: Elysia<"/users", false, {
131
131
  displaySymbol: string;
132
132
  verified: boolean;
133
133
  isTest: boolean;
134
+ isPoint: boolean;
134
135
  isNative: boolean;
135
136
  price: number | null;
136
137
  };
@@ -153,6 +154,7 @@ export declare const UserController: Elysia<"/users", false, {
153
154
  displaySymbol: string;
154
155
  verified: boolean;
155
156
  isTest: boolean;
157
+ isPoint: boolean;
156
158
  isNative: boolean;
157
159
  price: number | null;
158
160
  }[];
@@ -246,6 +248,7 @@ export declare const UserController: Elysia<"/users", false, {
246
248
  displaySymbol: string;
247
249
  verified: boolean;
248
250
  isTest: boolean;
251
+ isPoint: boolean;
249
252
  isNative: boolean;
250
253
  price: number | null;
251
254
  };
@@ -268,6 +271,7 @@ export declare const UserController: Elysia<"/users", false, {
268
271
  displaySymbol: string;
269
272
  verified: boolean;
270
273
  isTest: boolean;
274
+ isPoint: boolean;
271
275
  isNative: boolean;
272
276
  price: number | null;
273
277
  }[];
@@ -41,9 +41,8 @@ declare const _default: (app: Elysia) => Elysia<"", false, {
41
41
  };
42
42
  headers: unknown;
43
43
  response: {
44
- 200: {
45
- [x: string]: Record<string, any>;
46
- };
44
+ [x: string]: any;
45
+ 200: any;
47
46
  };
48
47
  };
49
48
  };
@@ -1,3 +1,5 @@
1
+ import { Redis } from "@/cache";
2
+ import { removeTestTokens } from "@/entities/campaign";
1
3
  import { CampaignService } from "@/modules/v4/campaign";
2
4
  import { OpportunityConvertorService } from "@/modules/v4/opportunity/opportunity.converter";
3
5
  import { ANGLE_NETWORKS, Campaign as CampaignEnum, ChainId, isSupportedChain, registry, } from "@sdk";
@@ -68,30 +70,66 @@ export default (app) => app.get("/campaigns", async ({ query }) => {
68
70
  throw new UnsupportedNetwork(chainId);
69
71
  }
70
72
  }
71
- const campaigns = await CampaignService.findMany({
72
- distributionChainIds: chainIds,
73
- types: types.map(type => CampaignEnum[type]),
74
- status: query.live ? "LIVE" : undefined,
75
- creatorTag: query.creatorTag,
76
- test: !hideTestTokens,
77
- withOpportunity: true,
78
- });
79
- const res = {};
80
- for (const campaign of campaigns) {
81
- if (!res[campaign.distributionChainId]) {
82
- res[campaign.distributionChainId] = {};
73
+ if (process.env.FF_OPPORTUNITY === "true") {
74
+ const campaigns = await CampaignService.findMany({
75
+ distributionChainIds: chainIds,
76
+ types: !types.length ? undefined : types.map(type => CampaignEnum[type]),
77
+ status: query.live ? "LIVE" : undefined,
78
+ creatorTag: query.creatorTag,
79
+ test: !hideTestTokens,
80
+ withOpportunity: true,
81
+ });
82
+ const res = {};
83
+ for (const campaign of campaigns) {
84
+ if (!res[campaign.distributionChainId]) {
85
+ res[campaign.distributionChainId] = {};
86
+ }
87
+ const opportunityIdentifier = campaign.Opportunity.identifier;
88
+ const campaignType = CampaignEnum[campaign.type];
89
+ if (!res[campaign.distributionChainId][`${campaignType}_${opportunityIdentifier}`]) {
90
+ res[campaign.distributionChainId][`${campaignType}_${opportunityIdentifier}`] = {
91
+ ...OpportunityConvertorService.convertV4CampaignToV3(campaignType, campaign, opportunityIdentifier),
92
+ apr: campaign.Opportunity.apr,
93
+ tvl: campaign.Opportunity.tvl,
94
+ };
95
+ }
83
96
  }
84
- const opportunityIdentifier = campaign.Opportunity.identifier;
85
- const campaignType = CampaignEnum[campaign.type];
86
- if (!res[campaign.distributionChainId][`${campaignType}_${opportunityIdentifier}`]) {
87
- res[campaign.distributionChainId][`${campaignType}_${opportunityIdentifier}`] = {
88
- ...OpportunityConvertorService.convertV4CampaignToV3(campaignType, campaign, opportunityIdentifier),
89
- apr: campaign.Opportunity.apr,
90
- tvl: campaign.Opportunity.tvl,
91
- };
97
+ return res;
98
+ }
99
+ const campaignCachePrefix = query.live === true ? "LiveCampaigns" : "Campaigns";
100
+ const dynamicData = (await Redis.getManyWithArgs(campaignCachePrefix, chainIds)).reduce((prev, allData, index) => {
101
+ if (!!allData) {
102
+ prev[chainIds[index]] = Object.keys(allData).reduce((acc, curr) => {
103
+ if ((types.length === 0 || types.includes(Number.parseInt(curr.split("_")[0]))) &&
104
+ (!hideTestTokens || removeTestTokens(allData[curr]))) {
105
+ acc[curr] = allData[curr];
106
+ }
107
+ return acc;
108
+ }, {});
109
+ }
110
+ return prev;
111
+ }, {});
112
+ // Remove everything that doesn't contain the creator tag
113
+ if (!!query.creatorTag) {
114
+ for (const c of Object.keys(dynamicData)) {
115
+ for (const type_mainParam of Object.keys(dynamicData[c])) {
116
+ for (const campaignId of Object.keys(dynamicData[c][type_mainParam])) {
117
+ if (!dynamicData[c][type_mainParam][campaignId]?.tags?.includes(query.creatorTag)) {
118
+ delete dynamicData[c][type_mainParam][campaignId];
119
+ }
120
+ }
121
+ // Delete the type_mainParam if it's empty
122
+ if (Object.keys(dynamicData[c][type_mainParam]).length === 0) {
123
+ delete dynamicData[c][type_mainParam];
124
+ }
125
+ }
126
+ // Delete the c if it's empty
127
+ if (Object.keys(dynamicData[c]).length === 0) {
128
+ delete dynamicData[c];
129
+ }
92
130
  }
93
131
  }
94
- return res;
132
+ return dynamicData;
95
133
  }, {
96
134
  query,
97
135
  tags: ["Campaigns"],
@@ -82,9 +82,8 @@ export declare const v3: Elysia<"/v3", false, {
82
82
  };
83
83
  headers: unknown;
84
84
  response: {
85
- 200: {
86
- [x: string]: Record<string, any>;
87
- };
85
+ [x: string]: any;
86
+ 200: any;
88
87
  };
89
88
  };
90
89
  };