@merkl/api 0.10.169 → 0.10.170
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/edge.js +6 -3
- package/dist/database/api/.generated/index-browser.js +3 -0
- package/dist/database/api/.generated/index.d.ts +113 -0
- package/dist/database/api/.generated/index.js +6 -3
- package/dist/database/api/.generated/package.json +1 -1
- package/dist/database/api/.generated/schema.prisma +17 -15
- package/dist/database/api/.generated/wasm.js +3 -0
- package/dist/src/eden/index.d.ts +108 -3
- package/dist/src/index.d.ts +36 -1
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/factoryFinder.js +2 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.d.ts +3 -1
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/helpers/tokenType.js +8 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleYTProcessor.d.ts +29 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/PendleYTProcessor.js +31 -0
- package/dist/src/libs/campaigns/campaignTypes/ERC20SubTypes/processor/processorMapping.js +3 -0
- package/dist/src/modules/v4/campaign/campaign.controller.d.ts +4 -0
- package/dist/src/modules/v4/campaign/campaign.model.d.ts +1 -0
- package/dist/src/modules/v4/campaign/campaign.model.js +1 -0
- package/dist/src/modules/v4/campaign/campaign.repository.d.ts +2 -0
- package/dist/src/modules/v4/campaign/campaign.repository.js +2 -1
- package/dist/src/modules/v4/campaign/campaign.service.d.ts +4 -0
- package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +18 -1
- package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +2 -1
- package/dist/src/modules/v4/opportunity/opportunity.model.js +1 -0
- package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +24 -105
- package/dist/src/modules/v4/opportunity/opportunity.repository.js +2 -0
- package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +31 -5
- package/dist/src/modules/v4/price/price.controller.js +1 -1
- package/dist/src/modules/v4/price/price.service.d.ts +1 -1
- package/dist/src/modules/v4/price/price.service.js +3 -3
- package/dist/src/modules/v4/reward/reward.repository.d.ts +4 -0
- package/dist/src/modules/v4/reward/reward.service.d.ts +22 -0
- package/dist/src/modules/v4/router.d.ts +36 -1
- package/dist/src/modules/v4/token/token.controller.d.ts +6 -0
- package/dist/src/modules/v4/token/token.service.d.ts +12 -0
- package/dist/src/modules/v4/user/user.controller.d.ts +8 -0
- package/dist/src/routes/v3/blacklist.d.ts +36 -1
- package/dist/src/routes/v3/campaigns.d.ts +36 -1
- package/dist/src/routes/v3/campaignsInfo.d.ts +36 -1
- package/dist/src/routes/v3/multiChainPositions.d.ts +36 -1
- package/dist/src/routes/v3/opportunity.d.ts +36 -1
- package/dist/src/routes/v3/positions.d.ts +36 -1
- package/dist/src/routes/v3/rewards.d.ts +36 -1
- package/dist/src/routes/v3/updates.d.ts +36 -1
- package/dist/src/routes/v3/userRewards.d.ts +36 -1
- package/dist/src/utils/decodeCalls.js +4 -1
- package/dist/src/utils/encodeCalls.js +4 -1
- package/dist/src/utils/generateCardName.js +2 -0
- package/dist/src/utils/prices/services/erc4626Service.js +7 -1
- package/dist/tsconfig.package.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -3,7 +3,7 @@ import type { MerklChainId } from "@sdk";
|
|
3
3
|
import { type AprRecord } from "../apr";
|
4
4
|
import { type DailyRewardsRecord } from "../reward";
|
5
5
|
import { type TvlRecord } from "../tvl";
|
6
|
-
import type { CreateOpportunityModel,
|
6
|
+
import type { CreateOpportunityModel, GetOpportunitiesQueryModel } from "./opportunity.model";
|
7
7
|
export declare abstract class OpportunityRepository {
|
8
8
|
#private;
|
9
9
|
static create(newOpp: CreateOpportunityModel): Promise<void>;
|
@@ -21,7 +21,9 @@ export declare abstract class OpportunityRepository {
|
|
21
21
|
address: string;
|
22
22
|
icon: string;
|
23
23
|
decimals: number;
|
24
|
+
displaySymbol: string;
|
24
25
|
verified: boolean;
|
26
|
+
isTest: boolean;
|
25
27
|
price: number | null;
|
26
28
|
}[];
|
27
29
|
Protocols: {
|
@@ -82,7 +84,9 @@ export declare abstract class OpportunityRepository {
|
|
82
84
|
address: string;
|
83
85
|
icon: string;
|
84
86
|
decimals: number;
|
87
|
+
displaySymbol: string;
|
85
88
|
verified: boolean;
|
89
|
+
isTest: boolean;
|
86
90
|
price: number | null;
|
87
91
|
};
|
88
92
|
CampaignStatus: {
|
@@ -145,7 +149,9 @@ export declare abstract class OpportunityRepository {
|
|
145
149
|
address: string;
|
146
150
|
icon: string;
|
147
151
|
decimals: number;
|
152
|
+
displaySymbol: string;
|
148
153
|
verified: boolean;
|
154
|
+
isTest: boolean;
|
149
155
|
price: number | null;
|
150
156
|
};
|
151
157
|
CampaignStatus: {
|
@@ -179,7 +185,9 @@ export declare abstract class OpportunityRepository {
|
|
179
185
|
address: string;
|
180
186
|
icon: string;
|
181
187
|
decimals: number;
|
188
|
+
displaySymbol: string;
|
182
189
|
verified: boolean;
|
190
|
+
isTest: boolean;
|
183
191
|
price: number | null;
|
184
192
|
}[];
|
185
193
|
Protocols: {
|
@@ -240,7 +248,9 @@ export declare abstract class OpportunityRepository {
|
|
240
248
|
address: string;
|
241
249
|
icon: string;
|
242
250
|
decimals: number;
|
251
|
+
displaySymbol: string;
|
243
252
|
verified: boolean;
|
253
|
+
isTest: boolean;
|
244
254
|
price: number | null;
|
245
255
|
};
|
246
256
|
CampaignStatus: {
|
@@ -288,7 +298,9 @@ export declare abstract class OpportunityRepository {
|
|
288
298
|
address: string;
|
289
299
|
icon: string;
|
290
300
|
decimals: number;
|
301
|
+
displaySymbol: string;
|
291
302
|
verified: boolean;
|
303
|
+
isTest: boolean;
|
292
304
|
price: number | null;
|
293
305
|
};
|
294
306
|
} & {
|
@@ -320,106 +332,7 @@ export declare abstract class OpportunityRepository {
|
|
320
332
|
apr: number;
|
321
333
|
dailyRewards: number;
|
322
334
|
})[]>;
|
323
|
-
static findMany(query:
|
324
|
-
Chain: {
|
325
|
-
name: string;
|
326
|
-
id: number;
|
327
|
-
icon: string;
|
328
|
-
};
|
329
|
-
Tokens: {
|
330
|
-
symbol: string;
|
331
|
-
name: string | null;
|
332
|
-
id: string;
|
333
|
-
chainId: number;
|
334
|
-
address: string;
|
335
|
-
icon: string;
|
336
|
-
decimals: number;
|
337
|
-
verified: boolean;
|
338
|
-
price: number | null;
|
339
|
-
}[];
|
340
|
-
Protocols: {
|
341
|
-
name: string;
|
342
|
-
url: string;
|
343
|
-
description: string;
|
344
|
-
id: string;
|
345
|
-
tags: import("../../../../database/api/.generated").$Enums.ProtocolTag[];
|
346
|
-
icon: string;
|
347
|
-
}[];
|
348
|
-
MainProtocol: {
|
349
|
-
name: string;
|
350
|
-
url: string;
|
351
|
-
description: string;
|
352
|
-
id: string;
|
353
|
-
tags: import("../../../../database/api/.generated").$Enums.ProtocolTag[];
|
354
|
-
icon: string;
|
355
|
-
} | null;
|
356
|
-
TvlRecords: ({
|
357
|
-
TvlBreakdown: {
|
358
|
-
type: import("../../../../database/api/.generated").$Enums.TvlType;
|
359
|
-
id: number;
|
360
|
-
identifier: string;
|
361
|
-
value: number;
|
362
|
-
tvlRecordId: string;
|
363
|
-
}[];
|
364
|
-
} & {
|
365
|
-
total: number;
|
366
|
-
id: string;
|
367
|
-
timestamp: bigint;
|
368
|
-
opportunityId: string;
|
369
|
-
})[];
|
370
|
-
AprRecords: ({
|
371
|
-
AprBreakdown: {
|
372
|
-
type: import("../../../../database/api/.generated").$Enums.AprType;
|
373
|
-
id: number;
|
374
|
-
identifier: string;
|
375
|
-
value: number;
|
376
|
-
aprRecordId: string;
|
377
|
-
}[];
|
378
|
-
} & {
|
379
|
-
id: string;
|
380
|
-
timestamp: bigint;
|
381
|
-
opportunityId: string;
|
382
|
-
cumulated: number;
|
383
|
-
})[];
|
384
|
-
DailyRewardsRecords: ({
|
385
|
-
DailyRewardsBreakdown: ({
|
386
|
-
Campaign: {
|
387
|
-
startTimestamp: bigint;
|
388
|
-
endTimestamp: bigint;
|
389
|
-
amount: string;
|
390
|
-
RewardToken: {
|
391
|
-
symbol: string;
|
392
|
-
name: string | null;
|
393
|
-
id: string;
|
394
|
-
chainId: number;
|
395
|
-
address: string;
|
396
|
-
icon: string;
|
397
|
-
decimals: number;
|
398
|
-
verified: boolean;
|
399
|
-
price: number | null;
|
400
|
-
};
|
401
|
-
CampaignStatus: {
|
402
|
-
error: string;
|
403
|
-
details: Prisma.JsonValue;
|
404
|
-
status: import("../../../../database/api/.generated").$Enums.RunStatus;
|
405
|
-
campaignId: string;
|
406
|
-
computedUntil: bigint;
|
407
|
-
processingStarted: bigint;
|
408
|
-
}[];
|
409
|
-
};
|
410
|
-
} & {
|
411
|
-
id: number;
|
412
|
-
value: number;
|
413
|
-
campaignId: string;
|
414
|
-
dailyRewardsRecordId: string;
|
415
|
-
})[];
|
416
|
-
} & {
|
417
|
-
total: number;
|
418
|
-
id: string;
|
419
|
-
timestamp: bigint;
|
420
|
-
opportunityId: string;
|
421
|
-
})[];
|
422
|
-
} & {
|
335
|
+
static findMany(query: GetOpportunitiesQueryModel): Promise<{
|
423
336
|
name: string;
|
424
337
|
type: import("../../../../database/api/.generated").$Enums.CampaignType;
|
425
338
|
id: string;
|
@@ -432,7 +345,7 @@ export declare abstract class OpportunityRepository {
|
|
432
345
|
tvl: number;
|
433
346
|
apr: number;
|
434
347
|
dailyRewards: number;
|
435
|
-
}
|
348
|
+
}[]>;
|
436
349
|
static findLiveWithFirstCampaign(chainId: MerklChainId): Promise<({
|
437
350
|
Chain: {
|
438
351
|
name: string;
|
@@ -458,7 +371,9 @@ export declare abstract class OpportunityRepository {
|
|
458
371
|
address: string;
|
459
372
|
icon: string;
|
460
373
|
decimals: number;
|
374
|
+
displaySymbol: string;
|
461
375
|
verified: boolean;
|
376
|
+
isTest: boolean;
|
462
377
|
price: number | null;
|
463
378
|
};
|
464
379
|
CampaignStatus: {
|
@@ -492,7 +407,9 @@ export declare abstract class OpportunityRepository {
|
|
492
407
|
address: string;
|
493
408
|
icon: string;
|
494
409
|
decimals: number;
|
410
|
+
displaySymbol: string;
|
495
411
|
verified: boolean;
|
412
|
+
isTest: boolean;
|
496
413
|
price: number | null;
|
497
414
|
}[];
|
498
415
|
Protocols: {
|
@@ -553,7 +470,9 @@ export declare abstract class OpportunityRepository {
|
|
553
470
|
address: string;
|
554
471
|
icon: string;
|
555
472
|
decimals: number;
|
473
|
+
displaySymbol: string;
|
556
474
|
verified: boolean;
|
475
|
+
isTest: boolean;
|
557
476
|
price: number | null;
|
558
477
|
};
|
559
478
|
CampaignStatus: {
|
@@ -591,7 +510,7 @@ export declare abstract class OpportunityRepository {
|
|
591
510
|
apr: number;
|
592
511
|
dailyRewards: number;
|
593
512
|
})[]>;
|
594
|
-
static countMany(query:
|
513
|
+
static countMany(query: GetOpportunitiesQueryModel): Promise<number>;
|
595
514
|
static getAllIdsForDynamicOpp(): Promise<{
|
596
515
|
id: string;
|
597
516
|
}[]>;
|
@@ -679,7 +598,7 @@ export declare abstract class OpportunityRepository {
|
|
679
598
|
apr: number;
|
680
599
|
dailyRewards: number;
|
681
600
|
}>;
|
682
|
-
static aggregateSum(field: keyof Prisma.OpportunitySumAggregateInputType, query:
|
683
|
-
sum:
|
601
|
+
static aggregateSum(field: keyof Prisma.OpportunitySumAggregateInputType, query: GetOpportunitiesQueryModel): Promise<{
|
602
|
+
sum: number | null;
|
684
603
|
}>;
|
685
604
|
}
|
@@ -129,6 +129,7 @@ export class OpportunityRepository {
|
|
129
129
|
const protocols = query.mainProtocolId?.split(",");
|
130
130
|
const sort = (query.sort === "rewards" ? "dailyRewards" : query.sort) ?? "dailyRewards";
|
131
131
|
const order = query.order ?? "desc";
|
132
|
+
const test = query.test ?? false;
|
132
133
|
const noFilters = Object.values(filters).every(v => v === undefined);
|
133
134
|
const tokensFilters = tokens?.map(symbol => ({
|
134
135
|
Tokens: { some: { symbol: { equals: symbol, mode: "insensitive" } } },
|
@@ -154,6 +155,7 @@ export class OpportunityRepository {
|
|
154
155
|
status: !status ? undefined : { in: status },
|
155
156
|
},
|
156
157
|
{ mainProtocolId: !protocols ? undefined : { in: protocols } },
|
158
|
+
test ? undefined : { Campaigns: { some: { RewardToken: { isTest: false } } } },
|
157
159
|
],
|
158
160
|
},
|
159
161
|
};
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { type CreateCampaignModel } from "../campaign";
|
2
2
|
import { Prisma } from "../../../../database/api/.generated";
|
3
3
|
import { type ChainId, type MerklChainId } from "@sdk";
|
4
|
-
import type { CreateOpportunityModel,
|
4
|
+
import type { CreateOpportunityModel, GetOpportunitiesQueryModel, LightOpportunityFromDB, OpportunityMetadata, OpportunityUnique } from "./opportunity.model";
|
5
5
|
import { OpportunityRepository } from "./opportunity.repository";
|
6
6
|
export declare abstract class OpportunityService {
|
7
7
|
static hashId(opportunity: OpportunityUnique): string;
|
@@ -60,7 +60,9 @@ export declare abstract class OpportunityService {
|
|
60
60
|
address: string;
|
61
61
|
icon: string;
|
62
62
|
decimals: number;
|
63
|
+
displaySymbol: string;
|
63
64
|
verified: boolean;
|
65
|
+
isTest: boolean;
|
64
66
|
price: number | null;
|
65
67
|
};
|
66
68
|
amount: bigint;
|
@@ -75,7 +77,9 @@ export declare abstract class OpportunityService {
|
|
75
77
|
address: string;
|
76
78
|
icon: string;
|
77
79
|
decimals: number;
|
80
|
+
displaySymbol: string;
|
78
81
|
verified: boolean;
|
82
|
+
isTest: boolean;
|
79
83
|
price: number | null;
|
80
84
|
}[];
|
81
85
|
chain: {
|
@@ -117,7 +121,9 @@ export declare abstract class OpportunityService {
|
|
117
121
|
address: string;
|
118
122
|
icon: string;
|
119
123
|
decimals: number;
|
124
|
+
displaySymbol: string;
|
120
125
|
verified: boolean;
|
126
|
+
isTest: boolean;
|
121
127
|
price: number | null;
|
122
128
|
};
|
123
129
|
distributionChain: {
|
@@ -188,7 +194,9 @@ export declare abstract class OpportunityService {
|
|
188
194
|
address: string;
|
189
195
|
icon: string;
|
190
196
|
decimals: number;
|
197
|
+
displaySymbol: string;
|
191
198
|
verified: boolean;
|
199
|
+
isTest: boolean;
|
192
200
|
price: number | null;
|
193
201
|
};
|
194
202
|
amount: bigint;
|
@@ -203,7 +211,9 @@ export declare abstract class OpportunityService {
|
|
203
211
|
address: string;
|
204
212
|
icon: string;
|
205
213
|
decimals: number;
|
214
|
+
displaySymbol: string;
|
206
215
|
verified: boolean;
|
216
|
+
isTest: boolean;
|
207
217
|
price: number | null;
|
208
218
|
}[];
|
209
219
|
chain: {
|
@@ -235,7 +245,7 @@ export declare abstract class OpportunityService {
|
|
235
245
|
* @param query
|
236
246
|
* @returns A list of opportunities
|
237
247
|
*/
|
238
|
-
static getMany(query:
|
248
|
+
static getMany(query: GetOpportunitiesQueryModel): Promise<({
|
239
249
|
aprRecord: {
|
240
250
|
cumulated: number;
|
241
251
|
timestamp: bigint;
|
@@ -276,7 +286,9 @@ export declare abstract class OpportunityService {
|
|
276
286
|
address: string;
|
277
287
|
icon: string;
|
278
288
|
decimals: number;
|
289
|
+
displaySymbol: string;
|
279
290
|
verified: boolean;
|
291
|
+
isTest: boolean;
|
280
292
|
price: number | null;
|
281
293
|
};
|
282
294
|
amount: bigint;
|
@@ -291,7 +303,9 @@ export declare abstract class OpportunityService {
|
|
291
303
|
address: string;
|
292
304
|
icon: string;
|
293
305
|
decimals: number;
|
306
|
+
displaySymbol: string;
|
294
307
|
verified: boolean;
|
308
|
+
isTest: boolean;
|
295
309
|
price: number | null;
|
296
310
|
}[];
|
297
311
|
chain: {
|
@@ -359,7 +373,9 @@ export declare abstract class OpportunityService {
|
|
359
373
|
address: string;
|
360
374
|
icon: string;
|
361
375
|
decimals: number;
|
376
|
+
displaySymbol: string;
|
362
377
|
verified: boolean;
|
378
|
+
isTest: boolean;
|
363
379
|
price: number | null;
|
364
380
|
};
|
365
381
|
amount: bigint;
|
@@ -374,7 +390,9 @@ export declare abstract class OpportunityService {
|
|
374
390
|
address: string;
|
375
391
|
icon: string;
|
376
392
|
decimals: number;
|
393
|
+
displaySymbol: string;
|
377
394
|
verified: boolean;
|
395
|
+
isTest: boolean;
|
378
396
|
price: number | null;
|
379
397
|
}[];
|
380
398
|
chain: {
|
@@ -416,7 +434,9 @@ export declare abstract class OpportunityService {
|
|
416
434
|
address: string;
|
417
435
|
icon: string;
|
418
436
|
decimals: number;
|
437
|
+
displaySymbol: string;
|
419
438
|
verified: boolean;
|
439
|
+
isTest: boolean;
|
420
440
|
price: number | null;
|
421
441
|
};
|
422
442
|
distributionChain: {
|
@@ -455,7 +475,7 @@ export declare abstract class OpportunityService {
|
|
455
475
|
* @param query
|
456
476
|
* @returns the number of opportunities
|
457
477
|
*/
|
458
|
-
static countMany(query:
|
478
|
+
static countMany(query: GetOpportunitiesQueryModel): Promise<number>;
|
459
479
|
static formatResponse(opportunity: Awaited<ReturnType<typeof OpportunityRepository.findUniqueOrThrow>>): {
|
460
480
|
aprRecord: {
|
461
481
|
cumulated: number;
|
@@ -497,7 +517,9 @@ export declare abstract class OpportunityService {
|
|
497
517
|
address: string;
|
498
518
|
icon: string;
|
499
519
|
decimals: number;
|
520
|
+
displaySymbol: string;
|
500
521
|
verified: boolean;
|
522
|
+
isTest: boolean;
|
501
523
|
price: number | null;
|
502
524
|
};
|
503
525
|
amount: bigint;
|
@@ -512,7 +534,9 @@ export declare abstract class OpportunityService {
|
|
512
534
|
address: string;
|
513
535
|
icon: string;
|
514
536
|
decimals: number;
|
537
|
+
displaySymbol: string;
|
515
538
|
verified: boolean;
|
539
|
+
isTest: boolean;
|
516
540
|
price: number | null;
|
517
541
|
}[];
|
518
542
|
chain: {
|
@@ -549,7 +573,9 @@ export declare abstract class OpportunityService {
|
|
549
573
|
address: string;
|
550
574
|
icon: string;
|
551
575
|
decimals: number;
|
576
|
+
displaySymbol: string;
|
552
577
|
verified: boolean;
|
578
|
+
isTest: boolean;
|
553
579
|
price: number | null;
|
554
580
|
}[];
|
555
581
|
chain: {
|
@@ -576,7 +602,7 @@ export declare abstract class OpportunityService {
|
|
576
602
|
apr: number;
|
577
603
|
dailyRewards: number;
|
578
604
|
};
|
579
|
-
static aggregate(query:
|
580
|
-
sum:
|
605
|
+
static aggregate(query: GetOpportunitiesQueryModel, field: keyof Prisma.OpportunitySumAggregateInputType): Promise<{
|
606
|
+
sum: number | null;
|
581
607
|
}>;
|
582
608
|
}
|
@@ -9,7 +9,7 @@ export const PriceController = new Elysia({ prefix: "/prices", detail: { tags: [
|
|
9
9
|
.get("/", async () => await PriceService.findMany())
|
10
10
|
.get("/array", async () => await PriceService.findManyArray())
|
11
11
|
// ─── Get Price By Token Symbol ───────────────────────────────────────
|
12
|
-
.get("/symbol/:symbol", async ({ params }) => await PriceService.
|
12
|
+
.get("/symbol/:symbol", async ({ params }) => await PriceService.fetchPriceBySymbol(params.symbol), {
|
13
13
|
params: PriceSourceIdentifier,
|
14
14
|
})
|
15
15
|
// ─── Price Sources Group ─────────────────────────────────────────────
|
@@ -8,7 +8,7 @@ export declare class PriceService {
|
|
8
8
|
token: string;
|
9
9
|
}[]>;
|
10
10
|
/** Fetches a single price */
|
11
|
-
static
|
11
|
+
static fetchPriceBySymbol(symbol: string): Promise<number>;
|
12
12
|
static getPriceSourceBySymbol(symbol: string): Promise<{
|
13
13
|
symbol: string;
|
14
14
|
method: import("../../../../database/api/.generated").$Enums.PriceSourceMethod;
|
@@ -11,7 +11,7 @@ export class PriceService {
|
|
11
11
|
return (await Pricer.load()).getArray();
|
12
12
|
}
|
13
13
|
/** Fetches a single price */
|
14
|
-
static async
|
14
|
+
static async fetchPriceBySymbol(symbol) {
|
15
15
|
const priceSource = await PriceRepository.findBySymbolOrThrow(symbol);
|
16
16
|
if (!priceSource) {
|
17
17
|
throw new Error(`Price source with symbol ${symbol} not found`);
|
@@ -20,7 +20,7 @@ export class PriceService {
|
|
20
20
|
return priceSource.args.value;
|
21
21
|
}
|
22
22
|
if (priceSource.method === PriceSourceMethod.EQUAL_TO) {
|
23
|
-
return PriceService.
|
23
|
+
return PriceService.fetchPriceBySymbol(priceSource.args.token);
|
24
24
|
}
|
25
25
|
return (await PriceFetcherFactory.instance.get(priceSource.method).getPrice([priceSource]))?.[0]?.rate;
|
26
26
|
}
|
@@ -33,7 +33,7 @@ export class PriceService {
|
|
33
33
|
}
|
34
34
|
static async createPriceSource(priceSource) {
|
35
35
|
const created = await PriceRepository.create(priceSource);
|
36
|
-
return await PriceService.
|
36
|
+
return await PriceService.fetchPriceBySymbol(created.symbol);
|
37
37
|
}
|
38
38
|
static async updatePriceSource(symbol, newPriceSource) {
|
39
39
|
return await PriceRepository.updateBySymbol(symbol, newPriceSource);
|
@@ -12,7 +12,9 @@ export declare abstract class RewardRepository {
|
|
12
12
|
address: string;
|
13
13
|
icon: string;
|
14
14
|
decimals: number;
|
15
|
+
displaySymbol: string;
|
15
16
|
verified: boolean;
|
17
|
+
isTest: boolean;
|
16
18
|
price: number | null;
|
17
19
|
};
|
18
20
|
Breakdown: ({
|
@@ -32,7 +34,9 @@ export declare abstract class RewardRepository {
|
|
32
34
|
address: string;
|
33
35
|
icon: string;
|
34
36
|
decimals: number;
|
37
|
+
displaySymbol: string;
|
35
38
|
verified: boolean;
|
39
|
+
isTest: boolean;
|
36
40
|
price: number | null;
|
37
41
|
}[];
|
38
42
|
Protocols: {
|
@@ -29,7 +29,9 @@ export declare abstract class RewardService {
|
|
29
29
|
address: string;
|
30
30
|
icon: string;
|
31
31
|
decimals: number;
|
32
|
+
displaySymbol: string;
|
32
33
|
verified: boolean;
|
34
|
+
isTest: boolean;
|
33
35
|
price: number | null;
|
34
36
|
}[];
|
35
37
|
Protocols: {
|
@@ -83,7 +85,9 @@ export declare abstract class RewardService {
|
|
83
85
|
address: string;
|
84
86
|
icon: string;
|
85
87
|
decimals: number;
|
88
|
+
displaySymbol: string;
|
86
89
|
verified: boolean;
|
90
|
+
isTest: boolean;
|
87
91
|
price: number | null;
|
88
92
|
};
|
89
93
|
breakdowns: {
|
@@ -102,7 +106,9 @@ export declare abstract class RewardService {
|
|
102
106
|
address: string;
|
103
107
|
icon: string;
|
104
108
|
decimals: number;
|
109
|
+
displaySymbol: string;
|
105
110
|
verified: boolean;
|
111
|
+
isTest: boolean;
|
106
112
|
price: number | null;
|
107
113
|
}[];
|
108
114
|
Protocols: {
|
@@ -159,7 +165,9 @@ export declare abstract class RewardService {
|
|
159
165
|
address: string;
|
160
166
|
icon: string;
|
161
167
|
decimals: number;
|
168
|
+
displaySymbol: string;
|
162
169
|
verified: boolean;
|
170
|
+
isTest: boolean;
|
163
171
|
price: number | null;
|
164
172
|
};
|
165
173
|
Breakdown: ({
|
@@ -179,7 +187,9 @@ export declare abstract class RewardService {
|
|
179
187
|
address: string;
|
180
188
|
icon: string;
|
181
189
|
decimals: number;
|
190
|
+
displaySymbol: string;
|
182
191
|
verified: boolean;
|
192
|
+
isTest: boolean;
|
183
193
|
price: number | null;
|
184
194
|
}[];
|
185
195
|
Protocols: {
|
@@ -265,7 +275,9 @@ export declare abstract class RewardService {
|
|
265
275
|
address: string;
|
266
276
|
icon: string;
|
267
277
|
decimals: number;
|
278
|
+
displaySymbol: string;
|
268
279
|
verified: boolean;
|
280
|
+
isTest: boolean;
|
269
281
|
price: number | null;
|
270
282
|
};
|
271
283
|
breakdowns: {
|
@@ -284,7 +296,9 @@ export declare abstract class RewardService {
|
|
284
296
|
address: string;
|
285
297
|
icon: string;
|
286
298
|
decimals: number;
|
299
|
+
displaySymbol: string;
|
287
300
|
verified: boolean;
|
301
|
+
isTest: boolean;
|
288
302
|
price: number | null;
|
289
303
|
}[];
|
290
304
|
Protocols: {
|
@@ -355,7 +369,9 @@ export declare abstract class RewardService {
|
|
355
369
|
address: string;
|
356
370
|
icon: string;
|
357
371
|
decimals: number;
|
372
|
+
displaySymbol: string;
|
358
373
|
verified: boolean;
|
374
|
+
isTest: boolean;
|
359
375
|
price: number | null;
|
360
376
|
};
|
361
377
|
breakdowns: {
|
@@ -374,7 +390,9 @@ export declare abstract class RewardService {
|
|
374
390
|
address: string;
|
375
391
|
icon: string;
|
376
392
|
decimals: number;
|
393
|
+
displaySymbol: string;
|
377
394
|
verified: boolean;
|
395
|
+
isTest: boolean;
|
378
396
|
price: number | null;
|
379
397
|
}[];
|
380
398
|
Protocols: {
|
@@ -442,7 +460,9 @@ export declare abstract class RewardService {
|
|
442
460
|
address: string;
|
443
461
|
icon: string;
|
444
462
|
decimals: number;
|
463
|
+
displaySymbol: string;
|
445
464
|
verified: boolean;
|
465
|
+
isTest: boolean;
|
446
466
|
price: number | null;
|
447
467
|
};
|
448
468
|
Breakdown: ({
|
@@ -462,7 +482,9 @@ export declare abstract class RewardService {
|
|
462
482
|
address: string;
|
463
483
|
icon: string;
|
464
484
|
decimals: number;
|
485
|
+
displaySymbol: string;
|
465
486
|
verified: boolean;
|
487
|
+
isTest: boolean;
|
466
488
|
price: number | null;
|
467
489
|
}[];
|
468
490
|
Protocols: {
|