@continuumdao/ctm-mpc-defi 0.2.30 → 0.2.31

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 (35) hide show
  1. package/dist/agent/catalog.cjs +1637 -6
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.d.ts +3671 -661
  4. package/dist/agent/catalog.js +1600 -8
  5. package/dist/agent/catalog.js.map +1 -1
  6. package/dist/agent/skills/aerodrome/SKILL.md +93 -0
  7. package/dist/agent/skills/compound-v3/SKILL.md +132 -0
  8. package/dist/agent/skills/morpho/SKILL.md +16 -8
  9. package/dist/buildBatch-CngvebiD.d.ts +45 -0
  10. package/dist/chains/evm/index.d.ts +6 -44
  11. package/dist/core/index.cjs +2 -1
  12. package/dist/core/index.cjs.map +1 -1
  13. package/dist/core/index.js +2 -1
  14. package/dist/core/index.js.map +1 -1
  15. package/dist/index.cjs +119 -1
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.ts +4 -1
  18. package/dist/index.js +119 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/protocols/evm/aerodrome/index.cjs +3922 -0
  21. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -0
  22. package/dist/protocols/evm/aerodrome/index.d.ts +792 -0
  23. package/dist/protocols/evm/aerodrome/index.js +3843 -0
  24. package/dist/protocols/evm/aerodrome/index.js.map +1 -0
  25. package/dist/protocols/evm/compound-v3/index.cjs +1542 -0
  26. package/dist/protocols/evm/compound-v3/index.cjs.map +1 -0
  27. package/dist/protocols/evm/compound-v3/index.d.ts +683 -0
  28. package/dist/protocols/evm/compound-v3/index.js +1488 -0
  29. package/dist/protocols/evm/compound-v3/index.js.map +1 -0
  30. package/dist/protocols/evm/morpho/index.cjs +746 -39
  31. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  32. package/dist/protocols/evm/morpho/index.d.ts +161 -14
  33. package/dist/protocols/evm/morpho/index.js +736 -42
  34. package/dist/protocols/evm/morpho/index.js.map +1 -1
  35. package/package.json +15 -1
@@ -342,16 +342,32 @@ declare const MORPHO_MIDNIGHT_REST_BASE = "https://api.morpho.org/v0/midnight";
342
342
  declare const MORPHO_MIDNIGHT_BOOKS_MAX_LIMIT = 20;
343
343
  declare const MORPHO_MIDNIGHT_DEFAULT_SLIPPAGE_PCT = "0.5";
344
344
  declare const MORPHO_MIDNIGHT_DEFAULT_DEADLINE_SECONDS = 3600;
345
- /** Base (8453) deployment core + bundles from Morpho docs / live books. */
345
+ /** Default maker-offer lifetime when the user does not pass expiry. */
346
+ declare const MORPHO_MIDNIGHT_DEFAULT_OFFER_TTL_SECONDS: number;
346
347
  declare const MORPHO_MIDNIGHT_BASE_CHAIN_ID = 8453;
347
- declare const MORPHO_MIDNIGHT_ADDRESSES: Record<number, {
348
- midnight: Address;
349
- bundles: Address;
350
- }>;
351
- declare function morphoMidnightAddressesForChain(chainId: number): {
348
+ declare const MORPHO_MIDNIGHT_ETHEREUM_CHAIN_ID = 1;
349
+ /** Canonical Morpho Blue singleton (Ethereum + Base). */
350
+ declare const MORPHO_BLUE_CANONICAL: Address;
351
+ /**
352
+ * CREATE2 salt for Continuum's per-owner BlueBuyCallback.
353
+ * One callback per owner so unused parked supply can be reused across offers.
354
+ */
355
+ declare const MORPHO_MIDNIGHT_CALLBACK_SALT: Hex;
356
+ type MorphoMidnightChainAddresses = {
352
357
  midnight: Address;
353
358
  bundles: Address;
354
- } | null;
359
+ mempool: Address;
360
+ setterRatifier: Address;
361
+ ecrecoverRatifier: Address;
362
+ blueBuyCallbackFactory: Address;
363
+ morphoBlue: Address;
364
+ };
365
+ /**
366
+ * Official Morpho deployments (docs.morpho.org/developers/contracts/addresses).
367
+ * Base MidnightBundlesV1 is `0x091183…` — not the older `0x6688dE…` helper.
368
+ */
369
+ declare const MORPHO_MIDNIGHT_ADDRESSES: Record<number, MorphoMidnightChainAddresses>;
370
+ declare function morphoMidnightAddressesForChain(chainId: number): MorphoMidnightChainAddresses | null;
355
371
  declare const TOKEN_PERMIT_NONE: {
356
372
  readonly kind: 0;
357
373
  readonly data: "0x";
@@ -362,6 +378,12 @@ declare const MORPHO_MIDNIGHT_REPAY_FALLBACK_GAS = 2200000n;
362
378
  declare const MORPHO_MIDNIGHT_AUTHORIZE_FALLBACK_GAS = 80000n;
363
379
  declare const MORPHO_MIDNIGHT_ERC20_APPROVE_FALLBACK = 100000n;
364
380
  declare const MORPHO_MIDNIGHT_WETH_DEPOSIT_FALLBACK = 120000n;
381
+ declare const MORPHO_MIDNIGHT_CREATE_CALLBACK_FALLBACK_GAS = 1200000n;
382
+ declare const MORPHO_MIDNIGHT_BLUE_SUPPLY_FALLBACK_GAS = 400000n;
383
+ declare const MORPHO_MIDNIGHT_BLUE_WITHDRAW_FALLBACK_GAS = 350000n;
384
+ declare const MORPHO_MIDNIGHT_SET_ROOT_FALLBACK_GAS = 80000n;
385
+ declare const MORPHO_MIDNIGHT_MEMPOOL_PUBLISH_FALLBACK_GAS = 250000n;
386
+ declare const MORPHO_MIDNIGHT_SET_CONSUMED_FALLBACK_GAS = 80000n;
365
387
 
366
388
  type MorphoMidnightBookSide = 'asks' | 'bids';
367
389
  type MorphoMidnightMarketParams = {
@@ -445,17 +467,52 @@ declare function fetchMorphoMidnightUserPositions(args: {
445
467
  types?: 'lend' | 'borrow' | 'collateral_only';
446
468
  activeOnly?: boolean;
447
469
  }): Promise<MorphoMidnightApiPositionRow[]>;
470
+ type MorphoMidnightApiMakerOffer = {
471
+ marketId: string;
472
+ chainId: number;
473
+ midnight: Address;
474
+ loanToken: Address;
475
+ maker: Address;
476
+ buy: boolean;
477
+ tick: string;
478
+ maxAssets: string;
479
+ maxUnits: string;
480
+ expiry: number;
481
+ group: Hex;
482
+ callback: Address;
483
+ callbackData: Hex;
484
+ units: string;
485
+ maturity: number | null;
486
+ };
487
+ declare function fetchMorphoMidnightMakerOffers(args: {
488
+ maker: Address;
489
+ chainId?: number;
490
+ }): Promise<MorphoMidnightApiMakerOffer[]>;
448
491
  declare function fetchMorphoMidnightUserMarketPosition(args: {
449
492
  marketId: string;
450
493
  user: string;
451
494
  }): Promise<MorphoMidnightApiPositionRow | null>;
452
495
 
496
+ type MorphoMidnightBookLevelLike = {
497
+ tick?: string | number | bigint;
498
+ price?: string | number | bigint;
499
+ };
500
+ declare function parseMorphoMidnightPriceWad(priceWad: string | number | bigint | null | undefined): bigint | null;
453
501
  /** Fixed APR from WAD-scaled unit price and time-to-maturity (seconds). Morpho docs formula. */
454
- declare function morphoMidnightAprFromPriceWad(priceWad: string | bigint, ttmSeconds: number): number | null;
455
- declare function formatMorphoMidnightAprPct(apr: number | null, digits?: number): string;
502
+ declare function morphoMidnightAprFromPriceWad(priceWad: string | number | bigint, ttmSeconds: number): number | null;
503
+ /** Prefer tick (SDK annualization); fall back to WAD price. */
504
+ declare function morphoMidnightAprFromBookLevel(level: MorphoMidnightBookLevelLike | null | undefined, ttmSeconds: number): number | null;
505
+ declare function formatMorphoMidnightAprPct(apr: number | null, digits?: number, empty?: string): string;
456
506
  declare function morphoMidnightTtmSeconds(maturityUnix: number, nowMs?: number): number;
457
507
  /** Unit cap from assets and WAD price: ceil(assets * 1e18 / price). */
458
508
  declare function morphoMidnightUnitsFromAssets(targetAssets: bigint, priceWad: bigint): bigint;
509
+ /** Human percent string ("5.2") or decimal ("0.052") → APR fraction. */
510
+ declare function parseMorphoMidnightAprInput(raw: string): number | null;
511
+ /** WAD price from simple APR and time-to-maturity. */
512
+ declare function morphoMidnightPriceWadFromApr(apr: number, ttmSeconds: number): bigint | null;
513
+ declare function morphoMidnightTickFromPriceWad(priceWad: bigint, spacing?: bigint): bigint;
514
+ declare function morphoMidnightTickFromApr(apr: number, ttmSeconds: number, spacing?: bigint): bigint | null;
515
+ declare function morphoMidnightAprFromTick(tick: bigint, ttmSeconds: number): number | null;
459
516
 
460
517
  type MorphoMidnightBookDiscoveryRow = {
461
518
  marketId: string;
@@ -553,7 +610,41 @@ declare function morphoFetchMidnightPositionsSummary(args: {
553
610
  positions: MorphoMidnightPositionDiscoveryRow[];
554
611
  }>;
555
612
 
556
- type ChainRow$4 = {
613
+ type MorphoMidnightMakerOfferRow = {
614
+ marketId: string;
615
+ chainId: number;
616
+ midnightAddress: string;
617
+ loanTokenAddress: string;
618
+ maker: string;
619
+ group: string;
620
+ callback: string;
621
+ callbackData: string;
622
+ tick: string;
623
+ maxAssets: string;
624
+ remainingUnits: string;
625
+ expiry: number;
626
+ expiryIso: string;
627
+ maturity: number | null;
628
+ maturityIso: string;
629
+ lendApr: string;
630
+ lendAprNumeric: number | null;
631
+ marketLabel: string;
632
+ };
633
+ declare function morphoFetchMidnightMakerOffersSummary(args: {
634
+ user: string;
635
+ chainId?: number;
636
+ }): Promise<{
637
+ offers: MorphoMidnightMakerOfferRow[];
638
+ }>;
639
+
640
+ declare function encodeMorphoBlueMarketParamsCallbackData(params: MorphoMarketParams): Hex;
641
+ /** Highest-TVL Morpho Blue market whose loan token matches `loanToken` (variable-yield park). */
642
+ declare function pickBestBlueSupplyMarketForLoan(args: {
643
+ chainId: number;
644
+ loanToken: Address;
645
+ }): Promise<ResolvedMorphoMarket | null>;
646
+
647
+ type ChainRow$5 = {
557
648
  legacy?: boolean;
558
649
  gasLimit?: number;
559
650
  gasMultiplier?: number;
@@ -566,7 +657,7 @@ declare function buildEvmMultisignBodyMorphoMidnightLendBatch(args: {
566
657
  keyGen: KeyGenSubsetForPermit;
567
658
  chainId: number;
568
659
  rpcUrl: string;
569
- chainDetail: ChainRow$4;
660
+ chainDetail: ChainRow$5;
570
661
  useCustomGas: boolean;
571
662
  customGasChainDetails?: Record<string, unknown> | null;
572
663
  marketId: string;
@@ -591,7 +682,7 @@ declare function buildEvmMultisignBodyMorphoMidnightBorrowBatch(args: {
591
682
  keyGen: KeyGenSubsetForPermit;
592
683
  chainId: number;
593
684
  rpcUrl: string;
594
- chainDetail: ChainRow$4;
685
+ chainDetail: ChainRow$5;
595
686
  useCustomGas: boolean;
596
687
  customGasChainDetails?: Record<string, unknown> | null;
597
688
  marketId: string;
@@ -619,7 +710,7 @@ declare function buildEvmMultisignBodyMorphoMidnightRepayBatch(args: {
619
710
  keyGen: KeyGenSubsetForPermit;
620
711
  chainId: number;
621
712
  rpcUrl: string;
622
- chainDetail: ChainRow$4;
713
+ chainDetail: ChainRow$5;
623
714
  useCustomGas: boolean;
624
715
  customGasChainDetails?: Record<string, unknown> | null;
625
716
  marketId: string;
@@ -640,6 +731,62 @@ declare function buildEvmMultisignBodyMorphoMidnightRepayBatch(args: {
640
731
  messageToSign: string;
641
732
  }>;
642
733
 
734
+ type ChainRow$4 = {
735
+ legacy?: boolean;
736
+ gasLimit?: number;
737
+ gasMultiplier?: number;
738
+ gasPrice?: number;
739
+ baseFee?: number;
740
+ priorityFee?: number;
741
+ baseFeeMultiplier?: number;
742
+ };
743
+ declare function buildEvmMultisignBodyMorphoMidnightLendOfferBatch(args: {
744
+ keyGen: KeyGenSubsetForPermit;
745
+ chainId: number;
746
+ rpcUrl: string;
747
+ chainDetail: ChainRow$4;
748
+ useCustomGas: boolean;
749
+ customGasChainDetails?: Record<string, unknown> | null;
750
+ marketId: string;
751
+ amountHuman: string;
752
+ loanToken?: Address;
753
+ /** Human percent, e.g. "5.2". Defaults to the book's best bid (else best ask). */
754
+ lendAprPct?: string;
755
+ tick?: string;
756
+ blueMarketId?: string;
757
+ expirySeconds?: number;
758
+ midnight?: Address;
759
+ isNativeIn?: boolean;
760
+ nativeWrapped?: Address;
761
+ maker: Address;
762
+ executorAddress: Address;
763
+ purposeText: string;
764
+ marketLabel?: string;
765
+ }): Promise<{
766
+ bodyForSign: Record<string, unknown>;
767
+ messageToSign: string;
768
+ }>;
769
+ declare function buildEvmMultisignBodyMorphoMidnightCancelLendOfferBatch(args: {
770
+ keyGen: KeyGenSubsetForPermit;
771
+ chainId: number;
772
+ rpcUrl: string;
773
+ chainDetail: ChainRow$4;
774
+ useCustomGas: boolean;
775
+ customGasChainDetails?: Record<string, unknown> | null;
776
+ group: Hex;
777
+ callback?: Address;
778
+ callbackData?: Hex;
779
+ midnight?: Address;
780
+ withdrawRemaining?: boolean;
781
+ maker: Address;
782
+ executorAddress: Address;
783
+ purposeText: string;
784
+ marketLabel?: string;
785
+ }): Promise<{
786
+ bodyForSign: Record<string, unknown>;
787
+ messageToSign: string;
788
+ }>;
789
+
643
790
  declare function fetchMorphoVaultAssetDecimals(args: {
644
791
  rpcUrl: string;
645
792
  chainId: number;
@@ -873,4 +1020,4 @@ declare function applyRobinhoodEarnMultisignDefaults(o: Record<string, unknown>)
873
1020
  declare const MORPHO_PROTOCOL_ID = "morpho";
874
1021
  declare const morphoProtocolModule: ProtocolModule;
875
1022
 
876
- 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_ADDRESSES, MORPHO_MIDNIGHT_AUTHORIZE_FALLBACK_GAS, MORPHO_MIDNIGHT_BASE_CHAIN_ID, MORPHO_MIDNIGHT_BOOKS_MAX_LIMIT, MORPHO_MIDNIGHT_BORROW_FALLBACK_GAS, MORPHO_MIDNIGHT_DEFAULT_DEADLINE_SECONDS, MORPHO_MIDNIGHT_DEFAULT_SLIPPAGE_PCT, MORPHO_MIDNIGHT_ERC20_APPROVE_FALLBACK, MORPHO_MIDNIGHT_LEND_FALLBACK_GAS, MORPHO_MIDNIGHT_REPAY_FALLBACK_GAS, MORPHO_MIDNIGHT_REST_BASE, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_MIDNIGHT_WETH_DEPOSIT_FALLBACK, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, type MorphoAssetRef, type MorphoBlueMarketDiscoveryRow, type MorphoBluePositionRow, type MorphoBorrowMarketRow, type MorphoChainRow, type MorphoEarnOfferingRow, type MorphoEarnVaultDetailFields, type MorphoEarnVaultDiscoveryRow, type MorphoEarnVaultExposureRow, type MorphoMarketApiRow, type MorphoMarketParams, type MorphoMidnightApiMarketRow, type MorphoMidnightApiPositionRow, type MorphoMidnightBookDiscoveryRow, type MorphoMidnightBookSide, type MorphoMidnightLoanIntent, type MorphoMidnightLoanIntentStatus, type MorphoMidnightMarketParams, type MorphoMidnightPositionDiscoveryRow, type MorphoMidnightQuoteSummary, type MorphoVaultApiRow, type MorphoVaultPositionRow, type MorphoVaultV2ApiRow, ROBINHOOD_CHAIN_ID, ROBINHOOD_EARN_USDG_ADDRESS, ROBINHOOD_EARN_VAULT_ADDRESS, ROBINHOOD_EARN_VAULT_NAME, ROBINHOOD_EARN_VAULT_SYMBOL, type ResolvedMorphoMarket, TOKEN_PERMIT_NONE, applyRobinhoodEarnMultisignDefaults, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoMidnightBorrowBatch, buildEvmMultisignBodyMorphoMidnightLendBatch, buildEvmMultisignBodyMorphoMidnightRepayBatch, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightBook, fetchMorphoMidnightBookQuote, fetchMorphoMidnightBooks, fetchMorphoMidnightBooksForAsset, fetchMorphoMidnightIntents, fetchMorphoMidnightMarketById, fetchMorphoMidnightUserMarketPosition, fetchMorphoMidnightUserPositions, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoMidnightAprPct, formatMorphoUsd, isMorphoVaultListed, isRobinhoodEarnProductFlag, isRobinhoodEarnQuery, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchBlueMarketsSummary, morphoFetchEarnVaultsSummary, morphoFetchMidnightBooksSummary, morphoFetchMidnightPositionsSummary, morphoFetchMidnightQuote, morphoFetchMidnightQuoteSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoMidnightAddressesForChain, morphoMidnightApiBaseUrl, morphoMidnightAprFromPriceWad, morphoMidnightBookToDiscoveryRow, morphoMidnightBookToMarketParams, morphoMidnightMarketToParams, morphoMidnightPositionToDiscoveryRow, morphoMidnightTtmSeconds, morphoMidnightUnitsFromAssets, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, previewMorphoBlueHealthAfterCollateralWithdraw, resolveRobinhoodEarnFetchQuery, searchMorphoListedEarnVaults };
1023
+ export { MORPHO_BLUE_BORROW_FALLBACK_GAS, MORPHO_BLUE_CANONICAL, MORPHO_BLUE_COLLATERAL_DEPOSIT_FALLBACK_GAS, MORPHO_BLUE_COLLATERAL_WITHDRAW_FALLBACK_GAS, MORPHO_BLUE_REPAY_FALLBACK_GAS, MORPHO_GRAPHQL_URL, MORPHO_MIDNIGHT_ADDRESSES, MORPHO_MIDNIGHT_AUTHORIZE_FALLBACK_GAS, MORPHO_MIDNIGHT_BASE_CHAIN_ID, MORPHO_MIDNIGHT_BLUE_SUPPLY_FALLBACK_GAS, MORPHO_MIDNIGHT_BLUE_WITHDRAW_FALLBACK_GAS, MORPHO_MIDNIGHT_BOOKS_MAX_LIMIT, MORPHO_MIDNIGHT_BORROW_FALLBACK_GAS, MORPHO_MIDNIGHT_CALLBACK_SALT, MORPHO_MIDNIGHT_CREATE_CALLBACK_FALLBACK_GAS, MORPHO_MIDNIGHT_DEFAULT_DEADLINE_SECONDS, MORPHO_MIDNIGHT_DEFAULT_OFFER_TTL_SECONDS, MORPHO_MIDNIGHT_DEFAULT_SLIPPAGE_PCT, MORPHO_MIDNIGHT_ERC20_APPROVE_FALLBACK, MORPHO_MIDNIGHT_ETHEREUM_CHAIN_ID, MORPHO_MIDNIGHT_LEND_FALLBACK_GAS, MORPHO_MIDNIGHT_MEMPOOL_PUBLISH_FALLBACK_GAS, MORPHO_MIDNIGHT_REPAY_FALLBACK_GAS, MORPHO_MIDNIGHT_REST_BASE, MORPHO_MIDNIGHT_SET_CONSUMED_FALLBACK_GAS, MORPHO_MIDNIGHT_SET_ROOT_FALLBACK_GAS, MORPHO_MIDNIGHT_UNAVAILABLE_MESSAGE, MORPHO_MIDNIGHT_WETH_DEPOSIT_FALLBACK, MORPHO_PROTOCOL_ID, MORPHO_VAULT_DEPOSIT_FALLBACK_GAS, MORPHO_VAULT_WITHDRAW_FALLBACK_GAS, type MorphoAssetRef, type MorphoBlueMarketDiscoveryRow, type MorphoBluePositionRow, type MorphoBorrowMarketRow, type MorphoChainRow, type MorphoEarnOfferingRow, type MorphoEarnVaultDetailFields, type MorphoEarnVaultDiscoveryRow, type MorphoEarnVaultExposureRow, type MorphoMarketApiRow, type MorphoMarketParams, type MorphoMidnightApiMakerOffer, type MorphoMidnightApiMarketRow, type MorphoMidnightApiPositionRow, type MorphoMidnightBookDiscoveryRow, type MorphoMidnightBookLevelLike, type MorphoMidnightBookSide, type MorphoMidnightChainAddresses, type MorphoMidnightLoanIntent, type MorphoMidnightLoanIntentStatus, type MorphoMidnightMakerOfferRow, type MorphoMidnightMarketParams, type MorphoMidnightPositionDiscoveryRow, type MorphoMidnightQuoteSummary, type MorphoVaultApiRow, type MorphoVaultPositionRow, type MorphoVaultV2ApiRow, ROBINHOOD_CHAIN_ID, ROBINHOOD_EARN_USDG_ADDRESS, ROBINHOOD_EARN_VAULT_ADDRESS, ROBINHOOD_EARN_VAULT_NAME, ROBINHOOD_EARN_VAULT_SYMBOL, type ResolvedMorphoMarket, TOKEN_PERMIT_NONE, applyRobinhoodEarnMultisignDefaults, buildEvmMultisignBodyMorphoBlueBorrowBatch, buildEvmMultisignBodyMorphoBlueRepayBatch, buildEvmMultisignBodyMorphoBlueSupplyCollateralBatch, buildEvmMultisignBodyMorphoBlueWithdrawCollateralBatch, buildEvmMultisignBodyMorphoMerklDistributorClaim, buildEvmMultisignBodyMorphoMidnightBorrowBatch, buildEvmMultisignBodyMorphoMidnightCancelLendOfferBatch, buildEvmMultisignBodyMorphoMidnightLendBatch, buildEvmMultisignBodyMorphoMidnightLendOfferBatch, buildEvmMultisignBodyMorphoMidnightRepayBatch, buildEvmMultisignBodyMorphoVaultDepositBatch, buildEvmMultisignBodyMorphoVaultWithdraw, emptyMorphoEarnVaultDetailFields, encodeMorphoBlueMarketParamsCallbackData, enrichMorphoEarnOfferingRows, enrichMorphoEarnOfferingRowsForAgent, ensureMorphoChainAssetCache, fetchMorphoBorrowMarketsForCollateral, fetchMorphoBorrowMarketsForLoan, fetchMorphoChains, fetchMorphoEarnOfferingsForAsset, fetchMorphoEarnVaultDetails, fetchMorphoMarketById, fetchMorphoMarketsForChain, fetchMorphoMidnightBook, fetchMorphoMidnightBookQuote, fetchMorphoMidnightBooks, fetchMorphoMidnightBooksForAsset, fetchMorphoMidnightIntents, fetchMorphoMidnightMakerOffers, fetchMorphoMidnightMarketById, fetchMorphoMidnightUserMarketPosition, fetchMorphoMidnightUserPositions, fetchMorphoUserBluePositions, fetchMorphoUserPortfolioUsd, fetchMorphoUserVaultPositions, fetchMorphoVaultAssetDecimals, fetchMorphoVaultByAddress, fetchMorphoVaultMaxWithdrawWei, fetchMorphoVaultV2sForChain, fetchMorphoVaultsForChain, formatMorphoApyPct, formatMorphoFeePct, formatMorphoMarketApySummary, formatMorphoMidnightAprPct, formatMorphoUsd, isMorphoVaultListed, isRobinhoodEarnProductFlag, isRobinhoodEarnQuery, loadMorphoSupportedChainIds, marketParamsFromApiRow, morphoEarnOfferingToDiscoveryRow, morphoFetchBlueMarketsSummary, morphoFetchEarnVaultsSummary, morphoFetchMidnightBooksSummary, morphoFetchMidnightMakerOffersSummary, morphoFetchMidnightPositionsSummary, morphoFetchMidnightQuote, morphoFetchMidnightQuoteSummary, morphoGql, morphoKeyForAssetRow, morphoMarketToBorrowRow, morphoMidnightAddressesForChain, morphoMidnightApiBaseUrl, morphoMidnightAprFromBookLevel, morphoMidnightAprFromPriceWad, morphoMidnightAprFromTick, morphoMidnightBookToDiscoveryRow, morphoMidnightBookToMarketParams, morphoMidnightMarketToParams, morphoMidnightPositionToDiscoveryRow, morphoMidnightPriceWadFromApr, morphoMidnightTickFromApr, morphoMidnightTickFromPriceWad, morphoMidnightTtmSeconds, morphoMidnightUnitsFromAssets, morphoProtocolModule, morphoResolveListedEarnVaultByAddress, parseMorphoMidnightAprInput, parseMorphoMidnightPriceWad, pickBestBlueSupplyMarketForLoan, previewMorphoBlueHealthAfterCollateralWithdraw, resolveRobinhoodEarnFetchQuery, searchMorphoListedEarnVaults };