@merkl/api 1.5.16 → 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 (130) 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 +7891 -6937
  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 +1179 -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 +131 -25
  83. package/dist/src/modules/v4/dynamicData/dynamicData.service.js.map +1 -1
  84. package/dist/src/modules/v4/github/github.repository.js.map +1 -1
  85. package/dist/src/modules/v4/github/github.service.js.map +1 -1
  86. package/dist/src/modules/v4/merklRoot/merklRoot.repository.js.map +1 -1
  87. package/dist/src/modules/v4/merklRoot/merklRoot.service.js.map +1 -1
  88. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +262 -50
  89. package/dist/src/modules/v4/opportunity/opportunity.controller.js.map +1 -1
  90. package/dist/src/modules/v4/opportunity/opportunity.converter.js.map +1 -1
  91. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +143 -0
  92. package/dist/src/modules/v4/opportunity/opportunity.repository.js.map +1 -1
  93. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +393 -75
  94. package/dist/src/modules/v4/opportunity/opportunity.service.js.map +1 -1
  95. package/dist/src/modules/v4/payload/payload.controller.d.ts +393 -75
  96. package/dist/src/modules/v4/payload/payload.service.d.ts +524 -100
  97. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/OnChainCallService.js.map +1 -1
  98. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/coinGeckoService.js.map +1 -1
  99. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/defillamaService.js.map +1 -1
  100. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/dexScreenerService.js.map +1 -1
  101. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/erc4626Service.js.map +1 -1
  102. package/dist/src/modules/v4/priceSource/priceFetchers/implementations/indexCoopService.js.map +1 -1
  103. package/dist/src/modules/v4/priceSource/priceSource.service.js.map +1 -1
  104. package/dist/src/modules/v4/protocol/protocol.repository.js.map +1 -1
  105. package/dist/src/modules/v4/protocol/protocol.service.js.map +1 -1
  106. package/dist/src/modules/v4/reward/reward.service.js.map +1 -1
  107. package/dist/src/modules/v4/router.d.ts +1179 -225
  108. package/dist/src/modules/v4/token/token.service.js.map +1 -1
  109. package/dist/src/modules/v4/tvl/tvl.service.js.map +1 -1
  110. package/dist/src/modules/v4/uniswap/uniswap.service.js.map +1 -1
  111. package/dist/src/modules/v4/user/user.service.js.map +1 -1
  112. package/dist/src/plugins/errorHandler.js.map +1 -1
  113. package/dist/src/routes/v3/lostyield.js.map +1 -1
  114. package/dist/src/routes/v3/overview.js.map +1 -1
  115. package/dist/src/routes/v3/poolInfo.js.map +1 -1
  116. package/dist/src/routes/v3/twt/participants.js.map +1 -1
  117. package/dist/src/scripts/fill-unknown-tokens.js.map +1 -1
  118. package/dist/src/scripts/reparse-opportunities.js.map +1 -1
  119. package/dist/src/types/logging.d.ts +111 -0
  120. package/dist/src/types/logging.js.map +1 -0
  121. package/dist/src/utils/execute.js.map +1 -1
  122. package/dist/src/utils/lastBlockBefore.js.map +1 -1
  123. package/dist/src/utils/parseDistributionType.d.ts +255 -255
  124. package/dist/src/utils/pricer.js.map +1 -1
  125. package/dist/src/utils/prices/priceService.js.map +1 -1
  126. package/package.json +1 -1
  127. package/dist/src/modules/v4/airflow/airflow.service.d.ts +0 -3
  128. package/dist/src/modules/v4/airflow/airflow.service.js.map +0 -1
  129. package/dist/src/utils/logger.d.ts +0 -309
  130. 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
+ }[];
5947
6279
  } & {
5948
- price?: number | null | undefined;
5949
- updatedAt?: number | null | undefined;
5950
- priceSource?: string | null | undefined;
5951
- isTokenWrapper?: boolean | undefined;
5952
- tokenWrapperAddress?: string | undefined;
6280
+ id: string;
6281
+ timestamp: bigint;
6282
+ cumulated: number;
6283
+ opportunityId: string;
5953
6284
  })[];
5954
- mainProtocol: any;
5955
- description: string;
5956
- howToSteps: string[];
5957
- depositUrl: string | undefined;
5958
- explorerAddress: string | undefined;
5959
- tags: string[];
5960
- } | ({
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
+ })[];
6356
+ } & {
6357
+ id: string;
6358
+ timestamp: bigint;
6359
+ total: number;
6360
+ opportunityId: string;
6361
+ })[];
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;
@@ -9015,40 +9439,134 @@ export declare const v4: Elysia<"/v4", {
9015
9439
  authorization: string;
9016
9440
  };
9017
9441
  response: {
9018
- 200: {
9019
- id: string;
9442
+ 200: ({
9020
9443
  chainId: number;
9021
9444
  type: string;
9022
9445
  identifier: string;
9023
- name: string;
9024
- status: "LIVE" | "PAST" | "SOON";
9025
- action: OpportunityAction;
9026
- 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: {
9027
9452
  address: string;
9028
9453
  chainId: number;
9029
- 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: {
9030
9464
  icon: string;
9031
9465
  id: string;
9032
- isNative: boolean;
9033
- isTest: boolean;
9034
- name: string | null;
9035
- symbol: string;
9036
- type: import("@package/databases").TokenType;
9037
- 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
+ }[];
9038
9476
  } & {
9039
- price?: number | null | undefined;
9040
- updatedAt?: number | null | undefined;
9041
- priceSource?: string | null | undefined;
9042
- isTokenWrapper?: boolean | undefined;
9043
- tokenWrapperAddress?: string | undefined;
9477
+ id: string;
9478
+ timestamp: bigint;
9479
+ cumulated: number;
9480
+ opportunityId: string;
9044
9481
  })[];
9045
- mainProtocol: any;
9046
- description: string;
9047
- howToSteps: string[];
9048
- depositUrl: string | undefined;
9049
- explorerAddress: string | undefined;
9050
- tags: string[];
9051
- } | ({
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;
9052
9570
  Protocols: {
9053
9571
  id: string;
9054
9572
  tags: string[];
@@ -9077,6 +9595,18 @@ export declare const v4: Elysia<"/v4", {
9077
9595
  updatedAt: number | null;
9078
9596
  priceSource: string | null;
9079
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
+ })[];
9080
9610
  } & {
9081
9611
  id: string;
9082
9612
  chainId: number;
@@ -9236,40 +9766,134 @@ export declare const v4: Elysia<"/v4", {
9236
9766
  query: unknown;
9237
9767
  headers: unknown;
9238
9768
  response: {
9239
- 200: {
9240
- id: string;
9769
+ 200: ({
9241
9770
  chainId: number;
9242
9771
  type: string;
9243
9772
  identifier: string;
9244
- name: string;
9245
- status: "LIVE" | "PAST" | "SOON";
9246
- action: OpportunityAction;
9247
- 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: {
9248
9779
  address: string;
9249
9780
  chainId: number;
9250
- 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: {
9251
9791
  icon: string;
9252
9792
  id: string;
9253
- isNative: boolean;
9254
- isTest: boolean;
9255
- name: string | null;
9256
- symbol: string;
9257
- type: import("@package/databases").TokenType;
9258
- 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
+ }[];
9259
9803
  } & {
9260
- price?: number | null | undefined;
9261
- updatedAt?: number | null | undefined;
9262
- priceSource?: string | null | undefined;
9263
- isTokenWrapper?: boolean | undefined;
9264
- tokenWrapperAddress?: string | undefined;
9804
+ id: string;
9805
+ timestamp: bigint;
9806
+ cumulated: number;
9807
+ opportunityId: string;
9265
9808
  })[];
9266
- mainProtocol: any;
9267
- description: string;
9268
- howToSteps: string[];
9269
- depositUrl: string | undefined;
9270
- explorerAddress: string | undefined;
9271
- tags: string[];
9272
- } | ({
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;
9273
9897
  Protocols: {
9274
9898
  id: string;
9275
9899
  tags: string[];
@@ -9298,6 +9922,18 @@ export declare const v4: Elysia<"/v4", {
9298
9922
  updatedAt: number | null;
9299
9923
  priceSource: string | null;
9300
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
+ })[];
9301
9937
  } & {
9302
9938
  id: string;
9303
9939
  chainId: number;
@@ -9425,40 +10061,134 @@ export declare const v4: Elysia<"/v4", {
9425
10061
  } | {
9426
10062
  message?: undefined;
9427
10063
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9428
- opportunity: {
9429
- id: string;
10064
+ opportunity: ({
9430
10065
  chainId: number;
9431
10066
  type: string;
9432
10067
  identifier: string;
9433
- name: string;
9434
- status: "LIVE" | "PAST" | "SOON";
9435
- action: OpportunityAction;
9436
- 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: {
9437
10074
  address: string;
9438
10075
  chainId: number;
9439
- 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: {
9440
10086
  icon: string;
9441
10087
  id: string;
9442
- isNative: boolean;
9443
- isTest: boolean;
9444
- name: string | null;
9445
- symbol: string;
9446
- type: import("@package/databases").TokenType;
9447
- 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
+ }[];
9448
10098
  } & {
9449
- price?: number | null | undefined;
9450
- updatedAt?: number | null | undefined;
9451
- priceSource?: string | null | undefined;
9452
- isTokenWrapper?: boolean | undefined;
9453
- tokenWrapperAddress?: string | undefined;
10099
+ id: string;
10100
+ timestamp: bigint;
10101
+ cumulated: number;
10102
+ opportunityId: string;
9454
10103
  })[];
9455
- mainProtocol: any;
9456
- description: string;
9457
- howToSteps: string[];
9458
- depositUrl: string | undefined;
9459
- explorerAddress: string | undefined;
9460
- tags: string[];
9461
- } | ({
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;
9462
10192
  Protocols: {
9463
10193
  id: string;
9464
10194
  tags: string[];
@@ -9487,6 +10217,18 @@ export declare const v4: Elysia<"/v4", {
9487
10217
  updatedAt: number | null;
9488
10218
  priceSource: string | null;
9489
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
+ })[];
9490
10232
  } & {
9491
10233
  id: string;
9492
10234
  chainId: number;
@@ -9562,40 +10304,134 @@ export declare const v4: Elysia<"/v4", {
9562
10304
  } | {
9563
10305
  message?: undefined;
9564
10306
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9565
- opportunity: {
9566
- id: string;
10307
+ opportunity: ({
9567
10308
  chainId: number;
9568
10309
  type: string;
9569
10310
  identifier: string;
9570
- name: string;
9571
- status: "LIVE" | "PAST" | "SOON";
9572
- action: OpportunityAction;
9573
- 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: {
9574
10317
  address: string;
9575
10318
  chainId: number;
9576
- 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: {
9577
10329
  icon: string;
9578
10330
  id: string;
9579
- isNative: boolean;
9580
- isTest: boolean;
9581
- name: string | null;
9582
- symbol: string;
9583
- type: import("@package/databases").TokenType;
9584
- 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
+ }[];
9585
10341
  } & {
9586
- price?: number | null | undefined;
9587
- updatedAt?: number | null | undefined;
9588
- priceSource?: string | null | undefined;
9589
- isTokenWrapper?: boolean | undefined;
9590
- tokenWrapperAddress?: string | undefined;
10342
+ id: string;
10343
+ timestamp: bigint;
10344
+ cumulated: number;
10345
+ opportunityId: string;
9591
10346
  })[];
9592
- mainProtocol: any;
9593
- description: string;
9594
- howToSteps: string[];
9595
- depositUrl: string | undefined;
9596
- explorerAddress: string | undefined;
9597
- tags: string[];
9598
- } | ({
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;
9599
10435
  Protocols: {
9600
10436
  id: string;
9601
10437
  tags: string[];
@@ -9624,6 +10460,18 @@ export declare const v4: Elysia<"/v4", {
9624
10460
  updatedAt: number | null;
9625
10461
  priceSource: string | null;
9626
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
+ })[];
9627
10475
  } & {
9628
10476
  id: string;
9629
10477
  chainId: number;
@@ -9695,40 +10543,134 @@ export declare const v4: Elysia<"/v4", {
9695
10543
  } | {
9696
10544
  message?: undefined;
9697
10545
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9698
- opportunity: {
9699
- id: string;
10546
+ opportunity: ({
9700
10547
  chainId: number;
9701
10548
  type: string;
9702
10549
  identifier: string;
9703
- name: string;
9704
- status: "LIVE" | "PAST" | "SOON";
9705
- action: OpportunityAction;
9706
- 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: {
9707
10556
  address: string;
9708
10557
  chainId: number;
9709
- 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: {
9710
10568
  icon: string;
9711
10569
  id: string;
9712
- isNative: boolean;
9713
- isTest: boolean;
9714
- name: string | null;
9715
- symbol: string;
9716
- type: import("@package/databases").TokenType;
9717
- 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
+ }[];
9718
10580
  } & {
9719
- price?: number | null | undefined;
9720
- updatedAt?: number | null | undefined;
9721
- priceSource?: string | null | undefined;
9722
- isTokenWrapper?: boolean | undefined;
9723
- tokenWrapperAddress?: string | undefined;
10581
+ id: string;
10582
+ timestamp: bigint;
10583
+ cumulated: number;
10584
+ opportunityId: string;
9724
10585
  })[];
9725
- mainProtocol: any;
9726
- description: string;
9727
- howToSteps: string[];
9728
- depositUrl: string | undefined;
9729
- explorerAddress: string | undefined;
9730
- tags: string[];
9731
- } | ({
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;
9732
10674
  Protocols: {
9733
10675
  id: string;
9734
10676
  tags: string[];
@@ -9757,6 +10699,18 @@ export declare const v4: Elysia<"/v4", {
9757
10699
  updatedAt: number | null;
9758
10700
  priceSource: string | null;
9759
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
+ })[];
9760
10714
  } & {
9761
10715
  id: string;
9762
10716
  chainId: number;