@merkl/api 1.5.15 → 1.5.17

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 (134) hide show
  1. package/dist/src/cache/index.js.map +1 -1
  2. package/dist/src/cache/redis.js.map +1 -1
  3. package/dist/src/eden/index.d.ts +7910 -6931
  4. package/dist/src/engine/deprecated/dynamicData/implementations/Badger.js.map +1 -1
  5. package/dist/src/engine/deprecated/dynamicData/implementations/Clamm.js.map +1 -1
  6. package/dist/src/engine/deprecated/dynamicData/implementations/Compound.js.map +1 -1
  7. package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.js.map +1 -1
  8. package/dist/src/engine/deprecated/dynamicData/implementations/Dolomite.js.map +1 -1
  9. package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.js.map +1 -1
  10. package/dist/src/engine/deprecated/dynamicData/implementations/ERCMultiToken.js.map +1 -1
  11. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.js.map +1 -1
  12. package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.js.map +1 -1
  13. package/dist/src/engine/deprecated/dynamicData/implementations/Hyperdrive.js.map +1 -1
  14. package/dist/src/engine/deprecated/dynamicData/implementations/Radiant.js.map +1 -1
  15. package/dist/src/engine/deprecated/dynamicData/implementations/Silo.js.map +1 -1
  16. package/dist/src/engine/deprecated/dynamicData/implementations/Vest.js.map +1 -1
  17. package/dist/src/engine/deprecated/dynamicData/utils/fetchA51Strategies.js.map +1 -1
  18. package/dist/src/engine/deprecated/dynamicData/utils/fetchLogs.js.map +1 -1
  19. package/dist/src/engine/deprecated/dynamicData/utils/getCompV2ForksVaults.js.map +1 -1
  20. package/dist/src/engine/deprecated/dynamicData/utils/getContractCreationBlock.js.map +1 -1
  21. package/dist/src/engine/deprecated/dynamicData/utils/getEulerV2Vaults.js.map +1 -1
  22. package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EulerLendProcessor.js.map +1 -1
  23. package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/UniswapProcessor.js.map +1 -1
  24. package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesPrices.js.map +1 -1
  25. package/dist/src/engine/implementations/Ambient/tvl.js.map +1 -1
  26. package/dist/src/engine/implementations/EigenLayer/tvl.js.map +1 -1
  27. package/dist/src/engine/implementations/Ekubo/tvl.js.map +1 -1
  28. package/dist/src/engine/implementations/Encompassing/metadata.js.map +1 -1
  29. package/dist/src/engine/implementations/Erc20/metadata.js.map +1 -1
  30. package/dist/src/engine/implementations/Erc20/subTypes/detect.js.map +1 -1
  31. package/dist/src/engine/implementations/Erc20/subTypes/implementations/euler/tvl.js.map +1 -1
  32. package/dist/src/engine/implementations/Erc20/subTypes/implementations/ipor/tvl.js.map +1 -1
  33. package/dist/src/engine/implementations/Erc20/subTypes/implementations/penpiePRT/metadata.js.map +1 -1
  34. package/dist/src/engine/implementations/Erc20/tvl.js.map +1 -1
  35. package/dist/src/engine/implementations/JsonAirdrop/metadata.js.map +1 -1
  36. package/dist/src/engine/implementations/MultiLog/metadata.js.map +1 -1
  37. package/dist/src/engine/implementations/MultiLog/tvl.js.map +1 -1
  38. package/dist/src/engine/implementations/Radiant/metadata.js.map +1 -1
  39. package/dist/src/engine/implementations/StakingVaults/Equilibria/metadata.js.map +1 -1
  40. package/dist/src/engine/implementations/StakingVaults/Equilibria/tvl.js.map +1 -1
  41. package/dist/src/engine/implementations/StakingVaults/SummerFinance/tvl.js.map +1 -1
  42. package/dist/src/engine/implementations/SymbioticVault/metadata.js.map +1 -1
  43. package/dist/src/engine/implementations/TermFinance/metadata.js.map +1 -1
  44. package/dist/src/engine/implementations/clamm/tvl.abstract.js.map +1 -1
  45. package/dist/src/engine/implementations/clamm/utils.js.map +1 -1
  46. package/dist/src/engine/implementations/deprecated_clamm/metadata.js.map +1 -1
  47. package/dist/src/engine/implementations/morphoCollateral/tvl.js.map +1 -1
  48. package/dist/src/engine/implementations/morphoSingleToken/tvl.js.map +1 -1
  49. package/dist/src/engine/implementations/uniswapv4/tvl.js.map +1 -1
  50. package/dist/src/index.d.ts +1211 -225
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/jobs/delete-rewards.js.map +1 -1
  53. package/dist/src/jobs/pendings.js.map +1 -1
  54. package/dist/src/jobs/prices.js.map +1 -1
  55. package/dist/src/jobs/reward-breakdowns.js.map +1 -1
  56. package/dist/src/jobs/rewards.js.map +1 -1
  57. package/dist/src/jobs/update-analytics.js.map +1 -1
  58. package/dist/src/jobs/update-dynamic-data.js.map +1 -1
  59. package/dist/src/jobs/update-rpc-calls-cache.js.map +1 -1
  60. package/dist/src/jobs/update-v3-caches.js.map +1 -1
  61. package/dist/src/libs/computeFee.d.ts +759 -759
  62. package/dist/src/libs/deprecated-merklv3/index.js.map +1 -1
  63. package/dist/src/libs/getTokensList.js.map +1 -1
  64. package/dist/src/libs/positions/clamm/index.js.map +1 -1
  65. package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js.map +1 -1
  66. package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js.map +1 -1
  67. package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js.map +1 -1
  68. package/dist/src/libs/tokens/balances.js.map +1 -1
  69. package/dist/src/modules/v4/campaign/campaign.controller.js.map +1 -1
  70. package/dist/src/modules/v4/campaign/campaign.formatter.js.map +1 -1
  71. package/dist/src/modules/v4/campaign/campaign.repository.js.map +1 -1
  72. package/dist/src/modules/v4/campaign/campaign.service.d.ts +132 -25
  73. package/dist/src/modules/v4/campaign/campaign.service.js.map +1 -1
  74. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +393 -75
  75. package/dist/src/modules/v4/campaign/campaign.test.controller.js.map +1 -1
  76. package/dist/src/modules/v4/campaignStatus/campaignStatus.service.js.map +1 -1
  77. package/dist/src/modules/v4/carousel/carousel.service.js.map +1 -1
  78. package/dist/src/modules/v4/clamm/clamm.service.js.map +1 -1
  79. package/dist/src/modules/v4/coingecko/coingecko.service.js.map +1 -1
  80. package/dist/src/modules/v4/computedValue/computedValue.formatter.js.map +1 -1
  81. package/dist/src/modules/v4/computedValue/computedValue.service.js.map +1 -1
  82. package/dist/src/modules/v4/config/config.controller.d.ts +164 -25
  83. package/dist/src/modules/v4/config/config.controller.js.map +1 -1
  84. package/dist/src/modules/v4/dynamicData/dynamicData.service.js.map +1 -1
  85. package/dist/src/modules/v4/github/github.repository.js.map +1 -1
  86. package/dist/src/modules/v4/github/github.service.js.map +1 -1
  87. package/dist/src/modules/v4/merklRoot/merklRoot.repository.js.map +1 -1
  88. package/dist/src/modules/v4/merklRoot/merklRoot.service.js.map +1 -1
  89. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +262 -50
  90. package/dist/src/modules/v4/opportunity/opportunity.controller.js.map +1 -1
  91. package/dist/src/modules/v4/opportunity/opportunity.converter.js.map +1 -1
  92. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +143 -0
  93. package/dist/src/modules/v4/opportunity/opportunity.repository.js.map +1 -1
  94. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +393 -75
  95. package/dist/src/modules/v4/opportunity/opportunity.service.js.map +1 -1
  96. package/dist/src/modules/v4/payload/payload.controller.d.ts +393 -75
  97. package/dist/src/modules/v4/payload/payload.service.d.ts +524 -100
  98. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/OnChainCallService.js.map +1 -1
  99. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/coinGeckoService.js.map +1 -1
  100. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/defillamaService.js.map +1 -1
  101. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/dexScreenerService.js.map +1 -1
  102. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/erc4626Service.js.map +1 -1
  103. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/indexCoopService.js.map +1 -1
  104. package/dist/src/modules/v4/priceSource/priceSource.service.js.map +1 -1
  105. package/dist/src/modules/v4/protocol/protocol.repository.js.map +1 -1
  106. package/dist/src/modules/v4/protocol/protocol.service.js.map +1 -1
  107. package/dist/src/modules/v4/reward/reward.service.js.map +1 -1
  108. package/dist/src/modules/v4/router.d.ts +1211 -225
  109. package/dist/src/modules/v4/token/token.service.js.map +1 -1
  110. package/dist/src/modules/v4/tvl/tvl.service.js.map +1 -1
  111. package/dist/src/modules/v4/uniswap/uniswap.service.js.map +1 -1
  112. package/dist/src/modules/v4/user/user.service.js.map +1 -1
  113. package/dist/src/plugins/errorHandler.js.map +1 -1
  114. package/dist/src/routes/v3/lostyield.js.map +1 -1
  115. package/dist/src/routes/v3/overview.js.map +1 -1
  116. package/dist/src/routes/v3/poolInfo.js.map +1 -1
  117. package/dist/src/routes/v3/twt/participants.js.map +1 -1
  118. package/dist/src/scripts/fill-unknown-tokens.js.map +1 -1
  119. package/dist/src/scripts/importOpportunities.js.map +1 -1
  120. package/dist/src/scripts/reparse-opportunities.js.map +1 -1
  121. package/dist/src/types/logging.d.ts +111 -0
  122. package/dist/src/types/logging.js.map +1 -0
  123. package/dist/src/utils/execute.js.map +1 -1
  124. package/dist/src/utils/lastBlockBefore.js.map +1 -1
  125. package/dist/src/utils/parseDistributionType.d.ts +255 -255
  126. package/dist/src/utils/pricer.js.map +1 -1
  127. package/dist/src/utils/prices/priceService.js.map +1 -1
  128. package/package.json +1 -1
  129. package/dist/src/jobs/fix-reward-breakdown-fields.d.ts +0 -1
  130. package/dist/src/jobs/fix-reward-breakdown-fields.js.map +0 -1
  131. package/dist/src/modules/v4/airflow/airflow.service.d.ts +0 -3
  132. package/dist/src/modules/v4/airflow/airflow.service.js.map +0 -1
  133. package/dist/src/utils/logger.d.ts +0 -309
  134. package/dist/src/utils/logger.js.map +0 -1
@@ -3725,40 +3725,134 @@ export declare const v4: Elysia<"/v4", {
3725
3725
  authorization: string;
3726
3726
  };
3727
3727
  response: {
3728
- 200: {
3729
- id: string;
3728
+ 200: ({
3730
3729
  chainId: number;
3731
3730
  type: string;
3732
3731
  identifier: string;
3733
- name: string;
3734
- status: "LIVE" | "PAST" | "SOON";
3735
- action: OpportunityAction;
3736
- tokens: ({
3732
+ name?: string | undefined;
3733
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
3734
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
3735
+ description?: string | undefined;
3736
+ howToSteps?: string[] | undefined;
3737
+ tokens: {
3737
3738
  address: string;
3738
3739
  chainId: number;
3739
- decimals: number;
3740
+ }[];
3741
+ protocols?: string[] | undefined;
3742
+ mainProtocol?: string | undefined;
3743
+ depositUrl?: string | undefined;
3744
+ explorerAddress?: string | undefined;
3745
+ tags?: string[] | undefined;
3746
+ } & {
3747
+ id: string;
3748
+ }) | ({
3749
+ ActivePrograms: {
3740
3750
  icon: string;
3741
3751
  id: string;
3742
- isNative: boolean;
3743
- isTest: boolean;
3744
- name: string | null;
3745
- symbol: string;
3746
- type: import("@package/databases").TokenType;
3747
- verified: boolean;
3752
+ name: string;
3753
+ slug: string | null;
3754
+ }[];
3755
+ AprRecords: ({
3756
+ AprBreakdown: {
3757
+ identifier: string;
3758
+ timestamp: bigint;
3759
+ type: import("@package/databases").AprType;
3760
+ value: number;
3761
+ }[];
3748
3762
  } & {
3749
- price?: number | null | undefined;
3750
- updatedAt?: number | null | undefined;
3751
- priceSource?: string | null | undefined;
3752
- isTokenWrapper?: boolean | undefined;
3753
- tokenWrapperAddress?: string | undefined;
3763
+ id: string;
3764
+ timestamp: bigint;
3765
+ cumulated: number;
3766
+ opportunityId: string;
3754
3767
  })[];
3755
- mainProtocol: any;
3756
- description: string;
3757
- howToSteps: string[];
3758
- depositUrl: string | undefined;
3759
- explorerAddress: string | undefined;
3760
- tags: string[];
3761
- } | ({
3768
+ Campaigns: {
3769
+ id: string;
3770
+ computeChainId: number;
3771
+ distributionChainId: number;
3772
+ campaignId: string;
3773
+ type: string;
3774
+ distributionType: import("@package/databases").DistributionType;
3775
+ subType: number | null;
3776
+ rewardTokenId: string;
3777
+ amount: string;
3778
+ opportunityId: string;
3779
+ startTimestamp: bigint;
3780
+ endTimestamp: bigint;
3781
+ params: import("@prisma/client/runtime/client").JsonValue;
3782
+ description: string | null;
3783
+ dailyRewards: number;
3784
+ apr: number;
3785
+ creatorAddress: string;
3786
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
3787
+ createdAt: Date;
3788
+ rootCampaignId: string | null;
3789
+ parentCampaignId: string | null;
3790
+ }[];
3791
+ Chain: {
3792
+ id: number;
3793
+ name: string;
3794
+ icon: string;
3795
+ liveCampaigns: number;
3796
+ endOfDisputePeriod: number;
3797
+ };
3798
+ DailyRewardsRecords: ({
3799
+ DailyRewardsBreakdown: ({
3800
+ Campaign: {
3801
+ CampaignStatus: {
3802
+ campaignId: string;
3803
+ computedUntil: bigint;
3804
+ processingStarted: bigint;
3805
+ status: import("@package/databases").RunStatus;
3806
+ error: string;
3807
+ details: import("@prisma/client/runtime/client").JsonValue;
3808
+ }[];
3809
+ RewardToken: {
3810
+ id: string;
3811
+ name: string | null;
3812
+ chainId: number;
3813
+ address: string;
3814
+ decimals: number;
3815
+ symbol: string;
3816
+ displaySymbol: string;
3817
+ icon: string;
3818
+ verified: boolean;
3819
+ isTest: boolean;
3820
+ type: import("@package/databases").TokenType;
3821
+ isNative: boolean;
3822
+ price: number | null;
3823
+ updatedAt: number | null;
3824
+ priceSource: string | null;
3825
+ };
3826
+ amount: string;
3827
+ campaignId: string;
3828
+ distributionType: import("@package/databases").DistributionType;
3829
+ endTimestamp: bigint;
3830
+ startTimestamp: bigint;
3831
+ };
3832
+ } & {
3833
+ id: string;
3834
+ value: number;
3835
+ timestamp: bigint;
3836
+ campaignId: string;
3837
+ dailyRewardsRecordId: string;
3838
+ })[];
3839
+ } & {
3840
+ id: string;
3841
+ timestamp: bigint;
3842
+ total: number;
3843
+ opportunityId: string;
3844
+ })[];
3845
+ MainProtocol: {
3846
+ id: string;
3847
+ tags: string[];
3848
+ name: string;
3849
+ description: string;
3850
+ url: string;
3851
+ icon: string;
3852
+ banner: string | null;
3853
+ opportunityBannerLight: string | null;
3854
+ opportunityBannerDark: string | null;
3855
+ } | null;
3762
3856
  Protocols: {
3763
3857
  id: string;
3764
3858
  tags: string[];
@@ -3787,6 +3881,18 @@ export declare const v4: Elysia<"/v4", {
3787
3881
  updatedAt: number | null;
3788
3882
  priceSource: string | null;
3789
3883
  }[];
3884
+ TvlRecords: ({
3885
+ TvlBreakdown: {
3886
+ identifier: string;
3887
+ type: import("@package/databases").TvlType;
3888
+ value: number;
3889
+ }[];
3890
+ } & {
3891
+ id: string;
3892
+ timestamp: bigint;
3893
+ total: number;
3894
+ opportunityId: string;
3895
+ })[];
3790
3896
  } & {
3791
3897
  id: string;
3792
3898
  chainId: number;
@@ -3838,40 +3944,134 @@ export declare const v4: Elysia<"/v4", {
3838
3944
  authorization: string;
3839
3945
  };
3840
3946
  response: {
3841
- 200: {
3842
- id: string;
3947
+ 200: ({
3843
3948
  chainId: number;
3844
3949
  type: string;
3845
3950
  identifier: string;
3846
- name: string;
3847
- status: "LIVE" | "PAST" | "SOON";
3848
- action: OpportunityAction;
3849
- tokens: ({
3951
+ name?: string | undefined;
3952
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
3953
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
3954
+ description?: string | undefined;
3955
+ howToSteps?: string[] | undefined;
3956
+ tokens: {
3850
3957
  address: string;
3851
3958
  chainId: number;
3852
- decimals: number;
3959
+ }[];
3960
+ protocols?: string[] | undefined;
3961
+ mainProtocol?: string | undefined;
3962
+ depositUrl?: string | undefined;
3963
+ explorerAddress?: string | undefined;
3964
+ tags?: string[] | undefined;
3965
+ } & {
3966
+ id: string;
3967
+ }) | ({
3968
+ ActivePrograms: {
3853
3969
  icon: string;
3854
3970
  id: string;
3855
- isNative: boolean;
3856
- isTest: boolean;
3857
- name: string | null;
3858
- symbol: string;
3859
- type: import("@package/databases").TokenType;
3860
- verified: boolean;
3971
+ name: string;
3972
+ slug: string | null;
3973
+ }[];
3974
+ AprRecords: ({
3975
+ AprBreakdown: {
3976
+ identifier: string;
3977
+ timestamp: bigint;
3978
+ type: import("@package/databases").AprType;
3979
+ value: number;
3980
+ }[];
3861
3981
  } & {
3862
- price?: number | null | undefined;
3863
- updatedAt?: number | null | undefined;
3864
- priceSource?: string | null | undefined;
3865
- isTokenWrapper?: boolean | undefined;
3866
- tokenWrapperAddress?: string | undefined;
3982
+ id: string;
3983
+ timestamp: bigint;
3984
+ cumulated: number;
3985
+ opportunityId: string;
3867
3986
  })[];
3868
- mainProtocol: any;
3869
- description: string;
3870
- howToSteps: string[];
3871
- depositUrl: string | undefined;
3872
- explorerAddress: string | undefined;
3873
- tags: string[];
3874
- } | ({
3987
+ Campaigns: {
3988
+ id: string;
3989
+ computeChainId: number;
3990
+ distributionChainId: number;
3991
+ campaignId: string;
3992
+ type: string;
3993
+ distributionType: import("@package/databases").DistributionType;
3994
+ subType: number | null;
3995
+ rewardTokenId: string;
3996
+ amount: string;
3997
+ opportunityId: string;
3998
+ startTimestamp: bigint;
3999
+ endTimestamp: bigint;
4000
+ params: import("@prisma/client/runtime/client").JsonValue;
4001
+ description: string | null;
4002
+ dailyRewards: number;
4003
+ apr: number;
4004
+ creatorAddress: string;
4005
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
4006
+ createdAt: Date;
4007
+ rootCampaignId: string | null;
4008
+ parentCampaignId: string | null;
4009
+ }[];
4010
+ Chain: {
4011
+ id: number;
4012
+ name: string;
4013
+ icon: string;
4014
+ liveCampaigns: number;
4015
+ endOfDisputePeriod: number;
4016
+ };
4017
+ DailyRewardsRecords: ({
4018
+ DailyRewardsBreakdown: ({
4019
+ Campaign: {
4020
+ CampaignStatus: {
4021
+ campaignId: string;
4022
+ computedUntil: bigint;
4023
+ processingStarted: bigint;
4024
+ status: import("@package/databases").RunStatus;
4025
+ error: string;
4026
+ details: import("@prisma/client/runtime/client").JsonValue;
4027
+ }[];
4028
+ RewardToken: {
4029
+ id: string;
4030
+ name: string | null;
4031
+ chainId: number;
4032
+ address: string;
4033
+ decimals: number;
4034
+ symbol: string;
4035
+ displaySymbol: string;
4036
+ icon: string;
4037
+ verified: boolean;
4038
+ isTest: boolean;
4039
+ type: import("@package/databases").TokenType;
4040
+ isNative: boolean;
4041
+ price: number | null;
4042
+ updatedAt: number | null;
4043
+ priceSource: string | null;
4044
+ };
4045
+ amount: string;
4046
+ campaignId: string;
4047
+ distributionType: import("@package/databases").DistributionType;
4048
+ endTimestamp: bigint;
4049
+ startTimestamp: bigint;
4050
+ };
4051
+ } & {
4052
+ id: string;
4053
+ value: number;
4054
+ timestamp: bigint;
4055
+ campaignId: string;
4056
+ dailyRewardsRecordId: string;
4057
+ })[];
4058
+ } & {
4059
+ id: string;
4060
+ timestamp: bigint;
4061
+ total: number;
4062
+ opportunityId: string;
4063
+ })[];
4064
+ MainProtocol: {
4065
+ id: string;
4066
+ tags: string[];
4067
+ name: string;
4068
+ description: string;
4069
+ url: string;
4070
+ icon: string;
4071
+ banner: string | null;
4072
+ opportunityBannerLight: string | null;
4073
+ opportunityBannerDark: string | null;
4074
+ } | null;
3875
4075
  Protocols: {
3876
4076
  id: string;
3877
4077
  tags: string[];
@@ -3900,6 +4100,18 @@ export declare const v4: Elysia<"/v4", {
3900
4100
  updatedAt: number | null;
3901
4101
  priceSource: string | null;
3902
4102
  }[];
4103
+ TvlRecords: ({
4104
+ TvlBreakdown: {
4105
+ identifier: string;
4106
+ type: import("@package/databases").TvlType;
4107
+ value: number;
4108
+ }[];
4109
+ } & {
4110
+ id: string;
4111
+ timestamp: bigint;
4112
+ total: number;
4113
+ opportunityId: string;
4114
+ })[];
3903
4115
  } & {
3904
4116
  id: string;
3905
4117
  chainId: number;
@@ -3950,40 +4162,134 @@ export declare const v4: Elysia<"/v4", {
3950
4162
  authorization: string;
3951
4163
  };
3952
4164
  response: {
3953
- 200: {
3954
- id: string;
4165
+ 200: ({
3955
4166
  chainId: number;
3956
4167
  type: string;
3957
4168
  identifier: string;
3958
- name: string;
3959
- status: "LIVE" | "PAST" | "SOON";
3960
- action: OpportunityAction;
3961
- tokens: ({
4169
+ name?: string | undefined;
4170
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
4171
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
4172
+ description?: string | undefined;
4173
+ howToSteps?: string[] | undefined;
4174
+ tokens: {
3962
4175
  address: string;
3963
4176
  chainId: number;
3964
- decimals: number;
4177
+ }[];
4178
+ protocols?: string[] | undefined;
4179
+ mainProtocol?: string | undefined;
4180
+ depositUrl?: string | undefined;
4181
+ explorerAddress?: string | undefined;
4182
+ tags?: string[] | undefined;
4183
+ } & {
4184
+ id: string;
4185
+ }) | ({
4186
+ ActivePrograms: {
3965
4187
  icon: string;
3966
4188
  id: string;
3967
- isNative: boolean;
3968
- isTest: boolean;
3969
- name: string | null;
3970
- symbol: string;
3971
- type: import("@package/databases").TokenType;
3972
- verified: boolean;
4189
+ name: string;
4190
+ slug: string | null;
4191
+ }[];
4192
+ AprRecords: ({
4193
+ AprBreakdown: {
4194
+ identifier: string;
4195
+ timestamp: bigint;
4196
+ type: import("@package/databases").AprType;
4197
+ value: number;
4198
+ }[];
3973
4199
  } & {
3974
- price?: number | null | undefined;
3975
- updatedAt?: number | null | undefined;
3976
- priceSource?: string | null | undefined;
3977
- isTokenWrapper?: boolean | undefined;
3978
- tokenWrapperAddress?: string | undefined;
4200
+ id: string;
4201
+ timestamp: bigint;
4202
+ cumulated: number;
4203
+ opportunityId: string;
3979
4204
  })[];
3980
- mainProtocol: any;
3981
- description: string;
3982
- howToSteps: string[];
3983
- depositUrl: string | undefined;
3984
- explorerAddress: string | undefined;
3985
- tags: string[];
3986
- } | ({
4205
+ Campaigns: {
4206
+ id: string;
4207
+ computeChainId: number;
4208
+ distributionChainId: number;
4209
+ campaignId: string;
4210
+ type: string;
4211
+ distributionType: import("@package/databases").DistributionType;
4212
+ subType: number | null;
4213
+ rewardTokenId: string;
4214
+ amount: string;
4215
+ opportunityId: string;
4216
+ startTimestamp: bigint;
4217
+ endTimestamp: bigint;
4218
+ params: import("@prisma/client/runtime/client").JsonValue;
4219
+ description: string | null;
4220
+ dailyRewards: number;
4221
+ apr: number;
4222
+ creatorAddress: string;
4223
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
4224
+ createdAt: Date;
4225
+ rootCampaignId: string | null;
4226
+ parentCampaignId: string | null;
4227
+ }[];
4228
+ Chain: {
4229
+ id: number;
4230
+ name: string;
4231
+ icon: string;
4232
+ liveCampaigns: number;
4233
+ endOfDisputePeriod: number;
4234
+ };
4235
+ DailyRewardsRecords: ({
4236
+ DailyRewardsBreakdown: ({
4237
+ Campaign: {
4238
+ CampaignStatus: {
4239
+ campaignId: string;
4240
+ computedUntil: bigint;
4241
+ processingStarted: bigint;
4242
+ status: import("@package/databases").RunStatus;
4243
+ error: string;
4244
+ details: import("@prisma/client/runtime/client").JsonValue;
4245
+ }[];
4246
+ RewardToken: {
4247
+ id: string;
4248
+ name: string | null;
4249
+ chainId: number;
4250
+ address: string;
4251
+ decimals: number;
4252
+ symbol: string;
4253
+ displaySymbol: string;
4254
+ icon: string;
4255
+ verified: boolean;
4256
+ isTest: boolean;
4257
+ type: import("@package/databases").TokenType;
4258
+ isNative: boolean;
4259
+ price: number | null;
4260
+ updatedAt: number | null;
4261
+ priceSource: string | null;
4262
+ };
4263
+ amount: string;
4264
+ campaignId: string;
4265
+ distributionType: import("@package/databases").DistributionType;
4266
+ endTimestamp: bigint;
4267
+ startTimestamp: bigint;
4268
+ };
4269
+ } & {
4270
+ id: string;
4271
+ value: number;
4272
+ timestamp: bigint;
4273
+ campaignId: string;
4274
+ dailyRewardsRecordId: string;
4275
+ })[];
4276
+ } & {
4277
+ id: string;
4278
+ timestamp: bigint;
4279
+ total: number;
4280
+ opportunityId: string;
4281
+ })[];
4282
+ MainProtocol: {
4283
+ id: string;
4284
+ tags: string[];
4285
+ name: string;
4286
+ description: string;
4287
+ url: string;
4288
+ icon: string;
4289
+ banner: string | null;
4290
+ opportunityBannerLight: string | null;
4291
+ opportunityBannerDark: string | null;
4292
+ } | null;
3987
4293
  Protocols: {
3988
4294
  id: string;
3989
4295
  tags: string[];
@@ -4012,6 +4318,18 @@ export declare const v4: Elysia<"/v4", {
4012
4318
  updatedAt: number | null;
4013
4319
  priceSource: string | null;
4014
4320
  }[];
4321
+ TvlRecords: ({
4322
+ TvlBreakdown: {
4323
+ identifier: string;
4324
+ type: import("@package/databases").TvlType;
4325
+ value: number;
4326
+ }[];
4327
+ } & {
4328
+ id: string;
4329
+ timestamp: bigint;
4330
+ total: number;
4331
+ opportunityId: string;
4332
+ })[];
4015
4333
  } & {
4016
4334
  id: string;
4017
4335
  chainId: number;
@@ -5924,40 +6242,134 @@ export declare const v4: Elysia<"/v4", {
5924
6242
  query: unknown;
5925
6243
  headers: unknown;
5926
6244
  response: {
5927
- 200: {
5928
- id: string;
6245
+ 200: ({
5929
6246
  chainId: number;
5930
6247
  type: string;
5931
6248
  identifier: string;
5932
- name: string;
5933
- status: "LIVE" | "PAST" | "SOON";
5934
- action: OpportunityAction;
5935
- tokens: ({
6249
+ name?: string | undefined;
6250
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
6251
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
6252
+ description?: string | undefined;
6253
+ howToSteps?: string[] | undefined;
6254
+ tokens: {
5936
6255
  address: string;
5937
6256
  chainId: number;
5938
- decimals: number;
6257
+ }[];
6258
+ protocols?: string[] | undefined;
6259
+ mainProtocol?: string | undefined;
6260
+ depositUrl?: string | undefined;
6261
+ explorerAddress?: string | undefined;
6262
+ tags?: string[] | undefined;
6263
+ } & {
6264
+ id: string;
6265
+ }) | ({
6266
+ ActivePrograms: {
5939
6267
  icon: string;
5940
6268
  id: string;
5941
- isNative: boolean;
5942
- isTest: boolean;
5943
- name: string | null;
5944
- symbol: string;
5945
- type: import("@package/databases").TokenType;
5946
- verified: boolean;
6269
+ name: string;
6270
+ slug: string | null;
6271
+ }[];
6272
+ AprRecords: ({
6273
+ AprBreakdown: {
6274
+ identifier: string;
6275
+ timestamp: bigint;
6276
+ type: import("@package/databases").AprType;
6277
+ value: number;
6278
+ }[];
6279
+ } & {
6280
+ id: string;
6281
+ timestamp: bigint;
6282
+ cumulated: number;
6283
+ opportunityId: string;
6284
+ })[];
6285
+ Campaigns: {
6286
+ id: string;
6287
+ computeChainId: number;
6288
+ distributionChainId: number;
6289
+ campaignId: string;
6290
+ type: string;
6291
+ distributionType: import("@package/databases").DistributionType;
6292
+ subType: number | null;
6293
+ rewardTokenId: string;
6294
+ amount: string;
6295
+ opportunityId: string;
6296
+ startTimestamp: bigint;
6297
+ endTimestamp: bigint;
6298
+ params: import("@prisma/client/runtime/client").JsonValue;
6299
+ description: string | null;
6300
+ dailyRewards: number;
6301
+ apr: number;
6302
+ creatorAddress: string;
6303
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
6304
+ createdAt: Date;
6305
+ rootCampaignId: string | null;
6306
+ parentCampaignId: string | null;
6307
+ }[];
6308
+ Chain: {
6309
+ id: number;
6310
+ name: string;
6311
+ icon: string;
6312
+ liveCampaigns: number;
6313
+ endOfDisputePeriod: number;
6314
+ };
6315
+ DailyRewardsRecords: ({
6316
+ DailyRewardsBreakdown: ({
6317
+ Campaign: {
6318
+ CampaignStatus: {
6319
+ campaignId: string;
6320
+ computedUntil: bigint;
6321
+ processingStarted: bigint;
6322
+ status: import("@package/databases").RunStatus;
6323
+ error: string;
6324
+ details: import("@prisma/client/runtime/client").JsonValue;
6325
+ }[];
6326
+ RewardToken: {
6327
+ id: string;
6328
+ name: string | null;
6329
+ chainId: number;
6330
+ address: string;
6331
+ decimals: number;
6332
+ symbol: string;
6333
+ displaySymbol: string;
6334
+ icon: string;
6335
+ verified: boolean;
6336
+ isTest: boolean;
6337
+ type: import("@package/databases").TokenType;
6338
+ isNative: boolean;
6339
+ price: number | null;
6340
+ updatedAt: number | null;
6341
+ priceSource: string | null;
6342
+ };
6343
+ amount: string;
6344
+ campaignId: string;
6345
+ distributionType: import("@package/databases").DistributionType;
6346
+ endTimestamp: bigint;
6347
+ startTimestamp: bigint;
6348
+ };
6349
+ } & {
6350
+ id: string;
6351
+ value: number;
6352
+ timestamp: bigint;
6353
+ campaignId: string;
6354
+ dailyRewardsRecordId: string;
6355
+ })[];
5947
6356
  } & {
5948
- price?: number | null | undefined;
5949
- updatedAt?: number | null | undefined;
5950
- priceSource?: string | null | undefined;
5951
- isTokenWrapper?: boolean | undefined;
5952
- tokenWrapperAddress?: string | undefined;
6357
+ id: string;
6358
+ timestamp: bigint;
6359
+ total: number;
6360
+ opportunityId: string;
5953
6361
  })[];
5954
- mainProtocol: any;
5955
- description: string;
5956
- howToSteps: string[];
5957
- depositUrl: string | undefined;
5958
- explorerAddress: string | undefined;
5959
- tags: string[];
5960
- } | ({
6362
+ MainProtocol: {
6363
+ id: string;
6364
+ tags: string[];
6365
+ name: string;
6366
+ description: string;
6367
+ url: string;
6368
+ icon: string;
6369
+ banner: string | null;
6370
+ opportunityBannerLight: string | null;
6371
+ opportunityBannerDark: string | null;
6372
+ } | null;
5961
6373
  Protocols: {
5962
6374
  id: string;
5963
6375
  tags: string[];
@@ -5986,6 +6398,18 @@ export declare const v4: Elysia<"/v4", {
5986
6398
  updatedAt: number | null;
5987
6399
  priceSource: string | null;
5988
6400
  }[];
6401
+ TvlRecords: ({
6402
+ TvlBreakdown: {
6403
+ identifier: string;
6404
+ type: import("@package/databases").TvlType;
6405
+ value: number;
6406
+ }[];
6407
+ } & {
6408
+ id: string;
6409
+ timestamp: bigint;
6410
+ total: number;
6411
+ opportunityId: string;
6412
+ })[];
5989
6413
  } & {
5990
6414
  id: string;
5991
6415
  chainId: number;
@@ -6038,6 +6462,38 @@ export declare const v4: Elysia<"/v4", {
6038
6462
  };
6039
6463
  };
6040
6464
  };
6465
+ } & {
6466
+ config: {
6467
+ encode: {
6468
+ batch: {
6469
+ post: {
6470
+ body: any;
6471
+ params: {};
6472
+ query: unknown;
6473
+ headers: unknown;
6474
+ response: {
6475
+ 200: {
6476
+ payloads: {
6477
+ payload: string;
6478
+ args: {
6479
+ campaignId: string;
6480
+ creator: string;
6481
+ rewardToken: string;
6482
+ amount: string;
6483
+ campaignType: number;
6484
+ startTimestamp: number;
6485
+ duration: number;
6486
+ campaignData: string;
6487
+ };
6488
+ }[];
6489
+ batchPayload: string;
6490
+ safePayload: import("./campaignBatch/campaignBatch.model").SafePayload;
6491
+ };
6492
+ };
6493
+ };
6494
+ };
6495
+ };
6496
+ };
6041
6497
  } & {
6042
6498
  config: {
6043
6499
  decode: {
@@ -8983,40 +9439,134 @@ export declare const v4: Elysia<"/v4", {
8983
9439
  authorization: string;
8984
9440
  };
8985
9441
  response: {
8986
- 200: {
8987
- id: string;
9442
+ 200: ({
8988
9443
  chainId: number;
8989
9444
  type: string;
8990
9445
  identifier: string;
8991
- name: string;
8992
- status: "LIVE" | "PAST" | "SOON";
8993
- action: OpportunityAction;
8994
- tokens: ({
9446
+ name?: string | undefined;
9447
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
9448
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
9449
+ description?: string | undefined;
9450
+ howToSteps?: string[] | undefined;
9451
+ tokens: {
8995
9452
  address: string;
8996
9453
  chainId: number;
8997
- decimals: number;
9454
+ }[];
9455
+ protocols?: string[] | undefined;
9456
+ mainProtocol?: string | undefined;
9457
+ depositUrl?: string | undefined;
9458
+ explorerAddress?: string | undefined;
9459
+ tags?: string[] | undefined;
9460
+ } & {
9461
+ id: string;
9462
+ }) | ({
9463
+ ActivePrograms: {
8998
9464
  icon: string;
8999
9465
  id: string;
9000
- isNative: boolean;
9001
- isTest: boolean;
9002
- name: string | null;
9003
- symbol: string;
9004
- type: import("@package/databases").TokenType;
9005
- verified: boolean;
9466
+ name: string;
9467
+ slug: string | null;
9468
+ }[];
9469
+ AprRecords: ({
9470
+ AprBreakdown: {
9471
+ identifier: string;
9472
+ timestamp: bigint;
9473
+ type: import("@package/databases").AprType;
9474
+ value: number;
9475
+ }[];
9006
9476
  } & {
9007
- price?: number | null | undefined;
9008
- updatedAt?: number | null | undefined;
9009
- priceSource?: string | null | undefined;
9010
- isTokenWrapper?: boolean | undefined;
9011
- tokenWrapperAddress?: string | undefined;
9477
+ id: string;
9478
+ timestamp: bigint;
9479
+ cumulated: number;
9480
+ opportunityId: string;
9012
9481
  })[];
9013
- mainProtocol: any;
9014
- description: string;
9015
- howToSteps: string[];
9016
- depositUrl: string | undefined;
9017
- explorerAddress: string | undefined;
9018
- tags: string[];
9019
- } | ({
9482
+ Campaigns: {
9483
+ id: string;
9484
+ computeChainId: number;
9485
+ distributionChainId: number;
9486
+ campaignId: string;
9487
+ type: string;
9488
+ distributionType: import("@package/databases").DistributionType;
9489
+ subType: number | null;
9490
+ rewardTokenId: string;
9491
+ amount: string;
9492
+ opportunityId: string;
9493
+ startTimestamp: bigint;
9494
+ endTimestamp: bigint;
9495
+ params: import("@prisma/client/runtime/client").JsonValue;
9496
+ description: string | null;
9497
+ dailyRewards: number;
9498
+ apr: number;
9499
+ creatorAddress: string;
9500
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
9501
+ createdAt: Date;
9502
+ rootCampaignId: string | null;
9503
+ parentCampaignId: string | null;
9504
+ }[];
9505
+ Chain: {
9506
+ id: number;
9507
+ name: string;
9508
+ icon: string;
9509
+ liveCampaigns: number;
9510
+ endOfDisputePeriod: number;
9511
+ };
9512
+ DailyRewardsRecords: ({
9513
+ DailyRewardsBreakdown: ({
9514
+ Campaign: {
9515
+ CampaignStatus: {
9516
+ campaignId: string;
9517
+ computedUntil: bigint;
9518
+ processingStarted: bigint;
9519
+ status: import("@package/databases").RunStatus;
9520
+ error: string;
9521
+ details: import("@prisma/client/runtime/client").JsonValue;
9522
+ }[];
9523
+ RewardToken: {
9524
+ id: string;
9525
+ name: string | null;
9526
+ chainId: number;
9527
+ address: string;
9528
+ decimals: number;
9529
+ symbol: string;
9530
+ displaySymbol: string;
9531
+ icon: string;
9532
+ verified: boolean;
9533
+ isTest: boolean;
9534
+ type: import("@package/databases").TokenType;
9535
+ isNative: boolean;
9536
+ price: number | null;
9537
+ updatedAt: number | null;
9538
+ priceSource: string | null;
9539
+ };
9540
+ amount: string;
9541
+ campaignId: string;
9542
+ distributionType: import("@package/databases").DistributionType;
9543
+ endTimestamp: bigint;
9544
+ startTimestamp: bigint;
9545
+ };
9546
+ } & {
9547
+ id: string;
9548
+ value: number;
9549
+ timestamp: bigint;
9550
+ campaignId: string;
9551
+ dailyRewardsRecordId: string;
9552
+ })[];
9553
+ } & {
9554
+ id: string;
9555
+ timestamp: bigint;
9556
+ total: number;
9557
+ opportunityId: string;
9558
+ })[];
9559
+ MainProtocol: {
9560
+ id: string;
9561
+ tags: string[];
9562
+ name: string;
9563
+ description: string;
9564
+ url: string;
9565
+ icon: string;
9566
+ banner: string | null;
9567
+ opportunityBannerLight: string | null;
9568
+ opportunityBannerDark: string | null;
9569
+ } | null;
9020
9570
  Protocols: {
9021
9571
  id: string;
9022
9572
  tags: string[];
@@ -9045,6 +9595,18 @@ export declare const v4: Elysia<"/v4", {
9045
9595
  updatedAt: number | null;
9046
9596
  priceSource: string | null;
9047
9597
  }[];
9598
+ TvlRecords: ({
9599
+ TvlBreakdown: {
9600
+ identifier: string;
9601
+ type: import("@package/databases").TvlType;
9602
+ value: number;
9603
+ }[];
9604
+ } & {
9605
+ id: string;
9606
+ timestamp: bigint;
9607
+ total: number;
9608
+ opportunityId: string;
9609
+ })[];
9048
9610
  } & {
9049
9611
  id: string;
9050
9612
  chainId: number;
@@ -9204,40 +9766,134 @@ export declare const v4: Elysia<"/v4", {
9204
9766
  query: unknown;
9205
9767
  headers: unknown;
9206
9768
  response: {
9207
- 200: {
9208
- id: string;
9769
+ 200: ({
9209
9770
  chainId: number;
9210
9771
  type: string;
9211
9772
  identifier: string;
9212
- name: string;
9213
- status: "LIVE" | "PAST" | "SOON";
9214
- action: OpportunityAction;
9215
- tokens: ({
9773
+ name?: string | undefined;
9774
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
9775
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
9776
+ description?: string | undefined;
9777
+ howToSteps?: string[] | undefined;
9778
+ tokens: {
9216
9779
  address: string;
9217
9780
  chainId: number;
9218
- decimals: number;
9781
+ }[];
9782
+ protocols?: string[] | undefined;
9783
+ mainProtocol?: string | undefined;
9784
+ depositUrl?: string | undefined;
9785
+ explorerAddress?: string | undefined;
9786
+ tags?: string[] | undefined;
9787
+ } & {
9788
+ id: string;
9789
+ }) | ({
9790
+ ActivePrograms: {
9219
9791
  icon: string;
9220
9792
  id: string;
9221
- isNative: boolean;
9222
- isTest: boolean;
9223
- name: string | null;
9224
- symbol: string;
9225
- type: import("@package/databases").TokenType;
9226
- verified: boolean;
9793
+ name: string;
9794
+ slug: string | null;
9795
+ }[];
9796
+ AprRecords: ({
9797
+ AprBreakdown: {
9798
+ identifier: string;
9799
+ timestamp: bigint;
9800
+ type: import("@package/databases").AprType;
9801
+ value: number;
9802
+ }[];
9227
9803
  } & {
9228
- price?: number | null | undefined;
9229
- updatedAt?: number | null | undefined;
9230
- priceSource?: string | null | undefined;
9231
- isTokenWrapper?: boolean | undefined;
9232
- tokenWrapperAddress?: string | undefined;
9804
+ id: string;
9805
+ timestamp: bigint;
9806
+ cumulated: number;
9807
+ opportunityId: string;
9233
9808
  })[];
9234
- mainProtocol: any;
9235
- description: string;
9236
- howToSteps: string[];
9237
- depositUrl: string | undefined;
9238
- explorerAddress: string | undefined;
9239
- tags: string[];
9240
- } | ({
9809
+ Campaigns: {
9810
+ id: string;
9811
+ computeChainId: number;
9812
+ distributionChainId: number;
9813
+ campaignId: string;
9814
+ type: string;
9815
+ distributionType: import("@package/databases").DistributionType;
9816
+ subType: number | null;
9817
+ rewardTokenId: string;
9818
+ amount: string;
9819
+ opportunityId: string;
9820
+ startTimestamp: bigint;
9821
+ endTimestamp: bigint;
9822
+ params: import("@prisma/client/runtime/client").JsonValue;
9823
+ description: string | null;
9824
+ dailyRewards: number;
9825
+ apr: number;
9826
+ creatorAddress: string;
9827
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
9828
+ createdAt: Date;
9829
+ rootCampaignId: string | null;
9830
+ parentCampaignId: string | null;
9831
+ }[];
9832
+ Chain: {
9833
+ id: number;
9834
+ name: string;
9835
+ icon: string;
9836
+ liveCampaigns: number;
9837
+ endOfDisputePeriod: number;
9838
+ };
9839
+ DailyRewardsRecords: ({
9840
+ DailyRewardsBreakdown: ({
9841
+ Campaign: {
9842
+ CampaignStatus: {
9843
+ campaignId: string;
9844
+ computedUntil: bigint;
9845
+ processingStarted: bigint;
9846
+ status: import("@package/databases").RunStatus;
9847
+ error: string;
9848
+ details: import("@prisma/client/runtime/client").JsonValue;
9849
+ }[];
9850
+ RewardToken: {
9851
+ id: string;
9852
+ name: string | null;
9853
+ chainId: number;
9854
+ address: string;
9855
+ decimals: number;
9856
+ symbol: string;
9857
+ displaySymbol: string;
9858
+ icon: string;
9859
+ verified: boolean;
9860
+ isTest: boolean;
9861
+ type: import("@package/databases").TokenType;
9862
+ isNative: boolean;
9863
+ price: number | null;
9864
+ updatedAt: number | null;
9865
+ priceSource: string | null;
9866
+ };
9867
+ amount: string;
9868
+ campaignId: string;
9869
+ distributionType: import("@package/databases").DistributionType;
9870
+ endTimestamp: bigint;
9871
+ startTimestamp: bigint;
9872
+ };
9873
+ } & {
9874
+ id: string;
9875
+ value: number;
9876
+ timestamp: bigint;
9877
+ campaignId: string;
9878
+ dailyRewardsRecordId: string;
9879
+ })[];
9880
+ } & {
9881
+ id: string;
9882
+ timestamp: bigint;
9883
+ total: number;
9884
+ opportunityId: string;
9885
+ })[];
9886
+ MainProtocol: {
9887
+ id: string;
9888
+ tags: string[];
9889
+ name: string;
9890
+ description: string;
9891
+ url: string;
9892
+ icon: string;
9893
+ banner: string | null;
9894
+ opportunityBannerLight: string | null;
9895
+ opportunityBannerDark: string | null;
9896
+ } | null;
9241
9897
  Protocols: {
9242
9898
  id: string;
9243
9899
  tags: string[];
@@ -9266,6 +9922,18 @@ export declare const v4: Elysia<"/v4", {
9266
9922
  updatedAt: number | null;
9267
9923
  priceSource: string | null;
9268
9924
  }[];
9925
+ TvlRecords: ({
9926
+ TvlBreakdown: {
9927
+ identifier: string;
9928
+ type: import("@package/databases").TvlType;
9929
+ value: number;
9930
+ }[];
9931
+ } & {
9932
+ id: string;
9933
+ timestamp: bigint;
9934
+ total: number;
9935
+ opportunityId: string;
9936
+ })[];
9269
9937
  } & {
9270
9938
  id: string;
9271
9939
  chainId: number;
@@ -9393,40 +10061,134 @@ export declare const v4: Elysia<"/v4", {
9393
10061
  } | {
9394
10062
  message?: undefined;
9395
10063
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9396
- opportunity: {
9397
- id: string;
10064
+ opportunity: ({
9398
10065
  chainId: number;
9399
10066
  type: string;
9400
10067
  identifier: string;
9401
- name: string;
9402
- status: "LIVE" | "PAST" | "SOON";
9403
- action: OpportunityAction;
9404
- tokens: ({
10068
+ name?: string | undefined;
10069
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10070
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10071
+ description?: string | undefined;
10072
+ howToSteps?: string[] | undefined;
10073
+ tokens: {
9405
10074
  address: string;
9406
10075
  chainId: number;
9407
- decimals: number;
10076
+ }[];
10077
+ protocols?: string[] | undefined;
10078
+ mainProtocol?: string | undefined;
10079
+ depositUrl?: string | undefined;
10080
+ explorerAddress?: string | undefined;
10081
+ tags?: string[] | undefined;
10082
+ } & {
10083
+ id: string;
10084
+ }) | ({
10085
+ ActivePrograms: {
9408
10086
  icon: string;
9409
10087
  id: string;
9410
- isNative: boolean;
9411
- isTest: boolean;
9412
- name: string | null;
9413
- symbol: string;
9414
- type: import("@package/databases").TokenType;
9415
- verified: boolean;
10088
+ name: string;
10089
+ slug: string | null;
10090
+ }[];
10091
+ AprRecords: ({
10092
+ AprBreakdown: {
10093
+ identifier: string;
10094
+ timestamp: bigint;
10095
+ type: import("@package/databases").AprType;
10096
+ value: number;
10097
+ }[];
9416
10098
  } & {
9417
- price?: number | null | undefined;
9418
- updatedAt?: number | null | undefined;
9419
- priceSource?: string | null | undefined;
9420
- isTokenWrapper?: boolean | undefined;
9421
- tokenWrapperAddress?: string | undefined;
10099
+ id: string;
10100
+ timestamp: bigint;
10101
+ cumulated: number;
10102
+ opportunityId: string;
9422
10103
  })[];
9423
- mainProtocol: any;
9424
- description: string;
9425
- howToSteps: string[];
9426
- depositUrl: string | undefined;
9427
- explorerAddress: string | undefined;
9428
- tags: string[];
9429
- } | ({
10104
+ Campaigns: {
10105
+ id: string;
10106
+ computeChainId: number;
10107
+ distributionChainId: number;
10108
+ campaignId: string;
10109
+ type: string;
10110
+ distributionType: import("@package/databases").DistributionType;
10111
+ subType: number | null;
10112
+ rewardTokenId: string;
10113
+ amount: string;
10114
+ opportunityId: string;
10115
+ startTimestamp: bigint;
10116
+ endTimestamp: bigint;
10117
+ params: import("@prisma/client/runtime/client").JsonValue;
10118
+ description: string | null;
10119
+ dailyRewards: number;
10120
+ apr: number;
10121
+ creatorAddress: string;
10122
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10123
+ createdAt: Date;
10124
+ rootCampaignId: string | null;
10125
+ parentCampaignId: string | null;
10126
+ }[];
10127
+ Chain: {
10128
+ id: number;
10129
+ name: string;
10130
+ icon: string;
10131
+ liveCampaigns: number;
10132
+ endOfDisputePeriod: number;
10133
+ };
10134
+ DailyRewardsRecords: ({
10135
+ DailyRewardsBreakdown: ({
10136
+ Campaign: {
10137
+ CampaignStatus: {
10138
+ campaignId: string;
10139
+ computedUntil: bigint;
10140
+ processingStarted: bigint;
10141
+ status: import("@package/databases").RunStatus;
10142
+ error: string;
10143
+ details: import("@prisma/client/runtime/client").JsonValue;
10144
+ }[];
10145
+ RewardToken: {
10146
+ id: string;
10147
+ name: string | null;
10148
+ chainId: number;
10149
+ address: string;
10150
+ decimals: number;
10151
+ symbol: string;
10152
+ displaySymbol: string;
10153
+ icon: string;
10154
+ verified: boolean;
10155
+ isTest: boolean;
10156
+ type: import("@package/databases").TokenType;
10157
+ isNative: boolean;
10158
+ price: number | null;
10159
+ updatedAt: number | null;
10160
+ priceSource: string | null;
10161
+ };
10162
+ amount: string;
10163
+ campaignId: string;
10164
+ distributionType: import("@package/databases").DistributionType;
10165
+ endTimestamp: bigint;
10166
+ startTimestamp: bigint;
10167
+ };
10168
+ } & {
10169
+ id: string;
10170
+ value: number;
10171
+ timestamp: bigint;
10172
+ campaignId: string;
10173
+ dailyRewardsRecordId: string;
10174
+ })[];
10175
+ } & {
10176
+ id: string;
10177
+ timestamp: bigint;
10178
+ total: number;
10179
+ opportunityId: string;
10180
+ })[];
10181
+ MainProtocol: {
10182
+ id: string;
10183
+ tags: string[];
10184
+ name: string;
10185
+ description: string;
10186
+ url: string;
10187
+ icon: string;
10188
+ banner: string | null;
10189
+ opportunityBannerLight: string | null;
10190
+ opportunityBannerDark: string | null;
10191
+ } | null;
9430
10192
  Protocols: {
9431
10193
  id: string;
9432
10194
  tags: string[];
@@ -9455,6 +10217,18 @@ export declare const v4: Elysia<"/v4", {
9455
10217
  updatedAt: number | null;
9456
10218
  priceSource: string | null;
9457
10219
  }[];
10220
+ TvlRecords: ({
10221
+ TvlBreakdown: {
10222
+ identifier: string;
10223
+ type: import("@package/databases").TvlType;
10224
+ value: number;
10225
+ }[];
10226
+ } & {
10227
+ id: string;
10228
+ timestamp: bigint;
10229
+ total: number;
10230
+ opportunityId: string;
10231
+ })[];
9458
10232
  } & {
9459
10233
  id: string;
9460
10234
  chainId: number;
@@ -9530,40 +10304,134 @@ export declare const v4: Elysia<"/v4", {
9530
10304
  } | {
9531
10305
  message?: undefined;
9532
10306
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9533
- opportunity: {
9534
- id: string;
10307
+ opportunity: ({
9535
10308
  chainId: number;
9536
10309
  type: string;
9537
10310
  identifier: string;
9538
- name: string;
9539
- status: "LIVE" | "PAST" | "SOON";
9540
- action: OpportunityAction;
9541
- tokens: ({
10311
+ name?: string | undefined;
10312
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10313
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10314
+ description?: string | undefined;
10315
+ howToSteps?: string[] | undefined;
10316
+ tokens: {
9542
10317
  address: string;
9543
10318
  chainId: number;
9544
- decimals: number;
10319
+ }[];
10320
+ protocols?: string[] | undefined;
10321
+ mainProtocol?: string | undefined;
10322
+ depositUrl?: string | undefined;
10323
+ explorerAddress?: string | undefined;
10324
+ tags?: string[] | undefined;
10325
+ } & {
10326
+ id: string;
10327
+ }) | ({
10328
+ ActivePrograms: {
9545
10329
  icon: string;
9546
10330
  id: string;
9547
- isNative: boolean;
9548
- isTest: boolean;
9549
- name: string | null;
9550
- symbol: string;
9551
- type: import("@package/databases").TokenType;
9552
- verified: boolean;
10331
+ name: string;
10332
+ slug: string | null;
10333
+ }[];
10334
+ AprRecords: ({
10335
+ AprBreakdown: {
10336
+ identifier: string;
10337
+ timestamp: bigint;
10338
+ type: import("@package/databases").AprType;
10339
+ value: number;
10340
+ }[];
9553
10341
  } & {
9554
- price?: number | null | undefined;
9555
- updatedAt?: number | null | undefined;
9556
- priceSource?: string | null | undefined;
9557
- isTokenWrapper?: boolean | undefined;
9558
- tokenWrapperAddress?: string | undefined;
10342
+ id: string;
10343
+ timestamp: bigint;
10344
+ cumulated: number;
10345
+ opportunityId: string;
9559
10346
  })[];
9560
- mainProtocol: any;
9561
- description: string;
9562
- howToSteps: string[];
9563
- depositUrl: string | undefined;
9564
- explorerAddress: string | undefined;
9565
- tags: string[];
9566
- } | ({
10347
+ Campaigns: {
10348
+ id: string;
10349
+ computeChainId: number;
10350
+ distributionChainId: number;
10351
+ campaignId: string;
10352
+ type: string;
10353
+ distributionType: import("@package/databases").DistributionType;
10354
+ subType: number | null;
10355
+ rewardTokenId: string;
10356
+ amount: string;
10357
+ opportunityId: string;
10358
+ startTimestamp: bigint;
10359
+ endTimestamp: bigint;
10360
+ params: import("@prisma/client/runtime/client").JsonValue;
10361
+ description: string | null;
10362
+ dailyRewards: number;
10363
+ apr: number;
10364
+ creatorAddress: string;
10365
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10366
+ createdAt: Date;
10367
+ rootCampaignId: string | null;
10368
+ parentCampaignId: string | null;
10369
+ }[];
10370
+ Chain: {
10371
+ id: number;
10372
+ name: string;
10373
+ icon: string;
10374
+ liveCampaigns: number;
10375
+ endOfDisputePeriod: number;
10376
+ };
10377
+ DailyRewardsRecords: ({
10378
+ DailyRewardsBreakdown: ({
10379
+ Campaign: {
10380
+ CampaignStatus: {
10381
+ campaignId: string;
10382
+ computedUntil: bigint;
10383
+ processingStarted: bigint;
10384
+ status: import("@package/databases").RunStatus;
10385
+ error: string;
10386
+ details: import("@prisma/client/runtime/client").JsonValue;
10387
+ }[];
10388
+ RewardToken: {
10389
+ id: string;
10390
+ name: string | null;
10391
+ chainId: number;
10392
+ address: string;
10393
+ decimals: number;
10394
+ symbol: string;
10395
+ displaySymbol: string;
10396
+ icon: string;
10397
+ verified: boolean;
10398
+ isTest: boolean;
10399
+ type: import("@package/databases").TokenType;
10400
+ isNative: boolean;
10401
+ price: number | null;
10402
+ updatedAt: number | null;
10403
+ priceSource: string | null;
10404
+ };
10405
+ amount: string;
10406
+ campaignId: string;
10407
+ distributionType: import("@package/databases").DistributionType;
10408
+ endTimestamp: bigint;
10409
+ startTimestamp: bigint;
10410
+ };
10411
+ } & {
10412
+ id: string;
10413
+ value: number;
10414
+ timestamp: bigint;
10415
+ campaignId: string;
10416
+ dailyRewardsRecordId: string;
10417
+ })[];
10418
+ } & {
10419
+ id: string;
10420
+ timestamp: bigint;
10421
+ total: number;
10422
+ opportunityId: string;
10423
+ })[];
10424
+ MainProtocol: {
10425
+ id: string;
10426
+ tags: string[];
10427
+ name: string;
10428
+ description: string;
10429
+ url: string;
10430
+ icon: string;
10431
+ banner: string | null;
10432
+ opportunityBannerLight: string | null;
10433
+ opportunityBannerDark: string | null;
10434
+ } | null;
9567
10435
  Protocols: {
9568
10436
  id: string;
9569
10437
  tags: string[];
@@ -9592,6 +10460,18 @@ export declare const v4: Elysia<"/v4", {
9592
10460
  updatedAt: number | null;
9593
10461
  priceSource: string | null;
9594
10462
  }[];
10463
+ TvlRecords: ({
10464
+ TvlBreakdown: {
10465
+ identifier: string;
10466
+ type: import("@package/databases").TvlType;
10467
+ value: number;
10468
+ }[];
10469
+ } & {
10470
+ id: string;
10471
+ timestamp: bigint;
10472
+ total: number;
10473
+ opportunityId: string;
10474
+ })[];
9595
10475
  } & {
9596
10476
  id: string;
9597
10477
  chainId: number;
@@ -9663,40 +10543,134 @@ export declare const v4: Elysia<"/v4", {
9663
10543
  } | {
9664
10544
  message?: undefined;
9665
10545
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9666
- opportunity: {
9667
- id: string;
10546
+ opportunity: ({
9668
10547
  chainId: number;
9669
10548
  type: string;
9670
10549
  identifier: string;
9671
- name: string;
9672
- status: "LIVE" | "PAST" | "SOON";
9673
- action: OpportunityAction;
9674
- tokens: ({
10550
+ name?: string | undefined;
10551
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10552
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10553
+ description?: string | undefined;
10554
+ howToSteps?: string[] | undefined;
10555
+ tokens: {
9675
10556
  address: string;
9676
10557
  chainId: number;
9677
- decimals: number;
10558
+ }[];
10559
+ protocols?: string[] | undefined;
10560
+ mainProtocol?: string | undefined;
10561
+ depositUrl?: string | undefined;
10562
+ explorerAddress?: string | undefined;
10563
+ tags?: string[] | undefined;
10564
+ } & {
10565
+ id: string;
10566
+ }) | ({
10567
+ ActivePrograms: {
9678
10568
  icon: string;
9679
10569
  id: string;
9680
- isNative: boolean;
9681
- isTest: boolean;
9682
- name: string | null;
9683
- symbol: string;
9684
- type: import("@package/databases").TokenType;
9685
- verified: boolean;
10570
+ name: string;
10571
+ slug: string | null;
10572
+ }[];
10573
+ AprRecords: ({
10574
+ AprBreakdown: {
10575
+ identifier: string;
10576
+ timestamp: bigint;
10577
+ type: import("@package/databases").AprType;
10578
+ value: number;
10579
+ }[];
9686
10580
  } & {
9687
- price?: number | null | undefined;
9688
- updatedAt?: number | null | undefined;
9689
- priceSource?: string | null | undefined;
9690
- isTokenWrapper?: boolean | undefined;
9691
- tokenWrapperAddress?: string | undefined;
10581
+ id: string;
10582
+ timestamp: bigint;
10583
+ cumulated: number;
10584
+ opportunityId: string;
9692
10585
  })[];
9693
- mainProtocol: any;
9694
- description: string;
9695
- howToSteps: string[];
9696
- depositUrl: string | undefined;
9697
- explorerAddress: string | undefined;
9698
- tags: string[];
9699
- } | ({
10586
+ Campaigns: {
10587
+ id: string;
10588
+ computeChainId: number;
10589
+ distributionChainId: number;
10590
+ campaignId: string;
10591
+ type: string;
10592
+ distributionType: import("@package/databases").DistributionType;
10593
+ subType: number | null;
10594
+ rewardTokenId: string;
10595
+ amount: string;
10596
+ opportunityId: string;
10597
+ startTimestamp: bigint;
10598
+ endTimestamp: bigint;
10599
+ params: import("@prisma/client/runtime/client").JsonValue;
10600
+ description: string | null;
10601
+ dailyRewards: number;
10602
+ apr: number;
10603
+ creatorAddress: string;
10604
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10605
+ createdAt: Date;
10606
+ rootCampaignId: string | null;
10607
+ parentCampaignId: string | null;
10608
+ }[];
10609
+ Chain: {
10610
+ id: number;
10611
+ name: string;
10612
+ icon: string;
10613
+ liveCampaigns: number;
10614
+ endOfDisputePeriod: number;
10615
+ };
10616
+ DailyRewardsRecords: ({
10617
+ DailyRewardsBreakdown: ({
10618
+ Campaign: {
10619
+ CampaignStatus: {
10620
+ campaignId: string;
10621
+ computedUntil: bigint;
10622
+ processingStarted: bigint;
10623
+ status: import("@package/databases").RunStatus;
10624
+ error: string;
10625
+ details: import("@prisma/client/runtime/client").JsonValue;
10626
+ }[];
10627
+ RewardToken: {
10628
+ id: string;
10629
+ name: string | null;
10630
+ chainId: number;
10631
+ address: string;
10632
+ decimals: number;
10633
+ symbol: string;
10634
+ displaySymbol: string;
10635
+ icon: string;
10636
+ verified: boolean;
10637
+ isTest: boolean;
10638
+ type: import("@package/databases").TokenType;
10639
+ isNative: boolean;
10640
+ price: number | null;
10641
+ updatedAt: number | null;
10642
+ priceSource: string | null;
10643
+ };
10644
+ amount: string;
10645
+ campaignId: string;
10646
+ distributionType: import("@package/databases").DistributionType;
10647
+ endTimestamp: bigint;
10648
+ startTimestamp: bigint;
10649
+ };
10650
+ } & {
10651
+ id: string;
10652
+ value: number;
10653
+ timestamp: bigint;
10654
+ campaignId: string;
10655
+ dailyRewardsRecordId: string;
10656
+ })[];
10657
+ } & {
10658
+ id: string;
10659
+ timestamp: bigint;
10660
+ total: number;
10661
+ opportunityId: string;
10662
+ })[];
10663
+ MainProtocol: {
10664
+ id: string;
10665
+ tags: string[];
10666
+ name: string;
10667
+ description: string;
10668
+ url: string;
10669
+ icon: string;
10670
+ banner: string | null;
10671
+ opportunityBannerLight: string | null;
10672
+ opportunityBannerDark: string | null;
10673
+ } | null;
9700
10674
  Protocols: {
9701
10675
  id: string;
9702
10676
  tags: string[];
@@ -9725,6 +10699,18 @@ export declare const v4: Elysia<"/v4", {
9725
10699
  updatedAt: number | null;
9726
10700
  priceSource: string | null;
9727
10701
  }[];
10702
+ TvlRecords: ({
10703
+ TvlBreakdown: {
10704
+ identifier: string;
10705
+ type: import("@package/databases").TvlType;
10706
+ value: number;
10707
+ }[];
10708
+ } & {
10709
+ id: string;
10710
+ timestamp: bigint;
10711
+ total: number;
10712
+ opportunityId: string;
10713
+ })[];
9728
10714
  } & {
9729
10715
  id: string;
9730
10716
  chainId: number;