@merkl/api 1.14.13 → 1.14.16

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 (73) hide show
  1. package/dist/src/eden/index.d.ts +103 -130
  2. package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.js.map +1 -1
  3. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.d.ts +95 -5
  4. package/dist/src/engine/implementations/GasRebate/metadata.d.ts +15 -0
  5. package/dist/src/engine/implementations/GasRebate/metadata.js.map +1 -0
  6. package/dist/src/engine/implementations/Mapping/factories.d.ts +7 -0
  7. package/dist/src/engine/implementations/Mapping/factories.js.map +1 -0
  8. package/dist/src/engine/implementations/Mapping/implementations/gammaUniV4Multimanager/metadata.d.ts +25 -0
  9. package/dist/src/engine/implementations/Mapping/implementations/gammaUniV4Multimanager/metadata.js.map +1 -0
  10. package/dist/src/engine/implementations/Mapping/implementations/gammaUniV4Multimanager/tvl.d.ts +14 -0
  11. package/dist/src/engine/implementations/Mapping/implementations/gammaUniV4Multimanager/tvl.js.map +1 -0
  12. package/dist/src/engine/implementations/Mapping/metadata.d.ts +12 -0
  13. package/dist/src/engine/implementations/Mapping/metadata.js.map +1 -0
  14. package/dist/src/engine/implementations/Mapping/tvl.d.ts +26 -0
  15. package/dist/src/engine/implementations/Mapping/tvl.js.map +1 -0
  16. package/dist/src/engine/metadata/factory.js.map +1 -1
  17. package/dist/src/engine/tvl/factory.js.map +1 -1
  18. package/dist/src/index.d.ts +108 -142
  19. package/dist/src/jobs/auto-claim/index.js.map +1 -1
  20. package/dist/src/jobs/cleanup-partitions/config.d.ts +1 -1
  21. package/dist/src/modules/v4/apr/apr.model.d.ts +2 -0
  22. package/dist/src/modules/v4/apr/apr.service.js.map +1 -1
  23. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +20 -20
  24. package/dist/src/modules/v4/campaign/campaign.model.d.ts +2 -0
  25. package/dist/src/modules/v4/campaign/campaign.query-transformer.d.ts +15 -15
  26. package/dist/src/modules/v4/carousel/carousel.controller.d.ts +12 -12
  27. package/dist/src/modules/v4/carousel/carousel.service.d.ts +8 -8
  28. package/dist/src/modules/v4/claims/claims.repository.js.map +1 -1
  29. package/dist/src/modules/v4/claims/claims.service.js.map +1 -1
  30. package/dist/src/modules/v4/config/config.controller.d.ts +0 -32
  31. package/dist/src/modules/v4/config/config.controller.js.map +1 -1
  32. package/dist/src/modules/v4/config/config.model.d.ts +0 -11
  33. package/dist/src/modules/v4/config/config.model.js.map +1 -1
  34. package/dist/src/modules/v4/config/config.service.d.ts +0 -15
  35. package/dist/src/modules/v4/config/config.service.js.map +1 -1
  36. package/dist/src/modules/v4/creator/creator.controller.d.ts +4 -4
  37. package/dist/src/modules/v4/dynamicData/dynamicData.service.js.map +1 -1
  38. package/dist/src/modules/v4/leaf/leaf.helpers.d.ts +29 -0
  39. package/dist/src/modules/v4/leaf/leaf.helpers.js.map +1 -0
  40. package/dist/src/modules/v4/leaf/leafLeaderboard.repository.js.map +1 -1
  41. package/dist/src/modules/v4/leaf/leafTemp.repository.js.map +1 -1
  42. package/dist/src/modules/v4/legacy-claims/claims.service.js.map +1 -1
  43. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +24 -24
  44. package/dist/src/modules/v4/opportunity/opportunity.formatter.js.map +1 -1
  45. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +10 -0
  46. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +8 -8
  47. package/dist/src/modules/v4/override/override.controller.d.ts +32 -0
  48. package/dist/src/modules/v4/override/override.controller.js.map +1 -1
  49. package/dist/src/modules/v4/override/override.model.d.ts +11 -0
  50. package/dist/src/modules/v4/override/override.model.js.map +1 -1
  51. package/dist/src/modules/v4/override/override.service.d.ts +15 -0
  52. package/dist/src/modules/v4/override/override.service.js.map +1 -1
  53. package/dist/src/modules/v4/program/program.controller.d.ts +8 -8
  54. package/dist/src/modules/v4/program/program.service.d.ts +8 -8
  55. package/dist/src/modules/v4/reward/reward.controller.d.ts +0 -34
  56. package/dist/src/modules/v4/reward/reward.controller.js.map +1 -1
  57. package/dist/src/modules/v4/reward/reward.model.d.ts +2 -0
  58. package/dist/src/modules/v4/reward/reward.repository.d.ts +0 -453
  59. package/dist/src/modules/v4/reward/reward.repository.js.map +1 -1
  60. package/dist/src/modules/v4/reward/reward.service.d.ts +100 -114
  61. package/dist/src/modules/v4/reward/reward.service.js.map +1 -1
  62. package/dist/src/modules/v4/router.d.ts +108 -142
  63. package/dist/src/modules/v4/transaction/transaction.service.d.ts +2234 -1846
  64. package/dist/src/modules/v4/uniswap/uniswap.controller.d.ts +4 -4
  65. package/dist/src/modules/v4/uniswap/uniswap.service.d.ts +2 -2
  66. package/dist/src/modules/v4/user/user.controller.d.ts +4 -4
  67. package/dist/src/utils/getAPR.d.ts +933 -739
  68. package/dist/src/utils/parseDistributionType.d.ts +933 -739
  69. package/dist/src/utils/parseDistributionType.js.map +1 -1
  70. package/dist/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +1 -1
  72. package/dist/src/scripts/lib/leaf-migration-safety-helpers.d.ts +0 -40
  73. package/dist/src/scripts/lib/leaf-migration-safety-helpers.js.map +0 -1
@@ -5,8 +5,8 @@ import type { CampaignDynamicData } from "@package/sdk/types/campaigns/deprecate
5
5
  import { MerklRootService } from "../../../modules/v4/merklRoot/merklRoot.service";
6
6
  import type { AuthenticationOptions } from "../authentication/authentication.model";
7
7
  import type { CampaignStatus } from "../campaignStatus/campaignStatus.model";
8
- import type { AddressListModel, CampaignIdWithoutPageModel, DailyRewardsRecord, GetCampaignLeaderboardModel, GetTokenLeaderboardModel, RegisterClaimsModel, RewardBreakdown } from "./reward.model";
9
- import { RewardRepository } from "./reward.repository";
8
+ import { LeafService } from "../leaf/leaf.service";
9
+ import type { CampaignIdWithoutPageModel, DailyRewardsRecord, GetCampaignLeaderboardModel, GetTokenLeaderboardModel, RegisterClaimsModel, RewardBreakdown } from "./reward.model";
10
10
  export declare abstract class RewardService {
11
11
  static hashId(root: string, recipient: string, rewardTokenId: string): string;
12
12
  static hashBreakdownId(rewardId: string, campaignId: string, reason: string): string;
@@ -45,7 +45,9 @@ export declare abstract class RewardService {
45
45
  static getTotalDistributedByType(since: number): Promise<any>;
46
46
  static findRewardsForCampaign(params: {
47
47
  campaignId: string;
48
- }, query: AddressListModel, authOptions?: AuthenticationOptions): Promise<Record<string, {
48
+ }, query: {
49
+ addresses: string[];
50
+ }, authOptions?: AuthenticationOptions): Promise<Record<string, {
49
51
  amount: string;
50
52
  claimed: string;
51
53
  pending: string;
@@ -56,7 +58,7 @@ export declare abstract class RewardService {
56
58
  * @param accessGranted pre-computed access result from checkAccessBatch
57
59
  * @returns a RewardBreakdown model
58
60
  */
59
- static formatBreakdown(breakdown: Awaited<ReturnType<(typeof RewardRepository)["getByRecipient"]>>[number]["Breakdown"][number], accessGranted: boolean): Promise<{
61
+ static formatBreakdown(breakdown: Awaited<ReturnType<typeof LeafService.getByRecipient>>[number]["Breakdown"][number], accessGranted: boolean): Promise<{
60
62
  root: string;
61
63
  distributionChainId: number;
62
64
  reason: string;
@@ -167,11 +169,11 @@ export declare abstract class RewardService {
167
169
  * @param authOptions authentication options for access control
168
170
  * @returns a Reward model
169
171
  */
170
- static format(rewards: Awaited<ReturnType<(typeof RewardRepository)["getByRecipient"]>>, authOptions?: AuthenticationOptions): Promise<{
172
+ static format(rewards: Awaited<ReturnType<typeof LeafService.getByRecipient>>, authOptions?: AuthenticationOptions): Promise<{
171
173
  root: string;
172
174
  distributionChainId: number;
173
- proofs: string[];
174
175
  recipient: string;
176
+ proofs: string[] | never[];
175
177
  token: {
176
178
  id: string;
177
179
  name: string | null;
@@ -307,8 +309,44 @@ export declare abstract class RewardService {
307
309
  chainFilter?: ChainId[] | null;
308
310
  reasonFilter?: string;
309
311
  type?: TokenType;
310
- }): Promise<({
311
- Breakdown: ({
312
+ }): Promise<{
313
+ id: string;
314
+ root: string;
315
+ distributionChainId: number;
316
+ rewardTokenId: string;
317
+ recipient: string;
318
+ amount: string;
319
+ claimed: string;
320
+ pending: string;
321
+ proofs: string[] | never[];
322
+ RewardToken: {
323
+ id: string;
324
+ name: string | null;
325
+ chainId: number;
326
+ address: string;
327
+ decimals: number;
328
+ symbol: string;
329
+ displaySymbol: string;
330
+ icon: string;
331
+ verified: boolean;
332
+ isTest: boolean;
333
+ type: import("@package/databases").TokenType;
334
+ isNative: boolean;
335
+ underlyingTokenId: string | null;
336
+ price: number | null;
337
+ updatedAt: number | null;
338
+ priceSource: string | null;
339
+ };
340
+ Breakdown: {
341
+ id: string;
342
+ rewardId: string;
343
+ root: string;
344
+ distributionChainId: number;
345
+ reason: string;
346
+ amount: string;
347
+ claimed: string;
348
+ pending: string;
349
+ campaignId: string;
312
350
  Campaign: {
313
351
  CampaignStatus: {
314
352
  campaignId: string;
@@ -428,6 +466,7 @@ export declare abstract class RewardService {
428
466
  isPrivate: boolean;
429
467
  campaignEncodingHash: string | null;
430
468
  };
469
+ subCampaignId: string | null;
431
470
  SubCampaign: ({
432
471
  CampaignStatus: {
433
472
  campaignId: string;
@@ -547,48 +586,9 @@ export declare abstract class RewardService {
547
586
  isPrivate: boolean;
548
587
  campaignEncodingHash: string | null;
549
588
  }) | null;
550
- } & {
551
- id: string;
552
- protocolId: string | null;
553
- root: string;
554
- distributionChainId: number;
555
- reason: string;
556
- amount: string;
557
- claimed: string;
558
- pending: string;
559
- rewardId: string;
560
- campaignId: string;
561
- subCampaignId: string | null;
562
- })[];
563
- RewardToken: {
564
- id: string;
565
- name: string | null;
566
- chainId: number;
567
- address: string;
568
- decimals: number;
569
- symbol: string;
570
- displaySymbol: string;
571
- icon: string;
572
- verified: boolean;
573
- isTest: boolean;
574
- type: import("@package/databases").TokenType;
575
- isNative: boolean;
576
- underlyingTokenId: string | null;
577
- price: number | null;
578
- updatedAt: number | null;
579
- priceSource: string | null;
580
- };
581
- } & {
582
- id: string;
583
- root: string;
584
- distributionChainId: number;
585
- rewardTokenId: string;
586
- amount: string;
587
- claimed: string;
588
- pending: string;
589
- proofs: string[];
590
- recipient: string;
591
- })[]>;
589
+ protocolId: null;
590
+ }[];
591
+ }[]>;
592
592
  /**
593
593
  * Groups a breakdown array by their corresponding opportunities
594
594
  * @param breakdowns with campaignIds
@@ -625,8 +625,8 @@ export declare abstract class RewardService {
625
625
  rewards: {
626
626
  root: string;
627
627
  distributionChainId: number;
628
- proofs: string[];
629
628
  recipient: string;
629
+ proofs: string[] | never[];
630
630
  token: {
631
631
  id: string;
632
632
  name: string | null;
@@ -757,8 +757,8 @@ export declare abstract class RewardService {
757
757
  rewards: (Omit<{
758
758
  root: string;
759
759
  distributionChainId: number;
760
- proofs: string[];
761
760
  recipient: string;
761
+ proofs: string[] | never[];
762
762
  token: {
763
763
  id: string;
764
764
  name: string | null;
@@ -985,7 +985,7 @@ export declare abstract class RewardService {
985
985
  type: "CAMPAIGN" | "PROTOCOL" | "TOKEN";
986
986
  value: number;
987
987
  timestamp: string | bigint;
988
- distributionType?: "AAVE_NET_APR" | "DUTCH_AUCTION" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "MAX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | undefined;
988
+ distributionType?: "AAVE_NET_APR" | "DUTCH_AUCTION" | "ERC4626_APR" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "MAX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | undefined;
989
989
  }[];
990
990
  } | undefined;
991
991
  nativeAprRecord?: {
@@ -1048,7 +1048,7 @@ export declare abstract class RewardService {
1048
1048
  underlyingTokenId?: string | undefined;
1049
1049
  };
1050
1050
  amount: string | bigint;
1051
- distributionType?: "AAVE_NET_APR" | "DUTCH_AUCTION" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "MAX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | undefined;
1051
+ distributionType?: "AAVE_NET_APR" | "DUTCH_AUCTION" | "ERC4626_APR" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "FIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "FIX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_AMOUNT_PER_LIQUIDITY_VALUE" | "MAX_REWARD_VALUE_PER_LIQUIDITY_AMOUNT" | "MAX_REWARD_VALUE_PER_LIQUIDITY_VALUE" | undefined;
1052
1052
  onChainCampaignId?: string | undefined;
1053
1053
  }[];
1054
1054
  } | undefined;
@@ -1089,8 +1089,8 @@ export declare abstract class RewardService {
1089
1089
  rewards: {
1090
1090
  root: string;
1091
1091
  distributionChainId: number;
1092
- proofs: string[];
1093
1092
  recipient: string;
1093
+ proofs: string[] | never[];
1094
1094
  token: {
1095
1095
  id: string;
1096
1096
  name: string | null;
@@ -1221,8 +1221,8 @@ export declare abstract class RewardService {
1221
1221
  rewards: (Omit<{
1222
1222
  root: string;
1223
1223
  distributionChainId: number;
1224
- proofs: string[];
1225
1224
  recipient: string;
1225
+ proofs: string[] | never[];
1226
1226
  token: {
1227
1227
  id: string;
1228
1228
  name: string | null;
@@ -1374,8 +1374,44 @@ export declare abstract class RewardService {
1374
1374
  })[];
1375
1375
  })[];
1376
1376
  static findLatestRootsOnChain(chainId: ChainId): Promise<string[]>;
1377
- static checkLastClaim(chainId: number, user: string, rewards: Awaited<ReturnType<(typeof RewardService)["getByRecipient"]>>): Promise<({
1378
- Breakdown: ({
1377
+ static checkLastClaim(chainId: number, user: string, rewards: Awaited<ReturnType<(typeof RewardService)["getByRecipient"]>>): Promise<{
1378
+ id: string;
1379
+ root: string;
1380
+ distributionChainId: number;
1381
+ rewardTokenId: string;
1382
+ recipient: string;
1383
+ amount: string;
1384
+ claimed: string;
1385
+ pending: string;
1386
+ proofs: string[] | never[];
1387
+ RewardToken: {
1388
+ id: string;
1389
+ name: string | null;
1390
+ chainId: number;
1391
+ address: string;
1392
+ decimals: number;
1393
+ symbol: string;
1394
+ displaySymbol: string;
1395
+ icon: string;
1396
+ verified: boolean;
1397
+ isTest: boolean;
1398
+ type: import("@package/databases").TokenType;
1399
+ isNative: boolean;
1400
+ underlyingTokenId: string | null;
1401
+ price: number | null;
1402
+ updatedAt: number | null;
1403
+ priceSource: string | null;
1404
+ };
1405
+ Breakdown: {
1406
+ id: string;
1407
+ rewardId: string;
1408
+ root: string;
1409
+ distributionChainId: number;
1410
+ reason: string;
1411
+ amount: string;
1412
+ claimed: string;
1413
+ pending: string;
1414
+ campaignId: string;
1379
1415
  Campaign: {
1380
1416
  CampaignStatus: {
1381
1417
  campaignId: string;
@@ -1495,6 +1531,7 @@ export declare abstract class RewardService {
1495
1531
  isPrivate: boolean;
1496
1532
  campaignEncodingHash: string | null;
1497
1533
  };
1534
+ subCampaignId: string | null;
1498
1535
  SubCampaign: ({
1499
1536
  CampaignStatus: {
1500
1537
  campaignId: string;
@@ -1614,48 +1651,9 @@ export declare abstract class RewardService {
1614
1651
  isPrivate: boolean;
1615
1652
  campaignEncodingHash: string | null;
1616
1653
  }) | null;
1617
- } & {
1618
- id: string;
1619
- protocolId: string | null;
1620
- root: string;
1621
- distributionChainId: number;
1622
- reason: string;
1623
- amount: string;
1624
- claimed: string;
1625
- pending: string;
1626
- rewardId: string;
1627
- campaignId: string;
1628
- subCampaignId: string | null;
1629
- })[];
1630
- RewardToken: {
1631
- id: string;
1632
- name: string | null;
1633
- chainId: number;
1634
- address: string;
1635
- decimals: number;
1636
- symbol: string;
1637
- displaySymbol: string;
1638
- icon: string;
1639
- verified: boolean;
1640
- isTest: boolean;
1641
- type: import("@package/databases").TokenType;
1642
- isNative: boolean;
1643
- underlyingTokenId: string | null;
1644
- price: number | null;
1645
- updatedAt: number | null;
1646
- priceSource: string | null;
1647
- };
1648
- } & {
1649
- id: string;
1650
- root: string;
1651
- distributionChainId: number;
1652
- rewardTokenId: string;
1653
- amount: string;
1654
- claimed: string;
1655
- pending: string;
1656
- proofs: string[];
1657
- recipient: string;
1658
- })[]>;
1654
+ protocolId: null;
1655
+ }[];
1656
+ }[]>;
1659
1657
  static getUserRewardsByChain(user: string, withToken: boolean, breakdownPage?: number, chainFilter?: ChainId[], reloadChainId?: ChainId | null, withTestTokens?: boolean, claimableOnly?: boolean, tags?: string[], type?: TokenType, authOptions?: AuthenticationOptions): Promise<{
1660
1658
  chain: {
1661
1659
  id: number;
@@ -1673,8 +1671,8 @@ export declare abstract class RewardService {
1673
1671
  rewards: {
1674
1672
  root: string;
1675
1673
  distributionChainId: number;
1676
- proofs: string[];
1677
1674
  recipient: string;
1675
+ proofs: string[] | never[];
1678
1676
  token: {
1679
1677
  id: string;
1680
1678
  name: string | null;
@@ -1803,12 +1801,6 @@ export declare abstract class RewardService {
1803
1801
  }[];
1804
1802
  }[]>;
1805
1803
  static registerClaims(claims: RegisterClaimsModel): Promise<void>;
1806
- static countOnChain(chainId: number): Promise<{
1807
- [x: string]: {
1808
- rewardCount: number;
1809
- breakdownCount: number;
1810
- };
1811
- }>;
1812
1804
  static breakdownForCampaign(query: GetCampaignLeaderboardModel, authOptions?: AuthenticationOptions): Promise<{
1813
1805
  amount: string;
1814
1806
  claimed: string;
@@ -1838,18 +1830,11 @@ export declare abstract class RewardService {
1838
1830
  rewardTokenId: string;
1839
1831
  amount: bigint;
1840
1832
  }>;
1841
- static getAmountAndClaimedForCampaigns(x: CampaignIdWithoutPageModel): Promise<{
1842
- amount: string;
1843
- campaignId: string;
1844
- claimed: string;
1845
- }[]>;
1846
1833
  static getUnclaimed(x: CampaignIdWithoutPageModel): Promise<Record<string, string>>;
1847
1834
  /**
1848
1835
  * @deprecated
1849
1836
  */
1850
1837
  static extractDailyRewardsRecordFromDynamicData<C extends CampaignType>(type: C, dynamicData: CampaignDynamicData<C>[], timestamp?: bigint): Promise<DailyRewardsRecord["model"]>;
1851
- static getTotalDistributedByCampaignsAfter(timestamp: number): Promise<number>;
1852
- static countClaimers(chainId: number, root: string): Promise<number>;
1853
1838
  static getUserRewards(chainIdRootPairs: Array<{
1854
1839
  chainId: number;
1855
1840
  root: string;
@@ -1939,6 +1924,7 @@ export declare abstract class RewardService {
1939
1924
  };
1940
1925
  }[];
1941
1926
  }[]>;
1927
+ /** @dev Doesn't account for pending */
1942
1928
  static getMultipleUserRewardsForToken(chainId: number, root: string, addresses: string[], tokenId: string): Promise<{
1943
1929
  id: string;
1944
1930
  distributionChainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"reward.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/reward/reward.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reward.service.js","sourceRoot":"","sources":["../../../../../../../apps/api/src/modules/v4/reward/reward.service.ts"],"names":[],"mappings":"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"}