@lit-protocol/vincent-ability-morpho 0.0.7-mma

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 (33) hide show
  1. package/CONTRIBUTING.md +90 -0
  2. package/README.md +136 -0
  3. package/dist/CONTRIBUTING.md +90 -0
  4. package/dist/README.md +136 -0
  5. package/dist/package.json +34 -0
  6. package/dist/src/generated/lit-action.js +9 -0
  7. package/dist/src/generated/vincent-ability-metadata.json +3 -0
  8. package/dist/src/generated/vincent-bundled-ability.d.ts +98 -0
  9. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -0
  10. package/dist/src/generated/vincent-bundled-ability.js +15 -0
  11. package/dist/src/generated/vincent-bundled-ability.js.map +1 -0
  12. package/dist/src/generated/vincent-bundled-ability.ts +13 -0
  13. package/dist/src/index.d.ts +3 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/index.js +8 -0
  16. package/dist/src/index.js.map +1 -0
  17. package/dist/src/lib/helpers/index.d.ts +561 -0
  18. package/dist/src/lib/helpers/index.d.ts.map +1 -0
  19. package/dist/src/lib/helpers/index.js +1123 -0
  20. package/dist/src/lib/helpers/index.js.map +1 -0
  21. package/dist/src/lib/lit-action.d.ts +2 -0
  22. package/dist/src/lib/lit-action.d.ts.map +1 -0
  23. package/dist/src/lib/lit-action.js +16 -0
  24. package/dist/src/lib/lit-action.js.map +1 -0
  25. package/dist/src/lib/schemas.d.ts +125 -0
  26. package/dist/src/lib/schemas.d.ts.map +1 -0
  27. package/dist/src/lib/schemas.js +109 -0
  28. package/dist/src/lib/schemas.js.map +1 -0
  29. package/dist/src/lib/vincent-ability.d.ts +96 -0
  30. package/dist/src/lib/vincent-ability.d.ts.map +1 -0
  31. package/dist/src/lib/vincent-ability.js +378 -0
  32. package/dist/src/lib/vincent-ability.js.map +1 -0
  33. package/package.json +33 -0
@@ -0,0 +1,561 @@
1
+ import { ethers } from 'ethers';
2
+ import { MorphoOperation } from '../schemas';
3
+ /**
4
+ * Well-known token addresses across different chains
5
+ * Using official Circle USDC and canonical WETH addresses
6
+ */
7
+ export declare const WELL_KNOWN_TOKENS: {
8
+ readonly 1: {
9
+ readonly USDC: "0xA0b86991c6218A36c1D19D4a2e9Eb0cE3606eB48";
10
+ readonly WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
11
+ readonly USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7";
12
+ };
13
+ readonly 8453: {
14
+ readonly USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
15
+ readonly WETH: "0x4200000000000000000000000000000000000006";
16
+ readonly USDT: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2";
17
+ };
18
+ readonly 42161: {
19
+ readonly USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
20
+ readonly WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1";
21
+ readonly USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9";
22
+ };
23
+ readonly 10: {
24
+ readonly USDC: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
25
+ readonly WETH: "0x4200000000000000000000000000000000000006";
26
+ readonly USDT: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58";
27
+ };
28
+ readonly 137: {
29
+ readonly USDC: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359";
30
+ readonly WETH: "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619";
31
+ readonly USDT: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F";
32
+ };
33
+ readonly 11155111: {
34
+ readonly USDC: "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8";
35
+ readonly WETH: "0xC558DBdd856501FCd9aaF1E62eae57A9F0629a3c";
36
+ readonly USDT: "0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0";
37
+ };
38
+ };
39
+ /**
40
+ * Supported chain IDs and their names
41
+ */
42
+ export declare const SUPPORTED_CHAINS: {
43
+ readonly 1: "ethereum";
44
+ readonly 8453: "base";
45
+ readonly 42161: "arbitrum";
46
+ readonly 10: "optimism";
47
+ readonly 137: "polygon";
48
+ readonly 11155111: "sepolia";
49
+ };
50
+ /**
51
+ * Chain names to IDs mapping for backwards compatibility
52
+ */
53
+ export declare const CHAIN_IDS: {
54
+ readonly ethereum: 1;
55
+ readonly base: 8453;
56
+ readonly arbitrum: 42161;
57
+ readonly optimism: 10;
58
+ readonly polygon: 137;
59
+ readonly sepolia: 11155111;
60
+ };
61
+ /**
62
+ * ERC4626 Vault ABI - Essential methods for Morpho vaults
63
+ */
64
+ export declare const ERC4626_VAULT_ABI: any[];
65
+ /**
66
+ * Morpho Market ABI - Essential methods for supply and withdraw operations
67
+ */
68
+ export declare const MORPHO_MARKET_ABI: any[];
69
+ /**
70
+ * ERC20 Token ABI - Essential methods only
71
+ */
72
+ export declare const ERC20_ABI: readonly [{
73
+ readonly inputs: readonly [{
74
+ readonly internalType: "address";
75
+ readonly name: "account";
76
+ readonly type: "address";
77
+ }];
78
+ readonly name: "balanceOf";
79
+ readonly outputs: readonly [{
80
+ readonly internalType: "uint256";
81
+ readonly name: "";
82
+ readonly type: "uint256";
83
+ }];
84
+ readonly stateMutability: "view";
85
+ readonly type: "function";
86
+ }, {
87
+ readonly inputs: readonly [{
88
+ readonly internalType: "address";
89
+ readonly name: "owner";
90
+ readonly type: "address";
91
+ }, {
92
+ readonly internalType: "address";
93
+ readonly name: "spender";
94
+ readonly type: "address";
95
+ }];
96
+ readonly name: "allowance";
97
+ readonly outputs: readonly [{
98
+ readonly internalType: "uint256";
99
+ readonly name: "";
100
+ readonly type: "uint256";
101
+ }];
102
+ readonly stateMutability: "view";
103
+ readonly type: "function";
104
+ }, {
105
+ readonly inputs: readonly [{
106
+ readonly internalType: "address";
107
+ readonly name: "spender";
108
+ readonly type: "address";
109
+ }, {
110
+ readonly internalType: "uint256";
111
+ readonly name: "amount";
112
+ readonly type: "uint256";
113
+ }];
114
+ readonly name: "approve";
115
+ readonly outputs: readonly [{
116
+ readonly internalType: "bool";
117
+ readonly name: "";
118
+ readonly type: "bool";
119
+ }];
120
+ readonly stateMutability: "nonpayable";
121
+ readonly type: "function";
122
+ }, {
123
+ readonly inputs: readonly [];
124
+ readonly name: "decimals";
125
+ readonly outputs: readonly [{
126
+ readonly internalType: "uint8";
127
+ readonly name: "";
128
+ readonly type: "uint8";
129
+ }];
130
+ readonly stateMutability: "view";
131
+ readonly type: "function";
132
+ }];
133
+ /**
134
+ * Supported chain type
135
+ */
136
+ export type SupportedChainId = keyof typeof WELL_KNOWN_TOKENS;
137
+ export type SupportedChainName = keyof typeof CHAIN_IDS;
138
+ /**
139
+ * Supported token symbols for vault filtering
140
+ */
141
+ export type TokenSymbol = 'USDC' | 'WETH' | 'USDT';
142
+ /**
143
+ * Supported sorting fields for vault queries
144
+ */
145
+ export type VaultSortBy = 'netApy' | 'totalAssets' | 'totalAssetsUsd' | 'creationTimestamp';
146
+ /**
147
+ * Sort order options
148
+ */
149
+ export type SortOrder = 'asc' | 'desc';
150
+ /**
151
+ * Chain identifier (can be chain ID number or chain name string)
152
+ */
153
+ export type ChainIdentifier = number | string;
154
+ /**
155
+ * Common vault filtering presets for quick searches
156
+ */
157
+ export type VaultFilterPresets = {
158
+ /** Find high-yield vaults across all chains */
159
+ highYield: VaultFilterOptions;
160
+ /** Find stable, low-risk vaults */
161
+ stable: VaultFilterOptions;
162
+ /** Find vaults with high TVL */
163
+ highTvl: VaultFilterOptions;
164
+ };
165
+ /**
166
+ * Pre-configured filter presets for common use cases
167
+ */
168
+ export declare const VAULT_FILTER_PRESETS: VaultFilterPresets;
169
+ /**
170
+ * Get well-known token addresses for a specific chain
171
+ */
172
+ export declare function getTokenAddresses(chainId: number): {
173
+ readonly USDC: "0xA0b86991c6218A36c1D19D4a2e9Eb0cE3606eB48";
174
+ readonly WETH: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
175
+ readonly USDT: "0xdAC17F958D2ee523a2206206994597C13D831ec7";
176
+ } | {
177
+ readonly USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
178
+ readonly WETH: "0x4200000000000000000000000000000000000006";
179
+ readonly USDT: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2";
180
+ } | {
181
+ readonly USDC: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831";
182
+ readonly WETH: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1";
183
+ readonly USDT: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9";
184
+ } | {
185
+ readonly USDC: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85";
186
+ readonly WETH: "0x4200000000000000000000000000000000000006";
187
+ readonly USDT: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58";
188
+ } | {
189
+ readonly USDC: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359";
190
+ readonly WETH: "0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619";
191
+ readonly USDT: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F";
192
+ } | {
193
+ readonly USDC: "0x94a9D9AC8a22534E3FaCa9F4e7F2E2cf85d5E4C8";
194
+ readonly WETH: "0xC558DBdd856501FCd9aaF1E62eae57A9F0629a3c";
195
+ readonly USDT: "0xaA8E23Fb1079EA71e0a56F48a2aA51851D8433D0";
196
+ };
197
+ /**
198
+ * Get token address for a specific token symbol and chain
199
+ */
200
+ export declare function getTokenAddress(symbol: string, chainId: number): string;
201
+ /**
202
+ * Check if a chain is supported by Morpho
203
+ */
204
+ export declare function isSupportedChain(chainId: number): boolean;
205
+ /**
206
+ * Get all supported chain IDs
207
+ */
208
+ export declare function getSupportedChainIds(): number[];
209
+ /**
210
+ * Get chain name from chain ID
211
+ */
212
+ export declare function getChainName(chainId: number): string;
213
+ /**
214
+ * Utility function to validate Ethereum address
215
+ */
216
+ export declare function isValidAddress(address: string): boolean;
217
+ /**
218
+ * Utility function to parse amount with decimals
219
+ */
220
+ export declare function parseAmount(amount: string, decimals?: number): string;
221
+ /**
222
+ * Utility function to format amount from wei
223
+ */
224
+ export declare function formatAmount(amount: string, decimals?: number): string;
225
+ /**
226
+ * Validate operation-specific requirements for Morpho vaults and markets
227
+ */
228
+ export declare function validateOperationRequirements(operation: MorphoOperation, userBalance: string, allowance: string, vaultShares: string, convertedAmount: string, collateralBalance?: string): Promise<{
229
+ valid: boolean;
230
+ error?: string;
231
+ }>;
232
+ /**
233
+ * Comprehensive Morpho Vault Information
234
+ *
235
+ * Contains all vault details including address, asset info, chain data,
236
+ * performance metrics, and status information.
237
+ *
238
+ * @example
239
+ * ```typescript
240
+ * const vaults = await getVaults({ limit: 1 });
241
+ * const vault = vaults[0];
242
+ *
243
+ * console.log(`Vault: ${vault.name}`);
244
+ * console.log(`Asset: ${vault.asset.symbol}`);
245
+ * console.log(`Chain: ${vault.chain.network}`);
246
+ * console.log(`Net APY: ${vault.metrics.netApy}%`);
247
+ * console.log(`TVL: $${vault.metrics.totalAssetsUsd.toLocaleString()}`);
248
+ * ```
249
+ */
250
+ export interface MorphoVaultInfo {
251
+ /** Vault contract address (0x format) */
252
+ address: string;
253
+ /** Human-readable vault name */
254
+ name: string;
255
+ /** Vault token symbol */
256
+ symbol: string;
257
+ /** Underlying asset information */
258
+ asset: {
259
+ /** Asset contract address */
260
+ address: string;
261
+ /** Asset symbol (e.g., "USDC", "WETH") */
262
+ symbol: string;
263
+ /** Full asset name */
264
+ name: string;
265
+ /** Token decimals */
266
+ decimals: number;
267
+ };
268
+ /** Blockchain information */
269
+ chain: {
270
+ /** Chain ID (1=Ethereum, 8453=Base, etc.) */
271
+ id: number;
272
+ /** Chain name ("ethereum", "base", etc.) */
273
+ network: string;
274
+ };
275
+ /** Performance and financial metrics */
276
+ metrics: {
277
+ /** Gross APY percentage (before fees) */
278
+ apy: number;
279
+ /** Net APY percentage (after fees) - most accurate for users */
280
+ netApy: number;
281
+ /** Total assets in vault (in token units as string) */
282
+ totalAssets: string;
283
+ /** Total Value Locked in USD */
284
+ totalAssetsUsd: number;
285
+ /** Vault fee percentage */
286
+ fee: number;
287
+ /** Additional reward tokens and APRs */
288
+ rewards?: Array<{
289
+ /** Reward token address */
290
+ asset: string;
291
+ /** Supply APR for this reward */
292
+ supplyApr: number;
293
+ /** Yearly supply tokens amount */
294
+ yearlySupplyTokens: string;
295
+ }>;
296
+ };
297
+ /** Whether vault is whitelisted by Morpho */
298
+ whitelisted: boolean;
299
+ /** Vault creation timestamp */
300
+ creationTimestamp: number;
301
+ /** Whether vault has low activity (< $100 TVL) */
302
+ isIdle?: boolean;
303
+ }
304
+ /**
305
+ * Unified Vault Filter Options for the getVaults() function
306
+ *
307
+ * Supports comprehensive filtering by asset, chain, performance metrics, and more.
308
+ * All filters use server-side GraphQL queries for optimal performance.
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * // Find high-yield USDC vaults on Base
313
+ * const vaults = await getVaults({
314
+ * assetSymbol: "USDC",
315
+ * chainId: 8453,
316
+ * minNetApy: 0.05,
317
+ * sortBy: "netApy",
318
+ * sortOrder: "desc",
319
+ * limit: 10
320
+ * });
321
+ * ```
322
+ */
323
+ export interface VaultFilterOptions {
324
+ /** Filter by token symbol (e.g., "USDC", "WETH", "USDT") */
325
+ assetSymbol?: TokenSymbol | string;
326
+ /** Filter by specific token contract address */
327
+ assetAddress?: string;
328
+ /** Chain identifier - supports chain name or ID */
329
+ chain?: string | number;
330
+ /** Specific chain ID (1=Ethereum, 8453=Base, 42161=Arbitrum, etc.) */
331
+ chainId?: number;
332
+ /** Minimum Net APY percentage (after fees) */
333
+ minNetApy?: number;
334
+ /** Maximum Net APY percentage (after fees) */
335
+ maxNetApy?: number;
336
+ /** Minimum total assets in vault (in token units) */
337
+ minTotalAssets?: number;
338
+ /** Maximum total assets in vault (in token units) */
339
+ maxTotalAssets?: number;
340
+ /** Minimum Total Value Locked in USD */
341
+ minTvl?: number;
342
+ /** Maximum Total Value Locked in USD */
343
+ maxTvl?: number;
344
+ /** Only include whitelisted vaults */
345
+ whitelistedOnly?: boolean;
346
+ /** Exclude low-activity vaults (< $100 TVL) */
347
+ excludeIdle?: boolean;
348
+ /** Field to sort results by */
349
+ sortBy?: VaultSortBy;
350
+ /** Sort order: ascending or descending */
351
+ sortOrder?: SortOrder;
352
+ /** Maximum number of results to return */
353
+ limit?: number;
354
+ }
355
+ /**
356
+ * Vault Search Options
357
+ */
358
+ export interface VaultSearchOptions {
359
+ query?: string;
360
+ chains?: Array<string | number>;
361
+ limit?: number;
362
+ offset?: number;
363
+ }
364
+ /**
365
+ * Morpho GraphQL API Client
366
+ */
367
+ export declare class MorphoVaultClient {
368
+ private readonly apiUrl;
369
+ /**
370
+ * Fetch vault data from Morpho GraphQL API
371
+ */
372
+ private fetchVaultData;
373
+ /**
374
+ * Get all vaults with comprehensive information
375
+ * Now uses proper server-side filtering via GraphQL VaultFilters
376
+ */
377
+ getAllVaults(options?: VaultFilterOptions): Promise<MorphoVaultInfo[]>;
378
+ /**
379
+ * Unified function to get vaults with flexible filtering
380
+ * Supports filtering by asset, chain, and all other options
381
+ */
382
+ getVaults(options?: VaultFilterOptions): Promise<MorphoVaultInfo[]>;
383
+ /**
384
+ * Get top vaults by APY
385
+ */
386
+ getTopVaultsByNetApy(limit?: number, minTvl?: number): Promise<MorphoVaultInfo[]>;
387
+ /**
388
+ * Get top vaults by TVL
389
+ */
390
+ getTopVaultsByTvl(limit?: number): Promise<MorphoVaultInfo[]>;
391
+ /**
392
+ * Search vaults by name, symbol, or asset
393
+ */
394
+ searchVaults(searchOptions: VaultSearchOptions): Promise<MorphoVaultInfo[]>;
395
+ /**
396
+ * Get vault details by address
397
+ */
398
+ getVaultByAddress(address: string, chainId: number): Promise<MorphoVaultInfo | null>;
399
+ /**
400
+ * Get best vaults for a specific asset
401
+ */
402
+ getBestVaultsForAsset(assetSymbol: string, limit?: number): Promise<MorphoVaultInfo[]>;
403
+ /**
404
+ * Map vault data from GraphQL response
405
+ */
406
+ private mapVaultData;
407
+ /**
408
+ * Build GraphQL VaultFilters from filter options
409
+ * Uses proper server-side filtering for better performance
410
+ */
411
+ private buildVaultFilters;
412
+ /**
413
+ * Apply remaining client-side filters not supported by GraphQL
414
+ * Only handles computed properties like isIdle
415
+ */
416
+ private applyRemainingClientFilters;
417
+ /**
418
+ * Map sortBy option to GraphQL enum
419
+ */
420
+ private mapSortBy;
421
+ }
422
+ /**
423
+ * Create a singleton instance of MorphoVaultClient
424
+ */
425
+ export declare const morphoVaultClient: MorphoVaultClient;
426
+ /**
427
+ * Helper function to get best vaults for a specific asset
428
+ */
429
+ export declare function getBestVaultsForAsset(assetSymbol: string, limit?: number): Promise<MorphoVaultInfo[]>;
430
+ /**
431
+ * Helper function to get top vaults by APY
432
+ */
433
+ export declare function getTopVaultsByNetApy(limit?: number, minTvl?: number): Promise<MorphoVaultInfo[]>;
434
+ /**
435
+ * Helper function to get top vaults by TVL
436
+ */
437
+ export declare function getTopVaultsByTvl(limit?: number): Promise<MorphoVaultInfo[]>;
438
+ /**
439
+ * Helper function to search vaults
440
+ */
441
+ export declare function searchVaults(query: string, limit?: number): Promise<MorphoVaultInfo[]>;
442
+ /**
443
+ * 🚀 **Quick Vault Search with Presets**
444
+ *
445
+ * Get vaults using pre-configured filter presets for common use cases.
446
+ *
447
+ * @param preset - Pre-configured filter preset
448
+ * @param overrides - Additional options to override preset defaults
449
+ * @returns Promise resolving to array of vault information
450
+ *
451
+ * @example
452
+ * ```typescript
453
+ * // Find high-yield vaults
454
+ * const highYieldVaults = await getVaultsByPreset("highYield");
455
+ *
456
+ * // Find high-yield USDC vaults specifically
457
+ * const usdcHighYield = await getVaultsByPreset("highYield", {
458
+ * assetSymbol: "USDC"
459
+ * });
460
+ *
461
+ * // Find stable vaults on Base chain
462
+ * const stableBaseVaults = await getVaultsByPreset("stable", {
463
+ * chainId: 8453
464
+ * });
465
+ * ```
466
+ */
467
+ export declare function getVaultsByPreset(preset: keyof VaultFilterPresets, overrides?: Partial<VaultFilterOptions>): Promise<MorphoVaultInfo[]>;
468
+ /**
469
+ * 🔍 **Primary Vault Discovery Function**
470
+ *
471
+ * Get Morpho vaults with comprehensive filtering and sorting options.
472
+ * Uses server-side GraphQL queries for optimal performance.
473
+ *
474
+ * @param options - Vault filtering and sorting options
475
+ * @returns Promise resolving to array of vault information
476
+ *
477
+ * @example
478
+ * ```typescript
479
+ * // Find best USDC vaults across all chains
480
+ * const topVaults = await getVaults({
481
+ * assetSymbol: "USDC",
482
+ * minNetApy: 0.05,
483
+ * minTvl: 1000000,
484
+ * sortBy: "netApy",
485
+ * sortOrder: "desc",
486
+ * limit: 5
487
+ * });
488
+ *
489
+ * // Filter by specific chain
490
+ * const baseVaults = await getVaults({
491
+ * chainId: 8453, // Base
492
+ * excludeIdle: true,
493
+ * sortBy: "totalAssetsUsd"
494
+ * });
495
+ *
496
+ * // Search with multiple criteria
497
+ * const premiumVaults = await getVaults({
498
+ * minNetApy: 10.0,
499
+ * minTvl: 5000000,
500
+ * whitelistedOnly: true,
501
+ * sortBy: "netApy",
502
+ * limit: 3
503
+ * });
504
+ * ```
505
+ */
506
+ export declare function getVaults(options?: VaultFilterOptions): Promise<MorphoVaultInfo[]>;
507
+ /**
508
+ * Get supported chains with active vaults
509
+ */
510
+ export declare function getSupportedChainsWithVaults(): Promise<{
511
+ chainId: number;
512
+ name: string;
513
+ vaultCount: number;
514
+ }[]>;
515
+ /**
516
+ * Get vault discovery summary for a chain
517
+ */
518
+ export declare function getVaultDiscoverySummary(chainId: number): Promise<{
519
+ chainId: number;
520
+ chainName: string;
521
+ totalVaults: number;
522
+ totalTvl: number;
523
+ topVaultsByTvl: MorphoVaultInfo[];
524
+ topVaultsByNetApy: MorphoVaultInfo[];
525
+ assetBreakdown: {
526
+ count: number;
527
+ totalTvl: number;
528
+ maxNetApy: number;
529
+ symbol: string;
530
+ }[];
531
+ }>;
532
+ /**
533
+ * Execute Morpho market operations (supply/withdrawCollateral)
534
+ */
535
+ export declare function executeMorphoMarketOperation({ provider, pkpPublicKey, marketAddress, marketId, functionName, args, chainId, alchemyGasSponsor, alchemyGasSponsorApiKey, alchemyGasSponsorPolicyId, }: {
536
+ provider?: ethers.providers.JsonRpcProvider;
537
+ pkpPublicKey: string;
538
+ marketAddress: string;
539
+ marketId: string;
540
+ functionName: string;
541
+ args: any[];
542
+ chainId: number;
543
+ alchemyGasSponsor?: boolean;
544
+ alchemyGasSponsorApiKey?: string;
545
+ alchemyGasSponsorPolicyId?: string;
546
+ }): Promise<string>;
547
+ /**
548
+ * Generic function to execute any Morpho Vault operation, with optional gas sponsorship
549
+ */
550
+ export declare function executeMorphoVaultOperation({ provider, pkpPublicKey, vaultAddress, functionName, args, chainId, alchemyGasSponsor, alchemyGasSponsorApiKey, alchemyGasSponsorPolicyId, }: {
551
+ provider?: ethers.providers.JsonRpcProvider;
552
+ pkpPublicKey: string;
553
+ vaultAddress: string;
554
+ functionName: string;
555
+ args: any[];
556
+ chainId: number;
557
+ alchemyGasSponsor?: boolean;
558
+ alchemyGasSponsorApiKey?: string;
559
+ alchemyGasSponsorPolicyId?: string;
560
+ }): Promise<string>;
561
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/helpers/index.ts"],"names":[],"mappings":"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"}