@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
@@ -19,6 +19,14 @@ var __export = (target, all) => {
19
19
  for (var name in all)
20
20
  __defProp(target, name, { get: all[name], enumerable: true });
21
21
  };
22
+ function defiEvmTransport(rpcUrl, opts) {
23
+ const url = rpcUrl.trim();
24
+ return viem.http(url, opts);
25
+ }
26
+ var init_defiEvmClient = __esm({
27
+ "src/core/defiEvmClient.ts"() {
28
+ }
29
+ });
22
30
 
23
31
  // src/core/defiProxy.ts
24
32
  function getAaveGraphqlProxyUrl() {
@@ -544,7 +552,9 @@ var UNIVERSAL_ROUTER_SPENDER = {
544
552
  4217: "0x1febb76be10aaf3a1402f04e8e835f2c382f7914",
545
553
  196: "0x5507749f2c558bb3e162c6e90c314c092e7372ff",
546
554
  /** Robinhood Chain mainnet — Universal Router v2.1.1 (Trade API / interface) */
547
- 4663: "0x8876789976decbfcbbbe364623c63652db8c0904"
555
+ 4663: "0x8876789976decbfcbbbe364623c63652db8c0904",
556
+ /** Circle Arc mainnet — official Uniswap v4 deployments */
557
+ 5042: "0x4fcA4a51Ab4F23A7447b3284fBd7D73289A89Fb1"
548
558
  };
549
559
  function isUniswapV4ChainSupported(chainId) {
550
560
  if (chainId == null) return false;
@@ -8988,6 +8998,16 @@ registerProtocolModule(arcusProtocolModule);
8988
8998
 
8989
8999
  // src/protocols/evm/morpho/api.ts
8990
9000
  init_defiProxy();
9001
+
9002
+ // src/protocols/evm/morpho/support.ts
9003
+ var ARC_MAINNET_CHAIN_ID = 5042;
9004
+ var ARC_TESTNET_CHAIN_ID = 5042002;
9005
+ var MORPHO_EXTRA_SUPPORTED_CHAIN_IDS = [ARC_MAINNET_CHAIN_ID, ARC_TESTNET_CHAIN_ID];
9006
+ function isMorphoArcChainId(chainId) {
9007
+ return chainId === ARC_MAINNET_CHAIN_ID || chainId === ARC_TESTNET_CHAIN_ID;
9008
+ }
9009
+
9010
+ // src/protocols/evm/morpho/api.ts
8991
9011
  var MORPHO_GRAPHQL_URL = "https://api.morpho.org/graphql";
8992
9012
  async function morphoGql(query, variables) {
8993
9013
  const body = { query, variables: variables ?? {} };
@@ -9010,14 +9030,18 @@ async function fetchMorphoChains() {
9010
9030
  `);
9011
9031
  return d.chains ?? [];
9012
9032
  }
9013
- async function loadMorphoSupportedChainIds() {
9014
- const rows = await fetchMorphoChains();
9033
+ function mergeMorphoSupportedChainIds(rows) {
9015
9034
  const s = /* @__PURE__ */ new Set();
9016
9035
  for (const c of rows) {
9017
9036
  if (typeof c.id === "number" && Number.isFinite(c.id)) s.add(c.id);
9018
9037
  }
9038
+ for (const id of MORPHO_EXTRA_SUPPORTED_CHAIN_IDS) s.add(id);
9019
9039
  return s;
9020
9040
  }
9041
+ async function loadMorphoSupportedChainIds() {
9042
+ const rows = await fetchMorphoChains();
9043
+ return mergeMorphoSupportedChainIds(rows);
9044
+ }
9021
9045
  var VAULT_PAGE_SIZE = 100;
9022
9046
  async function fetchMorphoVaultsForChain(chainId, first = 100) {
9023
9047
  const d = await morphoGql(
@@ -9293,6 +9317,22 @@ var CCTP_EVM_CHAINS = [
9293
9317
  usdc: "0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582",
9294
9318
  tokenMessenger: TOKEN_MESSENGER_V2_TESTNET,
9295
9319
  label: "Polygon Amoy"
9320
+ },
9321
+ {
9322
+ chainId: 5042,
9323
+ domain: 26,
9324
+ network: "mainnet",
9325
+ usdc: "0x3600000000000000000000000000000000000000",
9326
+ tokenMessenger: TOKEN_MESSENGER_V2_MAINNET,
9327
+ label: "Arc"
9328
+ },
9329
+ {
9330
+ chainId: 5042002,
9331
+ domain: 26,
9332
+ network: "testnet",
9333
+ usdc: "0x3600000000000000000000000000000000000000",
9334
+ tokenMessenger: TOKEN_MESSENGER_V2_TESTNET,
9335
+ label: "Arc Testnet"
9296
9336
  }
9297
9337
  ];
9298
9338
  function cctpChainConfig(chainId) {
@@ -10120,6 +10160,9 @@ async function fetchCompoundV3SubgraphMarkets(args) {
10120
10160
  return null;
10121
10161
  }
10122
10162
  }
10163
+
10164
+ // src/protocols/evm/compound-v3/reads.ts
10165
+ init_defiEvmClient();
10123
10166
  function publicClient(rpcUrl, chainId) {
10124
10167
  const chain = viem.defineChain({
10125
10168
  id: chainId,
@@ -10127,7 +10170,7 @@ function publicClient(rpcUrl, chainId) {
10127
10170
  nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" },
10128
10171
  rpcUrls: { default: { http: [rpcUrl] } }
10129
10172
  });
10130
- return viem.createPublicClient({ chain, transport: viem.http(rpcUrl) });
10173
+ return viem.createPublicClient({ chain, transport: defiEvmTransport(rpcUrl) });
10131
10174
  }
10132
10175
  async function readTokenMeta(client, asset) {
10133
10176
  const [symbol, decimals] = await Promise.all([
@@ -10917,7 +10960,8 @@ var PROTOCOL_SUPPORT_ADVISORS = {
10917
10960
  59144,
10918
10961
  4217,
10919
10962
  196,
10920
- 4663
10963
+ 4663,
10964
+ 5042
10921
10965
  ]) {
10922
10966
  if (isUniswapV4ChainSupported(id)) ids.push(id);
10923
10967
  }
@@ -11025,7 +11069,7 @@ var PROTOCOL_SUPPORT_ADVISORS = {
11025
11069
  }));
11026
11070
  return {
11027
11071
  tokens,
11028
- notes: chainId === ROBINHOOD_CHAIN_ID ? 'Morpho vault assets on Robinhood Chain. Robinhood Earn USDG yield uses Steakhouse USDG (steakUSDG) \u2014 query "robinhood earn" or robinhoodEarn: true on deposit multisign; not Arcus collateral.' : "Morpho vault assets, Blue market loan/collateral tokens, and Midnight book loan/collateral tokens from api.morpho.org."
11072
+ notes: chainId === ROBINHOOD_CHAIN_ID ? 'Morpho vault assets on Robinhood Chain. Robinhood Earn USDG yield uses Steakhouse USDG (steakUSDG) \u2014 query "robinhood earn" or robinhoodEarn: true on deposit multisign; not Arcus collateral.' : isMorphoArcChainId(chainId) ? "Morpho vault and Blue market assets on Arc (USDC-native gas). Mainnet is 5042; testnet is 5042002. Midnight remains Ethereum/Base only." : "Morpho vault assets, Blue market loan/collateral tokens, and Midnight book loan/collateral tokens from api.morpho.org."
11029
11073
  };
11030
11074
  },
11031
11075
  async isTokenSupported(chainId, address) {