@merkl/api 0.10.393 → 0.10.396
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/database/api/.generated/drizzle/schema.d.ts +2806 -0
- package/dist/database/api/.generated/drizzle/schema.js +849 -0
- package/dist/database/api/.generated/drizzle/schema.ts +906 -0
- package/dist/database/api/.generated/edge.js +3 -7
- package/dist/database/api/.generated/index-browser.js +0 -4
- package/dist/database/api/.generated/index.d.ts +1 -99
- package/dist/database/api/.generated/index.js +3 -7
- package/dist/database/api/.generated/package.json +1 -1
- package/dist/database/api/.generated/schema.prisma +16 -13
- package/dist/database/api/.generated/wasm.js +0 -4
- package/dist/database/engine/.generated/edge.js +3 -7
- package/dist/database/engine/.generated/index-browser.js +0 -4
- package/dist/database/engine/.generated/index.d.ts +2 -218
- package/dist/database/engine/.generated/index.js +3 -7
- package/dist/database/engine/.generated/package.json +1 -1
- package/dist/database/engine/.generated/schema.prisma +6 -10
- package/dist/database/engine/.generated/wasm.js +0 -4
- package/dist/src/eden/index.d.ts +314 -78
- package/dist/src/index.d.ts +120 -26
- package/dist/src/jobs/etl/reward-breakdowns.js +0 -2
- package/dist/src/modules/v4/cache/cache.service.js +2 -0
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +1 -1
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +10 -10
- package/dist/src/modules/v4/campaign/campaign.repository.js +2 -2
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +3 -2
- package/dist/src/modules/v4/campaign/campaign.service.js +9 -1
- package/dist/src/modules/v4/dynamicData/dynamicData.controller.d.ts +1 -1
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +3 -3
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +5 -5
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +72 -72
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +1 -1
- package/dist/src/modules/v4/reward/reward.controller.d.ts +109 -5
- package/dist/src/modules/v4/reward/reward.controller.js +29 -21
- package/dist/src/modules/v4/reward/reward.model.d.ts +5 -8
- package/dist/src/modules/v4/reward/reward.model.js +8 -6
- package/dist/src/modules/v4/reward/reward.repository.d.ts +12 -16
- package/dist/src/modules/v4/reward/reward.repository.js +13 -20
- package/dist/src/modules/v4/reward/reward.service.d.ts +10 -23
- package/dist/src/modules/v4/reward/reward.service.js +0 -2
- package/dist/src/modules/v4/reward/subservices/converter.js +0 -2
- package/dist/src/modules/v4/router.d.ts +120 -24
- package/dist/src/modules/v4/status/status.controller.d.ts +6 -6
- package/dist/src/modules/v4/status/status.repository.d.ts +6 -6
- package/dist/src/modules/v4/status/status.service.d.ts +6 -6
- package/dist/src/modules/v4/token/token.repository.d.ts +2 -2
- package/dist/src/modules/v4/token/token.service.d.ts +3 -4
- package/dist/src/modules/v4/token/token.service.js +2 -1
- package/dist/src/modules/v4/user/user.controller.d.ts +0 -8
- package/dist/src/modules/v4/user/user.model.d.ts +5 -2
- package/dist/src/modules/v4/user/user.model.js +4 -2
- package/dist/src/modules/v4/user/user.repository.d.ts +1 -1
- package/dist/src/modules/v4/user/user.service.d.ts +1 -1
- package/dist/src/routes/v3/rewards.d.ts +0 -2
- package/dist/src/routes/v3/router.d.ts +0 -2
- package/dist/src/utils/prisma.d.ts +16 -3
- package/dist/src/utils/prisma.js +2 -1
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +4 -2
@@ -119,6 +119,14 @@ export declare abstract class OpportunityRepository {
|
|
119
119
|
Campaign: {
|
120
120
|
startTimestamp: bigint;
|
121
121
|
endTimestamp: bigint;
|
122
|
+
CampaignStatus: {
|
123
|
+
error: string;
|
124
|
+
details: Prisma.JsonValue;
|
125
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
126
|
+
campaignId: string;
|
127
|
+
computedUntil: bigint;
|
128
|
+
processingStarted: bigint;
|
129
|
+
}[];
|
122
130
|
amount: string;
|
123
131
|
RewardToken: {
|
124
132
|
symbol: string;
|
@@ -133,14 +141,6 @@ export declare abstract class OpportunityRepository {
|
|
133
141
|
isTest: boolean;
|
134
142
|
price: number | null;
|
135
143
|
};
|
136
|
-
CampaignStatus: {
|
137
|
-
error: string;
|
138
|
-
details: Prisma.JsonValue;
|
139
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
140
|
-
campaignId: string;
|
141
|
-
computedUntil: bigint;
|
142
|
-
processingStarted: bigint;
|
143
|
-
}[];
|
144
144
|
};
|
145
145
|
} & {
|
146
146
|
id: number;
|
@@ -237,6 +237,14 @@ export declare abstract class OpportunityRepository {
|
|
237
237
|
Campaign: {
|
238
238
|
startTimestamp: bigint;
|
239
239
|
endTimestamp: bigint;
|
240
|
+
CampaignStatus: {
|
241
|
+
error: string;
|
242
|
+
details: Prisma.JsonValue;
|
243
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
244
|
+
campaignId: string;
|
245
|
+
computedUntil: bigint;
|
246
|
+
processingStarted: bigint;
|
247
|
+
}[];
|
240
248
|
amount: string;
|
241
249
|
RewardToken: {
|
242
250
|
symbol: string;
|
@@ -251,14 +259,6 @@ export declare abstract class OpportunityRepository {
|
|
251
259
|
isTest: boolean;
|
252
260
|
price: number | null;
|
253
261
|
};
|
254
|
-
CampaignStatus: {
|
255
|
-
error: string;
|
256
|
-
details: Prisma.JsonValue;
|
257
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
258
|
-
campaignId: string;
|
259
|
-
computedUntil: bigint;
|
260
|
-
processingStarted: bigint;
|
261
|
-
}[];
|
262
262
|
};
|
263
263
|
} & {
|
264
264
|
id: number;
|
@@ -301,6 +301,14 @@ export declare abstract class OpportunityRepository {
|
|
301
301
|
icon: string;
|
302
302
|
};
|
303
303
|
Campaigns: ({
|
304
|
+
CampaignStatus: {
|
305
|
+
error: string;
|
306
|
+
details: Prisma.JsonValue;
|
307
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
308
|
+
campaignId: string;
|
309
|
+
computedUntil: bigint;
|
310
|
+
processingStarted: bigint;
|
311
|
+
}[];
|
304
312
|
ComputeChain: {
|
305
313
|
name: string;
|
306
314
|
id: number;
|
@@ -331,14 +339,6 @@ export declare abstract class OpportunityRepository {
|
|
331
339
|
isTest: boolean;
|
332
340
|
price: number | null;
|
333
341
|
};
|
334
|
-
CampaignStatus: {
|
335
|
-
error: string;
|
336
|
-
details: Prisma.JsonValue;
|
337
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
338
|
-
campaignId: string;
|
339
|
-
computedUntil: bigint;
|
340
|
-
processingStarted: bigint;
|
341
|
-
}[];
|
342
342
|
} & {
|
343
343
|
params: Prisma.JsonValue;
|
344
344
|
type: import("../../../../database/api/.generated").$Enums.CampaignType;
|
@@ -416,6 +416,14 @@ export declare abstract class OpportunityRepository {
|
|
416
416
|
Campaign: {
|
417
417
|
startTimestamp: bigint;
|
418
418
|
endTimestamp: bigint;
|
419
|
+
CampaignStatus: {
|
420
|
+
error: string;
|
421
|
+
details: Prisma.JsonValue;
|
422
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
423
|
+
campaignId: string;
|
424
|
+
computedUntil: bigint;
|
425
|
+
processingStarted: bigint;
|
426
|
+
}[];
|
419
427
|
amount: string;
|
420
428
|
RewardToken: {
|
421
429
|
symbol: string;
|
@@ -430,14 +438,6 @@ export declare abstract class OpportunityRepository {
|
|
430
438
|
isTest: boolean;
|
431
439
|
price: number | null;
|
432
440
|
};
|
433
|
-
CampaignStatus: {
|
434
|
-
error: string;
|
435
|
-
details: Prisma.JsonValue;
|
436
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
437
|
-
campaignId: string;
|
438
|
-
computedUntil: bigint;
|
439
|
-
processingStarted: bigint;
|
440
|
-
}[];
|
441
441
|
};
|
442
442
|
} & {
|
443
443
|
id: number;
|
@@ -485,6 +485,14 @@ export declare abstract class OpportunityRepository {
|
|
485
485
|
icon: string;
|
486
486
|
};
|
487
487
|
Campaigns: ({
|
488
|
+
CampaignStatus: {
|
489
|
+
error: string;
|
490
|
+
details: Prisma.JsonValue;
|
491
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
492
|
+
campaignId: string;
|
493
|
+
computedUntil: bigint;
|
494
|
+
processingStarted: bigint;
|
495
|
+
}[];
|
488
496
|
ComputeChain: {
|
489
497
|
name: string;
|
490
498
|
id: number;
|
@@ -515,14 +523,6 @@ export declare abstract class OpportunityRepository {
|
|
515
523
|
isTest: boolean;
|
516
524
|
price: number | null;
|
517
525
|
};
|
518
|
-
CampaignStatus: {
|
519
|
-
error: string;
|
520
|
-
details: Prisma.JsonValue;
|
521
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
522
|
-
campaignId: string;
|
523
|
-
computedUntil: bigint;
|
524
|
-
processingStarted: bigint;
|
525
|
-
}[];
|
526
526
|
} & {
|
527
527
|
params: Prisma.JsonValue;
|
528
528
|
type: import("../../../../database/api/.generated").$Enums.CampaignType;
|
@@ -600,6 +600,14 @@ export declare abstract class OpportunityRepository {
|
|
600
600
|
Campaign: {
|
601
601
|
startTimestamp: bigint;
|
602
602
|
endTimestamp: bigint;
|
603
|
+
CampaignStatus: {
|
604
|
+
error: string;
|
605
|
+
details: Prisma.JsonValue;
|
606
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
607
|
+
campaignId: string;
|
608
|
+
computedUntil: bigint;
|
609
|
+
processingStarted: bigint;
|
610
|
+
}[];
|
603
611
|
amount: string;
|
604
612
|
RewardToken: {
|
605
613
|
symbol: string;
|
@@ -614,14 +622,6 @@ export declare abstract class OpportunityRepository {
|
|
614
622
|
isTest: boolean;
|
615
623
|
price: number | null;
|
616
624
|
};
|
617
|
-
CampaignStatus: {
|
618
|
-
error: string;
|
619
|
-
details: Prisma.JsonValue;
|
620
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
621
|
-
campaignId: string;
|
622
|
-
computedUntil: bigint;
|
623
|
-
processingStarted: bigint;
|
624
|
-
}[];
|
625
625
|
};
|
626
626
|
} & {
|
627
627
|
id: number;
|
@@ -763,6 +763,14 @@ export declare abstract class OpportunityRepository {
|
|
763
763
|
Campaign: {
|
764
764
|
startTimestamp: bigint;
|
765
765
|
endTimestamp: bigint;
|
766
|
+
CampaignStatus: {
|
767
|
+
error: string;
|
768
|
+
details: Prisma.JsonValue;
|
769
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
770
|
+
campaignId: string;
|
771
|
+
computedUntil: bigint;
|
772
|
+
processingStarted: bigint;
|
773
|
+
}[];
|
766
774
|
amount: string;
|
767
775
|
RewardToken: {
|
768
776
|
symbol: string;
|
@@ -777,14 +785,6 @@ export declare abstract class OpportunityRepository {
|
|
777
785
|
isTest: boolean;
|
778
786
|
price: number | null;
|
779
787
|
};
|
780
|
-
CampaignStatus: {
|
781
|
-
error: string;
|
782
|
-
details: Prisma.JsonValue;
|
783
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
784
|
-
campaignId: string;
|
785
|
-
computedUntil: bigint;
|
786
|
-
processingStarted: bigint;
|
787
|
-
}[];
|
788
788
|
};
|
789
789
|
} & {
|
790
790
|
id: number;
|
@@ -820,6 +820,14 @@ export declare abstract class OpportunityRepository {
|
|
820
820
|
icon: string;
|
821
821
|
};
|
822
822
|
Campaigns: ({
|
823
|
+
CampaignStatus: {
|
824
|
+
error: string;
|
825
|
+
details: Prisma.JsonValue;
|
826
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
827
|
+
campaignId: string;
|
828
|
+
computedUntil: bigint;
|
829
|
+
processingStarted: bigint;
|
830
|
+
}[];
|
823
831
|
ComputeChain: {
|
824
832
|
name: string;
|
825
833
|
id: number;
|
@@ -843,14 +851,6 @@ export declare abstract class OpportunityRepository {
|
|
843
851
|
isTest: boolean;
|
844
852
|
price: number | null;
|
845
853
|
};
|
846
|
-
CampaignStatus: {
|
847
|
-
error: string;
|
848
|
-
details: Prisma.JsonValue;
|
849
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
850
|
-
campaignId: string;
|
851
|
-
computedUntil: bigint;
|
852
|
-
processingStarted: bigint;
|
853
|
-
}[];
|
854
854
|
} & {
|
855
855
|
params: Prisma.JsonValue;
|
856
856
|
type: import("../../../../database/api/.generated").$Enums.CampaignType;
|
@@ -928,6 +928,14 @@ export declare abstract class OpportunityRepository {
|
|
928
928
|
Campaign: {
|
929
929
|
startTimestamp: bigint;
|
930
930
|
endTimestamp: bigint;
|
931
|
+
CampaignStatus: {
|
932
|
+
error: string;
|
933
|
+
details: Prisma.JsonValue;
|
934
|
+
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
935
|
+
campaignId: string;
|
936
|
+
computedUntil: bigint;
|
937
|
+
processingStarted: bigint;
|
938
|
+
}[];
|
931
939
|
amount: string;
|
932
940
|
RewardToken: {
|
933
941
|
symbol: string;
|
@@ -942,14 +950,6 @@ export declare abstract class OpportunityRepository {
|
|
942
950
|
isTest: boolean;
|
943
951
|
price: number | null;
|
944
952
|
};
|
945
|
-
CampaignStatus: {
|
946
|
-
error: string;
|
947
|
-
details: Prisma.JsonValue;
|
948
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
949
|
-
campaignId: string;
|
950
|
-
computedUntil: bigint;
|
951
|
-
processingStarted: bigint;
|
952
|
-
}[];
|
953
953
|
};
|
954
954
|
} & {
|
955
955
|
id: number;
|
@@ -131,7 +131,6 @@ export declare abstract class OpportunityService {
|
|
131
131
|
tags: string[];
|
132
132
|
icon: string;
|
133
133
|
} | null | undefined;
|
134
|
-
depositUrl?: string | undefined;
|
135
134
|
aprRecord?: {
|
136
135
|
timestamp: string | bigint;
|
137
136
|
cumulated: number;
|
@@ -143,6 +142,7 @@ export declare abstract class OpportunityService {
|
|
143
142
|
aprRecordId: string;
|
144
143
|
}[];
|
145
144
|
} | undefined;
|
145
|
+
depositUrl?: string | undefined;
|
146
146
|
tvlRecord?: {
|
147
147
|
total: number;
|
148
148
|
timestamp: string | bigint;
|
@@ -96,6 +96,106 @@ export declare const RewardController: Elysia<"/rewards", {
|
|
96
96
|
};
|
97
97
|
};
|
98
98
|
};
|
99
|
+
} & {
|
100
|
+
campaign: {
|
101
|
+
":campaignId": {
|
102
|
+
index: {
|
103
|
+
get: {
|
104
|
+
body: unknown;
|
105
|
+
params: {
|
106
|
+
campaignId: string;
|
107
|
+
};
|
108
|
+
query: {
|
109
|
+
items?: number | undefined;
|
110
|
+
page?: number | undefined;
|
111
|
+
};
|
112
|
+
headers: unknown;
|
113
|
+
response: {
|
114
|
+
200: {
|
115
|
+
amount: string;
|
116
|
+
claimed: string;
|
117
|
+
pending: string;
|
118
|
+
recipient: string;
|
119
|
+
}[];
|
120
|
+
422: {
|
121
|
+
type: "validation";
|
122
|
+
on: string;
|
123
|
+
summary?: string;
|
124
|
+
message?: string;
|
125
|
+
found?: unknown;
|
126
|
+
property?: string;
|
127
|
+
expected?: string;
|
128
|
+
};
|
129
|
+
};
|
130
|
+
};
|
131
|
+
};
|
132
|
+
};
|
133
|
+
};
|
134
|
+
} & {
|
135
|
+
campaign: {
|
136
|
+
":campaignId": {
|
137
|
+
total: {
|
138
|
+
get: {
|
139
|
+
body: unknown;
|
140
|
+
params: {
|
141
|
+
campaignId: string;
|
142
|
+
};
|
143
|
+
query: {
|
144
|
+
items?: number | undefined;
|
145
|
+
page?: number | undefined;
|
146
|
+
};
|
147
|
+
headers: unknown;
|
148
|
+
response: {
|
149
|
+
200: {
|
150
|
+
tokenId: string;
|
151
|
+
amount: bigint;
|
152
|
+
};
|
153
|
+
422: {
|
154
|
+
type: "validation";
|
155
|
+
on: string;
|
156
|
+
summary?: string;
|
157
|
+
message?: string;
|
158
|
+
found?: unknown;
|
159
|
+
property?: string;
|
160
|
+
expected?: string;
|
161
|
+
};
|
162
|
+
};
|
163
|
+
};
|
164
|
+
};
|
165
|
+
};
|
166
|
+
};
|
167
|
+
} & {
|
168
|
+
campaign: {
|
169
|
+
":campaignId": {
|
170
|
+
count: {
|
171
|
+
get: {
|
172
|
+
body: unknown;
|
173
|
+
params: {
|
174
|
+
campaignId: string;
|
175
|
+
};
|
176
|
+
query: {
|
177
|
+
items?: number | undefined;
|
178
|
+
page?: number | undefined;
|
179
|
+
};
|
180
|
+
headers: unknown;
|
181
|
+
response: {
|
182
|
+
200: {
|
183
|
+
count: number;
|
184
|
+
};
|
185
|
+
422: {
|
186
|
+
type: "validation";
|
187
|
+
on: string;
|
188
|
+
summary?: string;
|
189
|
+
message?: string;
|
190
|
+
found?: unknown;
|
191
|
+
property?: string;
|
192
|
+
expected?: string;
|
193
|
+
};
|
194
|
+
};
|
195
|
+
};
|
196
|
+
};
|
197
|
+
};
|
198
|
+
};
|
99
199
|
} & {
|
100
200
|
token: {
|
101
201
|
index: {
|
@@ -105,12 +205,18 @@ export declare const RewardController: Elysia<"/rewards", {
|
|
105
205
|
query: {
|
106
206
|
items?: number | undefined;
|
107
207
|
page?: number | undefined;
|
208
|
+
campaignIds?: string[] | undefined;
|
108
209
|
chainId: number;
|
109
210
|
address: string;
|
110
211
|
};
|
111
212
|
headers: unknown;
|
112
213
|
response: {
|
113
|
-
200:
|
214
|
+
200: {
|
215
|
+
amount: string;
|
216
|
+
claimed: string;
|
217
|
+
pending: string;
|
218
|
+
recipient: string;
|
219
|
+
}[];
|
114
220
|
422: {
|
115
221
|
type: "validation";
|
116
222
|
on: string;
|
@@ -133,6 +239,7 @@ export declare const RewardController: Elysia<"/rewards", {
|
|
133
239
|
query: {
|
134
240
|
items?: number | undefined;
|
135
241
|
page?: number | undefined;
|
242
|
+
campaignIds?: string[] | undefined;
|
136
243
|
chainId: number;
|
137
244
|
address: string;
|
138
245
|
};
|
@@ -164,6 +271,7 @@ export declare const RewardController: Elysia<"/rewards", {
|
|
164
271
|
query: {
|
165
272
|
items?: number | undefined;
|
166
273
|
page?: number | undefined;
|
274
|
+
campaignIds?: string[] | undefined;
|
167
275
|
chainId: number;
|
168
276
|
address: string;
|
169
277
|
};
|
@@ -232,8 +340,6 @@ export declare const RewardController: Elysia<"/rewards", {
|
|
232
340
|
rewardToken: string;
|
233
341
|
breakdowns: {
|
234
342
|
protocolId?: string | undefined;
|
235
|
-
auxiliaryData1?: string | undefined;
|
236
|
-
auxiliaryData2?: string | undefined;
|
237
343
|
reason: string;
|
238
344
|
pending: string;
|
239
345
|
recipient: string;
|
@@ -299,8 +405,6 @@ export declare const RewardController: Elysia<"/rewards", {
|
|
299
405
|
post: {
|
300
406
|
body: {
|
301
407
|
data: {
|
302
|
-
auxiliaryData1?: string | undefined;
|
303
|
-
auxiliaryData2?: string | undefined;
|
304
408
|
reason: string;
|
305
409
|
pending: string;
|
306
410
|
recipient: string;
|
@@ -3,7 +3,9 @@ import { AuthorizationHeadersDto, EngineGuard } from "../../../guards/Engine.gua
|
|
3
3
|
import { throwOnInvalidRequiredAddress, throwOnUnsupportedChainId } from "../../../utils/throw";
|
4
4
|
import Elysia from "elysia";
|
5
5
|
import { ChainDto } from "../accounting";
|
6
|
-
import {
|
6
|
+
import { CampaignService } from "../campaign";
|
7
|
+
import { TokenService } from "../token";
|
8
|
+
import { CampaignIdDto, CampaignIdWithoutPageDto, CampaignRewardsDto, CreateManyBreakdownDto, CreateManyRewardDto, RegisterClaimsDto, TokenIdDto, UpdatePendingDto, } from "./reward.model";
|
7
9
|
import { RewardService } from "./reward.service";
|
8
10
|
// ─── Rewards Controller ──────────────────────────────────────────────────────
|
9
11
|
export const RewardController = new Elysia({ prefix: "/rewards", detail: { tags: ["Rewards"] } })
|
@@ -33,35 +35,41 @@ export const RewardController = new Elysia({ prefix: "/rewards", detail: { tags:
|
|
33
35
|
},
|
34
36
|
detail: { hide: true },
|
35
37
|
})
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
.
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
38
|
+
// ─── Get Reward by campaign ─────────────
|
39
|
+
.group("/campaign/:campaignId", app => {
|
40
|
+
return app
|
41
|
+
.resolve(async ({ params: { campaignId } }) => {
|
42
|
+
const campaign = await CampaignService.findUniqueOrThrow(CampaignService.splitIdOrThrow(campaignId));
|
43
|
+
const token = await TokenService.findUniqueOrThrow(campaign.rewardTokenId);
|
44
|
+
const rewardQuery = {
|
45
|
+
chainId: token.chainId,
|
46
|
+
address: token.address,
|
47
|
+
campaignIds: [campaign.campaignId],
|
48
|
+
};
|
49
|
+
return { campaign, token, rewardQuery };
|
46
50
|
})
|
47
|
-
|
48
|
-
|
49
|
-
query: TokenIdDto,
|
50
|
-
beforeHandle: ({ query }) => {
|
51
|
-
query.address = throwOnInvalidRequiredAddress(query.address);
|
52
|
-
throwOnUnsupportedChainId(query.chainId);
|
53
|
-
},
|
51
|
+
.guard({
|
52
|
+
query: CampaignRewardsDto,
|
54
53
|
detail: { hide: true },
|
55
54
|
})
|
56
|
-
|
57
|
-
.get("/
|
55
|
+
.get("/", async ({ query, rewardQuery }) => await RewardService.breakdownForToken({ ...query, ...rewardQuery }))
|
56
|
+
.get("/total", async ({ query, rewardQuery }) => await RewardService.totalForToken({ ...query, ...rewardQuery }))
|
57
|
+
.get("/count", async ({ query, rewardQuery }) => await RewardService.countForToken({ ...query, ...rewardQuery }));
|
58
|
+
})
|
59
|
+
// ─── Get Reward Breakdowns For Token ───────────────────────────────
|
60
|
+
.group("/token", app => {
|
61
|
+
return app
|
62
|
+
.guard({
|
58
63
|
query: TokenIdDto,
|
59
64
|
beforeHandle: ({ query }) => {
|
60
65
|
query.address = throwOnInvalidRequiredAddress(query.address);
|
61
66
|
throwOnUnsupportedChainId(query.chainId);
|
62
67
|
},
|
63
68
|
detail: { hide: true },
|
64
|
-
})
|
69
|
+
})
|
70
|
+
.get("/", async ({ query }) => await RewardService.breakdownForToken(query))
|
71
|
+
.get("/total", async ({ query }) => await RewardService.totalForToken(query))
|
72
|
+
.get("/count", async ({ query }) => await RewardService.countForToken(query));
|
65
73
|
})
|
66
74
|
.group("/engine", app => {
|
67
75
|
return (app
|
@@ -90,8 +90,6 @@ export declare const CreateManyBreakdownDto: import("@sinclair/typebox").TArray<
|
|
90
90
|
amount: import("@sinclair/typebox").TString;
|
91
91
|
claimed: import("@sinclair/typebox").TString;
|
92
92
|
pending: import("@sinclair/typebox").TString;
|
93
|
-
auxiliaryData1: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
94
|
-
auxiliaryData2: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
95
93
|
}>>;
|
96
94
|
}>>;
|
97
95
|
declare const RewardDto: import("@sinclair/typebox").TObject<{
|
@@ -124,8 +122,6 @@ declare const PendingDto: import("@sinclair/typebox").TObject<{
|
|
124
122
|
recipient: import("@sinclair/typebox").TString;
|
125
123
|
reason: import("@sinclair/typebox").TString;
|
126
124
|
pending: import("@sinclair/typebox").TString;
|
127
|
-
auxiliaryData1: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
128
|
-
auxiliaryData2: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
129
125
|
}>;
|
130
126
|
export declare const UpdatePendingDto: import("@sinclair/typebox").TObject<{
|
131
127
|
distributionChainId: import("@sinclair/typebox").TNumber;
|
@@ -136,8 +132,6 @@ export declare const UpdatePendingDto: import("@sinclair/typebox").TObject<{
|
|
136
132
|
recipient: import("@sinclair/typebox").TString;
|
137
133
|
reason: import("@sinclair/typebox").TString;
|
138
134
|
pending: import("@sinclair/typebox").TString;
|
139
|
-
auxiliaryData1: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
140
|
-
auxiliaryData2: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
141
135
|
}>>;
|
142
136
|
}>;
|
143
137
|
export declare const RewardsByUser: import("@sinclair/typebox").TObject<{
|
@@ -176,6 +170,11 @@ export declare const CampaignIdDto: import("@sinclair/typebox").TObject<{
|
|
176
170
|
export declare const TokenIdDto: import("@sinclair/typebox").TObject<{
|
177
171
|
chainId: import("@sinclair/typebox").TNumber;
|
178
172
|
address: import("@sinclair/typebox").TString;
|
173
|
+
campaignIds: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>, string[]>>;
|
174
|
+
page: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
175
|
+
items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
176
|
+
}>;
|
177
|
+
export declare const CampaignRewardsDto: import("@sinclair/typebox").TObject<{
|
179
178
|
page: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
180
179
|
items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
181
180
|
}>;
|
@@ -197,8 +196,6 @@ export declare const RewardV3Dto: import("@sinclair/typebox").TRecord<import("@s
|
|
197
196
|
accumulated: import("@sinclair/typebox").TString;
|
198
197
|
unclaimed: import("@sinclair/typebox").TString;
|
199
198
|
pending: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
200
|
-
auxiliaryData1: import("@sinclair/typebox").TString;
|
201
|
-
auxiliaryData2: import("@sinclair/typebox").TString;
|
202
199
|
decimals: import("@sinclair/typebox").TNumber;
|
203
200
|
mainParameter: import("@sinclair/typebox").TString;
|
204
201
|
symbol: import("@sinclair/typebox").TString;
|
@@ -22,8 +22,6 @@ const BreakdownDto = t.Object({
|
|
22
22
|
amount: t.String(),
|
23
23
|
claimed: t.String(),
|
24
24
|
pending: t.String(),
|
25
|
-
auxiliaryData1: t.Optional(t.String()),
|
26
|
-
auxiliaryData2: t.Optional(t.String()),
|
27
25
|
});
|
28
26
|
export const CreateManyBreakdownDto = t.Array(t.Object({
|
29
27
|
distributionChainId: t.Numeric(),
|
@@ -53,8 +51,6 @@ const PendingDto = t.Object({
|
|
53
51
|
recipient: t.String(),
|
54
52
|
reason: t.String(),
|
55
53
|
pending: t.String(),
|
56
|
-
auxiliaryData1: t.Optional(t.String()),
|
57
|
-
auxiliaryData2: t.Optional(t.String()),
|
58
54
|
});
|
59
55
|
export const UpdatePendingDto = t.Object({
|
60
56
|
distributionChainId: t.Numeric(),
|
@@ -122,6 +118,14 @@ export const TokenIdDto = t.Object({
|
|
122
118
|
address: t.String({
|
123
119
|
description: "Token Address",
|
124
120
|
}),
|
121
|
+
campaignIds: t.Optional(t
|
122
|
+
.Transform(t.Union([t.String(), t.Array(t.String())]))
|
123
|
+
.Decode(value => (typeof value === "string" ? value.split(",") : value))
|
124
|
+
.Encode(value => [...value])),
|
125
|
+
page: t.Optional(t.Numeric({ description: "Page number", default: 0 })), // 0-indexed
|
126
|
+
items: t.Optional(t.Numeric({ description: "Number of returned rows", default: 20 })), // items per page
|
127
|
+
});
|
128
|
+
export const CampaignRewardsDto = t.Object({
|
125
129
|
page: t.Optional(t.Numeric({ description: "Page number", default: 0 })), // 0-indexed
|
126
130
|
items: t.Optional(t.Numeric({ description: "Number of returned rows", default: 20 })), // items per page
|
127
131
|
});
|
@@ -139,8 +143,6 @@ export const RewardV3Dto = t.Record(t.String({ title: "Chain" }), t.Object({
|
|
139
143
|
accumulated: t.String(),
|
140
144
|
unclaimed: t.String(),
|
141
145
|
pending: t.Optional(t.String()),
|
142
|
-
auxiliaryData1: t.String(),
|
143
|
-
auxiliaryData2: t.String(),
|
144
146
|
decimals: t.Numeric(),
|
145
147
|
mainParameter: t.String(),
|
146
148
|
symbol: t.String(),
|