@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
@@ -3732,40 +3732,134 @@ declare const app: Elysia<"", {
3732
3732
  authorization: string;
3733
3733
  };
3734
3734
  response: {
3735
- 200: {
3736
- id: string;
3735
+ 200: ({
3737
3736
  chainId: number;
3738
3737
  type: string;
3739
3738
  identifier: string;
3740
- name: string;
3741
- status: "LIVE" | "PAST" | "SOON";
3742
- action: OpportunityAction;
3743
- tokens: ({
3739
+ name?: string | undefined;
3740
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
3741
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
3742
+ description?: string | undefined;
3743
+ howToSteps?: string[] | undefined;
3744
+ tokens: {
3744
3745
  address: string;
3745
3746
  chainId: number;
3746
- decimals: number;
3747
+ }[];
3748
+ protocols?: string[] | undefined;
3749
+ mainProtocol?: string | undefined;
3750
+ depositUrl?: string | undefined;
3751
+ explorerAddress?: string | undefined;
3752
+ tags?: string[] | undefined;
3753
+ } & {
3754
+ id: string;
3755
+ }) | ({
3756
+ ActivePrograms: {
3747
3757
  icon: string;
3748
3758
  id: string;
3749
- isNative: boolean;
3750
- isTest: boolean;
3751
- name: string | null;
3752
- symbol: string;
3753
- type: import("@package/databases").TokenType;
3754
- verified: boolean;
3759
+ name: string;
3760
+ slug: string | null;
3761
+ }[];
3762
+ AprRecords: ({
3763
+ AprBreakdown: {
3764
+ identifier: string;
3765
+ timestamp: bigint;
3766
+ type: import("@package/databases").AprType;
3767
+ value: number;
3768
+ }[];
3755
3769
  } & {
3756
- price?: number | null | undefined;
3757
- updatedAt?: number | null | undefined;
3758
- priceSource?: string | null | undefined;
3759
- isTokenWrapper?: boolean | undefined;
3760
- tokenWrapperAddress?: string | undefined;
3770
+ id: string;
3771
+ timestamp: bigint;
3772
+ cumulated: number;
3773
+ opportunityId: string;
3761
3774
  })[];
3762
- mainProtocol: any;
3763
- description: string;
3764
- howToSteps: string[];
3765
- depositUrl: string | undefined;
3766
- explorerAddress: string | undefined;
3767
- tags: string[];
3768
- } | ({
3775
+ Campaigns: {
3776
+ id: string;
3777
+ computeChainId: number;
3778
+ distributionChainId: number;
3779
+ campaignId: string;
3780
+ type: string;
3781
+ distributionType: import("@package/databases").DistributionType;
3782
+ subType: number | null;
3783
+ rewardTokenId: string;
3784
+ amount: string;
3785
+ opportunityId: string;
3786
+ startTimestamp: bigint;
3787
+ endTimestamp: bigint;
3788
+ params: import("@prisma/client/runtime/client").JsonValue;
3789
+ description: string | null;
3790
+ dailyRewards: number;
3791
+ apr: number;
3792
+ creatorAddress: string;
3793
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
3794
+ createdAt: Date;
3795
+ rootCampaignId: string | null;
3796
+ parentCampaignId: string | null;
3797
+ }[];
3798
+ Chain: {
3799
+ id: number;
3800
+ name: string;
3801
+ icon: string;
3802
+ liveCampaigns: number;
3803
+ endOfDisputePeriod: number;
3804
+ };
3805
+ DailyRewardsRecords: ({
3806
+ DailyRewardsBreakdown: ({
3807
+ Campaign: {
3808
+ CampaignStatus: {
3809
+ campaignId: string;
3810
+ computedUntil: bigint;
3811
+ processingStarted: bigint;
3812
+ status: import("@package/databases").RunStatus;
3813
+ error: string;
3814
+ details: import("@prisma/client/runtime/client").JsonValue;
3815
+ }[];
3816
+ RewardToken: {
3817
+ id: string;
3818
+ name: string | null;
3819
+ chainId: number;
3820
+ address: string;
3821
+ decimals: number;
3822
+ symbol: string;
3823
+ displaySymbol: string;
3824
+ icon: string;
3825
+ verified: boolean;
3826
+ isTest: boolean;
3827
+ type: import("@package/databases").TokenType;
3828
+ isNative: boolean;
3829
+ price: number | null;
3830
+ updatedAt: number | null;
3831
+ priceSource: string | null;
3832
+ };
3833
+ amount: string;
3834
+ campaignId: string;
3835
+ distributionType: import("@package/databases").DistributionType;
3836
+ endTimestamp: bigint;
3837
+ startTimestamp: bigint;
3838
+ };
3839
+ } & {
3840
+ id: string;
3841
+ value: number;
3842
+ timestamp: bigint;
3843
+ campaignId: string;
3844
+ dailyRewardsRecordId: string;
3845
+ })[];
3846
+ } & {
3847
+ id: string;
3848
+ timestamp: bigint;
3849
+ total: number;
3850
+ opportunityId: string;
3851
+ })[];
3852
+ MainProtocol: {
3853
+ id: string;
3854
+ tags: string[];
3855
+ name: string;
3856
+ description: string;
3857
+ url: string;
3858
+ icon: string;
3859
+ banner: string | null;
3860
+ opportunityBannerLight: string | null;
3861
+ opportunityBannerDark: string | null;
3862
+ } | null;
3769
3863
  Protocols: {
3770
3864
  id: string;
3771
3865
  tags: string[];
@@ -3794,6 +3888,18 @@ declare const app: Elysia<"", {
3794
3888
  updatedAt: number | null;
3795
3889
  priceSource: string | null;
3796
3890
  }[];
3891
+ TvlRecords: ({
3892
+ TvlBreakdown: {
3893
+ identifier: string;
3894
+ type: import("@package/databases").TvlType;
3895
+ value: number;
3896
+ }[];
3897
+ } & {
3898
+ id: string;
3899
+ timestamp: bigint;
3900
+ total: number;
3901
+ opportunityId: string;
3902
+ })[];
3797
3903
  } & {
3798
3904
  id: string;
3799
3905
  chainId: number;
@@ -3845,40 +3951,134 @@ declare const app: Elysia<"", {
3845
3951
  authorization: string;
3846
3952
  };
3847
3953
  response: {
3848
- 200: {
3849
- id: string;
3954
+ 200: ({
3850
3955
  chainId: number;
3851
3956
  type: string;
3852
3957
  identifier: string;
3853
- name: string;
3854
- status: "LIVE" | "PAST" | "SOON";
3855
- action: OpportunityAction;
3856
- tokens: ({
3958
+ name?: string | undefined;
3959
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
3960
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
3961
+ description?: string | undefined;
3962
+ howToSteps?: string[] | undefined;
3963
+ tokens: {
3857
3964
  address: string;
3858
3965
  chainId: number;
3859
- decimals: number;
3966
+ }[];
3967
+ protocols?: string[] | undefined;
3968
+ mainProtocol?: string | undefined;
3969
+ depositUrl?: string | undefined;
3970
+ explorerAddress?: string | undefined;
3971
+ tags?: string[] | undefined;
3972
+ } & {
3973
+ id: string;
3974
+ }) | ({
3975
+ ActivePrograms: {
3860
3976
  icon: string;
3861
3977
  id: string;
3862
- isNative: boolean;
3863
- isTest: boolean;
3864
- name: string | null;
3865
- symbol: string;
3866
- type: import("@package/databases").TokenType;
3867
- verified: boolean;
3978
+ name: string;
3979
+ slug: string | null;
3980
+ }[];
3981
+ AprRecords: ({
3982
+ AprBreakdown: {
3983
+ identifier: string;
3984
+ timestamp: bigint;
3985
+ type: import("@package/databases").AprType;
3986
+ value: number;
3987
+ }[];
3868
3988
  } & {
3869
- price?: number | null | undefined;
3870
- updatedAt?: number | null | undefined;
3871
- priceSource?: string | null | undefined;
3872
- isTokenWrapper?: boolean | undefined;
3873
- tokenWrapperAddress?: string | undefined;
3989
+ id: string;
3990
+ timestamp: bigint;
3991
+ cumulated: number;
3992
+ opportunityId: string;
3874
3993
  })[];
3875
- mainProtocol: any;
3876
- description: string;
3877
- howToSteps: string[];
3878
- depositUrl: string | undefined;
3879
- explorerAddress: string | undefined;
3880
- tags: string[];
3881
- } | ({
3994
+ Campaigns: {
3995
+ id: string;
3996
+ computeChainId: number;
3997
+ distributionChainId: number;
3998
+ campaignId: string;
3999
+ type: string;
4000
+ distributionType: import("@package/databases").DistributionType;
4001
+ subType: number | null;
4002
+ rewardTokenId: string;
4003
+ amount: string;
4004
+ opportunityId: string;
4005
+ startTimestamp: bigint;
4006
+ endTimestamp: bigint;
4007
+ params: import("@prisma/client/runtime/client").JsonValue;
4008
+ description: string | null;
4009
+ dailyRewards: number;
4010
+ apr: number;
4011
+ creatorAddress: string;
4012
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
4013
+ createdAt: Date;
4014
+ rootCampaignId: string | null;
4015
+ parentCampaignId: string | null;
4016
+ }[];
4017
+ Chain: {
4018
+ id: number;
4019
+ name: string;
4020
+ icon: string;
4021
+ liveCampaigns: number;
4022
+ endOfDisputePeriod: number;
4023
+ };
4024
+ DailyRewardsRecords: ({
4025
+ DailyRewardsBreakdown: ({
4026
+ Campaign: {
4027
+ CampaignStatus: {
4028
+ campaignId: string;
4029
+ computedUntil: bigint;
4030
+ processingStarted: bigint;
4031
+ status: import("@package/databases").RunStatus;
4032
+ error: string;
4033
+ details: import("@prisma/client/runtime/client").JsonValue;
4034
+ }[];
4035
+ RewardToken: {
4036
+ id: string;
4037
+ name: string | null;
4038
+ chainId: number;
4039
+ address: string;
4040
+ decimals: number;
4041
+ symbol: string;
4042
+ displaySymbol: string;
4043
+ icon: string;
4044
+ verified: boolean;
4045
+ isTest: boolean;
4046
+ type: import("@package/databases").TokenType;
4047
+ isNative: boolean;
4048
+ price: number | null;
4049
+ updatedAt: number | null;
4050
+ priceSource: string | null;
4051
+ };
4052
+ amount: string;
4053
+ campaignId: string;
4054
+ distributionType: import("@package/databases").DistributionType;
4055
+ endTimestamp: bigint;
4056
+ startTimestamp: bigint;
4057
+ };
4058
+ } & {
4059
+ id: string;
4060
+ value: number;
4061
+ timestamp: bigint;
4062
+ campaignId: string;
4063
+ dailyRewardsRecordId: string;
4064
+ })[];
4065
+ } & {
4066
+ id: string;
4067
+ timestamp: bigint;
4068
+ total: number;
4069
+ opportunityId: string;
4070
+ })[];
4071
+ MainProtocol: {
4072
+ id: string;
4073
+ tags: string[];
4074
+ name: string;
4075
+ description: string;
4076
+ url: string;
4077
+ icon: string;
4078
+ banner: string | null;
4079
+ opportunityBannerLight: string | null;
4080
+ opportunityBannerDark: string | null;
4081
+ } | null;
3882
4082
  Protocols: {
3883
4083
  id: string;
3884
4084
  tags: string[];
@@ -3907,6 +4107,18 @@ declare const app: Elysia<"", {
3907
4107
  updatedAt: number | null;
3908
4108
  priceSource: string | null;
3909
4109
  }[];
4110
+ TvlRecords: ({
4111
+ TvlBreakdown: {
4112
+ identifier: string;
4113
+ type: import("@package/databases").TvlType;
4114
+ value: number;
4115
+ }[];
4116
+ } & {
4117
+ id: string;
4118
+ timestamp: bigint;
4119
+ total: number;
4120
+ opportunityId: string;
4121
+ })[];
3910
4122
  } & {
3911
4123
  id: string;
3912
4124
  chainId: number;
@@ -3957,40 +4169,134 @@ declare const app: Elysia<"", {
3957
4169
  authorization: string;
3958
4170
  };
3959
4171
  response: {
3960
- 200: {
3961
- id: string;
4172
+ 200: ({
3962
4173
  chainId: number;
3963
4174
  type: string;
3964
4175
  identifier: string;
3965
- name: string;
3966
- status: "LIVE" | "PAST" | "SOON";
3967
- action: OpportunityAction;
3968
- tokens: ({
4176
+ name?: string | undefined;
4177
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
4178
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
4179
+ description?: string | undefined;
4180
+ howToSteps?: string[] | undefined;
4181
+ tokens: {
3969
4182
  address: string;
3970
4183
  chainId: number;
3971
- decimals: number;
4184
+ }[];
4185
+ protocols?: string[] | undefined;
4186
+ mainProtocol?: string | undefined;
4187
+ depositUrl?: string | undefined;
4188
+ explorerAddress?: string | undefined;
4189
+ tags?: string[] | undefined;
4190
+ } & {
4191
+ id: string;
4192
+ }) | ({
4193
+ ActivePrograms: {
3972
4194
  icon: string;
3973
4195
  id: string;
3974
- isNative: boolean;
3975
- isTest: boolean;
3976
- name: string | null;
3977
- symbol: string;
3978
- type: import("@package/databases").TokenType;
3979
- verified: boolean;
4196
+ name: string;
4197
+ slug: string | null;
4198
+ }[];
4199
+ AprRecords: ({
4200
+ AprBreakdown: {
4201
+ identifier: string;
4202
+ timestamp: bigint;
4203
+ type: import("@package/databases").AprType;
4204
+ value: number;
4205
+ }[];
3980
4206
  } & {
3981
- price?: number | null | undefined;
3982
- updatedAt?: number | null | undefined;
3983
- priceSource?: string | null | undefined;
3984
- isTokenWrapper?: boolean | undefined;
3985
- tokenWrapperAddress?: string | undefined;
4207
+ id: string;
4208
+ timestamp: bigint;
4209
+ cumulated: number;
4210
+ opportunityId: string;
3986
4211
  })[];
3987
- mainProtocol: any;
3988
- description: string;
3989
- howToSteps: string[];
3990
- depositUrl: string | undefined;
3991
- explorerAddress: string | undefined;
3992
- tags: string[];
3993
- } | ({
4212
+ Campaigns: {
4213
+ id: string;
4214
+ computeChainId: number;
4215
+ distributionChainId: number;
4216
+ campaignId: string;
4217
+ type: string;
4218
+ distributionType: import("@package/databases").DistributionType;
4219
+ subType: number | null;
4220
+ rewardTokenId: string;
4221
+ amount: string;
4222
+ opportunityId: string;
4223
+ startTimestamp: bigint;
4224
+ endTimestamp: bigint;
4225
+ params: import("@prisma/client/runtime/client").JsonValue;
4226
+ description: string | null;
4227
+ dailyRewards: number;
4228
+ apr: number;
4229
+ creatorAddress: string;
4230
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
4231
+ createdAt: Date;
4232
+ rootCampaignId: string | null;
4233
+ parentCampaignId: string | null;
4234
+ }[];
4235
+ Chain: {
4236
+ id: number;
4237
+ name: string;
4238
+ icon: string;
4239
+ liveCampaigns: number;
4240
+ endOfDisputePeriod: number;
4241
+ };
4242
+ DailyRewardsRecords: ({
4243
+ DailyRewardsBreakdown: ({
4244
+ Campaign: {
4245
+ CampaignStatus: {
4246
+ campaignId: string;
4247
+ computedUntil: bigint;
4248
+ processingStarted: bigint;
4249
+ status: import("@package/databases").RunStatus;
4250
+ error: string;
4251
+ details: import("@prisma/client/runtime/client").JsonValue;
4252
+ }[];
4253
+ RewardToken: {
4254
+ id: string;
4255
+ name: string | null;
4256
+ chainId: number;
4257
+ address: string;
4258
+ decimals: number;
4259
+ symbol: string;
4260
+ displaySymbol: string;
4261
+ icon: string;
4262
+ verified: boolean;
4263
+ isTest: boolean;
4264
+ type: import("@package/databases").TokenType;
4265
+ isNative: boolean;
4266
+ price: number | null;
4267
+ updatedAt: number | null;
4268
+ priceSource: string | null;
4269
+ };
4270
+ amount: string;
4271
+ campaignId: string;
4272
+ distributionType: import("@package/databases").DistributionType;
4273
+ endTimestamp: bigint;
4274
+ startTimestamp: bigint;
4275
+ };
4276
+ } & {
4277
+ id: string;
4278
+ value: number;
4279
+ timestamp: bigint;
4280
+ campaignId: string;
4281
+ dailyRewardsRecordId: string;
4282
+ })[];
4283
+ } & {
4284
+ id: string;
4285
+ timestamp: bigint;
4286
+ total: number;
4287
+ opportunityId: string;
4288
+ })[];
4289
+ MainProtocol: {
4290
+ id: string;
4291
+ tags: string[];
4292
+ name: string;
4293
+ description: string;
4294
+ url: string;
4295
+ icon: string;
4296
+ banner: string | null;
4297
+ opportunityBannerLight: string | null;
4298
+ opportunityBannerDark: string | null;
4299
+ } | null;
3994
4300
  Protocols: {
3995
4301
  id: string;
3996
4302
  tags: string[];
@@ -4019,6 +4325,18 @@ declare const app: Elysia<"", {
4019
4325
  updatedAt: number | null;
4020
4326
  priceSource: string | null;
4021
4327
  }[];
4328
+ TvlRecords: ({
4329
+ TvlBreakdown: {
4330
+ identifier: string;
4331
+ type: import("@package/databases").TvlType;
4332
+ value: number;
4333
+ }[];
4334
+ } & {
4335
+ id: string;
4336
+ timestamp: bigint;
4337
+ total: number;
4338
+ opportunityId: string;
4339
+ })[];
4022
4340
  } & {
4023
4341
  id: string;
4024
4342
  chainId: number;
@@ -5931,40 +6249,134 @@ declare const app: Elysia<"", {
5931
6249
  query: unknown;
5932
6250
  headers: unknown;
5933
6251
  response: {
5934
- 200: {
5935
- id: string;
6252
+ 200: ({
5936
6253
  chainId: number;
5937
6254
  type: string;
5938
6255
  identifier: string;
5939
- name: string;
5940
- status: "LIVE" | "PAST" | "SOON";
5941
- action: OpportunityAction;
5942
- tokens: ({
6256
+ name?: string | undefined;
6257
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
6258
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
6259
+ description?: string | undefined;
6260
+ howToSteps?: string[] | undefined;
6261
+ tokens: {
5943
6262
  address: string;
5944
6263
  chainId: number;
5945
- decimals: number;
6264
+ }[];
6265
+ protocols?: string[] | undefined;
6266
+ mainProtocol?: string | undefined;
6267
+ depositUrl?: string | undefined;
6268
+ explorerAddress?: string | undefined;
6269
+ tags?: string[] | undefined;
6270
+ } & {
6271
+ id: string;
6272
+ }) | ({
6273
+ ActivePrograms: {
5946
6274
  icon: string;
5947
6275
  id: string;
5948
- isNative: boolean;
5949
- isTest: boolean;
5950
- name: string | null;
5951
- symbol: string;
5952
- type: import("@package/databases").TokenType;
5953
- verified: boolean;
6276
+ name: string;
6277
+ slug: string | null;
6278
+ }[];
6279
+ AprRecords: ({
6280
+ AprBreakdown: {
6281
+ identifier: string;
6282
+ timestamp: bigint;
6283
+ type: import("@package/databases").AprType;
6284
+ value: number;
6285
+ }[];
5954
6286
  } & {
5955
- price?: number | null | undefined;
5956
- updatedAt?: number | null | undefined;
5957
- priceSource?: string | null | undefined;
5958
- isTokenWrapper?: boolean | undefined;
5959
- tokenWrapperAddress?: string | undefined;
6287
+ id: string;
6288
+ timestamp: bigint;
6289
+ cumulated: number;
6290
+ opportunityId: string;
5960
6291
  })[];
5961
- mainProtocol: any;
5962
- description: string;
5963
- howToSteps: string[];
5964
- depositUrl: string | undefined;
5965
- explorerAddress: string | undefined;
5966
- tags: string[];
5967
- } | ({
6292
+ Campaigns: {
6293
+ id: string;
6294
+ computeChainId: number;
6295
+ distributionChainId: number;
6296
+ campaignId: string;
6297
+ type: string;
6298
+ distributionType: import("@package/databases").DistributionType;
6299
+ subType: number | null;
6300
+ rewardTokenId: string;
6301
+ amount: string;
6302
+ opportunityId: string;
6303
+ startTimestamp: bigint;
6304
+ endTimestamp: bigint;
6305
+ params: import("@prisma/client/runtime/client").JsonValue;
6306
+ description: string | null;
6307
+ dailyRewards: number;
6308
+ apr: number;
6309
+ creatorAddress: string;
6310
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
6311
+ createdAt: Date;
6312
+ rootCampaignId: string | null;
6313
+ parentCampaignId: string | null;
6314
+ }[];
6315
+ Chain: {
6316
+ id: number;
6317
+ name: string;
6318
+ icon: string;
6319
+ liveCampaigns: number;
6320
+ endOfDisputePeriod: number;
6321
+ };
6322
+ DailyRewardsRecords: ({
6323
+ DailyRewardsBreakdown: ({
6324
+ Campaign: {
6325
+ CampaignStatus: {
6326
+ campaignId: string;
6327
+ computedUntil: bigint;
6328
+ processingStarted: bigint;
6329
+ status: import("@package/databases").RunStatus;
6330
+ error: string;
6331
+ details: import("@prisma/client/runtime/client").JsonValue;
6332
+ }[];
6333
+ RewardToken: {
6334
+ id: string;
6335
+ name: string | null;
6336
+ chainId: number;
6337
+ address: string;
6338
+ decimals: number;
6339
+ symbol: string;
6340
+ displaySymbol: string;
6341
+ icon: string;
6342
+ verified: boolean;
6343
+ isTest: boolean;
6344
+ type: import("@package/databases").TokenType;
6345
+ isNative: boolean;
6346
+ price: number | null;
6347
+ updatedAt: number | null;
6348
+ priceSource: string | null;
6349
+ };
6350
+ amount: string;
6351
+ campaignId: string;
6352
+ distributionType: import("@package/databases").DistributionType;
6353
+ endTimestamp: bigint;
6354
+ startTimestamp: bigint;
6355
+ };
6356
+ } & {
6357
+ id: string;
6358
+ value: number;
6359
+ timestamp: bigint;
6360
+ campaignId: string;
6361
+ dailyRewardsRecordId: string;
6362
+ })[];
6363
+ } & {
6364
+ id: string;
6365
+ timestamp: bigint;
6366
+ total: number;
6367
+ opportunityId: string;
6368
+ })[];
6369
+ MainProtocol: {
6370
+ id: string;
6371
+ tags: string[];
6372
+ name: string;
6373
+ description: string;
6374
+ url: string;
6375
+ icon: string;
6376
+ banner: string | null;
6377
+ opportunityBannerLight: string | null;
6378
+ opportunityBannerDark: string | null;
6379
+ } | null;
5968
6380
  Protocols: {
5969
6381
  id: string;
5970
6382
  tags: string[];
@@ -5993,6 +6405,18 @@ declare const app: Elysia<"", {
5993
6405
  updatedAt: number | null;
5994
6406
  priceSource: string | null;
5995
6407
  }[];
6408
+ TvlRecords: ({
6409
+ TvlBreakdown: {
6410
+ identifier: string;
6411
+ type: import("@package/databases").TvlType;
6412
+ value: number;
6413
+ }[];
6414
+ } & {
6415
+ id: string;
6416
+ timestamp: bigint;
6417
+ total: number;
6418
+ opportunityId: string;
6419
+ })[];
5996
6420
  } & {
5997
6421
  id: string;
5998
6422
  chainId: number;
@@ -9022,40 +9446,134 @@ declare const app: Elysia<"", {
9022
9446
  authorization: string;
9023
9447
  };
9024
9448
  response: {
9025
- 200: {
9026
- id: string;
9449
+ 200: ({
9027
9450
  chainId: number;
9028
9451
  type: string;
9029
9452
  identifier: string;
9030
- name: string;
9031
- status: "LIVE" | "PAST" | "SOON";
9032
- action: OpportunityAction;
9033
- tokens: ({
9453
+ name?: string | undefined;
9454
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
9455
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
9456
+ description?: string | undefined;
9457
+ howToSteps?: string[] | undefined;
9458
+ tokens: {
9034
9459
  address: string;
9035
9460
  chainId: number;
9036
- decimals: number;
9461
+ }[];
9462
+ protocols?: string[] | undefined;
9463
+ mainProtocol?: string | undefined;
9464
+ depositUrl?: string | undefined;
9465
+ explorerAddress?: string | undefined;
9466
+ tags?: string[] | undefined;
9467
+ } & {
9468
+ id: string;
9469
+ }) | ({
9470
+ ActivePrograms: {
9037
9471
  icon: string;
9038
9472
  id: string;
9039
- isNative: boolean;
9040
- isTest: boolean;
9041
- name: string | null;
9042
- symbol: string;
9043
- type: import("@package/databases").TokenType;
9044
- verified: boolean;
9473
+ name: string;
9474
+ slug: string | null;
9475
+ }[];
9476
+ AprRecords: ({
9477
+ AprBreakdown: {
9478
+ identifier: string;
9479
+ timestamp: bigint;
9480
+ type: import("@package/databases").AprType;
9481
+ value: number;
9482
+ }[];
9045
9483
  } & {
9046
- price?: number | null | undefined;
9047
- updatedAt?: number | null | undefined;
9048
- priceSource?: string | null | undefined;
9049
- isTokenWrapper?: boolean | undefined;
9050
- tokenWrapperAddress?: string | undefined;
9484
+ id: string;
9485
+ timestamp: bigint;
9486
+ cumulated: number;
9487
+ opportunityId: string;
9051
9488
  })[];
9052
- mainProtocol: any;
9053
- description: string;
9054
- howToSteps: string[];
9055
- depositUrl: string | undefined;
9056
- explorerAddress: string | undefined;
9057
- tags: string[];
9058
- } | ({
9489
+ Campaigns: {
9490
+ id: string;
9491
+ computeChainId: number;
9492
+ distributionChainId: number;
9493
+ campaignId: string;
9494
+ type: string;
9495
+ distributionType: import("@package/databases").DistributionType;
9496
+ subType: number | null;
9497
+ rewardTokenId: string;
9498
+ amount: string;
9499
+ opportunityId: string;
9500
+ startTimestamp: bigint;
9501
+ endTimestamp: bigint;
9502
+ params: import("@prisma/client/runtime/client").JsonValue;
9503
+ description: string | null;
9504
+ dailyRewards: number;
9505
+ apr: number;
9506
+ creatorAddress: string;
9507
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
9508
+ createdAt: Date;
9509
+ rootCampaignId: string | null;
9510
+ parentCampaignId: string | null;
9511
+ }[];
9512
+ Chain: {
9513
+ id: number;
9514
+ name: string;
9515
+ icon: string;
9516
+ liveCampaigns: number;
9517
+ endOfDisputePeriod: number;
9518
+ };
9519
+ DailyRewardsRecords: ({
9520
+ DailyRewardsBreakdown: ({
9521
+ Campaign: {
9522
+ CampaignStatus: {
9523
+ campaignId: string;
9524
+ computedUntil: bigint;
9525
+ processingStarted: bigint;
9526
+ status: import("@package/databases").RunStatus;
9527
+ error: string;
9528
+ details: import("@prisma/client/runtime/client").JsonValue;
9529
+ }[];
9530
+ RewardToken: {
9531
+ id: string;
9532
+ name: string | null;
9533
+ chainId: number;
9534
+ address: string;
9535
+ decimals: number;
9536
+ symbol: string;
9537
+ displaySymbol: string;
9538
+ icon: string;
9539
+ verified: boolean;
9540
+ isTest: boolean;
9541
+ type: import("@package/databases").TokenType;
9542
+ isNative: boolean;
9543
+ price: number | null;
9544
+ updatedAt: number | null;
9545
+ priceSource: string | null;
9546
+ };
9547
+ amount: string;
9548
+ campaignId: string;
9549
+ distributionType: import("@package/databases").DistributionType;
9550
+ endTimestamp: bigint;
9551
+ startTimestamp: bigint;
9552
+ };
9553
+ } & {
9554
+ id: string;
9555
+ value: number;
9556
+ timestamp: bigint;
9557
+ campaignId: string;
9558
+ dailyRewardsRecordId: string;
9559
+ })[];
9560
+ } & {
9561
+ id: string;
9562
+ timestamp: bigint;
9563
+ total: number;
9564
+ opportunityId: string;
9565
+ })[];
9566
+ MainProtocol: {
9567
+ id: string;
9568
+ tags: string[];
9569
+ name: string;
9570
+ description: string;
9571
+ url: string;
9572
+ icon: string;
9573
+ banner: string | null;
9574
+ opportunityBannerLight: string | null;
9575
+ opportunityBannerDark: string | null;
9576
+ } | null;
9059
9577
  Protocols: {
9060
9578
  id: string;
9061
9579
  tags: string[];
@@ -9084,6 +9602,18 @@ declare const app: Elysia<"", {
9084
9602
  updatedAt: number | null;
9085
9603
  priceSource: string | null;
9086
9604
  }[];
9605
+ TvlRecords: ({
9606
+ TvlBreakdown: {
9607
+ identifier: string;
9608
+ type: import("@package/databases").TvlType;
9609
+ value: number;
9610
+ }[];
9611
+ } & {
9612
+ id: string;
9613
+ timestamp: bigint;
9614
+ total: number;
9615
+ opportunityId: string;
9616
+ })[];
9087
9617
  } & {
9088
9618
  id: string;
9089
9619
  chainId: number;
@@ -9243,40 +9773,134 @@ declare const app: Elysia<"", {
9243
9773
  query: unknown;
9244
9774
  headers: unknown;
9245
9775
  response: {
9246
- 200: {
9247
- id: string;
9776
+ 200: ({
9248
9777
  chainId: number;
9249
9778
  type: string;
9250
9779
  identifier: string;
9251
- name: string;
9252
- status: "LIVE" | "PAST" | "SOON";
9253
- action: OpportunityAction;
9254
- tokens: ({
9780
+ name?: string | undefined;
9781
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
9782
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
9783
+ description?: string | undefined;
9784
+ howToSteps?: string[] | undefined;
9785
+ tokens: {
9255
9786
  address: string;
9256
9787
  chainId: number;
9257
- decimals: number;
9788
+ }[];
9789
+ protocols?: string[] | undefined;
9790
+ mainProtocol?: string | undefined;
9791
+ depositUrl?: string | undefined;
9792
+ explorerAddress?: string | undefined;
9793
+ tags?: string[] | undefined;
9794
+ } & {
9795
+ id: string;
9796
+ }) | ({
9797
+ ActivePrograms: {
9258
9798
  icon: string;
9259
9799
  id: string;
9260
- isNative: boolean;
9261
- isTest: boolean;
9262
- name: string | null;
9263
- symbol: string;
9264
- type: import("@package/databases").TokenType;
9265
- verified: boolean;
9800
+ name: string;
9801
+ slug: string | null;
9802
+ }[];
9803
+ AprRecords: ({
9804
+ AprBreakdown: {
9805
+ identifier: string;
9806
+ timestamp: bigint;
9807
+ type: import("@package/databases").AprType;
9808
+ value: number;
9809
+ }[];
9266
9810
  } & {
9267
- price?: number | null | undefined;
9268
- updatedAt?: number | null | undefined;
9269
- priceSource?: string | null | undefined;
9270
- isTokenWrapper?: boolean | undefined;
9271
- tokenWrapperAddress?: string | undefined;
9811
+ id: string;
9812
+ timestamp: bigint;
9813
+ cumulated: number;
9814
+ opportunityId: string;
9272
9815
  })[];
9273
- mainProtocol: any;
9274
- description: string;
9275
- howToSteps: string[];
9276
- depositUrl: string | undefined;
9277
- explorerAddress: string | undefined;
9278
- tags: string[];
9279
- } | ({
9816
+ Campaigns: {
9817
+ id: string;
9818
+ computeChainId: number;
9819
+ distributionChainId: number;
9820
+ campaignId: string;
9821
+ type: string;
9822
+ distributionType: import("@package/databases").DistributionType;
9823
+ subType: number | null;
9824
+ rewardTokenId: string;
9825
+ amount: string;
9826
+ opportunityId: string;
9827
+ startTimestamp: bigint;
9828
+ endTimestamp: bigint;
9829
+ params: import("@prisma/client/runtime/client").JsonValue;
9830
+ description: string | null;
9831
+ dailyRewards: number;
9832
+ apr: number;
9833
+ creatorAddress: string;
9834
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
9835
+ createdAt: Date;
9836
+ rootCampaignId: string | null;
9837
+ parentCampaignId: string | null;
9838
+ }[];
9839
+ Chain: {
9840
+ id: number;
9841
+ name: string;
9842
+ icon: string;
9843
+ liveCampaigns: number;
9844
+ endOfDisputePeriod: number;
9845
+ };
9846
+ DailyRewardsRecords: ({
9847
+ DailyRewardsBreakdown: ({
9848
+ Campaign: {
9849
+ CampaignStatus: {
9850
+ campaignId: string;
9851
+ computedUntil: bigint;
9852
+ processingStarted: bigint;
9853
+ status: import("@package/databases").RunStatus;
9854
+ error: string;
9855
+ details: import("@prisma/client/runtime/client").JsonValue;
9856
+ }[];
9857
+ RewardToken: {
9858
+ id: string;
9859
+ name: string | null;
9860
+ chainId: number;
9861
+ address: string;
9862
+ decimals: number;
9863
+ symbol: string;
9864
+ displaySymbol: string;
9865
+ icon: string;
9866
+ verified: boolean;
9867
+ isTest: boolean;
9868
+ type: import("@package/databases").TokenType;
9869
+ isNative: boolean;
9870
+ price: number | null;
9871
+ updatedAt: number | null;
9872
+ priceSource: string | null;
9873
+ };
9874
+ amount: string;
9875
+ campaignId: string;
9876
+ distributionType: import("@package/databases").DistributionType;
9877
+ endTimestamp: bigint;
9878
+ startTimestamp: bigint;
9879
+ };
9880
+ } & {
9881
+ id: string;
9882
+ value: number;
9883
+ timestamp: bigint;
9884
+ campaignId: string;
9885
+ dailyRewardsRecordId: string;
9886
+ })[];
9887
+ } & {
9888
+ id: string;
9889
+ timestamp: bigint;
9890
+ total: number;
9891
+ opportunityId: string;
9892
+ })[];
9893
+ MainProtocol: {
9894
+ id: string;
9895
+ tags: string[];
9896
+ name: string;
9897
+ description: string;
9898
+ url: string;
9899
+ icon: string;
9900
+ banner: string | null;
9901
+ opportunityBannerLight: string | null;
9902
+ opportunityBannerDark: string | null;
9903
+ } | null;
9280
9904
  Protocols: {
9281
9905
  id: string;
9282
9906
  tags: string[];
@@ -9305,6 +9929,18 @@ declare const app: Elysia<"", {
9305
9929
  updatedAt: number | null;
9306
9930
  priceSource: string | null;
9307
9931
  }[];
9932
+ TvlRecords: ({
9933
+ TvlBreakdown: {
9934
+ identifier: string;
9935
+ type: import("@package/databases").TvlType;
9936
+ value: number;
9937
+ }[];
9938
+ } & {
9939
+ id: string;
9940
+ timestamp: bigint;
9941
+ total: number;
9942
+ opportunityId: string;
9943
+ })[];
9308
9944
  } & {
9309
9945
  id: string;
9310
9946
  chainId: number;
@@ -9432,40 +10068,134 @@ declare const app: Elysia<"", {
9432
10068
  } | {
9433
10069
  message?: undefined;
9434
10070
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9435
- opportunity: {
9436
- id: string;
10071
+ opportunity: ({
9437
10072
  chainId: number;
9438
10073
  type: string;
9439
10074
  identifier: string;
9440
- name: string;
9441
- status: "LIVE" | "PAST" | "SOON";
9442
- action: OpportunityAction;
9443
- tokens: ({
10075
+ name?: string | undefined;
10076
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10077
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10078
+ description?: string | undefined;
10079
+ howToSteps?: string[] | undefined;
10080
+ tokens: {
9444
10081
  address: string;
9445
10082
  chainId: number;
9446
- decimals: number;
10083
+ }[];
10084
+ protocols?: string[] | undefined;
10085
+ mainProtocol?: string | undefined;
10086
+ depositUrl?: string | undefined;
10087
+ explorerAddress?: string | undefined;
10088
+ tags?: string[] | undefined;
10089
+ } & {
10090
+ id: string;
10091
+ }) | ({
10092
+ ActivePrograms: {
9447
10093
  icon: string;
9448
10094
  id: string;
9449
- isNative: boolean;
9450
- isTest: boolean;
9451
- name: string | null;
9452
- symbol: string;
9453
- type: import("@package/databases").TokenType;
9454
- verified: boolean;
10095
+ name: string;
10096
+ slug: string | null;
10097
+ }[];
10098
+ AprRecords: ({
10099
+ AprBreakdown: {
10100
+ identifier: string;
10101
+ timestamp: bigint;
10102
+ type: import("@package/databases").AprType;
10103
+ value: number;
10104
+ }[];
9455
10105
  } & {
9456
- price?: number | null | undefined;
9457
- updatedAt?: number | null | undefined;
9458
- priceSource?: string | null | undefined;
9459
- isTokenWrapper?: boolean | undefined;
9460
- tokenWrapperAddress?: string | undefined;
10106
+ id: string;
10107
+ timestamp: bigint;
10108
+ cumulated: number;
10109
+ opportunityId: string;
9461
10110
  })[];
9462
- mainProtocol: any;
9463
- description: string;
9464
- howToSteps: string[];
9465
- depositUrl: string | undefined;
9466
- explorerAddress: string | undefined;
9467
- tags: string[];
9468
- } | ({
10111
+ Campaigns: {
10112
+ id: string;
10113
+ computeChainId: number;
10114
+ distributionChainId: number;
10115
+ campaignId: string;
10116
+ type: string;
10117
+ distributionType: import("@package/databases").DistributionType;
10118
+ subType: number | null;
10119
+ rewardTokenId: string;
10120
+ amount: string;
10121
+ opportunityId: string;
10122
+ startTimestamp: bigint;
10123
+ endTimestamp: bigint;
10124
+ params: import("@prisma/client/runtime/client").JsonValue;
10125
+ description: string | null;
10126
+ dailyRewards: number;
10127
+ apr: number;
10128
+ creatorAddress: string;
10129
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10130
+ createdAt: Date;
10131
+ rootCampaignId: string | null;
10132
+ parentCampaignId: string | null;
10133
+ }[];
10134
+ Chain: {
10135
+ id: number;
10136
+ name: string;
10137
+ icon: string;
10138
+ liveCampaigns: number;
10139
+ endOfDisputePeriod: number;
10140
+ };
10141
+ DailyRewardsRecords: ({
10142
+ DailyRewardsBreakdown: ({
10143
+ Campaign: {
10144
+ CampaignStatus: {
10145
+ campaignId: string;
10146
+ computedUntil: bigint;
10147
+ processingStarted: bigint;
10148
+ status: import("@package/databases").RunStatus;
10149
+ error: string;
10150
+ details: import("@prisma/client/runtime/client").JsonValue;
10151
+ }[];
10152
+ RewardToken: {
10153
+ id: string;
10154
+ name: string | null;
10155
+ chainId: number;
10156
+ address: string;
10157
+ decimals: number;
10158
+ symbol: string;
10159
+ displaySymbol: string;
10160
+ icon: string;
10161
+ verified: boolean;
10162
+ isTest: boolean;
10163
+ type: import("@package/databases").TokenType;
10164
+ isNative: boolean;
10165
+ price: number | null;
10166
+ updatedAt: number | null;
10167
+ priceSource: string | null;
10168
+ };
10169
+ amount: string;
10170
+ campaignId: string;
10171
+ distributionType: import("@package/databases").DistributionType;
10172
+ endTimestamp: bigint;
10173
+ startTimestamp: bigint;
10174
+ };
10175
+ } & {
10176
+ id: string;
10177
+ value: number;
10178
+ timestamp: bigint;
10179
+ campaignId: string;
10180
+ dailyRewardsRecordId: string;
10181
+ })[];
10182
+ } & {
10183
+ id: string;
10184
+ timestamp: bigint;
10185
+ total: number;
10186
+ opportunityId: string;
10187
+ })[];
10188
+ MainProtocol: {
10189
+ id: string;
10190
+ tags: string[];
10191
+ name: string;
10192
+ description: string;
10193
+ url: string;
10194
+ icon: string;
10195
+ banner: string | null;
10196
+ opportunityBannerLight: string | null;
10197
+ opportunityBannerDark: string | null;
10198
+ } | null;
9469
10199
  Protocols: {
9470
10200
  id: string;
9471
10201
  tags: string[];
@@ -9494,6 +10224,18 @@ declare const app: Elysia<"", {
9494
10224
  updatedAt: number | null;
9495
10225
  priceSource: string | null;
9496
10226
  }[];
10227
+ TvlRecords: ({
10228
+ TvlBreakdown: {
10229
+ identifier: string;
10230
+ type: import("@package/databases").TvlType;
10231
+ value: number;
10232
+ }[];
10233
+ } & {
10234
+ id: string;
10235
+ timestamp: bigint;
10236
+ total: number;
10237
+ opportunityId: string;
10238
+ })[];
9497
10239
  } & {
9498
10240
  id: string;
9499
10241
  chainId: number;
@@ -9569,40 +10311,134 @@ declare const app: Elysia<"", {
9569
10311
  } | {
9570
10312
  message?: undefined;
9571
10313
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9572
- opportunity: {
9573
- id: string;
10314
+ opportunity: ({
9574
10315
  chainId: number;
9575
10316
  type: string;
9576
10317
  identifier: string;
9577
- name: string;
9578
- status: "LIVE" | "PAST" | "SOON";
9579
- action: OpportunityAction;
9580
- tokens: ({
10318
+ name?: string | undefined;
10319
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10320
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10321
+ description?: string | undefined;
10322
+ howToSteps?: string[] | undefined;
10323
+ tokens: {
9581
10324
  address: string;
9582
10325
  chainId: number;
9583
- decimals: number;
10326
+ }[];
10327
+ protocols?: string[] | undefined;
10328
+ mainProtocol?: string | undefined;
10329
+ depositUrl?: string | undefined;
10330
+ explorerAddress?: string | undefined;
10331
+ tags?: string[] | undefined;
10332
+ } & {
10333
+ id: string;
10334
+ }) | ({
10335
+ ActivePrograms: {
9584
10336
  icon: string;
9585
10337
  id: string;
9586
- isNative: boolean;
9587
- isTest: boolean;
9588
- name: string | null;
9589
- symbol: string;
9590
- type: import("@package/databases").TokenType;
9591
- verified: boolean;
10338
+ name: string;
10339
+ slug: string | null;
10340
+ }[];
10341
+ AprRecords: ({
10342
+ AprBreakdown: {
10343
+ identifier: string;
10344
+ timestamp: bigint;
10345
+ type: import("@package/databases").AprType;
10346
+ value: number;
10347
+ }[];
9592
10348
  } & {
9593
- price?: number | null | undefined;
9594
- updatedAt?: number | null | undefined;
9595
- priceSource?: string | null | undefined;
9596
- isTokenWrapper?: boolean | undefined;
9597
- tokenWrapperAddress?: string | undefined;
10349
+ id: string;
10350
+ timestamp: bigint;
10351
+ cumulated: number;
10352
+ opportunityId: string;
9598
10353
  })[];
9599
- mainProtocol: any;
9600
- description: string;
9601
- howToSteps: string[];
9602
- depositUrl: string | undefined;
9603
- explorerAddress: string | undefined;
9604
- tags: string[];
9605
- } | ({
10354
+ Campaigns: {
10355
+ id: string;
10356
+ computeChainId: number;
10357
+ distributionChainId: number;
10358
+ campaignId: string;
10359
+ type: string;
10360
+ distributionType: import("@package/databases").DistributionType;
10361
+ subType: number | null;
10362
+ rewardTokenId: string;
10363
+ amount: string;
10364
+ opportunityId: string;
10365
+ startTimestamp: bigint;
10366
+ endTimestamp: bigint;
10367
+ params: import("@prisma/client/runtime/client").JsonValue;
10368
+ description: string | null;
10369
+ dailyRewards: number;
10370
+ apr: number;
10371
+ creatorAddress: string;
10372
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10373
+ createdAt: Date;
10374
+ rootCampaignId: string | null;
10375
+ parentCampaignId: string | null;
10376
+ }[];
10377
+ Chain: {
10378
+ id: number;
10379
+ name: string;
10380
+ icon: string;
10381
+ liveCampaigns: number;
10382
+ endOfDisputePeriod: number;
10383
+ };
10384
+ DailyRewardsRecords: ({
10385
+ DailyRewardsBreakdown: ({
10386
+ Campaign: {
10387
+ CampaignStatus: {
10388
+ campaignId: string;
10389
+ computedUntil: bigint;
10390
+ processingStarted: bigint;
10391
+ status: import("@package/databases").RunStatus;
10392
+ error: string;
10393
+ details: import("@prisma/client/runtime/client").JsonValue;
10394
+ }[];
10395
+ RewardToken: {
10396
+ id: string;
10397
+ name: string | null;
10398
+ chainId: number;
10399
+ address: string;
10400
+ decimals: number;
10401
+ symbol: string;
10402
+ displaySymbol: string;
10403
+ icon: string;
10404
+ verified: boolean;
10405
+ isTest: boolean;
10406
+ type: import("@package/databases").TokenType;
10407
+ isNative: boolean;
10408
+ price: number | null;
10409
+ updatedAt: number | null;
10410
+ priceSource: string | null;
10411
+ };
10412
+ amount: string;
10413
+ campaignId: string;
10414
+ distributionType: import("@package/databases").DistributionType;
10415
+ endTimestamp: bigint;
10416
+ startTimestamp: bigint;
10417
+ };
10418
+ } & {
10419
+ id: string;
10420
+ value: number;
10421
+ timestamp: bigint;
10422
+ campaignId: string;
10423
+ dailyRewardsRecordId: string;
10424
+ })[];
10425
+ } & {
10426
+ id: string;
10427
+ timestamp: bigint;
10428
+ total: number;
10429
+ opportunityId: string;
10430
+ })[];
10431
+ MainProtocol: {
10432
+ id: string;
10433
+ tags: string[];
10434
+ name: string;
10435
+ description: string;
10436
+ url: string;
10437
+ icon: string;
10438
+ banner: string | null;
10439
+ opportunityBannerLight: string | null;
10440
+ opportunityBannerDark: string | null;
10441
+ } | null;
9606
10442
  Protocols: {
9607
10443
  id: string;
9608
10444
  tags: string[];
@@ -9631,6 +10467,18 @@ declare const app: Elysia<"", {
9631
10467
  updatedAt: number | null;
9632
10468
  priceSource: string | null;
9633
10469
  }[];
10470
+ TvlRecords: ({
10471
+ TvlBreakdown: {
10472
+ identifier: string;
10473
+ type: import("@package/databases").TvlType;
10474
+ value: number;
10475
+ }[];
10476
+ } & {
10477
+ id: string;
10478
+ timestamp: bigint;
10479
+ total: number;
10480
+ opportunityId: string;
10481
+ })[];
9634
10482
  } & {
9635
10483
  id: string;
9636
10484
  chainId: number;
@@ -9702,40 +10550,134 @@ declare const app: Elysia<"", {
9702
10550
  } | {
9703
10551
  message?: undefined;
9704
10552
  campaign: import("@package/resources/schemas").EngineCampaign<import("@package/resources/enums").CampaignType>;
9705
- opportunity: {
9706
- id: string;
10553
+ opportunity: ({
9707
10554
  chainId: number;
9708
10555
  type: string;
9709
10556
  identifier: string;
9710
- name: string;
9711
- status: "LIVE" | "PAST" | "SOON";
9712
- action: OpportunityAction;
9713
- tokens: ({
10557
+ name?: string | undefined;
10558
+ status: "LIVE" | "NONE" | "PAST" | "SOON";
10559
+ action: "BORROW" | "DROP" | "HOLD" | "INVALID" | "LEND" | "LONG" | "POOL" | "SHORT" | "STAKE" | "SWAP";
10560
+ description?: string | undefined;
10561
+ howToSteps?: string[] | undefined;
10562
+ tokens: {
9714
10563
  address: string;
9715
10564
  chainId: number;
9716
- decimals: number;
10565
+ }[];
10566
+ protocols?: string[] | undefined;
10567
+ mainProtocol?: string | undefined;
10568
+ depositUrl?: string | undefined;
10569
+ explorerAddress?: string | undefined;
10570
+ tags?: string[] | undefined;
10571
+ } & {
10572
+ id: string;
10573
+ }) | ({
10574
+ ActivePrograms: {
9717
10575
  icon: string;
9718
10576
  id: string;
9719
- isNative: boolean;
9720
- isTest: boolean;
9721
- name: string | null;
9722
- symbol: string;
9723
- type: import("@package/databases").TokenType;
9724
- verified: boolean;
10577
+ name: string;
10578
+ slug: string | null;
10579
+ }[];
10580
+ AprRecords: ({
10581
+ AprBreakdown: {
10582
+ identifier: string;
10583
+ timestamp: bigint;
10584
+ type: import("@package/databases").AprType;
10585
+ value: number;
10586
+ }[];
9725
10587
  } & {
9726
- price?: number | null | undefined;
9727
- updatedAt?: number | null | undefined;
9728
- priceSource?: string | null | undefined;
9729
- isTokenWrapper?: boolean | undefined;
9730
- tokenWrapperAddress?: string | undefined;
10588
+ id: string;
10589
+ timestamp: bigint;
10590
+ cumulated: number;
10591
+ opportunityId: string;
9731
10592
  })[];
9732
- mainProtocol: any;
9733
- description: string;
9734
- howToSteps: string[];
9735
- depositUrl: string | undefined;
9736
- explorerAddress: string | undefined;
9737
- tags: string[];
9738
- } | ({
10593
+ Campaigns: {
10594
+ id: string;
10595
+ computeChainId: number;
10596
+ distributionChainId: number;
10597
+ campaignId: string;
10598
+ type: string;
10599
+ distributionType: import("@package/databases").DistributionType;
10600
+ subType: number | null;
10601
+ rewardTokenId: string;
10602
+ amount: string;
10603
+ opportunityId: string;
10604
+ startTimestamp: bigint;
10605
+ endTimestamp: bigint;
10606
+ params: import("@prisma/client/runtime/client").JsonValue;
10607
+ description: string | null;
10608
+ dailyRewards: number;
10609
+ apr: number;
10610
+ creatorAddress: string;
10611
+ manualOverrides: import("@package/databases").CampaignManualOverride[];
10612
+ createdAt: Date;
10613
+ rootCampaignId: string | null;
10614
+ parentCampaignId: string | null;
10615
+ }[];
10616
+ Chain: {
10617
+ id: number;
10618
+ name: string;
10619
+ icon: string;
10620
+ liveCampaigns: number;
10621
+ endOfDisputePeriod: number;
10622
+ };
10623
+ DailyRewardsRecords: ({
10624
+ DailyRewardsBreakdown: ({
10625
+ Campaign: {
10626
+ CampaignStatus: {
10627
+ campaignId: string;
10628
+ computedUntil: bigint;
10629
+ processingStarted: bigint;
10630
+ status: import("@package/databases").RunStatus;
10631
+ error: string;
10632
+ details: import("@prisma/client/runtime/client").JsonValue;
10633
+ }[];
10634
+ RewardToken: {
10635
+ id: string;
10636
+ name: string | null;
10637
+ chainId: number;
10638
+ address: string;
10639
+ decimals: number;
10640
+ symbol: string;
10641
+ displaySymbol: string;
10642
+ icon: string;
10643
+ verified: boolean;
10644
+ isTest: boolean;
10645
+ type: import("@package/databases").TokenType;
10646
+ isNative: boolean;
10647
+ price: number | null;
10648
+ updatedAt: number | null;
10649
+ priceSource: string | null;
10650
+ };
10651
+ amount: string;
10652
+ campaignId: string;
10653
+ distributionType: import("@package/databases").DistributionType;
10654
+ endTimestamp: bigint;
10655
+ startTimestamp: bigint;
10656
+ };
10657
+ } & {
10658
+ id: string;
10659
+ value: number;
10660
+ timestamp: bigint;
10661
+ campaignId: string;
10662
+ dailyRewardsRecordId: string;
10663
+ })[];
10664
+ } & {
10665
+ id: string;
10666
+ timestamp: bigint;
10667
+ total: number;
10668
+ opportunityId: string;
10669
+ })[];
10670
+ MainProtocol: {
10671
+ id: string;
10672
+ tags: string[];
10673
+ name: string;
10674
+ description: string;
10675
+ url: string;
10676
+ icon: string;
10677
+ banner: string | null;
10678
+ opportunityBannerLight: string | null;
10679
+ opportunityBannerDark: string | null;
10680
+ } | null;
9739
10681
  Protocols: {
9740
10682
  id: string;
9741
10683
  tags: string[];
@@ -9764,6 +10706,18 @@ declare const app: Elysia<"", {
9764
10706
  updatedAt: number | null;
9765
10707
  priceSource: string | null;
9766
10708
  }[];
10709
+ TvlRecords: ({
10710
+ TvlBreakdown: {
10711
+ identifier: string;
10712
+ type: import("@package/databases").TvlType;
10713
+ value: number;
10714
+ }[];
10715
+ } & {
10716
+ id: string;
10717
+ timestamp: bigint;
10718
+ total: number;
10719
+ opportunityId: string;
10720
+ })[];
9767
10721
  } & {
9768
10722
  id: string;
9769
10723
  chainId: number;