@continuumdao/ctm-mpc-defi 0.2.9 → 0.2.11

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 (36) hide show
  1. package/dist/agent/catalog.cjs +522 -19
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +639 -14
  4. package/dist/agent/catalog.js +510 -20
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/hyperliquid/SKILL.md +34 -6
  7. package/dist/agent/skills/morpho/SKILL.md +63 -0
  8. package/dist/core/index.cjs +9 -0
  9. package/dist/core/index.cjs.map +1 -1
  10. package/dist/core/index.d.ts +3 -1
  11. package/dist/core/index.js +8 -1
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/index.cjs +9 -0
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +8 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
  19. package/dist/protocols/evm/aave-v4/index.js.map +1 -1
  20. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  21. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  22. package/dist/protocols/evm/hyperliquid/index.cjs +407 -34
  23. package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
  24. package/dist/protocols/evm/hyperliquid/index.d.ts +168 -15
  25. package/dist/protocols/evm/hyperliquid/index.js +390 -35
  26. package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
  27. package/dist/protocols/evm/maple/index.cjs.map +1 -1
  28. package/dist/protocols/evm/maple/index.js.map +1 -1
  29. package/dist/protocols/evm/morpho/index.cjs +1971 -0
  30. package/dist/protocols/evm/morpho/index.cjs.map +1 -0
  31. package/dist/protocols/evm/morpho/index.d.ts +522 -0
  32. package/dist/protocols/evm/morpho/index.js +1918 -0
  33. package/dist/protocols/evm/morpho/index.js.map +1 -0
  34. package/dist/protocols/evm/sky/index.cjs.map +1 -1
  35. package/dist/protocols/evm/sky/index.js.map +1 -1
  36. package/package.json +6 -1
@@ -0,0 +1,522 @@
1
+ import { b as KeyGenSubsetForPermit, e as ProtocolModule } from '../../../types-BfjWdw1j.js';
2
+ import { Address } from 'viem';
3
+
4
+ declare const MORPHO_GRAPHQL_URL = "https://api.morpho.org/graphql";
5
+ declare function morphoGql<T>(query: string, variables?: Record<string, unknown>): Promise<T>;
6
+ type MorphoChainRow = {
7
+ id: number;
8
+ network?: string | null;
9
+ };
10
+ declare function fetchMorphoChains(): Promise<readonly MorphoChainRow[]>;
11
+ declare function loadMorphoSupportedChainIds(): Promise<ReadonlySet<number>>;
12
+ type MorphoAssetRef = {
13
+ address?: string | null;
14
+ symbol?: string | null;
15
+ decimals?: number | null;
16
+ price?: {
17
+ usd?: number | null;
18
+ } | null;
19
+ };
20
+ type MorphoMarketApiRow = {
21
+ marketId: string;
22
+ loanAsset: MorphoAssetRef;
23
+ collateralAsset: MorphoAssetRef;
24
+ lltv: string;
25
+ irmAddress: string;
26
+ oracle: {
27
+ address: string;
28
+ };
29
+ morphoBlue: {
30
+ address: string;
31
+ };
32
+ state?: {
33
+ supplyApy?: number | null;
34
+ borrowApy?: number | null;
35
+ netSupplyApy?: number | null;
36
+ netBorrowApy?: number | null;
37
+ supplyAssetsUsd?: number | null;
38
+ borrowAssetsUsd?: number | null;
39
+ collateralAssetsUsd?: number | null;
40
+ utilization?: number | null;
41
+ rewards?: readonly {
42
+ asset?: MorphoAssetRef | null;
43
+ supplyApr?: number | null;
44
+ borrowApr?: number | null;
45
+ }[] | null;
46
+ } | null;
47
+ };
48
+ type MorphoVaultApiRow = {
49
+ address: string;
50
+ symbol?: string | null;
51
+ name?: string | null;
52
+ listed?: boolean | null;
53
+ asset: MorphoAssetRef;
54
+ chain?: {
55
+ id: number;
56
+ } | null;
57
+ liquidity?: {
58
+ usd?: number | null;
59
+ } | null;
60
+ state?: {
61
+ apy?: number | null;
62
+ netApy?: number | null;
63
+ fee?: number | null;
64
+ totalAssetsUsd?: number | null;
65
+ allRewards?: readonly {
66
+ asset?: MorphoAssetRef | null;
67
+ supplyApr?: number | null;
68
+ }[] | null;
69
+ } | null;
70
+ };
71
+ /** Morpho Vault V2 — APY/TVL on the vault node (not nested `state`). */
72
+ type MorphoVaultV2ApiRow = {
73
+ address: string;
74
+ symbol?: string | null;
75
+ name?: string | null;
76
+ asset: MorphoAssetRef;
77
+ chain?: {
78
+ id: number;
79
+ } | null;
80
+ listed?: boolean | null;
81
+ apy?: number | null;
82
+ netApy?: number | null;
83
+ totalAssetsUsd?: number | null;
84
+ liquidityUsd?: number | null;
85
+ performanceFee?: number | null;
86
+ managementFee?: number | null;
87
+ rewards?: readonly {
88
+ asset?: MorphoAssetRef | null;
89
+ supplyApr?: number | null;
90
+ }[] | null;
91
+ };
92
+ declare function morphoKeyForAssetRow(args: {
93
+ contractAddress: string;
94
+ nativeWrapped?: string | null;
95
+ }): string | null;
96
+ declare function formatMorphoApyPct(apy: number | null | undefined): string;
97
+ /** Morpho fee fields are decimals (0.1 = 10%). */
98
+ declare function formatMorphoFeePct(fee: number | null | undefined): string;
99
+ declare function formatMorphoUsd(n: number | null | undefined): string;
100
+
101
+ type MorphoMarketParams = {
102
+ loanToken: Address;
103
+ collateralToken: Address;
104
+ oracle: Address;
105
+ irm: Address;
106
+ lltv: bigint;
107
+ };
108
+ type ResolvedMorphoMarket = MorphoMarketApiRow & {
109
+ morphoBlueAddress: Address;
110
+ marketParams: MorphoMarketParams;
111
+ };
112
+ declare function marketParamsFromApiRow(row: MorphoMarketApiRow): MorphoMarketParams;
113
+ declare function fetchMorphoMarketById(args: {
114
+ chainId: number;
115
+ marketId: string;
116
+ }): Promise<ResolvedMorphoMarket | null>;
117
+
118
+ type MorphoEarnOfferingRow = {
119
+ vaultAddress: string;
120
+ vaultSymbol: string;
121
+ vaultName: string;
122
+ underlyingAddress: string;
123
+ underlyingSymbol: string;
124
+ underlyingDecimals: number;
125
+ apyLabel: string;
126
+ netApyLabel: string;
127
+ performanceFeeLabel: string;
128
+ managementFeeLabel: string;
129
+ totalAssetsUsdLabel: string;
130
+ liquidityUsdLabel: string;
131
+ netApy7dLabel: string;
132
+ netApy30dLabel: string;
133
+ netApy90dLabel: string;
134
+ exposure: MorphoEarnVaultExposureRow[];
135
+ vaultId: string;
136
+ /** V1 meta-morpho vault vs Vault V2 (ERC-4626). */
137
+ vaultGeneration: 'v1' | 'v2';
138
+ };
139
+ type MorphoEarnVaultExposureRow = {
140
+ label: string;
141
+ allocatedUsdLabel: string;
142
+ allocationPercentLabel: string;
143
+ };
144
+ /** Agent/MCP-facing earn vault row (V1 + V2 unified; no generation field). */
145
+ type MorphoEarnVaultDiscoveryRow = {
146
+ vaultAddress: string;
147
+ vaultName: string;
148
+ vaultSymbol: string;
149
+ underlyingAddress: string;
150
+ underlyingSymbol: string;
151
+ apy: string;
152
+ netApy: string;
153
+ netApy7d: string;
154
+ netApy30d: string;
155
+ netApy90d: string;
156
+ performanceFee: string;
157
+ managementFee: string | null;
158
+ totalDepositsUsd: string;
159
+ liquidityUsd: string;
160
+ exposure: MorphoEarnVaultExposureRow[];
161
+ };
162
+ declare function morphoEarnOfferingToDiscoveryRow(row: MorphoEarnOfferingRow): MorphoEarnVaultDiscoveryRow;
163
+ /** Listed Morpho earn vaults (V1 + V2). Filter by deposit asset (symbol or address) and/or vault search query. */
164
+ declare function searchMorphoListedEarnVaults(args: {
165
+ chainId: number;
166
+ underlying?: string;
167
+ query?: string;
168
+ limit?: number;
169
+ }): Promise<MorphoEarnVaultDiscoveryRow[]>;
170
+ declare function isMorphoVaultListed(args: {
171
+ chainId: number;
172
+ vaultAddress: string;
173
+ }): Promise<boolean>;
174
+ declare function fetchMorphoVaultsForChain(chainId: number, first?: number): Promise<readonly MorphoVaultApiRow[]>;
175
+ declare function fetchMorphoVaultV2sForChain(chainId: number, first?: number, skip?: number): Promise<readonly MorphoVaultV2ApiRow[]>;
176
+ declare function fetchMorphoVaultByAddress(args: {
177
+ chainId: number;
178
+ vaultAddress: string;
179
+ }): Promise<(MorphoVaultApiRow | MorphoVaultV2ApiRow) | null>;
180
+ declare function fetchMorphoEarnOfferingsForAsset(args: {
181
+ chainId: number;
182
+ contractAddress: string;
183
+ underlyingDecimals: number;
184
+ suppliedAssetSymbol?: string;
185
+ }): Promise<MorphoEarnOfferingRow[]>;
186
+ type ChainAssetCache = {
187
+ modesByUnderlying: Map<string, {
188
+ earn: boolean;
189
+ borrow: boolean;
190
+ collateral: boolean;
191
+ }>;
192
+ nativeWrapped: string | null;
193
+ };
194
+ declare function ensureMorphoChainAssetCache(chainId: number): Promise<ChainAssetCache>;
195
+
196
+ type MorphoEarnVaultDetailFields = Pick<MorphoEarnOfferingRow, 'liquidityUsdLabel' | 'netApy7dLabel' | 'netApy30dLabel' | 'netApy90dLabel' | 'exposure'>;
197
+ declare function emptyMorphoEarnVaultDetailFields(): MorphoEarnVaultDetailFields;
198
+ /** Full detail fetch for one vault (period APYs, liquidity, exposure). Safe for UI expand / agent single-vault lookup. */
199
+ declare function fetchMorphoEarnVaultDetails(args: {
200
+ chainId: number;
201
+ vaultAddress: string;
202
+ vaultGeneration: 'v1' | 'v2';
203
+ }): Promise<MorphoEarnVaultDetailFields>;
204
+ /** Light enrichment (liquidity + period APYs). No exposure — use fetchMorphoEarnVaultDetails for one vault. */
205
+ declare function enrichMorphoEarnOfferingRows(chainId: number, rows: MorphoEarnOfferingRow[]): Promise<MorphoEarnOfferingRow[]>;
206
+ /** MCP / agent: light enrichment plus per-vault exposure (chunked to stay under API complexity limits). */
207
+ declare function enrichMorphoEarnOfferingRowsForAgent(chainId: number, rows: MorphoEarnOfferingRow[]): Promise<MorphoEarnOfferingRow[]>;
208
+
209
+ /** MCP: Morpho-listed earn vaults (V1 + V2 merged). Filter by deposit asset and/or vault name. */
210
+ declare function morphoFetchEarnVaultsSummary(args: {
211
+ chainId: number;
212
+ underlying?: string;
213
+ query?: string;
214
+ limit?: number;
215
+ }): Promise<{
216
+ vaults: MorphoEarnVaultDiscoveryRow[];
217
+ }>;
218
+ /** Resolve vault by address when the agent already has one; rejects unlisted vaults. */
219
+ declare function morphoResolveListedEarnVaultByAddress(args: {
220
+ chainId: number;
221
+ vaultAddress: string;
222
+ }): Promise<MorphoEarnVaultDiscoveryRow | null>;
223
+
224
+ type MorphoBorrowMarketRow = {
225
+ marketId: string;
226
+ morphoBlueAddress: string;
227
+ loanAssetAddress: string;
228
+ loanAssetSymbol: string;
229
+ loanAssetDecimals: number;
230
+ collateralAssetAddress: string;
231
+ collateralAssetSymbol: string;
232
+ collateralAssetDecimals: number;
233
+ borrowApyLabel: string;
234
+ supplyApyLabel: string;
235
+ borrowAssetsUsdLabel: string;
236
+ lltvLabel: string;
237
+ marketLabel: string;
238
+ };
239
+ declare function fetchMorphoMarketsForChain(chainId: number, first?: number): Promise<readonly MorphoMarketApiRow[]>;
240
+ declare function morphoMarketToBorrowRow(m: MorphoMarketApiRow): MorphoBorrowMarketRow | null;
241
+ declare function fetchMorphoBorrowMarketsForCollateral(args: {
242
+ chainId: number;
243
+ collateralAddress: string;
244
+ }): Promise<MorphoBorrowMarketRow[]>;
245
+ declare function fetchMorphoBorrowMarketsForLoan(args: {
246
+ chainId: number;
247
+ loanAddress: string;
248
+ }): Promise<MorphoBorrowMarketRow[]>;
249
+
250
+ type MorphoVaultPositionRow = {
251
+ vaultAddress: string;
252
+ vaultSymbol: string;
253
+ underlyingSymbol: string;
254
+ assetsHuman: string;
255
+ assetsUsdLabel: string;
256
+ shares: string;
257
+ };
258
+ type MorphoBluePositionRow = {
259
+ marketId: string;
260
+ marketLabel: string;
261
+ loanAssetSymbol: string;
262
+ collateralAssetSymbol: string;
263
+ collateralHuman: string;
264
+ borrowHuman: string;
265
+ healthFactorLabel: string;
266
+ borrowMarket: MorphoBorrowMarketRow;
267
+ };
268
+ declare function fetchMorphoUserVaultPositions(args: {
269
+ user: string;
270
+ chainId: number;
271
+ }): Promise<MorphoVaultPositionRow[]>;
272
+ declare function fetchMorphoUserBluePositions(args: {
273
+ user: string;
274
+ chainId: number;
275
+ }): Promise<MorphoBluePositionRow[]>;
276
+ declare function fetchMorphoUserPortfolioUsd(args: {
277
+ user: string;
278
+ chainId: number;
279
+ }): Promise<{
280
+ vaultUsd: number;
281
+ borrowCollateralUsd: number;
282
+ totalUsd: number;
283
+ }>;
284
+ declare function formatMorphoMarketApySummary(apy: number | null | undefined): string;
285
+
286
+ /**
287
+ * Morpho Midnight (fixed-rate, fixed-term) — scaffold types until mainnet contracts/API are live.
288
+ * @see https://morpho.org/blog/morpho-v2-liberating-the-potential-of-onchain-loans
289
+ */
290
+ type MorphoMidnightLoanIntentStatus = 'coming_soon' | 'open' | 'matched' | 'active' | 'repaid' | 'cancelled';
291
+ type MorphoMidnightLoanIntent = {
292
+ id: string;
293
+ status: MorphoMidnightLoanIntentStatus;
294
+ chainId: number;
295
+ /** Fixed annual rate (wad or human — TBD when API ships). */
296
+ fixedRate?: string | null;
297
+ /** Loan term in seconds. */
298
+ durationSeconds?: number | null;
299
+ loanAssetSymbol?: string | null;
300
+ collateralAssetSymbol?: string | null;
301
+ amountHuman?: string | null;
302
+ };
303
+ declare const MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE = "Morpho Midnight fixed-rate lending is not yet available on mainnet. This tab will activate after the progressive mainnet rollout.";
304
+ /** Placeholder until Morpho exposes Midnight GraphQL queries. */
305
+ declare function fetchMorphoMidnightIntents(_args: {
306
+ chainId: number;
307
+ user?: string;
308
+ }): Promise<readonly MorphoMidnightLoanIntent[]>;
309
+
310
+ declare function fetchMorphoVaultAssetDecimals(args: {
311
+ rpcUrl: string;
312
+ chainId: number;
313
+ vault: Address;
314
+ }): Promise<number>;
315
+ declare function fetchMorphoVaultMaxWithdrawWei(args: {
316
+ rpcUrl: string;
317
+ chainId: number;
318
+ vault: Address;
319
+ owner: Address;
320
+ }): Promise<bigint>;
321
+
322
+ declare function previewMorphoBlueHealthAfterCollateralWithdraw(args: {
323
+ rpcUrl: string;
324
+ chainId: number;
325
+ morphoBlue: Address;
326
+ marketId: `0x${string}`;
327
+ user: Address;
328
+ withdrawCollateralWei: bigint;
329
+ }): Promise<{
330
+ healthy: boolean;
331
+ healthFactor: number | null;
332
+ }>;
333
+
334
+ declare const MORPHO_VAULT_DEPOSIT_FALLBACK_GAS = 950000n;
335
+ type ChainRow$3 = {
336
+ legacy?: boolean;
337
+ gasLimit?: number;
338
+ gasMultiplier?: number;
339
+ gasPrice?: number;
340
+ baseFee?: number;
341
+ priorityFee?: number;
342
+ baseFeeMultiplier?: number;
343
+ };
344
+ /**
345
+ * Morpho Vault V2: optional WETH wrap, ERC-20 approve, then `deposit(assets, onBehalf)`.
346
+ */
347
+ declare function buildEvmMultisignBodyMorphoVaultDepositBatch(args: {
348
+ keyGen: KeyGenSubsetForPermit;
349
+ chainId: number;
350
+ rpcUrl: string;
351
+ chainDetail: ChainRow$3;
352
+ useCustomGas: boolean;
353
+ customGasChainDetails?: Record<string, unknown> | null;
354
+ vault: Address;
355
+ underlying: Address;
356
+ isNativeIn: boolean;
357
+ nativeWrapped: Address;
358
+ amountHuman: string;
359
+ onBehalf: Address;
360
+ executorAddress: Address;
361
+ purposeText: string;
362
+ vaultMarketLabel: string;
363
+ }): Promise<{
364
+ bodyForSign: Record<string, unknown>;
365
+ messageToSign: string;
366
+ }>;
367
+
368
+ declare const MORPHO_VAULT_WITHDRAW_FALLBACK_GAS = 900000n;
369
+ type ChainRow$2 = {
370
+ legacy?: boolean;
371
+ gasLimit?: number;
372
+ gasMultiplier?: number;
373
+ gasPrice?: number;
374
+ baseFee?: number;
375
+ priorityFee?: number;
376
+ baseFeeMultiplier?: number;
377
+ };
378
+ declare function buildEvmMultisignBodyMorphoVaultWithdraw(args: {
379
+ keyGen: KeyGenSubsetForPermit;
380
+ chainId: number;
381
+ rpcUrl: string;
382
+ chainDetail: ChainRow$2;
383
+ useCustomGas: boolean;
384
+ customGasChainDetails?: Record<string, unknown> | null;
385
+ vault: Address;
386
+ amountHuman: string;
387
+ receiver: Address;
388
+ vaultShareOwner?: Address;
389
+ executorAddress: Address;
390
+ purposeText: string;
391
+ vaultMarketLabel: string;
392
+ }): Promise<{
393
+ bodyForSign: Record<string, unknown>;
394
+ messageToSign: string;
395
+ }>;
396
+
397
+ declare const MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS = 1200000n;
398
+ declare const MORPHO_BLUE_BORROW_FALLBACK_GAS = 1100000n;
399
+ declare const MORPHO_BLUE_REPAY_FALLBACK_GAS = 1000000n;
400
+ declare const MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS = 900000n;
401
+ type ChainRow$1 = {
402
+ legacy?: boolean;
403
+ gasLimit?: number;
404
+ gasMultiplier?: number;
405
+ gasPrice?: number;
406
+ baseFee?: number;
407
+ priorityFee?: number;
408
+ baseFeeMultiplier?: number;
409
+ };
410
+ declare function buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch(args: {
411
+ keyGen: KeyGenSubsetForPermit;
412
+ chainId: number;
413
+ rpcUrl: string;
414
+ chainDetail: ChainRow$1;
415
+ useCustomGas: boolean;
416
+ customGasChainDetails?: Record<string, unknown> | null;
417
+ morphoBlue: Address;
418
+ marketParams: MorphoMarketParams;
419
+ collateralToken: Address;
420
+ isNativeIn?: boolean;
421
+ nativeWrapped?: Address;
422
+ amountHuman: string;
423
+ onBehalf: Address;
424
+ executorAddress: Address;
425
+ purposeText: string;
426
+ marketLabel: string;
427
+ }): Promise<{
428
+ bodyForSign: Record<string, unknown>;
429
+ messageToSign: string;
430
+ }>;
431
+ declare function buildEvmMultisignBodyMorphoBlueBorrowBatch(args: {
432
+ keyGen: KeyGenSubsetForPermit;
433
+ chainId: number;
434
+ rpcUrl: string;
435
+ chainDetail: ChainRow$1;
436
+ useCustomGas: boolean;
437
+ customGasChainDetails?: Record<string, unknown> | null;
438
+ morphoBlue: Address;
439
+ marketParams: MorphoMarketParams;
440
+ loanToken: Address;
441
+ amountHuman: string;
442
+ onBehalf: Address;
443
+ receiver: Address;
444
+ executorAddress: Address;
445
+ purposeText: string;
446
+ marketLabel: string;
447
+ }): Promise<{
448
+ bodyForSign: Record<string, unknown>;
449
+ messageToSign: string;
450
+ }>;
451
+ declare function buildEvmMultisignBodyMorphoBlueRepayBatch(args: {
452
+ keyGen: KeyGenSubsetForPermit;
453
+ chainId: number;
454
+ rpcUrl: string;
455
+ chainDetail: ChainRow$1;
456
+ useCustomGas: boolean;
457
+ customGasChainDetails?: Record<string, unknown> | null;
458
+ morphoBlue: Address;
459
+ marketParams: MorphoMarketParams;
460
+ loanToken: Address;
461
+ amountHuman: string;
462
+ onBehalf: Address;
463
+ executorAddress: Address;
464
+ purposeText: string;
465
+ marketLabel: string;
466
+ }): Promise<{
467
+ bodyForSign: Record<string, unknown>;
468
+ messageToSign: string;
469
+ }>;
470
+ declare function buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch(args: {
471
+ keyGen: KeyGenSubsetForPermit;
472
+ chainId: number;
473
+ rpcUrl: string;
474
+ chainDetail: ChainRow$1;
475
+ useCustomGas: boolean;
476
+ customGasChainDetails?: Record<string, unknown> | null;
477
+ morphoBlue: Address;
478
+ marketParams: MorphoMarketParams;
479
+ amountHuman: string;
480
+ collateralDecimals: number;
481
+ onBehalf: Address;
482
+ receiver: Address;
483
+ executorAddress: Address;
484
+ purposeText: string;
485
+ marketLabel: string;
486
+ }): Promise<{
487
+ bodyForSign: Record<string, unknown>;
488
+ messageToSign: string;
489
+ }>;
490
+
491
+ type ChainRow = {
492
+ legacy?: boolean;
493
+ gasLimit?: number;
494
+ gasMultiplier?: number;
495
+ gasPrice?: number;
496
+ baseFee?: number;
497
+ priorityFee?: number;
498
+ baseFeeMultiplier?: number;
499
+ };
500
+ /** Merkl `Distributor.claim` — same calldata pattern as Euler v2 / Aave. */
501
+ declare function buildEvmMultisignBodyMorphoMerklDistributorClaim(args: {
502
+ keyGen: KeyGenSubsetForPermit;
503
+ chainId: number;
504
+ rpcUrl: string;
505
+ chainDetail: ChainRow;
506
+ useCustomGas: boolean;
507
+ customGasChainDetails?: Record<string, unknown> | null;
508
+ to: Address;
509
+ data: `0x${string}`;
510
+ valueWei: bigint;
511
+ claimLeafCount: number;
512
+ executorAddress: Address;
513
+ purposeText: string;
514
+ }): Promise<{
515
+ bodyForSign: Record<string, unknown>;
516
+ messageToSign: string;
517
+ }>;
518
+
519
+ declare const MORPHO_PROTOCOL_ID = "morpho";
520
+ declare const morphoProtocolModule: ProtocolModule;
521
+
522
+ export { MORPHO_BLUE_BORROW_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS, MORPHO_BLUE_REPAY_FALLBACK_GAS, MORPHO_GRAPHQL_URL, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, type MorphoAssetRef, type MorphoBluePositionRow, type MorphoBorrowMarketRow, type MorphoChainRow, type MorphoEarnOfferingRow, type MorphoEarnVaultDetailFields, type MorphoEarnVaultDiscoveryRow, type MorphoEarnVaultExposureRow, type MorphoMarketApiRow, type MorphoMarketParams, type MorphoMidnightLoanIntent, type MorphoMidnightLoanIntentStatus, type MorphoVaultApiRow, type MorphoVaultPositionRow, type MorphoVaultV2ApiRow, type ResolvedMorphoMarket, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightIntents, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoUsd, isMorphoVaultListed, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchEarnVaultsSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, previewMorphoBlueHealthAfterCollateralWithdraw, searchMorphoListedEarnVaults };