@merkl/api 1.1.13 → 1.1.15

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 (48) hide show
  1. package/dist/src/constants.d.ts +61 -0
  2. package/dist/src/eden/index.d.ts +895 -5238
  3. package/dist/src/engine/deprecated/dynamicData/implementations/default.d.ts +1 -1
  4. package/dist/src/engine/implementations/Aave/metadata.d.ts +1 -1
  5. package/dist/src/engine/implementations/Erc20/subTypes/index.d.ts +1 -2
  6. package/dist/src/engine/tvl/factory.d.ts +1 -1
  7. package/dist/src/index.d.ts +192 -2368
  8. package/dist/src/modules/v4/apr/apr.model.d.ts +0 -8
  9. package/dist/src/modules/v4/campaign/campaign.controller.d.ts +20 -396
  10. package/dist/src/modules/v4/campaign/campaign.convertor.d.ts +1 -2
  11. package/dist/src/modules/v4/campaign/campaign.model.d.ts +17 -15
  12. package/dist/src/modules/v4/campaign/campaign.repository.d.ts +60 -63
  13. package/dist/src/modules/v4/campaign/campaign.service.d.ts +34 -54
  14. package/dist/src/modules/v4/campaign/campaign.test.controller.d.ts +44 -1168
  15. package/dist/src/modules/v4/dynamicData/dynamicData.service.d.ts +1 -14
  16. package/dist/src/modules/v4/opportunity/opportunity.controller.d.ts +46 -264
  17. package/dist/src/modules/v4/opportunity/opportunity.converter.d.ts +0 -6
  18. package/dist/src/modules/v4/opportunity/opportunity.formatter.d.ts +6 -3
  19. package/dist/src/modules/v4/opportunity/opportunity.model.d.ts +21 -73
  20. package/dist/src/modules/v4/opportunity/opportunity.repository.d.ts +34 -21
  21. package/dist/src/modules/v4/opportunity/opportunity.service.d.ts +40 -38
  22. package/dist/src/modules/v4/payload/payload.controller.d.ts +16 -468
  23. package/dist/src/modules/v4/payload/payload.model.d.ts +1 -10
  24. package/dist/src/modules/v4/payload/payload.service.d.ts +12 -379
  25. package/dist/src/modules/v4/programPayload/programPayload.controller.d.ts +3 -17
  26. package/dist/src/modules/v4/programPayload/programPayload.model.d.ts +1 -1
  27. package/dist/src/modules/v4/programPayload/programPayload.repository.d.ts +7 -429
  28. package/dist/src/modules/v4/programPayload/programPayload.service.d.ts +2 -1
  29. package/dist/src/modules/v4/programPayload/subPayloads/hypurrFi.d.ts +3 -11
  30. package/dist/src/modules/v4/reward/reward.controller.d.ts +3 -3
  31. package/dist/src/modules/v4/reward/reward.model.d.ts +4 -18
  32. package/dist/src/modules/v4/reward/reward.repository.d.ts +4 -2
  33. package/dist/src/modules/v4/reward/reward.service.d.ts +26 -13
  34. package/dist/src/modules/v4/router.d.ts +191 -2364
  35. package/dist/src/modules/v4/token/token.controller.d.ts +22 -14
  36. package/dist/src/modules/v4/token/token.model.d.ts +5 -15
  37. package/dist/src/modules/v4/token/token.repository.d.ts +11 -7
  38. package/dist/src/modules/v4/user/user.controller.d.ts +4 -2
  39. package/dist/src/routes/v3/opportunity.d.ts +0 -3
  40. package/dist/src/routes/v3/payload.d.ts +1 -1
  41. package/dist/src/routes/v3/router.d.ts +1 -4
  42. package/dist/src/utils/parseDistributionType.d.ts +1 -2
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +1 -1
  45. package/dist/src/engine/implementations/Erc20/subTypes/implementations/ERC4626/metadata.d.ts +0 -31
  46. package/dist/src/engine/implementations/Erc20/subTypes/implementations/ERC4626/tvl.d.ts +0 -6
  47. package/dist/src/modules/v4/token/token.service.d.ts +0 -348
  48. package/dist/src/modules/v4/transaction/transaction.model.d.ts +0 -17
package/package.json CHANGED
@@ -22,5 +22,5 @@
22
22
  "registry": "https://registry.npmjs.org/"
23
23
  },
24
24
  "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447",
25
- "version": "1.1.13"
25
+ "version": "1.1.15"
26
26
  }
@@ -1,31 +0,0 @@
1
- import type { Erc20LikeCampaignEnum } from "../..";
2
- import type { MetadataBuilder } from "../../../../../../engine/metadata/interface";
3
- import type { CampaignWithParams } from "../../../../../../modules/v4/campaign/campaign.model";
4
- import type { ProtocolId } from "../../../../../../modules/v4/protocol/protocol.model";
5
- export declare class ERC4626Metadata implements MetadataBuilder<Erc20LikeCampaignEnum> {
6
- /**
7
- * @notice Protocol entity ID - must be defined in the corresponding file and created in DB
8
- */
9
- mainProtocol: ProtocolId;
10
- /**
11
- * @notice Protocol name - used to create the opportunity name
12
- */
13
- protocolName: string;
14
- /**
15
- * @notice Function to generate the deposit URL for the opportunity
16
- */
17
- depositUrl?: (underlyingToken: string) => string;
18
- constructor(mainProtocol: ProtocolId, protocolName: string, depositUrl?: (underlyingToken: string) => string);
19
- build(campaign: Omit<CampaignWithParams<Erc20LikeCampaignEnum>, "manualOverrides" | "opportunityId">, _opportunityIdentifier: string): Promise<{
20
- action: "LEND";
21
- mainProtocol: "splice" | "curve" | "morpho" | "compound" | "silo" | "reserve" | "gamma" | "vest" | "zero" | "uniswap" | "ambient" | "arthswap" | "base-swap" | "camelot" | "crust" | "fenix" | "horiza" | "izumi" | "kim" | "pancake-swap" | "quickswap" | "ramses" | "retro" | "stryke" | "sushi-swap" | "swapr" | "thruster" | "voltage" | "koi" | "supswap" | "zk-swap" | "thirdtrade" | "swap-x" | "velodrome" | "aerodrome" | "balancer" | "cross_curve" | "curveNPool" | "aura" | "akron" | "beefy" | "dragonswap" | "poolside" | "syncswap" | "neptune" | "zkSwapThreePool" | "rfx" | "ra" | "maverick" | "trader-joe" | "hanji" | "pinto" | "mimswap" | "ichi" | "ekubo" | "radiant" | "aave" | "fraxlend" | "ironclad" | "euler" | "gearbox" | "sturdy" | "frax" | "ionic" | "moonwell" | "fluid" | "dolomite" | "badger" | "ajna" | "layerbank" | "ion" | "venus" | "woofi" | "reactor_fusion" | "eigenlayer" | "zerolend" | "lnd" | "dlend" | "hyperdrive" | "oku" | "hourglass" | "veda" | "kyo" | "sonex" | "lendle" | "tako-tako" | "equalizer" | "spectra" | "beraborrow" | "superlend" | "avalon" | "iguana" | "xlend" | "sake" | "sonicmarket" | "stability" | "hypurrfi" | "angles" | "enzyme" | "toros" | "vicuna" | "bunni" | "beratrax" | "concrete" | "cian" | "pendle" | "yei" | "termmax" | "filament" | "gammaswap" | "maha" | "tempest" | "uranium" | "holdstation" | "katana" | "punchswap" | "satlayer" | "puffer";
22
- name: string;
23
- description: string;
24
- tokens: {
25
- chainId: number;
26
- address: string;
27
- }[];
28
- depositUrl: string | undefined;
29
- explorerAddress: string;
30
- }>;
31
- }
@@ -1,6 +0,0 @@
1
- import { type CampaignParameters, type MerklChainId } from "@angleprotocol/sdk/ts";
2
- import type { Erc20LikeCampaignEnum } from "../../../../../../engine/implementations/Erc20/subTypes";
3
- import type { TVLBuilder, TVLData } from "../../../../../../engine/tvl/interface";
4
- export declare class ERC4626TVLBuilder implements TVLBuilder<Erc20LikeCampaignEnum> {
5
- build(computeChainId: MerklChainId, campaigns: CampaignParameters<Erc20LikeCampaignEnum>[]): Promise<TVLData<Erc20LikeCampaignEnum>>;
6
- }
@@ -1,348 +0,0 @@
1
- import { type Campaign, type CampaignParameters, type ChainId } from "@angleprotocol/sdk/ts";
2
- import { TokenType } from "@package/databases";
3
- import { Prisma } from "@package/databases/api";
4
- import type { Pricer } from "../../../utils/pricer";
5
- import type { CreateTokenModel, NotionWebhookModel } from "./token.model";
6
- import type { GetTokenQueryModel, Token, TokenModel, TokenUnique, UpdateTokenModel } from "./token.model";
7
- import { TokenRepository } from "./token.repository";
8
- export declare abstract class TokenService {
9
- static hashId(token: TokenUnique): string;
10
- static format(token: Awaited<ReturnType<typeof TokenRepository.findMany>>[number]): Token["model"];
11
- static fetchNativeBalance(chainId: number, userAddress: string): Promise<import("ethers").BigNumber>;
12
- /**
13
- * Fetches balances of provided tokens
14
- */
15
- static fetchBalances(chainId: number, userAddress: string, tokens: Token["model"][]): Promise<(Token["model"] & {
16
- balance: bigint;
17
- })[]>;
18
- /**
19
- * Fetches tokens and include balances
20
- */
21
- static fetchTokensAndBalances(chainId: number, userAddress: string, addresses: string[]): Promise<({
22
- symbol: string;
23
- name: string | null;
24
- decimals: number;
25
- address: string;
26
- id: string;
27
- chainId: number;
28
- type: TokenType;
29
- icon: string;
30
- isNative: boolean;
31
- isTest: boolean;
32
- verified: boolean;
33
- } & {
34
- price?: number | null | undefined;
35
- isTokenWrapper?: boolean | undefined;
36
- tokenWrapperAddress?: string | undefined;
37
- } & {
38
- balance: bigint;
39
- })[]>;
40
- /**
41
- * Fetches balances of verified tokens
42
- * @info tokens that are popular and must be detected in the app are marked as 'verified'
43
- * @param additionalTokens balances along with the verified ones
44
- */
45
- static fetchVerifiedAndNativeBalances(chainId: number, userAddress: string, additionalTokenAddresses?: string[]): Promise<({
46
- symbol: string;
47
- name: string | null;
48
- decimals: number;
49
- address: string;
50
- id: string;
51
- chainId: number;
52
- type: TokenType;
53
- icon: string;
54
- isNative: boolean;
55
- isTest: boolean;
56
- verified: boolean;
57
- } & {
58
- price?: number | null | undefined;
59
- isTokenWrapper?: boolean | undefined;
60
- tokenWrapperAddress?: string | undefined;
61
- } & {
62
- balance: bigint;
63
- })[]>;
64
- static fetchOnChain(token: TokenModel): Promise<Omit<Token["model"], "id">>;
65
- static fetchManyOnChain(chainId: ChainId, addresses: string[]): Promise<{
66
- [address: string]: Omit<{
67
- symbol: string;
68
- name: string | null;
69
- decimals: number;
70
- address: string;
71
- id: string;
72
- chainId: number;
73
- type: TokenType;
74
- icon: string;
75
- isNative: boolean;
76
- isTest: boolean;
77
- verified: boolean;
78
- } & {
79
- price?: number | null | undefined;
80
- isTokenWrapper?: boolean | undefined;
81
- tokenWrapperAddress?: string | undefined;
82
- }, "id">;
83
- }>;
84
- /**
85
- * Updates price of tokens that share the same symbol
86
- * @param symbol
87
- * @param price value
88
- * @param excludeAddresses to not update symbols that defined using addresses
89
- */
90
- static updateSymbolPrices(symbol: string, price: number, excludeAddresses: string[]): Promise<Prisma.BatchPayload>;
91
- /**
92
- * Updates price of tokens that share the same address
93
- * @param address
94
- * @param price value
95
- * @param chainId
96
- */
97
- static updateAddressPrices(address: string, price: number, chainId?: number): Promise<Prisma.BatchPayload>;
98
- /**
99
- * Updates price of tokens that share the same symbol
100
- * @param symbol
101
- * @param price value
102
- * @param excludeAddresses to not update symbols that defined using addresses
103
- */
104
- static updatePrices(pricer: Pricer): Promise<void>;
105
- /**
106
- * Read token from database
107
- * @param chainId
108
- * @param address
109
- */
110
- static findUniqueOrThrow(token: TokenUnique | string): Promise<{
111
- symbol: string;
112
- name: string | null;
113
- decimals: number;
114
- address: string;
115
- id: string;
116
- chainId: number;
117
- type: TokenType;
118
- icon: string;
119
- isNative: boolean;
120
- isTest: boolean;
121
- verified: boolean;
122
- } & {
123
- price?: number | null | undefined;
124
- isTokenWrapper?: boolean | undefined;
125
- tokenWrapperAddress?: string | undefined;
126
- }>;
127
- /**
128
- * Read token from database, tries to fill it if unexistant
129
- * @param chainId
130
- * @param address
131
- */
132
- static findUniqueFillOrThrow(token: TokenUnique): Promise<{
133
- symbol: string;
134
- name: string | null;
135
- decimals: number;
136
- address: string;
137
- id: string;
138
- chainId: number;
139
- type: TokenType;
140
- icon: string;
141
- isNative: boolean;
142
- isTest: boolean;
143
- verified: boolean;
144
- } & {
145
- price?: number | null | undefined;
146
- isTokenWrapper?: boolean | undefined;
147
- tokenWrapperAddress?: string | undefined;
148
- }>;
149
- /**
150
- * Checks if two tokens are the same based on chainId/address combo
151
- * @param a token
152
- * @param b token
153
- * @returns true if both tokens are the same
154
- */
155
- static isSame(a: Pick<Token["model"], "chainId" | "address">, b: Pick<Token["model"], "chainId" | "address">): boolean;
156
- /**
157
- * Get the list of tokens satisfying the query
158
- * @param query
159
- * @returns A list of tokens
160
- */
161
- static findMany(query: GetTokenQueryModel): Promise<({
162
- symbol: string;
163
- name: string | null;
164
- decimals: number;
165
- address: string;
166
- id: string;
167
- chainId: number;
168
- type: TokenType;
169
- icon: string;
170
- isNative: boolean;
171
- isTest: boolean;
172
- verified: boolean;
173
- } & {
174
- price?: number | null | undefined;
175
- isTokenWrapper?: boolean | undefined;
176
- tokenWrapperAddress?: string | undefined;
177
- })[]>;
178
- /**
179
- * Get the list of tokens satisfying the query or fetch if chainId and address are provided
180
- * @param query
181
- * @returns A list of tokens
182
- */
183
- static findManyOrFetch(query: GetTokenQueryModel): Promise<({
184
- symbol: string;
185
- name: string | null;
186
- decimals: number;
187
- address: string;
188
- id: string;
189
- chainId: number;
190
- type: TokenType;
191
- icon: string;
192
- isNative: boolean;
193
- isTest: boolean;
194
- verified: boolean;
195
- } & {
196
- price?: number | null | undefined;
197
- isTokenWrapper?: boolean | undefined;
198
- tokenWrapperAddress?: string | undefined;
199
- })[]>;
200
- static getPrice(query: Omit<GetTokenQueryModel, "page" | "items">): Promise<number>;
201
- static findManyObjectPerAddress(query: GetTokenQueryModel): Promise<Record<string, {
202
- symbol: string;
203
- name: string | null;
204
- decimals: number;
205
- address: string;
206
- id: string;
207
- chainId: number;
208
- type: TokenType;
209
- icon: string;
210
- isNative: boolean;
211
- isTest: boolean;
212
- verified: boolean;
213
- } & {
214
- price?: number | null | undefined;
215
- isTokenWrapper?: boolean | undefined;
216
- tokenWrapperAddress?: string | undefined;
217
- }>>;
218
- static getRewardTokenPrice(campaign: CampaignParameters<Campaign>): Promise<number>;
219
- /**
220
- * Get value of tokens
221
- * @param tokenAmounts address/chain + amount of token
222
- * @returns the cumulated dollar value of all tokens
223
- */
224
- static getValue(tokenAmounts: {
225
- amount?: bigint;
226
- address: string;
227
- chainId: number;
228
- }[]): Promise<number>;
229
- static getValueByTokenId(id: string, amount: bigint): Promise<number>;
230
- /**
231
- * Counts the number of tokens that complies to query
232
- * @description used for pagination purposes
233
- * @param query
234
- * @returns the number of tokens
235
- */
236
- static countMany(query: GetTokenQueryModel): Promise<number>;
237
- static findChains(): Promise<Record<string, ChainId>>;
238
- /**
239
- * Read token from DB or fetch onchain
240
- * @param chainId
241
- * @param address
242
- */
243
- static findManyOrCreate(tokens: TokenModel[]): Promise<({
244
- symbol: string;
245
- name: string | null;
246
- decimals: number;
247
- address: string;
248
- id: string;
249
- chainId: number;
250
- type: TokenType;
251
- icon: string;
252
- isNative: boolean;
253
- isTest: boolean;
254
- verified: boolean;
255
- } & {
256
- price?: number | null | undefined;
257
- isTokenWrapper?: boolean | undefined;
258
- tokenWrapperAddress?: string | undefined;
259
- })[]>;
260
- static getAllValidRewardTokens(query: {
261
- chainId?: string;
262
- }): Promise<Record<number, {
263
- minimumAmountPerHour: string | undefined;
264
- isTokenWrapper: true | undefined;
265
- tokenWrapperAddress: string | undefined;
266
- symbol: string;
267
- name: string | null;
268
- decimals: number;
269
- price: number | null;
270
- address: string;
271
- id: string;
272
- chainId: number;
273
- type: TokenType;
274
- icon: string;
275
- isNative: boolean;
276
- isTest: boolean;
277
- verified: boolean;
278
- displaySymbol: string;
279
- }[]>>;
280
- static getValidRewardTokens(chainId: number, types?: TokenType[]): Promise<{
281
- minimumAmountPerHour: string | undefined;
282
- isTokenWrapper: true | undefined;
283
- tokenWrapperAddress: string | undefined;
284
- symbol: string;
285
- name: string | null;
286
- decimals: number;
287
- price: number | null;
288
- address: string;
289
- id: string;
290
- chainId: number;
291
- type: TokenType;
292
- icon: string;
293
- isNative: boolean;
294
- isTest: boolean;
295
- verified: boolean;
296
- displaySymbol: string;
297
- }[]>;
298
- static update(id: string, data: UpdateTokenModel): Promise<{
299
- symbol: string;
300
- name: string | null;
301
- decimals: number;
302
- price: number | null;
303
- address: string;
304
- id: string;
305
- chainId: number;
306
- type: TokenType;
307
- icon: string;
308
- isNative: boolean;
309
- isTest: boolean;
310
- verified: boolean;
311
- displaySymbol: string;
312
- }>;
313
- static notionWebhook(body: NotionWebhookModel): Promise<{
314
- symbol: string;
315
- name: string | null;
316
- decimals: number;
317
- price: number | null;
318
- address: string;
319
- id: string;
320
- chainId: number;
321
- type: TokenType;
322
- icon: string;
323
- isNative: boolean;
324
- isTest: boolean;
325
- verified: boolean;
326
- displaySymbol: string;
327
- }>;
328
- /**
329
- * Fetches symbol, address, decimals and creates token on database
330
- * @param chainId
331
- * @param address
332
- */
333
- static fillAndCreate(token: CreateTokenModel): Promise<{
334
- symbol: string;
335
- name: string | null;
336
- decimals: number;
337
- price: number | null;
338
- address: string;
339
- id: string;
340
- chainId: number;
341
- type: TokenType;
342
- icon: string;
343
- isNative: boolean;
344
- isTest: boolean;
345
- verified: boolean;
346
- displaySymbol: string;
347
- }>;
348
- }
@@ -1,17 +0,0 @@
1
- export declare const TransactionDto: import("@sinclair/typebox").TObject<{
2
- hash: import("@sinclair/typebox").TString;
3
- chainId: import("@sinclair/typebox").TNumber;
4
- }>;
5
- export declare const TransactionParametersDto: import("@sinclair/typebox").TObject<{
6
- chainId: import("@sinclair/typebox").TNumber;
7
- data: import("@sinclair/typebox").TString;
8
- to: import("@sinclair/typebox").TString;
9
- from: import("@sinclair/typebox").TString;
10
- value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
- gas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
- maxFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
- maxPriorityFeePerGas: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
- nonce: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
15
- }>;
16
- export type TransactionModel = typeof TransactionDto.static;
17
- export type TransactionParametersModel = typeof TransactionParametersDto.static;