@merkl/api 1.20.0 → 1.20.12

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 (105) hide show
  1. package/dist/src/constants.d.ts +2 -0
  2. package/dist/src/constants.js.map +1 -1
  3. package/dist/src/eden/index.d.ts +184 -1
  4. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.d.ts +54 -19
  5. package/dist/src/engine/implementations/EulerMultiBorrowFromCollateral/metadata.d.ts +25 -0
  6. package/dist/src/engine/implementations/EulerMultiBorrowFromCollateral/metadata.js.map +1 -0
  7. package/dist/src/engine/metadata/factory.js.map +1 -1
  8. package/dist/src/engine/tvl/factory.js.map +1 -1
  9. package/dist/src/guards/{KeyStoreAuth.guard.d.ts → KeyValueStoreAuth.guard.d.ts} +4 -4
  10. package/dist/src/guards/KeyValueStoreAuth.guard.js.map +1 -0
  11. package/dist/src/index.d.ts +249 -1
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/jobs/claim-etl/load.js.map +1 -1
  14. package/dist/src/jobs/claim-etl/types.d.ts +1 -1
  15. package/dist/src/jobs/deposit-credit-etl/load.js.map +1 -1
  16. package/dist/src/jobs/refresh-materialized-views.js.map +1 -1
  17. package/dist/src/jobs/sync-campaigns-to-hubspot.js.map +1 -1
  18. package/dist/src/modules/graphql/context.d.ts +14 -0
  19. package/dist/src/modules/graphql/context.js.map +1 -0
  20. package/dist/src/modules/graphql/errors.d.ts +7 -0
  21. package/dist/src/modules/graphql/errors.js.map +1 -0
  22. package/dist/src/modules/graphql/guards.d.ts +26 -0
  23. package/dist/src/modules/graphql/guards.js.map +1 -0
  24. package/dist/src/modules/graphql/resolvers.d.ts +593 -0
  25. package/dist/src/modules/graphql/resolvers.js.map +1 -0
  26. package/dist/src/modules/graphql/router.d.ts +87 -0
  27. package/dist/src/modules/graphql/router.js.map +1 -0
  28. package/dist/src/modules/graphql/scalars.d.ts +3 -0
  29. package/dist/src/modules/graphql/scalars.js.map +1 -0
  30. package/dist/src/modules/graphql/schema.d.ts +2 -0
  31. package/dist/src/modules/graphql/schema.js.map +1 -0
  32. package/dist/src/modules/graphql/translator.d.ts +25 -0
  33. package/dist/src/modules/graphql/translator.js.map +1 -0
  34. package/dist/src/modules/graphql/yoga.d.ts +2 -0
  35. package/dist/src/modules/graphql/yoga.js.map +1 -0
  36. package/dist/src/modules/v4/campaign/campaign.query-transformer.d.ts +34 -34
  37. package/dist/src/modules/v4/campaignToProcess/campaignToProcess.controller.d.ts +1 -1
  38. package/dist/src/modules/v4/campaignToProcess/campaignToProcess.controller.js.map +1 -1
  39. package/dist/src/modules/v4/computedValue/computedValue.controller.d.ts +29 -0
  40. package/dist/src/modules/v4/computedValue/computedValue.controller.js.map +1 -1
  41. package/dist/src/modules/v4/computedValue/computedValue.model.d.ts +5 -0
  42. package/dist/src/modules/v4/computedValue/computedValue.model.js.map +1 -1
  43. package/dist/src/modules/v4/computedValue/computedValue.repository.d.ts +2 -1
  44. package/dist/src/modules/v4/computedValue/computedValue.repository.js.map +1 -1
  45. package/dist/src/modules/v4/computedValue/computedValue.service.d.ts +2 -1
  46. package/dist/src/modules/v4/computedValue/computedValue.service.js.map +1 -1
  47. package/dist/src/modules/v4/credit/credit.controller.d.ts +97 -0
  48. package/dist/src/modules/v4/credit/credit.controller.js.map +1 -1
  49. package/dist/src/modules/v4/credit/credit.model.d.ts +4 -0
  50. package/dist/src/modules/v4/credit/credit.model.js.map +1 -1
  51. package/dist/src/modules/v4/credit/credit.repository.d.ts +21 -1
  52. package/dist/src/modules/v4/credit/credit.repository.js.map +1 -1
  53. package/dist/src/modules/v4/credit/credit.service.d.ts +20 -1
  54. package/dist/src/modules/v4/credit/credit.service.js.map +1 -1
  55. package/dist/src/modules/v4/historical/historical.controller.js.map +1 -1
  56. package/dist/src/modules/v4/historical/historical.service.js.map +1 -1
  57. package/dist/src/modules/v4/{keyStore/keyStore.controller.d.ts → keyValueStore/keyValueStore.controller.d.ts} +1 -1
  58. package/dist/src/modules/v4/keyValueStore/keyValueStore.controller.js.map +1 -0
  59. package/dist/src/modules/v4/keyValueStore/keyValueStore.formatter.d.ts +27 -0
  60. package/dist/src/modules/v4/keyValueStore/keyValueStore.formatter.js.map +1 -0
  61. package/dist/src/modules/v4/keyValueStore/keyValueStore.model.js.map +1 -0
  62. package/dist/src/modules/v4/{keyStore/keyStore.repository.d.ts → keyValueStore/keyValueStore.repository.d.ts} +1 -1
  63. package/dist/src/modules/v4/keyValueStore/keyValueStore.repository.js.map +1 -0
  64. package/dist/src/modules/v4/{keyStore/keyStore.service.d.ts → keyValueStore/keyValueStore.service.d.ts} +1 -1
  65. package/dist/src/modules/v4/keyValueStore/keyValueStore.service.js.map +1 -0
  66. package/dist/src/modules/v4/leaf/latestCompute.repository.js.map +1 -1
  67. package/dist/src/modules/v4/leaf/leaf.model.d.ts +0 -95
  68. package/dist/src/modules/v4/leaf/leaf.repository.d.ts +98 -124
  69. package/dist/src/modules/v4/leaf/leaf.repository.js.map +1 -1
  70. package/dist/src/modules/v4/leaf/leaf.service.d.ts +27 -600
  71. package/dist/src/modules/v4/leaf/leaf.service.js.map +1 -1
  72. package/dist/src/modules/v4/leaf/leafTemp.repository.js.map +1 -1
  73. package/dist/src/modules/v4/leaf/leafView.repository.d.ts +0 -27
  74. package/dist/src/modules/v4/leaf/leafView.repository.js.map +1 -1
  75. package/dist/src/modules/v4/opportunity/opportunity.formatter.js.map +1 -1
  76. package/dist/src/modules/v4/opportunity/opportunity.query-transformer.d.ts +52 -52
  77. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +480 -0
  78. package/dist/src/modules/v4/opportunity/opportunity.repository.js.map +1 -1
  79. package/dist/src/modules/v4/programPayload/subPayloads/ethena.d.ts +48 -48
  80. package/dist/src/modules/v4/reward/reward.service.d.ts +3 -287
  81. package/dist/src/modules/v4/reward/reward.service.js.map +1 -1
  82. package/dist/src/modules/v4/router.d.ts +206 -1
  83. package/dist/src/modules/v4/router.js.map +1 -1
  84. package/dist/src/modules/v4/slack/slack.service.js.map +1 -1
  85. package/dist/src/modules/v4/transaction/transaction.service.d.ts +983 -537
  86. package/dist/src/modules/v4/user/user.controller.d.ts +79 -0
  87. package/dist/src/modules/v4/user/user.controller.js.map +1 -1
  88. package/dist/src/modules/v4/user/user.model.d.ts +62 -0
  89. package/dist/src/modules/v4/user/user.model.js.map +1 -1
  90. package/dist/src/modules/v4/user/user.service.d.ts +56 -5
  91. package/dist/src/modules/v4/user/user.service.js.map +1 -1
  92. package/dist/src/plugins/errorHandler.d.ts +15 -0
  93. package/dist/src/plugins/errorHandler.js.map +1 -1
  94. package/dist/src/utils/getAPR.d.ts +785 -562
  95. package/dist/src/utils/parseDistributionType.d.ts +236 -13
  96. package/dist/src/utils/safeEngineQuery.d.ts +14 -0
  97. package/dist/src/utils/safeEngineQuery.js.map +1 -0
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/package.json +1 -1
  100. package/dist/src/guards/KeyStoreAuth.guard.js.map +0 -1
  101. package/dist/src/modules/v4/keyStore/keyStore.controller.js.map +0 -1
  102. package/dist/src/modules/v4/keyStore/keyStore.model.js.map +0 -1
  103. package/dist/src/modules/v4/keyStore/keyStore.repository.js.map +0 -1
  104. package/dist/src/modules/v4/keyStore/keyStore.service.js.map +0 -1
  105. /package/dist/src/modules/v4/{keyStore/keyStore.model.d.ts → keyValueStore/keyValueStore.model.d.ts} +0 -0
@@ -1,6 +1,8 @@
1
1
  import type { TokenType } from "@package/databases";
2
2
  import type { ChainId } from "@package/resources/enums";
3
3
  import type { RootsByChain } from "./leaf.model";
4
+ import { LeafRepository } from "./leaf.repository";
5
+ type Token = Awaited<ReturnType<typeof LeafRepository.getTokensByKeys>>[number];
4
6
  export declare abstract class LeafService {
5
7
  /** Fetches leaves for a recipient, reconciling with pending temp leaves from the engine. */
6
8
  static getByRecipient(recipient: string, roots: RootsByChain, tags: string[], options?: {
@@ -10,6 +12,7 @@ export declare abstract class LeafService {
10
12
  withTestTokens?: boolean;
11
13
  reasonFilter?: string;
12
14
  type?: TokenType;
15
+ tokenAddresses?: string[];
13
16
  skipBreakdowns?: boolean;
14
17
  chainFilter?: ChainId[] | null;
15
18
  }): Promise<{
@@ -395,614 +398,37 @@ export declare abstract class LeafService {
395
398
  }[];
396
399
  }[]>;
397
400
  /**
398
- * Fetches per-`(chain, opportunity, token)` reward totals for a recipient, with the resolved
399
- * `Opportunity` (including standard relations) and every `Campaign` linked to those opps —
400
- * sufficient for opportunity-level privacy masking via `CampaignService.checkAccessBatch`.
401
+ * Lean per-`(chain, token)` rollup of a recipient's rewards bypasses `getByRecipient`'s heavy
402
+ * `Breakdowns Campaign Opportunity ...` include tree.
401
403
  *
402
- * Implementation:
403
- * 1. Step 1 (sums) is served by the `leaf_breakdown_amounts_per_recipient_opportunity`
404
- * materialized view via `LeafViewRepository.amountsByRecipientOpportunity` — pre-aggregated
405
- * and refreshed every 30 min, mirroring every other recipient-keyed reward MV.
406
- * 2. Step 2 (campaigns + opportunities per `(chain, opp)`) goes through `CampaignService.findMany`
407
- * and `OpportunityService.findMany` in parallel; both apply formatting and centralize
408
- * access semantics.
404
+ * Designed for `/users/:address/rewards/summary` and `/users/:address/rewards/stats` where only
405
+ * `amount` / `claimed` / `pending` / `proofs` per `(chain, token)` are needed. The protocol
406
+ * filter is pushed to SQL via `Breakdowns.some.Opportunity.mainProtocolId` — no second roundtrip.
409
407
  *
410
- * Privacy semantic: campaigns checked for access are **all campaigns linked to each opp**, not
411
- * only those the recipient earned from. This means an opp where the recipient only earned from
412
- * a private campaign but where a public sibling campaign exists will resolve as accessible.
408
+ * `pending` is computed by matching live `LeafBreakdown` rows against `TempLeaves` (engine DB)
409
+ * and unmerged `DiffBreakdowns` for the in-flight tree root, mirroring the per-breakdown logic
410
+ * in `reconcileLeaf` but aggregated to `(chain, token)`. Unmatched temp leaves (orphans) are
411
+ * filtered against `type` / `isTest` / `tokenAddresses` and either folded into pending for an
412
+ * existing leaf row or emitted as phantom rows with `amount = "0"`, `proofs = []`.
413
413
  *
414
- * Staleness: `amount` / `claimed` reflect the MV refresh cadence ( 30 min). Acceptable for the
415
- * rewards-summary surface (display-only); not safe for transactional reads.
416
- *
417
- * Currency: `amount` and `claimed` are raw token-decimal integers (never USD); grouping by
418
- * `tokenAddress` keeps every output row single-currency. USD conversion remains a JS-side
419
- * concern in `getRewardsSummary`.
414
+ * Mutability contract: returned rows are plain objects (no Prisma references); callers may
415
+ * mutate `claimed` in place used by `RewardService.checkLastClaim` for on-chain reconciliation.
420
416
  */
421
- static getBreakdownsByOpportunity(recipient: string, distributionChainIds: number[]): Promise<{
417
+ static getSummaryByRecipient(recipient: string, roots: RootsByChain, options?: {
418
+ chainFilter?: ChainId[] | null;
419
+ type?: TokenType;
420
+ withTestTokens?: boolean;
421
+ tokenAddresses?: string[];
422
+ protocols?: string[];
423
+ }): Promise<Array<{
422
424
  distributionChainId: number;
423
- opportunityId: string;
424
425
  tokenAddress: string;
425
426
  amount: string;
426
427
  claimed: string;
427
- Opportunity: {
428
- chainId: number;
429
- type: string;
430
- identifier: string;
431
- name: string;
432
- description: string;
433
- howToSteps: string[];
434
- status: import("@package/databases").Status;
435
- action: import("@package/databases").OpportunityAction;
436
- tvl: number;
437
- apr: number;
438
- maxApr: number | null;
439
- dailyRewards: number;
440
- maxDailyRewards: number;
441
- tags: string[];
442
- liveCampaigns: number;
443
- aprRecord: {
444
- cumulated: number;
445
- timestamp: bigint;
446
- breakdowns: ({
447
- distributionType: import("@package/databases").DistributionType;
448
- identifier: string;
449
- type: "CAMPAIGN";
450
- timestamp: bigint;
451
- value: number;
452
- } | {
453
- identifier: string;
454
- type: import("@package/databases").AprType;
455
- timestamp: bigint;
456
- value: number;
457
- })[];
458
- };
459
- nativeAprRecord: {
460
- title: string;
461
- description: string | undefined;
462
- value: number;
463
- timestamp: bigint;
464
- amount: bigint | undefined;
465
- rewardToken: {
466
- id: string;
467
- name: string | null;
468
- chainId: number;
469
- address: string;
470
- decimals: number;
471
- symbol: string;
472
- icon: string;
473
- verified: boolean;
474
- isNative: boolean;
475
- isTest: boolean;
476
- type: "POINT" | "PRETGE" | "TOKEN";
477
- price?: number | null | undefined;
478
- updatedAt?: number | null | undefined;
479
- priceSource?: string | null | undefined;
480
- displaySymbol?: string | undefined;
481
- underlyingTokenId?: string | undefined;
482
- priceAlertDismissedAt?: number | undefined;
483
- priceAlertCount?: number | undefined;
484
- } | undefined;
485
- };
486
- tvlRecord: {
487
- id: string;
488
- total: number;
489
- timestamp: bigint;
490
- breakdowns: {
491
- identifier: string;
492
- type: import("@package/databases").TvlType;
493
- value: number;
494
- }[];
495
- };
496
- rewardsRecord: {
497
- id: string;
498
- total: number;
499
- timestamp: bigint;
500
- breakdowns: {
501
- id: string;
502
- timestamp: bigint;
503
- campaignId: string;
504
- dailyRewardsRecordId: string;
505
- token: {
506
- id: string;
507
- name: string | null;
508
- chainId: number;
509
- address: string;
510
- decimals: number;
511
- symbol: string;
512
- icon: string;
513
- verified: boolean;
514
- isNative: boolean;
515
- isTest: boolean;
516
- type: "POINT" | "PRETGE" | "TOKEN";
517
- price?: number | null | undefined;
518
- updatedAt?: number | null | undefined;
519
- priceSource?: string | null | undefined;
520
- displaySymbol?: string | undefined;
521
- underlyingTokenId?: string | undefined;
522
- priceAlertDismissedAt?: number | undefined;
523
- priceAlertCount?: number | undefined;
524
- };
525
- amount: bigint;
526
- maxAmount: bigint;
527
- value: number;
528
- maxValue: number;
529
- distributionType: import("@package/databases").DistributionType;
530
- onChainCampaignId: string;
531
- }[];
532
- };
533
- campaigns: (Omit<import("../campaign/campaign.model").CampaignWithParams<import("@package/resources/enums").CampaignType>, "createdAt" | "endTimestamp" | "manualOverrides" | "parentCampaignId" | "pauseCompute" | "pausePrecompute" | "rootCampaignId" | "startTimestamp" | "subType"> & {
534
- subType: number | null;
535
- startTimestamp: number;
536
- endTimestamp: number;
537
- createdAt: string;
538
- parentCampaignId?: string | undefined;
539
- rootCampaignId?: string | undefined;
540
- pauseCompute?: string | undefined;
541
- pausePrecompute?: string | undefined;
542
- } & {
543
- Opportunity: {
544
- chainId: number;
545
- type: string;
546
- identifier: string;
547
- name: string;
548
- description: string;
549
- howToSteps: string[];
550
- status: import("@package/databases").Status;
551
- action: import("@package/databases").OpportunityAction;
552
- tvl: number;
553
- apr: number;
554
- maxApr: number | null;
555
- dailyRewards: number;
556
- maxDailyRewards: number;
557
- tags: string[];
558
- liveCampaigns: number;
559
- tokens: {
560
- id: string;
561
- name: string | null;
562
- chainId: number;
563
- address: string;
564
- decimals: number;
565
- symbol: string;
566
- icon: string;
567
- verified: boolean;
568
- isNative: boolean;
569
- isTest: boolean;
570
- type: "POINT" | "PRETGE" | "TOKEN";
571
- price?: number | null | undefined;
572
- updatedAt?: number | null | undefined;
573
- priceSource?: string | null | undefined;
574
- displaySymbol?: string | undefined;
575
- underlyingTokenId?: string | undefined;
576
- priceAlertDismissedAt?: number | undefined;
577
- priceAlertCount?: number | undefined;
578
- }[];
579
- chain: {
580
- id: number;
581
- name: string;
582
- icon: string;
583
- liveCampaigns: number;
584
- endOfDisputePeriod: number;
585
- explorers?: {
586
- type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
587
- url: string;
588
- chainId: number;
589
- }[] | undefined;
590
- lastClaimsOnchainFetchTimestamp: string | null;
591
- };
592
- protocol: {
593
- id: string;
594
- tags: string[];
595
- name: string;
596
- description: string;
597
- url: string;
598
- icon: string;
599
- banner: string | null;
600
- opportunityBannerLight: string | null;
601
- opportunityBannerDark: string | null;
602
- } | undefined;
603
- activePrograms: {
604
- icon: string;
605
- id: string;
606
- name: string;
607
- slug: string | null;
608
- }[];
609
- depositUrls: {
610
- id: string;
611
- title: string;
612
- url: string;
613
- subtitle?: string | undefined;
614
- icon?: string | undefined;
615
- priority: number;
616
- }[] | undefined;
617
- id: string;
618
- hidden: true | undefined;
619
- nativeApr: number | undefined;
620
- depositUrl: string | undefined;
621
- explorerAddress: string | undefined;
622
- lastCampaignCreatedAt: number;
623
- earliestCampaignStart: bigint | undefined;
624
- latestCampaignStart: bigint | undefined;
625
- earliestCampaignEnd: bigint | undefined;
626
- latestCampaignEnd: bigint | undefined;
627
- };
628
- })[] | undefined;
629
- liveCampaignsForCreator?: any;
630
- soonCampaignsForCreator?: any;
631
- pastCampaignsForCreator?: any;
632
- distributedBycreator?: any;
633
- tokens: {
634
- id: string;
635
- name: string | null;
636
- chainId: number;
637
- address: string;
638
- decimals: number;
639
- symbol: string;
640
- icon: string;
641
- verified: boolean;
642
- isNative: boolean;
643
- isTest: boolean;
644
- type: "POINT" | "PRETGE" | "TOKEN";
645
- price?: number | null | undefined;
646
- updatedAt?: number | null | undefined;
647
- priceSource?: string | null | undefined;
648
- displaySymbol?: string | undefined;
649
- underlyingTokenId?: string | undefined;
650
- priceAlertDismissedAt?: number | undefined;
651
- priceAlertCount?: number | undefined;
652
- }[];
653
- chain: {
654
- id: number;
655
- name: string;
656
- icon: string;
657
- liveCampaigns: number;
658
- endOfDisputePeriod: number;
659
- explorers?: {
660
- type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
661
- url: string;
662
- chainId: number;
663
- }[] | undefined;
664
- lastClaimsOnchainFetchTimestamp: string | null;
665
- };
666
- protocol: {
667
- id: string;
668
- tags: string[];
669
- name: string;
670
- description: string;
671
- url: string;
672
- icon: string;
673
- banner: string | null;
674
- opportunityBannerLight: string | null;
675
- opportunityBannerDark: string | null;
676
- } | undefined;
677
- activePrograms: {
678
- icon: string;
679
- id: string;
680
- name: string;
681
- slug: string | null;
682
- }[];
683
- depositUrls: {
684
- id: string;
685
- title: string;
686
- url: string;
687
- subtitle?: string | undefined;
688
- icon?: string | undefined;
689
- priority: number;
690
- }[] | undefined;
691
- id: string;
692
- hidden: true | undefined;
693
- nativeApr: number | undefined;
694
- depositUrl: string | undefined;
695
- explorerAddress: string | undefined;
696
- lastCampaignCreatedAt: number;
697
- earliestCampaignStart: bigint | undefined;
698
- latestCampaignStart: bigint | undefined;
699
- earliestCampaignEnd: bigint | undefined;
700
- latestCampaignEnd: bigint | undefined;
701
- } | ({
702
- id: string;
703
- type: string;
704
- identifier: string;
705
- chainId: number;
706
- name: string;
707
- description: string;
708
- howToSteps: string[];
709
- status: "LIVE" | "NONE" | "PAST" | "SOON";
710
- action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
711
- tags: string[];
712
- mainProtocol?: string | undefined;
713
- depositUrl?: string | undefined;
714
- depositUrls?: {
715
- id: string;
716
- title: string;
717
- url: string;
718
- subtitle?: string | undefined;
719
- icon?: string | undefined;
720
- priority: number;
721
- }[] | undefined;
722
- explorerAddress?: string | undefined;
723
- hidden?: boolean | undefined;
724
- tvl: number;
725
- apr: number;
726
- dailyRewards: number;
727
- maxDailyRewards?: number | null | undefined;
728
- liveCampaigns: number;
729
- lastCampaignCreatedAt: number;
730
- earliestCampaignStart?: string | bigint | undefined;
731
- latestCampaignStart?: string | bigint | undefined;
732
- earliestCampaignEnd?: string | bigint | undefined;
733
- latestCampaignEnd?: string | bigint | undefined;
734
- nativeApr?: number | undefined;
735
- maxApr?: number | null | undefined;
736
- liveCampaignsForCreator?: number | undefined;
737
- soonCampaignsForCreator?: number | undefined;
738
- pastCampaignsForCreator?: number | undefined;
739
- distributionType?: string | undefined;
740
- tokens: {
741
- id: string;
742
- name: string | null;
743
- chainId: number;
744
- address: string;
745
- decimals: number;
746
- symbol: string;
747
- icon: string;
748
- verified: boolean;
749
- isNative: boolean;
750
- isTest: boolean;
751
- type: "POINT" | "PRETGE" | "TOKEN";
752
- price?: number | null | undefined;
753
- updatedAt?: number | null | undefined;
754
- priceSource?: string | null | undefined;
755
- displaySymbol?: string | undefined;
756
- underlyingTokenId?: string | undefined;
757
- priceAlertDismissedAt?: number | undefined;
758
- priceAlertCount?: number | undefined;
759
- }[];
760
- chain: {
761
- id: number;
762
- name: string;
763
- icon: string;
764
- liveCampaigns: number;
765
- endOfDisputePeriod: number;
766
- explorers?: {
767
- type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
768
- url: string;
769
- chainId: number;
770
- }[] | undefined;
771
- lastClaimsOnchainFetchTimestamp: string | null;
772
- };
773
- activePrograms: {
774
- id: string;
775
- name: string;
776
- slug?: string | null | undefined;
777
- description?: string | undefined;
778
- icon?: string | undefined;
779
- }[];
780
- protocol?: {
781
- id: string;
782
- name: string;
783
- icon: string;
784
- tags: string[];
785
- description: string;
786
- url: string;
787
- dailyRewards?: number | undefined;
788
- numberOfLiveCampaigns?: number | undefined;
789
- opportunityLiveTags?: string[] | undefined;
790
- banner: string | null;
791
- opportunityBannerLight: string | null;
792
- opportunityBannerDark: string | null;
793
- } | null | undefined;
794
- aprRecord?: {
795
- cumulated: number;
796
- timestamp: string | bigint;
797
- breakdowns: {
798
- identifier: string;
799
- type: "CAMPAIGN" | "PROTOCOL" | "TOKEN";
800
- value: number;
801
- timestamp: string | bigint;
802
- distributionType?: "AAVE_NET_APR" | "AAVE_V4_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;
803
- }[];
804
- } | undefined;
805
- nativeAprRecord?: {
806
- title: string;
807
- description?: string | undefined;
808
- value: number;
809
- timestamp: string | bigint;
810
- amount?: bigint | undefined;
811
- rewardToken?: {
812
- id: string;
813
- name: string | null;
814
- chainId: number;
815
- address: string;
816
- decimals: number;
817
- symbol: string;
818
- icon: string;
819
- verified: boolean;
820
- isNative: boolean;
821
- isTest: boolean;
822
- type: "POINT" | "PRETGE" | "TOKEN";
823
- price?: number | null | undefined;
824
- updatedAt?: number | null | undefined;
825
- priceSource?: string | null | undefined;
826
- displaySymbol?: string | undefined;
827
- underlyingTokenId?: string | undefined;
828
- priceAlertDismissedAt?: number | undefined;
829
- priceAlertCount?: number | undefined;
830
- } | undefined;
831
- } | undefined;
832
- tvlRecord?: {
833
- total: number;
834
- timestamp: string | bigint;
835
- breakdowns: {
836
- identifier: string;
837
- type: "PROTOCOL" | "TOKEN";
838
- value: number;
839
- }[];
840
- } | undefined;
841
- rewardsRecord?: {
842
- total: number;
843
- timestamp: string | bigint;
844
- breakdowns: {
845
- campaignId: string;
846
- value: number;
847
- maxValue?: number | undefined;
848
- timestamp: string | bigint;
849
- token: {
850
- id: string;
851
- name: string | null;
852
- chainId: number;
853
- address: string;
854
- decimals: number;
855
- symbol: string;
856
- icon: string;
857
- verified: boolean;
858
- isNative: boolean;
859
- isTest: boolean;
860
- type: "POINT" | "PRETGE" | "TOKEN";
861
- price?: number | null | undefined;
862
- updatedAt?: number | null | undefined;
863
- priceSource?: string | null | undefined;
864
- displaySymbol?: string | undefined;
865
- underlyingTokenId?: string | undefined;
866
- priceAlertDismissedAt?: number | undefined;
867
- priceAlertCount?: number | undefined;
868
- };
869
- amount: string | bigint;
870
- distributionType?: "AAVE_NET_APR" | "AAVE_V4_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;
871
- onChainCampaignId?: string | undefined;
872
- }[];
873
- } | undefined;
874
- } & {
875
- campaigns?: {
876
- id: string;
877
- computeChainId: number;
878
- distributionChainId: number;
879
- campaignId: string;
880
- type: string;
881
- subType?: number | null | undefined;
882
- amount: string;
883
- startTimestamp: string | number | bigint;
884
- endTimestamp: string | number | bigint;
885
- creatorAddress: string;
886
- apr?: number | undefined;
887
- dailyRewards?: number | undefined;
888
- creator?: {
889
- address: string;
890
- tags?: string[] | undefined;
891
- creatorId?: string | null | undefined;
892
- } | undefined;
893
- params: unknown;
894
- description?: string | undefined;
895
- chain: {
896
- id: number;
897
- name: string;
898
- icon: string;
899
- liveCampaigns: number;
900
- endOfDisputePeriod: number;
901
- explorers?: {
902
- type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
903
- url: string;
904
- chainId: number;
905
- }[] | undefined;
906
- lastClaimsOnchainFetchTimestamp: string | null;
907
- };
908
- rewardTokenId?: string | undefined;
909
- rewardToken: {
910
- id: string;
911
- name: string | null;
912
- chainId: number;
913
- address: string;
914
- decimals: number;
915
- symbol: string;
916
- icon: string;
917
- verified: boolean;
918
- isNative: boolean;
919
- isTest: boolean;
920
- type: "POINT" | "PRETGE" | "TOKEN";
921
- price?: number | null | undefined;
922
- updatedAt?: number | null | undefined;
923
- priceSource?: string | null | undefined;
924
- displaySymbol?: string | undefined;
925
- underlyingTokenId?: string | undefined;
926
- priceAlertDismissedAt?: number | undefined;
927
- priceAlertCount?: number | undefined;
928
- };
929
- opportunityId?: string | undefined;
930
- distributionChain?: {
931
- id: number;
932
- name: string;
933
- icon: string;
934
- liveCampaigns: number;
935
- endOfDisputePeriod: number;
936
- explorers?: {
937
- type: "BLOCKSCOUT" | "ETHERSCAN" | "SOLSCAN";
938
- url: string;
939
- chainId: number;
940
- }[] | undefined;
941
- lastClaimsOnchainFetchTimestamp: string | null;
942
- } | undefined;
943
- distributionType?: "AAVE_NET_APR" | "AAVE_V4_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;
944
- campaignStatus: {
945
- campaignId: string;
946
- computedUntil: string | number;
947
- processingStarted: string | number;
948
- status: string;
949
- preComputeProcessingStarted: string | number;
950
- preComputeStatus: string;
951
- delay?: number | undefined;
952
- error?: string | undefined;
953
- details?: unknown;
954
- };
955
- createdAt: string;
956
- rootCampaignId?: string | null | undefined;
957
- parentCampaignId?: string | null | undefined;
958
- childCampaignIds?: string[] | undefined;
959
- dailyRewardsBreakdown?: {
960
- campaignId: string;
961
- value: number;
962
- maxValue?: number | undefined;
963
- timestamp: string | bigint;
964
- token: {
965
- id: string;
966
- name: string | null;
967
- chainId: number;
968
- address: string;
969
- decimals: number;
970
- symbol: string;
971
- icon: string;
972
- verified: boolean;
973
- isNative: boolean;
974
- isTest: boolean;
975
- type: "POINT" | "PRETGE" | "TOKEN";
976
- price?: number | null | undefined;
977
- updatedAt?: number | null | undefined;
978
- priceSource?: string | null | undefined;
979
- displaySymbol?: string | undefined;
980
- underlyingTokenId?: string | undefined;
981
- priceAlertDismissedAt?: number | undefined;
982
- priceAlertCount?: number | undefined;
983
- };
984
- amount: string | bigint;
985
- distributionType?: "AAVE_NET_APR" | "AAVE_V4_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;
986
- onChainCampaignId?: string | undefined;
987
- }[] | undefined;
988
- pauseCompute?: string | null | undefined;
989
- pausePrecompute?: string | null | undefined;
990
- hasOverrides?: boolean | undefined;
991
- isPrivate: boolean;
992
- campaignEncodingHash?: string | undefined;
993
- }[] | undefined;
994
- }) | null;
995
- Campaigns: (Omit<import("../campaign/campaign.model").CampaignWithParams<import("@package/resources/enums").CampaignType>, "createdAt" | "endTimestamp" | "manualOverrides" | "parentCampaignId" | "pauseCompute" | "pausePrecompute" | "rootCampaignId" | "startTimestamp" | "subType"> & {
996
- subType: number | null;
997
- startTimestamp: number;
998
- endTimestamp: number;
999
- createdAt: string;
1000
- parentCampaignId?: string | undefined;
1001
- rootCampaignId?: string | undefined;
1002
- pauseCompute?: string | undefined;
1003
- pausePrecompute?: string | undefined;
1004
- })[];
1005
- }[]>;
428
+ pending: string;
429
+ proofs: string[];
430
+ RewardToken: Token;
431
+ }>>;
1006
432
  private static fetchData;
1007
433
  /** Extracts unique campaign and token keys from temp leaves for batch prefetch. */
1008
434
  private static extractTempLeafKeys;
@@ -1030,3 +456,4 @@ export declare abstract class LeafService {
1030
456
  amount: string;
1031
457
  }, roots: string[]): Promise<void>;
1032
458
  }
459
+ export {};