@continuumdao/ctm-mpc-defi 0.2.40 → 0.2.42

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 (98) hide show
  1. package/dist/agent/catalog.cjs +50 -6
  2. package/dist/agent/catalog.cjs.map +1 -1
  3. package/dist/agent/catalog.js +50 -6
  4. package/dist/agent/catalog.js.map +1 -1
  5. package/dist/agent/skills/aave-v4/SKILL.md +1 -1
  6. package/dist/agent/skills/circle-cctp/SKILL.md +1 -0
  7. package/dist/agent/skills/morpho/SKILL.md +11 -0
  8. package/dist/agent/skills/uniswap-v4/SKILL.md +1 -1
  9. package/dist/chains/evm/index.cjs +7 -2
  10. package/dist/chains/evm/index.cjs.map +1 -1
  11. package/dist/chains/evm/index.js +8 -3
  12. package/dist/chains/evm/index.js.map +1 -1
  13. package/dist/core/index.cjs +14 -0
  14. package/dist/core/index.cjs.map +1 -1
  15. package/dist/core/index.d.ts +7 -2
  16. package/dist/core/index.js +13 -2
  17. package/dist/core/index.js.map +1 -1
  18. package/dist/index.cjs +52 -8
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +51 -10
  22. package/dist/index.js.map +1 -1
  23. package/dist/protocols/evm/aave-v4/index.cjs +11 -7
  24. package/dist/protocols/evm/aave-v4/index.cjs.map +1 -1
  25. package/dist/protocols/evm/aave-v4/index.js +12 -8
  26. package/dist/protocols/evm/aave-v4/index.js.map +1 -1
  27. package/dist/protocols/evm/aerodrome/index.cjs +14 -2
  28. package/dist/protocols/evm/aerodrome/index.cjs.map +1 -1
  29. package/dist/protocols/evm/aerodrome/index.js +14 -2
  30. package/dist/protocols/evm/aerodrome/index.js.map +1 -1
  31. package/dist/protocols/evm/arcus/index.cjs +6 -2
  32. package/dist/protocols/evm/arcus/index.cjs.map +1 -1
  33. package/dist/protocols/evm/arcus/index.js +7 -3
  34. package/dist/protocols/evm/arcus/index.js.map +1 -1
  35. package/dist/protocols/evm/circle-cctp/index.cjs +23 -3
  36. package/dist/protocols/evm/circle-cctp/index.cjs.map +1 -1
  37. package/dist/protocols/evm/circle-cctp/index.js +24 -4
  38. package/dist/protocols/evm/circle-cctp/index.js.map +1 -1
  39. package/dist/protocols/evm/compound-v3/index.cjs +9 -3
  40. package/dist/protocols/evm/compound-v3/index.cjs.map +1 -1
  41. package/dist/protocols/evm/compound-v3/index.js +10 -4
  42. package/dist/protocols/evm/compound-v3/index.js.map +1 -1
  43. package/dist/protocols/evm/continuum-dao/index.cjs +11 -5
  44. package/dist/protocols/evm/continuum-dao/index.cjs.map +1 -1
  45. package/dist/protocols/evm/continuum-dao/index.js +12 -6
  46. package/dist/protocols/evm/continuum-dao/index.js.map +1 -1
  47. package/dist/protocols/evm/curve-dao/index.cjs +8 -4
  48. package/dist/protocols/evm/curve-dao/index.cjs.map +1 -1
  49. package/dist/protocols/evm/curve-dao/index.js +9 -5
  50. package/dist/protocols/evm/curve-dao/index.js.map +1 -1
  51. package/dist/protocols/evm/ethena/index.cjs +13 -9
  52. package/dist/protocols/evm/ethena/index.cjs.map +1 -1
  53. package/dist/protocols/evm/ethena/index.js +14 -10
  54. package/dist/protocols/evm/ethena/index.js.map +1 -1
  55. package/dist/protocols/evm/euler-v2/index.cjs +21 -16
  56. package/dist/protocols/evm/euler-v2/index.cjs.map +1 -1
  57. package/dist/protocols/evm/euler-v2/index.js +22 -17
  58. package/dist/protocols/evm/euler-v2/index.js.map +1 -1
  59. package/dist/protocols/evm/gmx/index.cjs +12 -8
  60. package/dist/protocols/evm/gmx/index.cjs.map +1 -1
  61. package/dist/protocols/evm/gmx/index.js +13 -9
  62. package/dist/protocols/evm/gmx/index.js.map +1 -1
  63. package/dist/protocols/evm/hyperliquid/index.cjs +5 -1
  64. package/dist/protocols/evm/hyperliquid/index.cjs.map +1 -1
  65. package/dist/protocols/evm/hyperliquid/index.js +6 -2
  66. package/dist/protocols/evm/hyperliquid/index.js.map +1 -1
  67. package/dist/protocols/evm/lido/index.cjs +7 -3
  68. package/dist/protocols/evm/lido/index.cjs.map +1 -1
  69. package/dist/protocols/evm/lido/index.js +8 -4
  70. package/dist/protocols/evm/lido/index.js.map +1 -1
  71. package/dist/protocols/evm/maple/index.cjs +7 -3
  72. package/dist/protocols/evm/maple/index.cjs.map +1 -1
  73. package/dist/protocols/evm/maple/index.js +8 -4
  74. package/dist/protocols/evm/maple/index.js.map +1 -1
  75. package/dist/protocols/evm/morpho/index.cjs +34 -11
  76. package/dist/protocols/evm/morpho/index.cjs.map +1 -1
  77. package/dist/protocols/evm/morpho/index.d.ts +12 -1
  78. package/dist/protocols/evm/morpho/index.js +31 -13
  79. package/dist/protocols/evm/morpho/index.js.map +1 -1
  80. package/dist/protocols/evm/pendle/index.cjs +9 -3
  81. package/dist/protocols/evm/pendle/index.cjs.map +1 -1
  82. package/dist/protocols/evm/pendle/index.js +10 -4
  83. package/dist/protocols/evm/pendle/index.js.map +1 -1
  84. package/dist/protocols/evm/permit2/index.cjs.map +1 -1
  85. package/dist/protocols/evm/permit2/index.js.map +1 -1
  86. package/dist/protocols/evm/sky/index.cjs +17 -13
  87. package/dist/protocols/evm/sky/index.cjs.map +1 -1
  88. package/dist/protocols/evm/sky/index.js +18 -14
  89. package/dist/protocols/evm/sky/index.js.map +1 -1
  90. package/dist/protocols/evm/uniswap-v4/index.cjs +19 -9
  91. package/dist/protocols/evm/uniswap-v4/index.cjs.map +1 -1
  92. package/dist/protocols/evm/uniswap-v4/index.js +20 -10
  93. package/dist/protocols/evm/uniswap-v4/index.js.map +1 -1
  94. package/dist/protocols/evm/venice/index.cjs +10 -4
  95. package/dist/protocols/evm/venice/index.cjs.map +1 -1
  96. package/dist/protocols/evm/venice/index.js +10 -4
  97. package/dist/protocols/evm/venice/index.js.map +1 -1
  98. package/package.json +1 -1
@@ -9,6 +9,7 @@ type MorphoChainRow = {
9
9
  network?: string | null;
10
10
  };
11
11
  declare function fetchMorphoChains(): Promise<readonly MorphoChainRow[]>;
12
+ declare function mergeMorphoSupportedChainIds(rows: readonly MorphoChainRow[]): Set<number>;
12
13
  declare function loadMorphoSupportedChainIds(): Promise<ReadonlySet<number>>;
13
14
  type MorphoAssetRef = {
14
15
  address?: string | null;
@@ -1039,7 +1040,17 @@ declare function resolveRobinhoodEarnFetchQuery(args: {
1039
1040
  /** Pre-fill Robinhood Earn vault addresses for multisign deposit/withdraw builders. */
1040
1041
  declare function applyRobinhoodEarnMultisignDefaults(o: Record<string, unknown>): void;
1041
1042
 
1043
+ /** Circle Arc — Morpho Blue / vaults on api.morpho.org (mainnet listed; testnet extra). */
1044
+ declare const ARC_MAINNET_CHAIN_ID = 5042;
1045
+ declare const ARC_TESTNET_CHAIN_ID = 5042002;
1046
+ /**
1047
+ * Always treat Arc as Morpho-supported even if GraphQL `chains` lags
1048
+ * (mainnet 5042 is listed; testnet 5042002 is not yet).
1049
+ */
1050
+ declare const MORPHO_EXTRA_SUPPORTED_CHAIN_IDS: readonly [5042, 5042002];
1051
+ declare function isMorphoArcChainId(chainId: number): boolean;
1052
+
1042
1053
  declare const MORPHO_PROTOCOL_ID = "morpho";
1043
1054
  declare const morphoProtocolModule: ProtocolModule;
1044
1055
 
1045
- 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 MorphoIncentiveRewardRow, 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, mapMorphoIncentiveRewards, 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 };
1056
+ export { ARC_MAINNET_CHAIN_ID, ARC_TESTNET_CHAIN_ID, 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_EXTRA_SUPPORTED_CHAIN_IDS, 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 MorphoIncentiveRewardRow, 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, isMorphoArcChainId, isMorphoVaultListed, isRobinhoodEarnProductFlag, isRobinhoodEarnQuery, loadMorphoSupportedChainIds, mapMorphoIncentiveRewards, marketParamsFromApiRow, mergeMorphoSupportedChainIds, 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 };
@@ -1,4 +1,4 @@
1
- import { parseAbi, keccak256, toBytes, isAddress, getAddress, encodeAbiParameters, parseUnits, encodeFunctionData, zeroAddress, maxUint256, defineChain, createPublicClient, http, formatUnits, parseGwei, serializeTransaction, decodeAbiParameters } from 'viem';
1
+ import { parseAbi, keccak256, toBytes, isAddress, getAddress, encodeAbiParameters, parseUnits, encodeFunctionData, zeroAddress, maxUint256, defineChain, createPublicClient, formatUnits, parseGwei, serializeTransaction, decodeAbiParameters, http } from 'viem';
2
2
  import { MidnightApi } from '@morpho-org/midnight-sdk/api';
3
3
  import { DEFAULT_TICK_SPACING, TickLib, midnightBundlesAbi, Offer, Tree, SetterRatifierUtils, Payload, midnightAbi } from '@morpho-org/midnight-sdk';
4
4
  import { fetchChainFeeParams, gasLimitFromEstimateAndChainConfig, gweiToDecimalString, proposalTxParamsToFeeSnapshot, alignEip1559FeesWithLatestBase, getClientIdFromKeyGenResult } from '@continuumdao/continuum-node-sdk';
@@ -343,6 +343,16 @@ function registerProtocolModule(mod) {
343
343
 
344
344
  // src/protocols/evm/morpho/api.ts
345
345
  init_defiProxy();
346
+
347
+ // src/protocols/evm/morpho/support.ts
348
+ var ARC_MAINNET_CHAIN_ID = 5042;
349
+ var ARC_TESTNET_CHAIN_ID = 5042002;
350
+ var MORPHO_EXTRA_SUPPORTED_CHAIN_IDS = [ARC_MAINNET_CHAIN_ID, ARC_TESTNET_CHAIN_ID];
351
+ function isMorphoArcChainId(chainId) {
352
+ return chainId === ARC_MAINNET_CHAIN_ID || chainId === ARC_TESTNET_CHAIN_ID;
353
+ }
354
+
355
+ // src/protocols/evm/morpho/api.ts
346
356
  var MORPHO_GRAPHQL_URL = "https://api.morpho.org/graphql";
347
357
  async function morphoGql(query, variables) {
348
358
  const body = { query, variables: variables ?? {} };
@@ -362,14 +372,18 @@ async function fetchMorphoChains() {
362
372
  `);
363
373
  return d.chains ?? [];
364
374
  }
365
- async function loadMorphoSupportedChainIds() {
366
- const rows = await fetchMorphoChains();
375
+ function mergeMorphoSupportedChainIds(rows) {
367
376
  const s = /* @__PURE__ */ new Set();
368
377
  for (const c of rows) {
369
378
  if (typeof c.id === "number" && Number.isFinite(c.id)) s.add(c.id);
370
379
  }
380
+ for (const id of MORPHO_EXTRA_SUPPORTED_CHAIN_IDS) s.add(id);
371
381
  return s;
372
382
  }
383
+ async function loadMorphoSupportedChainIds() {
384
+ const rows = await fetchMorphoChains();
385
+ return mergeMorphoSupportedChainIds(rows);
386
+ }
373
387
  function morphoKeyForAssetRow(args) {
374
388
  const raw = (args.contractAddress ?? "").trim();
375
389
  if (!raw) return null;
@@ -1968,6 +1982,10 @@ async function pickBestBlueSupplyMarketForLoan(args) {
1968
1982
  }
1969
1983
  return null;
1970
1984
  }
1985
+ function defiEvmTransport(rpcUrl, opts) {
1986
+ const url = rpcUrl.trim();
1987
+ return http(url, opts);
1988
+ }
1971
1989
 
1972
1990
  // src/core/purpose.ts
1973
1991
  function mergePurposeText(purposeText, purposeSuffix) {
@@ -2059,7 +2077,7 @@ async function buildEvmMultisignBatch(args) {
2059
2077
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
2060
2078
  rpcUrls: { default: { http: [rpcUrl] } }
2061
2079
  });
2062
- const publicClient = createPublicClient({ chain: ch, transport: http(rpcUrl) });
2080
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(rpcUrl) });
2063
2081
  const feeParams = await fetchChainFeeParams(rpcUrl, chainId);
2064
2082
  const legacy = Boolean(chainDetail?.legacy) || !feeParams.isEip1559;
2065
2083
  const latestBaseFeeWei = !legacy ? (await publicClient.getBlock({ blockTag: "latest" })).baseFeePerGas ?? 0n : 0n;
@@ -2219,7 +2237,7 @@ function publicClientFor(rpcUrl, chainId) {
2219
2237
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
2220
2238
  rpcUrls: { default: { http: [rpcUrl] } }
2221
2239
  });
2222
- return createPublicClient({ chain: ch, transport: http(rpcUrl) });
2240
+ return createPublicClient({ chain: ch, transport: defiEvmTransport(rpcUrl) });
2223
2241
  }
2224
2242
  async function readTokenDecimals(args) {
2225
2243
  const publicClient = publicClientFor(args.rpcUrl, args.chainId);
@@ -2705,7 +2723,7 @@ function publicClientFor2(rpcUrl, chainId) {
2705
2723
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
2706
2724
  rpcUrls: { default: { http: [rpcUrl] } }
2707
2725
  });
2708
- return createPublicClient({ chain: ch, transport: http(rpcUrl) });
2726
+ return createPublicClient({ chain: ch, transport: defiEvmTransport(rpcUrl) });
2709
2727
  }
2710
2728
  async function readTokenDecimals2(args) {
2711
2729
  const publicClient = publicClientFor2(args.rpcUrl, args.chainId);
@@ -3131,7 +3149,7 @@ async function fetchMorphoVaultAssetDecimals(args) {
3131
3149
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
3132
3150
  rpcUrls: { default: { http: [args.rpcUrl] } }
3133
3151
  });
3134
- const publicClient = createPublicClient({ chain: ch, transport: http(args.rpcUrl) });
3152
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(args.rpcUrl) });
3135
3153
  const vault = getAddress(args.vault);
3136
3154
  const assetAddr = await publicClient.readContract({
3137
3155
  address: vault,
@@ -3153,7 +3171,7 @@ async function fetchMorphoVaultMaxWithdrawWei(args) {
3153
3171
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
3154
3172
  rpcUrls: { default: { http: [args.rpcUrl] } }
3155
3173
  });
3156
- const publicClient = createPublicClient({ chain: ch, transport: http(args.rpcUrl) });
3174
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(args.rpcUrl) });
3157
3175
  return publicClient.readContract({
3158
3176
  address: getAddress(args.vault),
3159
3177
  abi: erc4626Abi,
@@ -3176,7 +3194,7 @@ async function previewMorphoBlueHealthAfterCollateralWithdraw(args) {
3176
3194
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
3177
3195
  rpcUrls: { default: { http: [args.rpcUrl] } }
3178
3196
  });
3179
- const publicClient = createPublicClient({ chain: ch, transport: http(args.rpcUrl) });
3197
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(args.rpcUrl) });
3180
3198
  const morpho = getAddress(args.morphoBlue);
3181
3199
  const user = getAddress(args.user);
3182
3200
  const id = args.marketId;
@@ -3245,7 +3263,7 @@ async function buildEvmMultisignBodyMorphoVaultDepositBatch(args) {
3245
3263
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
3246
3264
  rpcUrls: { default: { http: [args.rpcUrl] } }
3247
3265
  });
3248
- const publicClient = createPublicClient({ chain: ch, transport: http(args.rpcUrl) });
3266
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(args.rpcUrl) });
3249
3267
  const dec = await fetchMorphoVaultAssetDecimals({ rpcUrl: args.rpcUrl, chainId: args.chainId, vault });
3250
3268
  const amountWei = parseUnits(args.amountHuman, dec);
3251
3269
  if (amountWei === 0n) throw new Error("Deposit amount is zero after converting with token decimals.");
@@ -3431,7 +3449,7 @@ async function readTokenDecimals3(args) {
3431
3449
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
3432
3450
  rpcUrls: { default: { http: [args.rpcUrl] } }
3433
3451
  });
3434
- const publicClient = createPublicClient({ chain: ch, transport: http(args.rpcUrl) });
3452
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(args.rpcUrl) });
3435
3453
  const d = await publicClient.readContract({
3436
3454
  address: args.token,
3437
3455
  abi: erc20AllowanceAbi2,
@@ -3458,7 +3476,7 @@ async function buildApproveSteps3(args) {
3458
3476
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
3459
3477
  rpcUrls: { default: { http: [args.rpcUrl] } }
3460
3478
  });
3461
- const publicClient = createPublicClient({ chain: ch, transport: http(args.rpcUrl) });
3479
+ const publicClient = createPublicClient({ chain: ch, transport: defiEvmTransport(args.rpcUrl) });
3462
3480
  const currentAllowance = await publicClient.readContract({
3463
3481
  address: spendToken,
3464
3482
  abi: erc20AllowanceAbi2,
@@ -3744,6 +3762,6 @@ var morphoProtocolModule = {
3744
3762
  };
3745
3763
  registerProtocolModule(morphoProtocolModule);
3746
3764
 
3747
- 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, ROBINHOOD_CHAIN_ID, ROBINHOOD_EARN_USDG_ADDRESS, ROBINHOOD_EARN_VAULT_ADDRESS, ROBINHOOD_EARN_VAULT_NAME, ROBINHOOD_EARN_VAULT_SYMBOL, 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, mapMorphoIncentiveRewards, 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 };
3765
+ export { ARC_MAINNET_CHAIN_ID, ARC_TESTNET_CHAIN_ID, 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_EXTRA_SUPPORTED_CHAIN_IDS, 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, ROBINHOOD_CHAIN_ID, ROBINHOOD_EARN_USDG_ADDRESS, ROBINHOOD_EARN_VAULT_ADDRESS, ROBINHOOD_EARN_VAULT_NAME, ROBINHOOD_EARN_VAULT_SYMBOL, 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, isMorphoArcChainId, isMorphoVaultListed, isRobinhoodEarnProductFlag, isRobinhoodEarnQuery, loadMorphoSupportedChainIds, mapMorphoIncentiveRewards, marketParamsFromApiRow, mergeMorphoSupportedChainIds, 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 };
3748
3766
  //# sourceMappingURL=index.js.map
3749
3767
  //# sourceMappingURL=index.js.map