@merkl/api 1.5.16 → 1.5.18

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 (143) 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/constants.js.map +1 -1
  4. package/dist/src/eden/index.d.ts +7893 -6946
  5. package/dist/src/engine/deprecated/dynamicData/implementations/Badger.js.map +1 -1
  6. package/dist/src/engine/deprecated/dynamicData/implementations/Clamm.js.map +1 -1
  7. package/dist/src/engine/deprecated/dynamicData/implementations/Compound.js.map +1 -1
  8. package/dist/src/engine/deprecated/dynamicData/implementations/CompoundV3.js.map +1 -1
  9. package/dist/src/engine/deprecated/dynamicData/implementations/Dolomite.js.map +1 -1
  10. package/dist/src/engine/deprecated/dynamicData/implementations/ERC721.js.map +1 -1
  11. package/dist/src/engine/deprecated/dynamicData/implementations/ERCMultiToken.js.map +1 -1
  12. package/dist/src/engine/deprecated/dynamicData/implementations/Erc20.js.map +1 -1
  13. package/dist/src/engine/deprecated/dynamicData/implementations/EventBased.js.map +1 -1
  14. package/dist/src/engine/deprecated/dynamicData/implementations/Hyperdrive.js.map +1 -1
  15. package/dist/src/engine/deprecated/dynamicData/implementations/Radiant.js.map +1 -1
  16. package/dist/src/engine/deprecated/dynamicData/implementations/Silo.js.map +1 -1
  17. package/dist/src/engine/deprecated/dynamicData/implementations/Vest.js.map +1 -1
  18. package/dist/src/engine/deprecated/dynamicData/utils/fetchA51Strategies.js.map +1 -1
  19. package/dist/src/engine/deprecated/dynamicData/utils/fetchLogs.js.map +1 -1
  20. package/dist/src/engine/deprecated/dynamicData/utils/getCompV2ForksVaults.js.map +1 -1
  21. package/dist/src/engine/deprecated/dynamicData/utils/getContractCreationBlock.js.map +1 -1
  22. package/dist/src/engine/deprecated/dynamicData/utils/getEulerV2Vaults.js.map +1 -1
  23. package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/EulerLendProcessor.js.map +1 -1
  24. package/dist/src/engine/deprecated/erc20SubTypeProcessors/implementations/UniswapProcessor.js.map +1 -1
  25. package/dist/src/engine/deprecated/erc20SubTypeProcessors/subtypesPrices.js.map +1 -1
  26. package/dist/src/engine/implementations/Ambient/tvl.js.map +1 -1
  27. package/dist/src/engine/implementations/EigenLayer/tvl.js.map +1 -1
  28. package/dist/src/engine/implementations/Ekubo/tvl.js.map +1 -1
  29. package/dist/src/engine/implementations/Encompassing/metadata.js.map +1 -1
  30. package/dist/src/engine/implementations/Erc20/metadata.js.map +1 -1
  31. package/dist/src/engine/implementations/Erc20/subTypes/detect.js.map +1 -1
  32. package/dist/src/engine/implementations/Erc20/subTypes/implementations/euler/tvl.js.map +1 -1
  33. package/dist/src/engine/implementations/Erc20/subTypes/implementations/ipor/tvl.js.map +1 -1
  34. package/dist/src/engine/implementations/Erc20/subTypes/implementations/penpiePRT/metadata.js.map +1 -1
  35. package/dist/src/engine/implementations/Erc20/tvl.js.map +1 -1
  36. package/dist/src/engine/implementations/JsonAirdrop/metadata.js.map +1 -1
  37. package/dist/src/engine/implementations/MultiLog/metadata.js.map +1 -1
  38. package/dist/src/engine/implementations/MultiLog/tvl.js.map +1 -1
  39. package/dist/src/engine/implementations/Radiant/metadata.js.map +1 -1
  40. package/dist/src/engine/implementations/StakingVaults/Equilibria/metadata.js.map +1 -1
  41. package/dist/src/engine/implementations/StakingVaults/Equilibria/tvl.js.map +1 -1
  42. package/dist/src/engine/implementations/StakingVaults/SummerFinance/tvl.js.map +1 -1
  43. package/dist/src/engine/implementations/SymbioticVault/metadata.js.map +1 -1
  44. package/dist/src/engine/implementations/TermFinance/metadata.js.map +1 -1
  45. package/dist/src/engine/implementations/clamm/tvl.abstract.js.map +1 -1
  46. package/dist/src/engine/implementations/clamm/utils.js.map +1 -1
  47. package/dist/src/engine/implementations/deprecated_clamm/metadata.js.map +1 -1
  48. package/dist/src/engine/implementations/morphoCollateral/tvl.js.map +1 -1
  49. package/dist/src/engine/implementations/morphoSingleToken/tvl.js.map +1 -1
  50. package/dist/src/engine/implementations/uniswapv4/tvl.js.map +1 -1
  51. package/dist/src/index.d.ts +1188 -241
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/jobs/delete-rewards.js.map +1 -1
  54. package/dist/src/jobs/pendings.js.map +1 -1
  55. package/dist/src/jobs/prices.js.map +1 -1
  56. package/dist/src/jobs/reward-breakdowns.js.map +1 -1
  57. package/dist/src/jobs/rewards.js.map +1 -1
  58. package/dist/src/jobs/update-analytics.js.map +1 -1
  59. package/dist/src/jobs/update-dynamic-data.js.map +1 -1
  60. package/dist/src/jobs/update-rpc-calls-cache.js.map +1 -1
  61. package/dist/src/jobs/update-v3-caches.js.map +1 -1
  62. package/dist/src/libs/computeFee.d.ts +759 -759
  63. package/dist/src/libs/deprecated-merklv3/index.js.map +1 -1
  64. package/dist/src/libs/getTokensList.js.map +1 -1
  65. package/dist/src/libs/positions/clamm/index.js.map +1 -1
  66. package/dist/src/libs/positions/clamm/thegraph/fetchAlmPositions.js.map +1 -1
  67. package/dist/src/libs/positions/clamm/thegraph/fetchAmmPositions.js.map +1 -1
  68. package/dist/src/libs/positions/clamm/thegraph/fetchFarmedPositions.js.map +1 -1
  69. package/dist/src/libs/tokens/balances.js.map +1 -1
  70. package/dist/src/modules/v4/campaign/campaign.controller.js.map +1 -1
  71. package/dist/src/modules/v4/campaign/campaign.formatter.js.map +1 -1
  72. package/dist/src/modules/v4/campaign/campaign.repository.js.map +1 -1
  73. package/dist/src/modules/v4/campaign/campaign.service.d.ts +132 -25
  74. package/dist/src/modules/v4/campaign/campaign.service.js.map +1 -1
  75. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +393 -75
  76. package/dist/src/modules/v4/campaign/campaign.test.controller.js.map +1 -1
  77. package/dist/src/modules/v4/campaignBatch/campaignBatch.controller.js.map +1 -1
  78. package/dist/src/modules/v4/campaignBatch/campaignBatch.service.d.ts +3 -3
  79. package/dist/src/modules/v4/campaignBatch/campaignBatch.service.js.map +1 -1
  80. package/dist/src/modules/v4/campaignStatus/campaignStatus.service.js.map +1 -1
  81. package/dist/src/modules/v4/campaignToProcess/campaignToProcess.service.d.ts +8 -1
  82. package/dist/src/modules/v4/campaignToProcess/campaignToProcess.service.js.map +1 -1
  83. package/dist/src/modules/v4/carousel/carousel.service.js.map +1 -1
  84. package/dist/src/modules/v4/clamm/clamm.service.js.map +1 -1
  85. package/dist/src/modules/v4/coingecko/coingecko.service.js.map +1 -1
  86. package/dist/src/modules/v4/computedValue/computedValue.formatter.js.map +1 -1
  87. package/dist/src/modules/v4/computedValue/computedValue.service.js.map +1 -1
  88. package/dist/src/modules/v4/config/config.controller.d.ts +140 -42
  89. package/dist/src/modules/v4/config/config.controller.js.map +1 -1
  90. package/dist/src/modules/v4/dynamicData/dynamicData.service.js.map +1 -1
  91. package/dist/src/modules/v4/github/github.repository.js.map +1 -1
  92. package/dist/src/modules/v4/github/github.service.js.map +1 -1
  93. package/dist/src/modules/v4/merklRoot/merklRoot.repository.js.map +1 -1
  94. package/dist/src/modules/v4/merklRoot/merklRoot.service.js.map +1 -1
  95. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +262 -50
  96. package/dist/src/modules/v4/opportunity/opportunity.controller.js.map +1 -1
  97. package/dist/src/modules/v4/opportunity/opportunity.converter.js.map +1 -1
  98. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +143 -0
  99. package/dist/src/modules/v4/opportunity/opportunity.repository.js.map +1 -1
  100. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +393 -75
  101. package/dist/src/modules/v4/opportunity/opportunity.service.js.map +1 -1
  102. package/dist/src/modules/v4/payload/payload.controller.d.ts +393 -75
  103. package/dist/src/modules/v4/payload/payload.model.d.ts +0 -62
  104. package/dist/src/modules/v4/payload/payload.model.js.map +1 -1
  105. package/dist/src/modules/v4/payload/payload.service.d.ts +524 -100
  106. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/OnChainCallService.js.map +1 -1
  107. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/coinGeckoService.js.map +1 -1
  108. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/defillamaService.js.map +1 -1
  109. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/dexScreenerService.js.map +1 -1
  110. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/erc4626Service.js.map +1 -1
  111. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/indexCoopService.js.map +1 -1
  112. package/dist/src/modules/v4/priceSource/priceSource.service.js.map +1 -1
  113. package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +0 -62
  114. package/dist/src/modules/v4/programPayload/programPayload.model.js.map +1 -1
  115. package/dist/src/modules/v4/programPayload/programPayload.service.d.ts +2 -3
  116. package/dist/src/modules/v4/programPayload/programPayload.service.js.map +1 -1
  117. package/dist/src/modules/v4/protocol/protocol.repository.js.map +1 -1
  118. package/dist/src/modules/v4/protocol/protocol.service.js.map +1 -1
  119. package/dist/src/modules/v4/reward/reward.service.js.map +1 -1
  120. package/dist/src/modules/v4/router.d.ts +1188 -241
  121. package/dist/src/modules/v4/token/token.service.js.map +1 -1
  122. package/dist/src/modules/v4/tvl/tvl.service.js.map +1 -1
  123. package/dist/src/modules/v4/uniswap/uniswap.service.js.map +1 -1
  124. package/dist/src/modules/v4/user/user.service.js.map +1 -1
  125. package/dist/src/plugins/errorHandler.js.map +1 -1
  126. package/dist/src/routes/v3/lostyield.js.map +1 -1
  127. package/dist/src/routes/v3/overview.js.map +1 -1
  128. package/dist/src/routes/v3/poolInfo.js.map +1 -1
  129. package/dist/src/routes/v3/twt/participants.js.map +1 -1
  130. package/dist/src/scripts/fill-unknown-tokens.js.map +1 -1
  131. package/dist/src/scripts/reparse-opportunities.js.map +1 -1
  132. package/dist/src/types/logging.d.ts +111 -0
  133. package/dist/src/types/logging.js.map +1 -0
  134. package/dist/src/utils/execute.js.map +1 -1
  135. package/dist/src/utils/lastBlockBefore.js.map +1 -1
  136. package/dist/src/utils/parseDistributionType.d.ts +255 -255
  137. package/dist/src/utils/pricer.js.map +1 -1
  138. package/dist/src/utils/prices/priceService.js.map +1 -1
  139. package/package.json +1 -1
  140. package/dist/src/modules/v4/airflow/airflow.service.d.ts +0 -3
  141. package/dist/src/modules/v4/airflow/airflow.service.js.map +0 -1
  142. package/dist/src/utils/logger.d.ts +0 -309
  143. 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;
@@ -6048,22 +6472,15 @@ export declare const v4: Elysia<"/v4", {
6048
6472
  query: unknown;
6049
6473
  headers: unknown;
6050
6474
  response: {
6051
- 200: {
6052
- payloads: {
6053
- payload: string;
6054
- args: {
6055
- campaignId: string;
6056
- creator: string;
6057
- rewardToken: string;
6058
- amount: string;
6059
- campaignType: number;
6060
- startTimestamp: number;
6061
- duration: number;
6062
- campaignData: string;
6063
- };
6064
- }[];
6065
- batchPayload: string;
6066
- safePayload: import("./campaignBatch/campaignBatch.model").SafePayload;
6475
+ 200: any;
6476
+ 422: {
6477
+ type: "validation";
6478
+ on: string;
6479
+ summary?: string | undefined;
6480
+ message?: string | undefined;
6481
+ found?: unknown;
6482
+ property?: string | undefined;
6483
+ expected?: string | undefined;
6067
6484
  };
6068
6485
  };
6069
6486
  };
@@ -9015,40 +9432,134 @@ export declare const v4: Elysia<"/v4", {
9015
9432
  authorization: string;
9016
9433
  };
9017
9434
  response: {
9018
- 200: {
9019
- id: string;
9435
+ 200: ({
9020
9436
  chainId: number;
9021
9437
  type: string;
9022
9438
  identifier: string;
9023
- name: string;
9024
- status: "LIVE" | "PAST" | "SOON";
9025
- action: OpportunityAction;
9026
- tokens: ({
9439
+ name?: string | undefined;
9440
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
9441
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
9442
+ description?: string | undefined;
9443
+ howToSteps?: string[] | undefined;
9444
+ tokens: {
9027
9445
  address: string;
9028
9446
  chainId: number;
9029
- decimals: number;
9447
+ }[];
9448
+ protocols?: string[] | undefined;
9449
+ mainProtocol?: string | undefined;
9450
+ depositUrl?: string | undefined;
9451
+ explorerAddress?: string | undefined;
9452
+ tags?: string[] | undefined;
9453
+ } & {
9454
+ id: string;
9455
+ }) | ({
9456
+ ActivePrograms: {
9030
9457
  icon: string;
9031
9458
  id: string;
9032
- isNative: boolean;
9033
- isTest: boolean;
9034
- name: string | null;
9035
- symbol: string;
9036
- type: import("@package/databases").TokenType;
9037
- verified: boolean;
9459
+ name: string;
9460
+ slug: string | null;
9461
+ }[];
9462
+ AprRecords: ({
9463
+ AprBreakdown: {
9464
+ identifier: string;
9465
+ timestamp: bigint;
9466
+ type: import("@package/databases").AprType;
9467
+ value: number;
9468
+ }[];
9038
9469
  } & {
9039
- price?: number | null | undefined;
9040
- updatedAt?: number | null | undefined;
9041
- priceSource?: string | null | undefined;
9042
- isTokenWrapper?: boolean | undefined;
9043
- tokenWrapperAddress?: string | undefined;
9470
+ id: string;
9471
+ timestamp: bigint;
9472
+ cumulated: number;
9473
+ opportunityId: string;
9044
9474
  })[];
9045
- mainProtocol: any;
9046
- description: string;
9047
- howToSteps: string[];
9048
- depositUrl: string | undefined;
9049
- explorerAddress: string | undefined;
9050
- tags: string[];
9051
- } | ({
9475
+ Campaigns: {
9476
+ id: string;
9477
+ computeChainId: number;
9478
+ distributionChainId: number;
9479
+ campaignId: string;
9480
+ type: string;
9481
+ distributionType: import("@package/databases").DistributionType;
9482
+ subType: number | null;
9483
+ rewardTokenId: string;
9484
+ amount: string;
9485
+ opportunityId: string;
9486
+ startTimestamp: bigint;
9487
+ endTimestamp: bigint;
9488
+ params: import("@prisma/client/runtime/client").JsonValue;
9489
+ description: string | null;
9490
+ dailyRewards: number;
9491
+ apr: number;
9492
+ creatorAddress: string;
9493
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
9494
+ createdAt: Date;
9495
+ rootCampaignId: string | null;
9496
+ parentCampaignId: string | null;
9497
+ }[];
9498
+ Chain: {
9499
+ id: number;
9500
+ name: string;
9501
+ icon: string;
9502
+ liveCampaigns: number;
9503
+ endOfDisputePeriod: number;
9504
+ };
9505
+ DailyRewardsRecords: ({
9506
+ DailyRewardsBreakdown: ({
9507
+ Campaign: {
9508
+ CampaignStatus: {
9509
+ campaignId: string;
9510
+ computedUntil: bigint;
9511
+ processingStarted: bigint;
9512
+ status: import("@package/databases").RunStatus;
9513
+ error: string;
9514
+ details: import("@prisma/client/runtime/client").JsonValue;
9515
+ }[];
9516
+ RewardToken: {
9517
+ id: string;
9518
+ name: string | null;
9519
+ chainId: number;
9520
+ address: string;
9521
+ decimals: number;
9522
+ symbol: string;
9523
+ displaySymbol: string;
9524
+ icon: string;
9525
+ verified: boolean;
9526
+ isTest: boolean;
9527
+ type: import("@package/databases").TokenType;
9528
+ isNative: boolean;
9529
+ price: number | null;
9530
+ updatedAt: number | null;
9531
+ priceSource: string | null;
9532
+ };
9533
+ amount: string;
9534
+ campaignId: string;
9535
+ distributionType: import("@package/databases").DistributionType;
9536
+ endTimestamp: bigint;
9537
+ startTimestamp: bigint;
9538
+ };
9539
+ } & {
9540
+ id: string;
9541
+ value: number;
9542
+ timestamp: bigint;
9543
+ campaignId: string;
9544
+ dailyRewardsRecordId: string;
9545
+ })[];
9546
+ } & {
9547
+ id: string;
9548
+ timestamp: bigint;
9549
+ total: number;
9550
+ opportunityId: string;
9551
+ })[];
9552
+ MainProtocol: {
9553
+ id: string;
9554
+ tags: string[];
9555
+ name: string;
9556
+ description: string;
9557
+ url: string;
9558
+ icon: string;
9559
+ banner: string | null;
9560
+ opportunityBannerLight: string | null;
9561
+ opportunityBannerDark: string | null;
9562
+ } | null;
9052
9563
  Protocols: {
9053
9564
  id: string;
9054
9565
  tags: string[];
@@ -9077,6 +9588,18 @@ export declare const v4: Elysia<"/v4", {
9077
9588
  updatedAt: number | null;
9078
9589
  priceSource: string | null;
9079
9590
  }[];
9591
+ TvlRecords: ({
9592
+ TvlBreakdown: {
9593
+ identifier: string;
9594
+ type: import("@package/databases").TvlType;
9595
+ value: number;
9596
+ }[];
9597
+ } & {
9598
+ id: string;
9599
+ timestamp: bigint;
9600
+ total: number;
9601
+ opportunityId: string;
9602
+ })[];
9080
9603
  } & {
9081
9604
  id: string;
9082
9605
  chainId: number;
@@ -9236,40 +9759,134 @@ export declare const v4: Elysia<"/v4", {
9236
9759
  query: unknown;
9237
9760
  headers: unknown;
9238
9761
  response: {
9239
- 200: {
9240
- id: string;
9762
+ 200: ({
9241
9763
  chainId: number;
9242
9764
  type: string;
9243
9765
  identifier: string;
9244
- name: string;
9245
- status: "LIVE" | "PAST" | "SOON";
9246
- action: OpportunityAction;
9247
- tokens: ({
9766
+ name?: string | undefined;
9767
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
9768
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
9769
+ description?: string | undefined;
9770
+ howToSteps?: string[] | undefined;
9771
+ tokens: {
9248
9772
  address: string;
9249
9773
  chainId: number;
9250
- decimals: number;
9774
+ }[];
9775
+ protocols?: string[] | undefined;
9776
+ mainProtocol?: string | undefined;
9777
+ depositUrl?: string | undefined;
9778
+ explorerAddress?: string | undefined;
9779
+ tags?: string[] | undefined;
9780
+ } & {
9781
+ id: string;
9782
+ }) | ({
9783
+ ActivePrograms: {
9251
9784
  icon: string;
9252
9785
  id: string;
9253
- isNative: boolean;
9254
- isTest: boolean;
9255
- name: string | null;
9256
- symbol: string;
9257
- type: import("@package/databases").TokenType;
9258
- verified: boolean;
9786
+ name: string;
9787
+ slug: string | null;
9788
+ }[];
9789
+ AprRecords: ({
9790
+ AprBreakdown: {
9791
+ identifier: string;
9792
+ timestamp: bigint;
9793
+ type: import("@package/databases").AprType;
9794
+ value: number;
9795
+ }[];
9259
9796
  } & {
9260
- price?: number | null | undefined;
9261
- updatedAt?: number | null | undefined;
9262
- priceSource?: string | null | undefined;
9263
- isTokenWrapper?: boolean | undefined;
9264
- tokenWrapperAddress?: string | undefined;
9797
+ id: string;
9798
+ timestamp: bigint;
9799
+ cumulated: number;
9800
+ opportunityId: string;
9265
9801
  })[];
9266
- mainProtocol: any;
9267
- description: string;
9268
- howToSteps: string[];
9269
- depositUrl: string | undefined;
9270
- explorerAddress: string | undefined;
9271
- tags: string[];
9272
- } | ({
9802
+ Campaigns: {
9803
+ id: string;
9804
+ computeChainId: number;
9805
+ distributionChainId: number;
9806
+ campaignId: string;
9807
+ type: string;
9808
+ distributionType: import("@package/databases").DistributionType;
9809
+ subType: number | null;
9810
+ rewardTokenId: string;
9811
+ amount: string;
9812
+ opportunityId: string;
9813
+ startTimestamp: bigint;
9814
+ endTimestamp: bigint;
9815
+ params: import("@prisma/client/runtime/client").JsonValue;
9816
+ description: string | null;
9817
+ dailyRewards: number;
9818
+ apr: number;
9819
+ creatorAddress: string;
9820
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
9821
+ createdAt: Date;
9822
+ rootCampaignId: string | null;
9823
+ parentCampaignId: string | null;
9824
+ }[];
9825
+ Chain: {
9826
+ id: number;
9827
+ name: string;
9828
+ icon: string;
9829
+ liveCampaigns: number;
9830
+ endOfDisputePeriod: number;
9831
+ };
9832
+ DailyRewardsRecords: ({
9833
+ DailyRewardsBreakdown: ({
9834
+ Campaign: {
9835
+ CampaignStatus: {
9836
+ campaignId: string;
9837
+ computedUntil: bigint;
9838
+ processingStarted: bigint;
9839
+ status: import("@package/databases").RunStatus;
9840
+ error: string;
9841
+ details: import("@prisma/client/runtime/client").JsonValue;
9842
+ }[];
9843
+ RewardToken: {
9844
+ id: string;
9845
+ name: string | null;
9846
+ chainId: number;
9847
+ address: string;
9848
+ decimals: number;
9849
+ symbol: string;
9850
+ displaySymbol: string;
9851
+ icon: string;
9852
+ verified: boolean;
9853
+ isTest: boolean;
9854
+ type: import("@package/databases").TokenType;
9855
+ isNative: boolean;
9856
+ price: number | null;
9857
+ updatedAt: number | null;
9858
+ priceSource: string | null;
9859
+ };
9860
+ amount: string;
9861
+ campaignId: string;
9862
+ distributionType: import("@package/databases").DistributionType;
9863
+ endTimestamp: bigint;
9864
+ startTimestamp: bigint;
9865
+ };
9866
+ } & {
9867
+ id: string;
9868
+ value: number;
9869
+ timestamp: bigint;
9870
+ campaignId: string;
9871
+ dailyRewardsRecordId: string;
9872
+ })[];
9873
+ } & {
9874
+ id: string;
9875
+ timestamp: bigint;
9876
+ total: number;
9877
+ opportunityId: string;
9878
+ })[];
9879
+ MainProtocol: {
9880
+ id: string;
9881
+ tags: string[];
9882
+ name: string;
9883
+ description: string;
9884
+ url: string;
9885
+ icon: string;
9886
+ banner: string | null;
9887
+ opportunityBannerLight: string | null;
9888
+ opportunityBannerDark: string | null;
9889
+ } | null;
9273
9890
  Protocols: {
9274
9891
  id: string;
9275
9892
  tags: string[];
@@ -9298,6 +9915,18 @@ export declare const v4: Elysia<"/v4", {
9298
9915
  updatedAt: number | null;
9299
9916
  priceSource: string | null;
9300
9917
  }[];
9918
+ TvlRecords: ({
9919
+ TvlBreakdown: {
9920
+ identifier: string;
9921
+ type: import("@package/databases").TvlType;
9922
+ value: number;
9923
+ }[];
9924
+ } & {
9925
+ id: string;
9926
+ timestamp: bigint;
9927
+ total: number;
9928
+ opportunityId: string;
9929
+ })[];
9301
9930
  } & {
9302
9931
  id: string;
9303
9932
  chainId: number;
@@ -9425,40 +10054,134 @@ export declare const v4: Elysia<"/v4", {
9425
10054
  } | {
9426
10055
  message?: undefined;
9427
10056
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9428
- opportunity: {
9429
- id: string;
10057
+ opportunity: ({
9430
10058
  chainId: number;
9431
10059
  type: string;
9432
10060
  identifier: string;
9433
- name: string;
9434
- status: "LIVE" | "PAST" | "SOON";
9435
- action: OpportunityAction;
9436
- tokens: ({
10061
+ name?: string | undefined;
10062
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10063
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10064
+ description?: string | undefined;
10065
+ howToSteps?: string[] | undefined;
10066
+ tokens: {
9437
10067
  address: string;
9438
10068
  chainId: number;
9439
- decimals: number;
10069
+ }[];
10070
+ protocols?: string[] | undefined;
10071
+ mainProtocol?: string | undefined;
10072
+ depositUrl?: string | undefined;
10073
+ explorerAddress?: string | undefined;
10074
+ tags?: string[] | undefined;
10075
+ } & {
10076
+ id: string;
10077
+ }) | ({
10078
+ ActivePrograms: {
9440
10079
  icon: string;
9441
10080
  id: string;
9442
- isNative: boolean;
9443
- isTest: boolean;
9444
- name: string | null;
9445
- symbol: string;
9446
- type: import("@package/databases").TokenType;
9447
- verified: boolean;
10081
+ name: string;
10082
+ slug: string | null;
10083
+ }[];
10084
+ AprRecords: ({
10085
+ AprBreakdown: {
10086
+ identifier: string;
10087
+ timestamp: bigint;
10088
+ type: import("@package/databases").AprType;
10089
+ value: number;
10090
+ }[];
9448
10091
  } & {
9449
- price?: number | null | undefined;
9450
- updatedAt?: number | null | undefined;
9451
- priceSource?: string | null | undefined;
9452
- isTokenWrapper?: boolean | undefined;
9453
- tokenWrapperAddress?: string | undefined;
10092
+ id: string;
10093
+ timestamp: bigint;
10094
+ cumulated: number;
10095
+ opportunityId: string;
9454
10096
  })[];
9455
- mainProtocol: any;
9456
- description: string;
9457
- howToSteps: string[];
9458
- depositUrl: string | undefined;
9459
- explorerAddress: string | undefined;
9460
- tags: string[];
9461
- } | ({
10097
+ Campaigns: {
10098
+ id: string;
10099
+ computeChainId: number;
10100
+ distributionChainId: number;
10101
+ campaignId: string;
10102
+ type: string;
10103
+ distributionType: import("@package/databases").DistributionType;
10104
+ subType: number | null;
10105
+ rewardTokenId: string;
10106
+ amount: string;
10107
+ opportunityId: string;
10108
+ startTimestamp: bigint;
10109
+ endTimestamp: bigint;
10110
+ params: import("@prisma/client/runtime/client").JsonValue;
10111
+ description: string | null;
10112
+ dailyRewards: number;
10113
+ apr: number;
10114
+ creatorAddress: string;
10115
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10116
+ createdAt: Date;
10117
+ rootCampaignId: string | null;
10118
+ parentCampaignId: string | null;
10119
+ }[];
10120
+ Chain: {
10121
+ id: number;
10122
+ name: string;
10123
+ icon: string;
10124
+ liveCampaigns: number;
10125
+ endOfDisputePeriod: number;
10126
+ };
10127
+ DailyRewardsRecords: ({
10128
+ DailyRewardsBreakdown: ({
10129
+ Campaign: {
10130
+ CampaignStatus: {
10131
+ campaignId: string;
10132
+ computedUntil: bigint;
10133
+ processingStarted: bigint;
10134
+ status: import("@package/databases").RunStatus;
10135
+ error: string;
10136
+ details: import("@prisma/client/runtime/client").JsonValue;
10137
+ }[];
10138
+ RewardToken: {
10139
+ id: string;
10140
+ name: string | null;
10141
+ chainId: number;
10142
+ address: string;
10143
+ decimals: number;
10144
+ symbol: string;
10145
+ displaySymbol: string;
10146
+ icon: string;
10147
+ verified: boolean;
10148
+ isTest: boolean;
10149
+ type: import("@package/databases").TokenType;
10150
+ isNative: boolean;
10151
+ price: number | null;
10152
+ updatedAt: number | null;
10153
+ priceSource: string | null;
10154
+ };
10155
+ amount: string;
10156
+ campaignId: string;
10157
+ distributionType: import("@package/databases").DistributionType;
10158
+ endTimestamp: bigint;
10159
+ startTimestamp: bigint;
10160
+ };
10161
+ } & {
10162
+ id: string;
10163
+ value: number;
10164
+ timestamp: bigint;
10165
+ campaignId: string;
10166
+ dailyRewardsRecordId: string;
10167
+ })[];
10168
+ } & {
10169
+ id: string;
10170
+ timestamp: bigint;
10171
+ total: number;
10172
+ opportunityId: string;
10173
+ })[];
10174
+ MainProtocol: {
10175
+ id: string;
10176
+ tags: string[];
10177
+ name: string;
10178
+ description: string;
10179
+ url: string;
10180
+ icon: string;
10181
+ banner: string | null;
10182
+ opportunityBannerLight: string | null;
10183
+ opportunityBannerDark: string | null;
10184
+ } | null;
9462
10185
  Protocols: {
9463
10186
  id: string;
9464
10187
  tags: string[];
@@ -9487,6 +10210,18 @@ export declare const v4: Elysia<"/v4", {
9487
10210
  updatedAt: number | null;
9488
10211
  priceSource: string | null;
9489
10212
  }[];
10213
+ TvlRecords: ({
10214
+ TvlBreakdown: {
10215
+ identifier: string;
10216
+ type: import("@package/databases").TvlType;
10217
+ value: number;
10218
+ }[];
10219
+ } & {
10220
+ id: string;
10221
+ timestamp: bigint;
10222
+ total: number;
10223
+ opportunityId: string;
10224
+ })[];
9490
10225
  } & {
9491
10226
  id: string;
9492
10227
  chainId: number;
@@ -9562,40 +10297,134 @@ export declare const v4: Elysia<"/v4", {
9562
10297
  } | {
9563
10298
  message?: undefined;
9564
10299
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9565
- opportunity: {
9566
- id: string;
10300
+ opportunity: ({
9567
10301
  chainId: number;
9568
10302
  type: string;
9569
10303
  identifier: string;
9570
- name: string;
9571
- status: "LIVE" | "PAST" | "SOON";
9572
- action: OpportunityAction;
9573
- tokens: ({
10304
+ name?: string | undefined;
10305
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10306
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10307
+ description?: string | undefined;
10308
+ howToSteps?: string[] | undefined;
10309
+ tokens: {
9574
10310
  address: string;
9575
10311
  chainId: number;
9576
- decimals: number;
10312
+ }[];
10313
+ protocols?: string[] | undefined;
10314
+ mainProtocol?: string | undefined;
10315
+ depositUrl?: string | undefined;
10316
+ explorerAddress?: string | undefined;
10317
+ tags?: string[] | undefined;
10318
+ } & {
10319
+ id: string;
10320
+ }) | ({
10321
+ ActivePrograms: {
9577
10322
  icon: string;
9578
10323
  id: string;
9579
- isNative: boolean;
9580
- isTest: boolean;
9581
- name: string | null;
9582
- symbol: string;
9583
- type: import("@package/databases").TokenType;
9584
- verified: boolean;
10324
+ name: string;
10325
+ slug: string | null;
10326
+ }[];
10327
+ AprRecords: ({
10328
+ AprBreakdown: {
10329
+ identifier: string;
10330
+ timestamp: bigint;
10331
+ type: import("@package/databases").AprType;
10332
+ value: number;
10333
+ }[];
9585
10334
  } & {
9586
- price?: number | null | undefined;
9587
- updatedAt?: number | null | undefined;
9588
- priceSource?: string | null | undefined;
9589
- isTokenWrapper?: boolean | undefined;
9590
- tokenWrapperAddress?: string | undefined;
10335
+ id: string;
10336
+ timestamp: bigint;
10337
+ cumulated: number;
10338
+ opportunityId: string;
9591
10339
  })[];
9592
- mainProtocol: any;
9593
- description: string;
9594
- howToSteps: string[];
9595
- depositUrl: string | undefined;
9596
- explorerAddress: string | undefined;
9597
- tags: string[];
9598
- } | ({
10340
+ Campaigns: {
10341
+ id: string;
10342
+ computeChainId: number;
10343
+ distributionChainId: number;
10344
+ campaignId: string;
10345
+ type: string;
10346
+ distributionType: import("@package/databases").DistributionType;
10347
+ subType: number | null;
10348
+ rewardTokenId: string;
10349
+ amount: string;
10350
+ opportunityId: string;
10351
+ startTimestamp: bigint;
10352
+ endTimestamp: bigint;
10353
+ params: import("@prisma/client/runtime/client").JsonValue;
10354
+ description: string | null;
10355
+ dailyRewards: number;
10356
+ apr: number;
10357
+ creatorAddress: string;
10358
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10359
+ createdAt: Date;
10360
+ rootCampaignId: string | null;
10361
+ parentCampaignId: string | null;
10362
+ }[];
10363
+ Chain: {
10364
+ id: number;
10365
+ name: string;
10366
+ icon: string;
10367
+ liveCampaigns: number;
10368
+ endOfDisputePeriod: number;
10369
+ };
10370
+ DailyRewardsRecords: ({
10371
+ DailyRewardsBreakdown: ({
10372
+ Campaign: {
10373
+ CampaignStatus: {
10374
+ campaignId: string;
10375
+ computedUntil: bigint;
10376
+ processingStarted: bigint;
10377
+ status: import("@package/databases").RunStatus;
10378
+ error: string;
10379
+ details: import("@prisma/client/runtime/client").JsonValue;
10380
+ }[];
10381
+ RewardToken: {
10382
+ id: string;
10383
+ name: string | null;
10384
+ chainId: number;
10385
+ address: string;
10386
+ decimals: number;
10387
+ symbol: string;
10388
+ displaySymbol: string;
10389
+ icon: string;
10390
+ verified: boolean;
10391
+ isTest: boolean;
10392
+ type: import("@package/databases").TokenType;
10393
+ isNative: boolean;
10394
+ price: number | null;
10395
+ updatedAt: number | null;
10396
+ priceSource: string | null;
10397
+ };
10398
+ amount: string;
10399
+ campaignId: string;
10400
+ distributionType: import("@package/databases").DistributionType;
10401
+ endTimestamp: bigint;
10402
+ startTimestamp: bigint;
10403
+ };
10404
+ } & {
10405
+ id: string;
10406
+ value: number;
10407
+ timestamp: bigint;
10408
+ campaignId: string;
10409
+ dailyRewardsRecordId: string;
10410
+ })[];
10411
+ } & {
10412
+ id: string;
10413
+ timestamp: bigint;
10414
+ total: number;
10415
+ opportunityId: string;
10416
+ })[];
10417
+ MainProtocol: {
10418
+ id: string;
10419
+ tags: string[];
10420
+ name: string;
10421
+ description: string;
10422
+ url: string;
10423
+ icon: string;
10424
+ banner: string | null;
10425
+ opportunityBannerLight: string | null;
10426
+ opportunityBannerDark: string | null;
10427
+ } | null;
9599
10428
  Protocols: {
9600
10429
  id: string;
9601
10430
  tags: string[];
@@ -9624,6 +10453,18 @@ export declare const v4: Elysia<"/v4", {
9624
10453
  updatedAt: number | null;
9625
10454
  priceSource: string | null;
9626
10455
  }[];
10456
+ TvlRecords: ({
10457
+ TvlBreakdown: {
10458
+ identifier: string;
10459
+ type: import("@package/databases").TvlType;
10460
+ value: number;
10461
+ }[];
10462
+ } & {
10463
+ id: string;
10464
+ timestamp: bigint;
10465
+ total: number;
10466
+ opportunityId: string;
10467
+ })[];
9627
10468
  } & {
9628
10469
  id: string;
9629
10470
  chainId: number;
@@ -9695,40 +10536,134 @@ export declare const v4: Elysia<"/v4", {
9695
10536
  } | {
9696
10537
  message?: undefined;
9697
10538
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9698
- opportunity: {
9699
- id: string;
10539
+ opportunity: ({
9700
10540
  chainId: number;
9701
10541
  type: string;
9702
10542
  identifier: string;
9703
- name: string;
9704
- status: "LIVE" | "PAST" | "SOON";
9705
- action: OpportunityAction;
9706
- tokens: ({
10543
+ name?: string | undefined;
10544
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10545
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10546
+ description?: string | undefined;
10547
+ howToSteps?: string[] | undefined;
10548
+ tokens: {
9707
10549
  address: string;
9708
10550
  chainId: number;
9709
- decimals: number;
10551
+ }[];
10552
+ protocols?: string[] | undefined;
10553
+ mainProtocol?: string | undefined;
10554
+ depositUrl?: string | undefined;
10555
+ explorerAddress?: string | undefined;
10556
+ tags?: string[] | undefined;
10557
+ } & {
10558
+ id: string;
10559
+ }) | ({
10560
+ ActivePrograms: {
9710
10561
  icon: string;
9711
10562
  id: string;
9712
- isNative: boolean;
9713
- isTest: boolean;
9714
- name: string | null;
9715
- symbol: string;
9716
- type: import("@package/databases").TokenType;
9717
- verified: boolean;
10563
+ name: string;
10564
+ slug: string | null;
10565
+ }[];
10566
+ AprRecords: ({
10567
+ AprBreakdown: {
10568
+ identifier: string;
10569
+ timestamp: bigint;
10570
+ type: import("@package/databases").AprType;
10571
+ value: number;
10572
+ }[];
9718
10573
  } & {
9719
- price?: number | null | undefined;
9720
- updatedAt?: number | null | undefined;
9721
- priceSource?: string | null | undefined;
9722
- isTokenWrapper?: boolean | undefined;
9723
- tokenWrapperAddress?: string | undefined;
10574
+ id: string;
10575
+ timestamp: bigint;
10576
+ cumulated: number;
10577
+ opportunityId: string;
9724
10578
  })[];
9725
- mainProtocol: any;
9726
- description: string;
9727
- howToSteps: string[];
9728
- depositUrl: string | undefined;
9729
- explorerAddress: string | undefined;
9730
- tags: string[];
9731
- } | ({
10579
+ Campaigns: {
10580
+ id: string;
10581
+ computeChainId: number;
10582
+ distributionChainId: number;
10583
+ campaignId: string;
10584
+ type: string;
10585
+ distributionType: import("@package/databases").DistributionType;
10586
+ subType: number | null;
10587
+ rewardTokenId: string;
10588
+ amount: string;
10589
+ opportunityId: string;
10590
+ startTimestamp: bigint;
10591
+ endTimestamp: bigint;
10592
+ params: import("@prisma/client/runtime/client").JsonValue;
10593
+ description: string | null;
10594
+ dailyRewards: number;
10595
+ apr: number;
10596
+ creatorAddress: string;
10597
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10598
+ createdAt: Date;
10599
+ rootCampaignId: string | null;
10600
+ parentCampaignId: string | null;
10601
+ }[];
10602
+ Chain: {
10603
+ id: number;
10604
+ name: string;
10605
+ icon: string;
10606
+ liveCampaigns: number;
10607
+ endOfDisputePeriod: number;
10608
+ };
10609
+ DailyRewardsRecords: ({
10610
+ DailyRewardsBreakdown: ({
10611
+ Campaign: {
10612
+ CampaignStatus: {
10613
+ campaignId: string;
10614
+ computedUntil: bigint;
10615
+ processingStarted: bigint;
10616
+ status: import("@package/databases").RunStatus;
10617
+ error: string;
10618
+ details: import("@prisma/client/runtime/client").JsonValue;
10619
+ }[];
10620
+ RewardToken: {
10621
+ id: string;
10622
+ name: string | null;
10623
+ chainId: number;
10624
+ address: string;
10625
+ decimals: number;
10626
+ symbol: string;
10627
+ displaySymbol: string;
10628
+ icon: string;
10629
+ verified: boolean;
10630
+ isTest: boolean;
10631
+ type: import("@package/databases").TokenType;
10632
+ isNative: boolean;
10633
+ price: number | null;
10634
+ updatedAt: number | null;
10635
+ priceSource: string | null;
10636
+ };
10637
+ amount: string;
10638
+ campaignId: string;
10639
+ distributionType: import("@package/databases").DistributionType;
10640
+ endTimestamp: bigint;
10641
+ startTimestamp: bigint;
10642
+ };
10643
+ } & {
10644
+ id: string;
10645
+ value: number;
10646
+ timestamp: bigint;
10647
+ campaignId: string;
10648
+ dailyRewardsRecordId: string;
10649
+ })[];
10650
+ } & {
10651
+ id: string;
10652
+ timestamp: bigint;
10653
+ total: number;
10654
+ opportunityId: string;
10655
+ })[];
10656
+ MainProtocol: {
10657
+ id: string;
10658
+ tags: string[];
10659
+ name: string;
10660
+ description: string;
10661
+ url: string;
10662
+ icon: string;
10663
+ banner: string | null;
10664
+ opportunityBannerLight: string | null;
10665
+ opportunityBannerDark: string | null;
10666
+ } | null;
9732
10667
  Protocols: {
9733
10668
  id: string;
9734
10669
  tags: string[];
@@ -9757,6 +10692,18 @@ export declare const v4: Elysia<"/v4", {
9757
10692
  updatedAt: number | null;
9758
10693
  priceSource: string | null;
9759
10694
  }[];
10695
+ TvlRecords: ({
10696
+ TvlBreakdown: {
10697
+ identifier: string;
10698
+ type: import("@package/databases").TvlType;
10699
+ value: number;
10700
+ }[];
10701
+ } & {
10702
+ id: string;
10703
+ timestamp: bigint;
10704
+ total: number;
10705
+ opportunityId: string;
10706
+ })[];
9760
10707
  } & {
9761
10708
  id: string;
9762
10709
  chainId: number;