recon-crypto-mcp 0.2.2 → 0.3.1

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.
package/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/recon-crypto-mcp.svg)](https://www.npmjs.com/package/recon-crypto-mcp)
4
4
  [![license](https://img.shields.io/npm/l/recon-crypto-mcp.svg)](./LICENSE)
5
5
  [![node](https://img.shields.io/node/v/recon-crypto-mcp.svg)](package.json)
6
+ [![recon-crypto-mcp MCP server](https://glama.ai/mcp/servers/szhygulin/recon-crypto-mcp/badges/score.svg)](https://glama.ai/mcp/servers/szhygulin/recon-crypto-mcp)
6
7
 
7
8
  **Self-custodial crypto portfolio and DeFi, managed by AI agents — signed on your Ledger hardware wallet.**
8
9
 
@@ -1,8 +1,9 @@
1
- import { mainnet, arbitrum, polygon } from "viem/chains";
1
+ import { mainnet, arbitrum, polygon, base } from "viem/chains";
2
2
  export const VIEM_CHAINS = {
3
3
  ethereum: mainnet,
4
4
  arbitrum,
5
5
  polygon,
6
+ base,
6
7
  };
7
8
  /** URL path segment per provider + chain. */
8
9
  const PROVIDER_URL_TEMPLATES = {
@@ -10,17 +11,20 @@ const PROVIDER_URL_TEMPLATES = {
10
11
  ethereum: (k) => `https://mainnet.infura.io/v3/${k}`,
11
12
  arbitrum: (k) => `https://arbitrum-mainnet.infura.io/v3/${k}`,
12
13
  polygon: (k) => `https://polygon-mainnet.infura.io/v3/${k}`,
14
+ base: (k) => `https://base-mainnet.infura.io/v3/${k}`,
13
15
  },
14
16
  alchemy: {
15
17
  ethereum: (k) => `https://eth-mainnet.g.alchemy.com/v2/${k}`,
16
18
  arbitrum: (k) => `https://arb-mainnet.g.alchemy.com/v2/${k}`,
17
19
  polygon: (k) => `https://polygon-mainnet.g.alchemy.com/v2/${k}`,
20
+ base: (k) => `https://base-mainnet.g.alchemy.com/v2/${k}`,
18
21
  },
19
22
  };
20
23
  const ENV_URL_VAR = {
21
24
  ethereum: "ETHEREUM_RPC_URL",
22
25
  arbitrum: "ARBITRUM_RPC_URL",
23
26
  polygon: "POLYGON_RPC_URL",
27
+ base: "BASE_RPC_URL",
24
28
  };
25
29
  export class RpcConfigError extends Error {
26
30
  constructor(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,29 @@ export declare const CONTRACTS: {
101
101
  readonly "cUSDT.ev3": "0xaeB318360f27748Acb200CE616E389A6C9409a07";
102
102
  };
103
103
  };
104
+ readonly base: {
105
+ readonly aave: {
106
+ readonly poolAddressProvider: "0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D";
107
+ readonly uiPoolDataProvider: "0x174446a6741c0bdA9cEe4D8FF4419Fb0ca1c7883";
108
+ readonly pool: "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5";
109
+ };
110
+ readonly uniswap: {
111
+ readonly positionManager: "0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1";
112
+ readonly factory: "0x33128a8fC17869897dcE68Ed026d694621f6FDfD";
113
+ };
114
+ readonly tokens: {
115
+ readonly USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
116
+ readonly USDbC: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA";
117
+ readonly DAI: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb";
118
+ readonly WETH: "0x4200000000000000000000000000000000000006";
119
+ readonly cbETH: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22";
120
+ };
121
+ readonly compound: {
122
+ readonly cUSDCv3: "0xb125E6687d4313864e53df431d5425969c15Eb2F";
123
+ readonly cUSDbCv3: "0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf";
124
+ readonly cWETHv3: "0x46e6b214b524310239732D51387075E0e70970bf";
125
+ };
126
+ };
104
127
  };
105
128
  export type ChainContracts<C extends SupportedChain> = (typeof CONTRACTS)[C];
106
129
  /** Native asset symbol per chain. */
@@ -112,6 +112,44 @@ export const CONTRACTS = {
112
112
  "cUSDT.ev3": "0xaeB318360f27748Acb200CE616E389A6C9409a07",
113
113
  },
114
114
  },
115
+ base: {
116
+ aave: {
117
+ // Aave V3 Base deployment. PoolAddressesProvider is chain-specific on
118
+ // Base (not the deterministic cross-L2 address), per the Aave docs.
119
+ poolAddressProvider: "0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D",
120
+ uiPoolDataProvider: "0x174446a6741c0bdA9cEe4D8FF4419Fb0ca1c7883",
121
+ pool: "0xA238Dd80C259a72e81d7e4664a9801593F98d1c5",
122
+ },
123
+ uniswap: {
124
+ // Canonical Uniswap V3 deployment on Base. Factory is the standard
125
+ // cross-chain address; PositionManager too.
126
+ positionManager: "0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1",
127
+ factory: "0x33128a8fC17869897dcE68Ed026d694621f6FDfD",
128
+ },
129
+ // Lido and EigenLayer are L1-only — no `lido`/`eigenlayer` keys means the
130
+ // staking reader short-circuits for Base, matching how Polygon is handled.
131
+ tokens: {
132
+ // Native USDC on Base (Circle-issued). USDbC is the bridged legacy
133
+ // Coinbase-wrapped USDC — kept because Compound still has a market for
134
+ // it and some older positions are denominated in it.
135
+ USDC: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
136
+ USDbC: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
137
+ DAI: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb",
138
+ WETH: "0x4200000000000000000000000000000000000006",
139
+ cbETH: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
140
+ },
141
+ compound: {
142
+ cUSDCv3: "0xb125E6687d4313864e53df431d5425969c15Eb2F",
143
+ cUSDbCv3: "0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf",
144
+ cWETHv3: "0x46e6b214b524310239732D51387075E0e70970bf",
145
+ },
146
+ // Morpho Blue is deployed on Base (same bytecode/address as mainnet)
147
+ // but we deliberately omit the `morpho` key here because the discovery
148
+ // scan in src/modules/morpho/discover.ts needs a known deployment block
149
+ // to start the `eth_getLogs` walk from — and that block hasn't been
150
+ // verified for Base yet. Add the address + block together in a future
151
+ // PR rather than guess and risk missing positions.
152
+ },
115
153
  };
116
154
  /** Native asset symbol per chain. */
117
155
  export const NATIVE_SYMBOL = {
@@ -119,5 +157,6 @@ export const NATIVE_SYMBOL = {
119
157
  arbitrum: "ETH",
120
158
  // Polygon's native token is MATIC (rebranding to POL is in progress — same contract).
121
159
  polygon: "MATIC",
160
+ base: "ETH",
122
161
  };
123
162
  //# sourceMappingURL=contracts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const API_BASE = {
5
5
  ethereum: "https://api.etherscan.io/api",
6
6
  arbitrum: "https://api.arbiscan.io/api",
7
7
  polygon: "https://api.polygonscan.com/api",
8
+ base: "https://api.basescan.org/api",
8
9
  };
9
10
  /**
10
11
  * Sanitize a free-form name from Etherscan for agent/user display. Strips
@@ -1 +1 @@
1
- {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../../src/data/apis/etherscan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"etherscan.js","sourceRoot":"","sources":["../../../src/data/apis/etherscan.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,15 @@ const LLAMA_CHAIN = {
11
11
  ethereum: "ethereum",
12
12
  arbitrum: "arbitrum",
13
13
  polygon: "polygon",
14
+ base: "base",
14
15
  };
15
16
  const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
16
- /** Coingecko ID for each chain's native asset. Ethereum + Arbitrum share ETH; Polygon uses MATIC. */
17
+ /** Coingecko ID for each chain's native asset. Ethereum + Arbitrum + Base share ETH; Polygon uses MATIC. */
17
18
  const NATIVE_COINGECKO_ID = {
18
19
  ethereum: "coingecko:ethereum",
19
20
  arbitrum: "coingecko:ethereum",
20
21
  polygon: "coingecko:matic-network",
22
+ base: "coingecko:ethereum",
21
23
  };
22
24
  function queryToLlamaKey(q) {
23
25
  if (q.address === "native" || q.address.toLowerCase() === ZERO_ADDRESS) {
@@ -1 +1 @@
1
- {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../src/data/prices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../src/data/prices.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -92,8 +92,9 @@ async function main() {
92
92
  "",
93
93
  "USE THIS SERVER WHEN the user asks about:",
94
94
  "- their crypto wallet, balances, tokens, ETH, ERC-20 holdings, or ENS name",
95
- "- their DeFi positions on Ethereum, Arbitrum, or Polygon — Aave V3 lending/borrowing,",
96
- " Compound V3 (Comet), Morpho Blue, Uniswap V3 LP, Lido staking, EigenLayer restaking",
95
+ "- their DeFi positions on Ethereum, Arbitrum, Polygon, or Base — Aave V3 lending/",
96
+ " borrowing, Compound V3 (Comet), Morpho Blue (Ethereum), Uniswap V3 LP, Lido staking",
97
+ " (Ethereum/Arbitrum), EigenLayer restaking (Ethereum)",
97
98
  "- portfolio value, cross-chain aggregation, health-factor / liquidation risk",
98
99
  "- executing on-chain actions: supply, borrow, repay, withdraw, stake, unstake,",
99
100
  " send ETH/tokens, swap, bridge",
@@ -113,6 +114,13 @@ async function main() {
113
114
  " prompt the user to review and physically sign on the device.",
114
115
  "6. Optionally poll `get_transaction_status` for inclusion.",
115
116
  "",
117
+ "TWO-STEP ALLOWANCE FLOWS: when a `prepare_*` tool returns an approval tx alongside",
118
+ "the main tx (supply, repay, swap, etc.), submit the approval via `send_transaction`",
119
+ "FIRST, then POLL `get_transaction_status` until the approval is included (status",
120
+ "`confirmed`). Only AFTER that, simulate or send the main tx. Simulating the main tx",
121
+ "against pre-approval state fails with \"insufficient allowance\" / ERC20 reverts and",
122
+ "looks like a builder bug — it is not, the allowance just isn't on-chain yet.",
123
+ "",
116
124
  "READ-ONLY TOOLS need no pairing and can be called freely: get_lending_positions,",
117
125
  "get_lp_positions, get_compound_positions, get_morpho_positions, get_staking_positions,",
118
126
  "get_staking_rewards, estimate_staking_yield, get_portfolio_summary, get_swap_quote,",
@@ -256,7 +264,10 @@ async function main() {
256
264
  "a contract call does what you expect — e.g. does wrapping ETH by sending to WETH9's fallback succeed, " +
257
265
  "does a custom calldata revert, what selector gets hit. For state-dependent calls (WETH deposit credits " +
258
266
  "msg.sender, ERC-20 transfer debits msg.sender), pass the user's wallet as `from`. Prepared transactions " +
259
- "are also re-simulated automatically at send_transaction time — this tool lets the agent check ahead.",
267
+ "are also re-simulated automatically at send_transaction time — this tool lets the agent check ahead. " +
268
+ "NEVER call this on a tx that depends on an approval you just submitted but haven't yet waited on: " +
269
+ "the approval must be included on-chain (poll get_transaction_status until confirmed) before the " +
270
+ "dependent tx will simulate correctly — otherwise you get a misleading 'insufficient allowance' revert.",
260
271
  inputSchema: simulateTransactionInput.shape,
261
272
  }, handler(simulateTransaction));
262
273
  // ---- Module 7: Balances & ENS ----
@@ -307,7 +318,7 @@ async function main() {
307
318
  }, txHandler(buildCompoundRepay));
308
319
  // ---- Module 9: Morpho Blue ----
309
320
  server.registerTool("get_morpho_positions", {
310
- description: "Fetch Morpho Blue positions for a wallet across a given list of market IDs. Each market is identified by a bytes32 id (keccak256 of its MarketParams). Returns per-market supplied/borrowed assets and collateral.",
321
+ description: "Fetch Morpho Blue positions for a wallet. If `marketIds` is omitted, the server auto-discovers the wallet's markets by scanning Morpho Blue event logs (may take several seconds on a cold call). Pass explicit `marketIds` (bytes32 each, keccak256 of MarketParams) as a fast path. Returns per-market supplied/borrowed assets and collateral.",
311
322
  inputSchema: getMorphoPositionsInput.shape,
312
323
  }, handler(getMorphoPositions));
313
324
  server.registerTool("prepare_morpho_supply", {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { SupportedChain } from "../../types/index.js";
2
+ /**
3
+ * Discover every Morpho Blue marketId the wallet has ever opened a position
4
+ * in (as `onBehalf`) on a single chain. Returns unique ids; callers should
5
+ * treat these as candidates and re-read live state via `readMarketPosition`
6
+ * to filter out closed positions.
7
+ *
8
+ * Returns `[]` for chains with no Morpho Blue deployment.
9
+ */
10
+ export declare function discoverMorphoMarketIds(wallet: `0x${string}`, chain: SupportedChain): Promise<`0x${string}`[]>;
@@ -0,0 +1,91 @@
1
+ import { parseAbiItem } from "viem";
2
+ import { getClient } from "../../data/rpc.js";
3
+ import { CONTRACTS } from "../../config/contracts.js";
4
+ /**
5
+ * Morpho Blue deployment block per chain. We only start the log scan from
6
+ * here — scanning back to genesis is a multi-million-block waste on mainnet.
7
+ */
8
+ const MORPHO_DEPLOYMENT_BLOCK = {
9
+ ethereum: 18883124n,
10
+ };
11
+ /**
12
+ * Most public RPC providers (Alchemy/Infura free tier, public nodes) cap
13
+ * `eth_getLogs` at 10k blocks per request. Users on premium endpoints with
14
+ * higher caps can override via MORPHO_DISCOVERY_CHUNK.
15
+ */
16
+ const SCAN_CHUNK = (() => {
17
+ const raw = process.env.MORPHO_DISCOVERY_CHUNK;
18
+ if (!raw)
19
+ return 10000n;
20
+ const parsed = BigInt(raw);
21
+ return parsed > 0n ? parsed : 10000n;
22
+ })();
23
+ /**
24
+ * Position-opening events: a wallet's set of active markets is a subset of
25
+ * the markets it has ever opened into. Closed positions drop out later when
26
+ * readMarketPosition sees zero shares/collateral. Withdraw/Repay/Liquidate
27
+ * never introduce a fresh market, so we don't scan them.
28
+ *
29
+ * In Morpho Blue, `onBehalf` is indexed on all three, which means the RPC
30
+ * does the filter server-side via topic3 (or topic2 for Borrow — viem maps
31
+ * named args to the correct topic slot automatically).
32
+ */
33
+ const supplyEvent = parseAbiItem("event Supply(bytes32 indexed id, address indexed caller, address indexed onBehalf, uint256 assets, uint256 shares)");
34
+ const borrowEvent = parseAbiItem("event Borrow(bytes32 indexed id, address caller, address indexed onBehalf, address indexed receiver, uint256 assets, uint256 shares)");
35
+ const supplyCollateralEvent = parseAbiItem("event SupplyCollateral(bytes32 indexed id, address indexed caller, address indexed onBehalf, uint256 assets)");
36
+ function morphoAddress(chain) {
37
+ const entry = CONTRACTS[chain]
38
+ ?.morpho;
39
+ const addr = entry?.blue;
40
+ return addr ?? null;
41
+ }
42
+ /**
43
+ * Discover every Morpho Blue marketId the wallet has ever opened a position
44
+ * in (as `onBehalf`) on a single chain. Returns unique ids; callers should
45
+ * treat these as candidates and re-read live state via `readMarketPosition`
46
+ * to filter out closed positions.
47
+ *
48
+ * Returns `[]` for chains with no Morpho Blue deployment.
49
+ */
50
+ export async function discoverMorphoMarketIds(wallet, chain) {
51
+ const morpho = morphoAddress(chain);
52
+ const deploymentBlock = MORPHO_DEPLOYMENT_BLOCK[chain];
53
+ if (!morpho || deploymentBlock === undefined)
54
+ return [];
55
+ const client = getClient(chain);
56
+ const latest = await client.getBlockNumber();
57
+ const ids = new Set();
58
+ for (let from = deploymentBlock; from <= latest; from += SCAN_CHUNK) {
59
+ const to = from + SCAN_CHUNK - 1n > latest ? latest : from + SCAN_CHUNK - 1n;
60
+ const [supplyLogs, borrowLogs, collateralLogs] = await Promise.all([
61
+ client.getLogs({
62
+ address: morpho,
63
+ event: supplyEvent,
64
+ args: { onBehalf: wallet },
65
+ fromBlock: from,
66
+ toBlock: to,
67
+ }),
68
+ client.getLogs({
69
+ address: morpho,
70
+ event: borrowEvent,
71
+ args: { onBehalf: wallet },
72
+ fromBlock: from,
73
+ toBlock: to,
74
+ }),
75
+ client.getLogs({
76
+ address: morpho,
77
+ event: supplyCollateralEvent,
78
+ args: { onBehalf: wallet },
79
+ fromBlock: from,
80
+ toBlock: to,
81
+ }),
82
+ ]);
83
+ for (const log of [...supplyLogs, ...borrowLogs, ...collateralLogs]) {
84
+ const id = log.args.id;
85
+ if (id)
86
+ ids.add(id);
87
+ }
88
+ }
89
+ return Array.from(ids);
90
+ }
91
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/modules/morpho/discover.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { CONTRACTS } from "../../config/contracts.js";
3
3
  import { morphoBlueAbi } from "../../abis/morpho-blue.js";
4
4
  import { erc20Abi } from "../../abis/erc20.js";
5
5
  import { makeTokenAmount, priceTokenAmounts, round } from "../../data/format.js";
6
+ import { discoverMorphoMarketIds } from "./discover.js";
6
7
  function morphoAddress(chain) {
7
8
  const entry = CONTRACTS[chain]
8
9
  ?.morpho;
@@ -87,7 +88,11 @@ export async function getMorphoPositions(args) {
87
88
  if (!morpho) {
88
89
  return { wallet, positions: [] };
89
90
  }
90
- const marketIds = args.marketIds;
91
+ const marketIds = args.marketIds ??
92
+ (await discoverMorphoMarketIds(wallet, chain));
93
+ if (marketIds.length === 0) {
94
+ return { wallet, positions: [] };
95
+ }
91
96
  const results = await Promise.all(marketIds.map((id) => readMarketPosition(wallet, chain, morpho, id)));
92
97
  return { wallet, positions: results.filter((p) => p !== null) };
93
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/morpho/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/morpho/index.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,23 @@ import { z } from "zod";
2
2
  export declare const getMorphoPositionsInput: z.ZodObject<{
3
3
  wallet: z.ZodString;
4
4
  chain: z.ZodDefault<z.ZodEnum<[string, ...string[]]>>;
5
- /** Morpho Blue market IDs (bytes32 each) to check. Discover via the Morpho app or subgraph. */
6
- marketIds: z.ZodArray<z.ZodString, "many">;
5
+ /**
6
+ * Morpho Blue market IDs (bytes32 each) to check. If omitted, the server
7
+ * discovers the wallet's markets by scanning Morpho Blue event logs
8
+ * (Supply / Borrow / SupplyCollateral with `onBehalf == wallet`). Pass this
9
+ * explicitly as a fast path when the set of markets is already known —
10
+ * discovery on cold lookups walks from Morpho's deploy block to head in
11
+ * ~10k-block chunks and can take several seconds.
12
+ */
13
+ marketIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
14
  }, "strip", z.ZodTypeAny, {
8
15
  chain: string;
9
16
  wallet: string;
10
- marketIds: string[];
17
+ marketIds?: string[] | undefined;
11
18
  }, {
12
19
  wallet: string;
13
- marketIds: string[];
14
20
  chain?: string | undefined;
21
+ marketIds?: string[] | undefined;
15
22
  }>;
16
23
  export declare const prepareMorphoSupplyInput: z.ZodObject<{
17
24
  wallet: z.ZodString;
@@ -7,8 +7,15 @@ const marketIdSchema = z.string().regex(/^0x[a-fA-F0-9]{64}$/);
7
7
  export const getMorphoPositionsInput = z.object({
8
8
  wallet: walletSchema,
9
9
  chain: chainEnum.default("ethereum"),
10
- /** Morpho Blue market IDs (bytes32 each) to check. Discover via the Morpho app or subgraph. */
11
- marketIds: z.array(marketIdSchema).min(1),
10
+ /**
11
+ * Morpho Blue market IDs (bytes32 each) to check. If omitted, the server
12
+ * discovers the wallet's markets by scanning Morpho Blue event logs
13
+ * (Supply / Borrow / SupplyCollateral with `onBehalf == wallet`). Pass this
14
+ * explicitly as a fast path when the set of markets is already known —
15
+ * discovery on cold lookups walks from Morpho's deploy block to head in
16
+ * ~10k-block chunks and can take several seconds.
17
+ */
18
+ marketIds: z.array(marketIdSchema).optional(),
12
19
  });
13
20
  const baseMarketAction = z.object({
14
21
  wallet: walletSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/modules/morpho/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAoD,CAAC,CAAC;AAC/E,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;IACpC,+FAA+F;IAC/F,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CACP,yDAAyD;QACvD,wEAAwE,CAC3E;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC9D,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC7D,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACxE,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,gBAAgB,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/modules/morpho/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAoD,CAAC,CAAC;AAC/E,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;IACpC;;;;;;;OAOG;IACH,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CACP,yDAAyD;QACvD,wEAAwE,CAC3E;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC9D,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAC7D,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACxE,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,gBAAgB,CAAC"}
@@ -6,6 +6,7 @@ import { getTokenPrice } from "../../data/prices.js";
6
6
  import { getLendingPositions, getLpPositions } from "../positions/index.js";
7
7
  import { getStakingPositions } from "../staking/index.js";
8
8
  import { getCompoundPositions } from "../compound/index.js";
9
+ import { getMorphoPositions } from "../morpho/index.js";
9
10
  import { SUPPORTED_CHAINS } from "../../types/index.js";
10
11
  function zeroNative(wallet, chain) {
11
12
  return makeTokenAmount(chain, "0x0000000000000000000000000000000000000000", 0n, 18, NATIVE_SYMBOL[chain]);
@@ -77,10 +78,7 @@ export async function getPortfolioSummary(args) {
77
78
  const mergedCoverage = {
78
79
  aave: mergeCoverage(perWallet.map((p) => p.coverage.aave)),
79
80
  compound: mergeCoverage(perWallet.map((p) => p.coverage.compound)),
80
- morpho: perWallet[0]?.coverage.morpho ?? {
81
- covered: false,
82
- note: "Morpho Blue requires caller-supplied marketIds.",
83
- },
81
+ morpho: mergeCoverage(perWallet.map((p) => p.coverage.morpho)),
84
82
  uniswapV3: mergeCoverage(perWallet.map((p) => p.coverage.uniswapV3)),
85
83
  staking: mergeCoverage(perWallet.map((p) => p.coverage.staking)),
86
84
  unpricedAssets: perWallet.reduce((s, p) => s + p.coverage.unpricedAssets, 0),
@@ -111,15 +109,15 @@ async function buildWalletSummary(wallet, chains) {
111
109
  // Each subquery is independent — one failing shouldn't kill the summary. We swap
112
110
  // Promise.all for per-task catchers that return empty payloads on error, so a flaky
113
111
  // Aave read (say, "returned no data") still lets us report native + ERC-20 + LP totals.
114
- // Morpho Blue is deliberately NOT included here: it requires caller-supplied marketIds
115
- // (Blue has no on-chain enumeration of a user's markets). Surface Morpho via the
116
- // dedicated get_morpho_positions tool instead.
112
+ // Morpho Blue is discovered per-chain via event-log scan (onBehalf==wallet) since
113
+ // Blue has no on-chain enumeration; discovery is the slowest subquery here on a
114
+ // cold RPC, so it's wrapped in the same catch-and-continue pattern as the others.
117
115
  const emptyPositions = { wallet, positions: [] };
118
116
  // Wrap each subquery so the portfolio can distinguish failure from empty. A
119
117
  // thrown fetch becomes errored:true so callers don't mistake "Aave down" for
120
118
  // "no Aave position".
121
- const errors = { aave: false, compound: false, lp: false, staking: false };
122
- const [nativeAmounts, erc20Amounts, aave, compound, lp, staking] = await Promise.all([
119
+ const errors = { aave: false, compound: false, morpho: false, lp: false, staking: false };
120
+ const [nativeAmounts, erc20Amounts, aave, compound, morphoByChain, lp, staking] = await Promise.all([
123
121
  Promise.all(chains.map((c) => fetchNativeBalance(wallet, c).catch(() => zeroNative(wallet, c)))),
124
122
  Promise.all(chains.map((c) => fetchTopErc20Balances(wallet, c).catch(() => []))),
125
123
  getLendingPositions({ wallet, chains }).catch(() => {
@@ -130,6 +128,13 @@ async function buildWalletSummary(wallet, chains) {
130
128
  errors.compound = true;
131
129
  return emptyPositions;
132
130
  }),
131
+ // Morpho has no multi-chain list endpoint; fan out per-chain and swallow
132
+ // per-chain failures individually so one bad RPC doesn't drop the whole
133
+ // Morpho bucket. If any chain throws, the overall coverage is errored.
134
+ Promise.all(chains.map((c) => getMorphoPositions({ wallet, chain: c }).catch(() => {
135
+ errors.morpho = true;
136
+ return { wallet, positions: [] };
137
+ }))),
133
138
  getLpPositions({ wallet, chains }).catch(() => {
134
139
  errors.lp = true;
135
140
  return emptyPositions;
@@ -139,14 +144,16 @@ async function buildWalletSummary(wallet, chains) {
139
144
  return emptyPositions;
140
145
  }),
141
146
  ]);
147
+ const morphoPositions = morphoByChain.flatMap((r) => r.positions);
142
148
  // Filter zero native balances out.
143
149
  const native = nativeAmounts.filter((a) => a.amount !== "0");
144
150
  const erc20 = erc20Amounts.flat();
145
- // Merge Aave + Compound into a single lending bucket — they both carry `chain` and
146
- // `netValueUsd`, which is all the summary math needs.
151
+ // Merge Aave + Compound + Morpho into a single lending bucket — they all carry
152
+ // `chain` and `netValueUsd`, which is all the summary math needs.
147
153
  const lendingPositions = [
148
154
  ...aave.positions,
149
155
  ...compound.positions,
156
+ ...morphoPositions,
150
157
  ];
151
158
  const walletBalancesUsd = round([...native, ...erc20].reduce((sum, t) => sum + (t.valueUsd ?? 0), 0), 2);
152
159
  const lendingNetUsd = round(lendingPositions.reduce((sum, p) => sum + p.netValueUsd, 0), 2);
@@ -167,10 +174,7 @@ async function buildWalletSummary(wallet, chains) {
167
174
  const coverage = {
168
175
  aave: { covered: !errors.aave, ...(errors.aave ? { errored: true, note: "Aave fetch failed — positions not included in totals." } : {}) },
169
176
  compound: { covered: !errors.compound, ...(errors.compound ? { errored: true, note: "Compound V3 fetch failed — positions not included in totals." } : {}) },
170
- morpho: {
171
- covered: false,
172
- note: "Morpho Blue positions require caller-supplied marketIds (no on-chain enumeration from a wallet). Call get_morpho_positions separately if the user has Morpho exposure.",
173
- },
177
+ morpho: { covered: !errors.morpho, ...(errors.morpho ? { errored: true, note: "Morpho Blue event-log discovery failed on at least one chain — some positions may be missing from totals." } : {}) },
174
178
  uniswapV3: { covered: !errors.lp, ...(errors.lp ? { errored: true, note: "Uniswap V3 LP fetch failed — positions not included." } : {}) },
175
179
  staking: { covered: !errors.staking, ...(errors.staking ? { errored: true, note: "Staking (Lido/EigenLayer) fetch failed — positions not included." } : {}) },
176
180
  unpricedAssets,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/portfolio/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/portfolio/index.ts"],"names":[],"mappings":"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"}
package/dist/setup.js CHANGED
@@ -60,11 +60,13 @@ const PROVIDER_URLS = {
60
60
  ethereum: (k) => `https://mainnet.infura.io/v3/${k}`,
61
61
  arbitrum: (k) => `https://arbitrum-mainnet.infura.io/v3/${k}`,
62
62
  polygon: (k) => `https://polygon-mainnet.infura.io/v3/${k}`,
63
+ base: (k) => `https://base-mainnet.infura.io/v3/${k}`,
63
64
  },
64
65
  alchemy: {
65
66
  ethereum: (k) => `https://eth-mainnet.g.alchemy.com/v2/${k}`,
66
67
  arbitrum: (k) => `https://arb-mainnet.g.alchemy.com/v2/${k}`,
67
68
  polygon: (k) => `https://polygon-mainnet.g.alchemy.com/v2/${k}`,
69
+ base: (k) => `https://base-mainnet.g.alchemy.com/v2/${k}`,
68
70
  },
69
71
  };
70
72
  /** Make a minimal eth_chainId call against the URL. Returns the numeric chain ID on success. */
@@ -81,6 +83,7 @@ async function configureRpc(p) {
81
83
  const ethUrl = await p.ask("Ethereum RPC URL: ");
82
84
  const arbUrl = await p.ask("Arbitrum RPC URL (leave blank to skip): ");
83
85
  const polyUrl = await p.ask("Polygon RPC URL (leave blank to skip): ");
86
+ const baseUrl = await p.ask("Base RPC URL (leave blank to skip): ");
84
87
  if (ethUrl) {
85
88
  try {
86
89
  const id = await validateRpcUrl(ethUrl);
@@ -99,6 +102,7 @@ async function configureRpc(p) {
99
102
  ...(ethUrl ? { ethereum: ethUrl } : {}),
100
103
  ...(arbUrl ? { arbitrum: arbUrl } : {}),
101
104
  ...(polyUrl ? { polygon: polyUrl } : {}),
105
+ ...(baseUrl ? { base: baseUrl } : {}),
102
106
  },
103
107
  };
104
108
  }
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,20 @@
1
+ import type { SupportedChain } from "../types/index.js";
2
+ export interface SessionAccount {
3
+ address: `0x${string}`;
4
+ /** Supported chains this address is exposed on (mapped from chainIds). */
5
+ chains: SupportedChain[];
6
+ /** Every eip155 chainId advertised for this address, including ones the server does not support. */
7
+ chainIds: number[];
8
+ }
1
9
  export interface SessionStatus {
2
10
  paired: boolean;
11
+ /**
12
+ * Deduplicated list of addresses. An address that appears on multiple chains
13
+ * shows up once here; use `accountDetails` for the per-chain breakdown.
14
+ */
3
15
  accounts: `0x${string}`[];
16
+ /** Per-address chain exposure — addresses paired with the networks they're advertised on. */
17
+ accountDetails: SessionAccount[];
4
18
  topic?: string;
5
19
  expiresAt?: number;
6
20
  /** Peer-advertised app name (e.g. "Ledger Live"). Self-reported — NOT a trusted identity. */
@@ -1,4 +1,4 @@
1
- import { getConnectedAccounts, getCurrentSession, getSignClient, isPeerUnreachable, } from "./walletconnect.js";
1
+ import { getConnectedAccountsDetailed, getCurrentSession, getSignClient, isPeerUnreachable, } from "./walletconnect.js";
2
2
  export const PEER_TRUST_WARNING = "WalletConnect peer metadata is self-reported — any app can claim to be 'Ledger Live'. " +
3
3
  "If the paired wallet/URL above is unexpected (e.g. not 'Ledger Live' / ledger.com), ask the user " +
4
4
  "to confirm before calling send_transaction. The ultimate check is that the tx shows up on the " +
@@ -7,13 +7,20 @@ export async function getSessionStatus() {
7
7
  await getSignClient(); // triggers restore + liveness check
8
8
  const session = getCurrentSession();
9
9
  if (!session)
10
- return { paired: false, accounts: [], peerTrustWarning: PEER_TRUST_WARNING };
11
- const accounts = await getConnectedAccounts();
10
+ return {
11
+ paired: false,
12
+ accounts: [],
13
+ accountDetails: [],
14
+ peerTrustWarning: PEER_TRUST_WARNING,
15
+ };
16
+ const accountDetails = await getConnectedAccountsDetailed();
17
+ const accounts = accountDetails.map((a) => a.address);
12
18
  const meta = session.peer?.metadata;
13
19
  const unreachable = isPeerUnreachable();
14
20
  return {
15
21
  paired: true,
16
22
  accounts,
23
+ accountDetails,
17
24
  topic: session.topic,
18
25
  expiresAt: session.expiry * 1000,
19
26
  ...(meta?.name ? { wallet: meta.name } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/signing/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AA6B5B,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wFAAwF;IACxF,mGAAmG;IACnG,gGAAgG;IAChG,uDAAuD,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,aAAa,EAAE,CAAC,CAAC,oCAAoC;IAC3D,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QACV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IAC/E,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;IACpC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,QAAQ;QACR,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI;QAChC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,gBAAgB,EAAE,kBAAkB;QACpC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/signing/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AA4C5B,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wFAAwF;IACxF,mGAAmG;IACnG,gGAAgG;IAChG,uDAAuD,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,aAAa,EAAE,CAAC,CAAC,oCAAoC;IAC3D,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,IAAI,CAAC,OAAO;QACV,OAAO;YACL,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;YACZ,cAAc,EAAE,EAAE;YAClB,gBAAgB,EAAE,kBAAkB;SACrC,CAAC;IACJ,MAAM,cAAc,GAAG,MAAM,4BAA4B,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;IACpC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,QAAQ;QACR,cAAc;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI;QAChC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,gBAAgB,EAAE,kBAAkB;QACpC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { SignClient } from "@walletconnect/sign-client";
2
2
  import type { SessionTypes } from "@walletconnect/types";
3
- import { type UnsignedTx } from "../types/index.js";
3
+ import { type SupportedChain, type UnsignedTx } from "../types/index.js";
4
4
  /**
5
5
  * EVM namespace requested when proposing a session. We deliberately omit
6
6
  * `personal_sign` and `eth_signTypedData_v4` — no tool in this server produces
@@ -26,8 +26,25 @@ export interface PairResult {
26
26
  /** Create a new pairing + session proposal. The returned URI is what the user scans in Ledger Live. */
27
27
  export declare function initiatePairing(): Promise<PairResult>;
28
28
  export declare function getCurrentSession(): SessionTypes.Struct | null;
29
- /** Return the list of EVM accounts exposed by the connected wallet (across all namespaces). */
29
+ /**
30
+ * Return the deduplicated list of EVM addresses exposed by the connected
31
+ * wallet across all chain namespaces. WalletConnect advertises accounts as
32
+ * `eip155:<chainId>:<address>` — the same address typically appears once per
33
+ * chain the wallet has exposed, so a flat list of raw entries looks like
34
+ * duplicates from the agent's perspective. Callers that care which chains an
35
+ * address is exposed on should use `getConnectedAccountsDetailed`.
36
+ */
30
37
  export declare function getConnectedAccounts(): Promise<`0x${string}`[]>;
38
+ /**
39
+ * Return per-address chain exposure. Addresses are deduplicated; `chainIds`
40
+ * lists every eip155 chainId the address was advertised for, and `chains`
41
+ * maps those to the server's SupportedChain names where recognized.
42
+ */
43
+ export declare function getConnectedAccountsDetailed(): Promise<{
44
+ address: `0x${string}`;
45
+ chainIds: number[];
46
+ chains: SupportedChain[];
47
+ }[]>;
31
48
  /** Send an `eth_sendTransaction` request. Ledger Live shows it, user signs on device, we get tx hash back. */
32
49
  export declare function requestSendTransaction(tx: UnsignedTx): Promise<`0x${string}`>;
33
50
  export declare function disconnect(): Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { SignClient } from "@walletconnect/sign-client";
2
2
  import { getSdkError } from "@walletconnect/utils";
3
3
  import { join } from "node:path";
4
- import { CHAIN_IDS } from "../types/index.js";
4
+ import { CHAIN_IDS, CHAIN_ID_TO_NAME } from "../types/index.js";
5
5
  import { readUserConfig, patchUserConfig, resolveWalletConnectProjectId, getConfigDir, } from "../config/user-config.js";
6
6
  /**
7
7
  * Default WalletConnect Cloud project ID. Users should provide their own via
@@ -164,24 +164,56 @@ export async function initiatePairing() {
164
164
  export function getCurrentSession() {
165
165
  return currentSession;
166
166
  }
167
- /** Return the list of EVM accounts exposed by the connected wallet (across all namespaces). */
167
+ /**
168
+ * Return the deduplicated list of EVM addresses exposed by the connected
169
+ * wallet across all chain namespaces. WalletConnect advertises accounts as
170
+ * `eip155:<chainId>:<address>` — the same address typically appears once per
171
+ * chain the wallet has exposed, so a flat list of raw entries looks like
172
+ * duplicates from the agent's perspective. Callers that care which chains an
173
+ * address is exposed on should use `getConnectedAccountsDetailed`.
174
+ */
168
175
  export async function getConnectedAccounts() {
176
+ const detailed = await getConnectedAccountsDetailed();
177
+ return detailed.map((a) => a.address);
178
+ }
179
+ /**
180
+ * Return per-address chain exposure. Addresses are deduplicated; `chainIds`
181
+ * lists every eip155 chainId the address was advertised for, and `chains`
182
+ * maps those to the server's SupportedChain names where recognized.
183
+ */
184
+ export async function getConnectedAccountsDetailed() {
169
185
  if (!currentSession)
170
186
  await getSignClient(); // ensure restoration attempted
171
187
  if (!currentSession)
172
188
  return [];
173
- const accounts = [];
174
189
  const ns = currentSession.namespaces.eip155;
175
190
  if (!ns)
176
191
  return [];
192
+ // Preserve the first-seen order of addresses so the list is deterministic
193
+ // across calls — a Map iterates in insertion order.
194
+ const byAddress = new Map();
177
195
  for (const entry of ns.accounts) {
178
- // format: "eip155:1:0xabc..."
179
196
  const parts = entry.split(":");
180
- if (parts.length === 3 && /^0x[a-fA-F0-9]{40}$/.test(parts[2])) {
181
- accounts.push(parts[2]);
182
- }
197
+ if (parts.length !== 3)
198
+ continue;
199
+ const chainId = Number(parts[1]);
200
+ const addr = parts[2];
201
+ if (!Number.isFinite(chainId) || !/^0x[a-fA-F0-9]{40}$/.test(addr))
202
+ continue;
203
+ const address = addr;
204
+ const existing = byAddress.get(address);
205
+ if (existing)
206
+ existing.add(chainId);
207
+ else
208
+ byAddress.set(address, new Set([chainId]));
183
209
  }
184
- return accounts;
210
+ return Array.from(byAddress.entries()).map(([address, chainIdSet]) => {
211
+ const chainIds = Array.from(chainIdSet).sort((a, b) => a - b);
212
+ const chains = chainIds
213
+ .map((id) => CHAIN_ID_TO_NAME[id])
214
+ .filter((c) => c !== undefined);
215
+ return { address, chainIds, chains };
216
+ });
185
217
  }
186
218
  /** Send an `eth_sendTransaction` request. Ledger Live shows it, user signs on device, we get tx hash back. */
187
219
  export async function requestSendTransaction(tx) {
@@ -1 +1 @@
1
- {"version":3,"file":"walletconnect.js","sourceRoot":"","sources":["../../src/signing/walletconnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletconnect.js","sourceRoot":"","sources":["../../src/signing/walletconnect.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type SupportedChain = "ethereum" | "arbitrum" | "polygon";
1
+ export type SupportedChain = "ethereum" | "arbitrum" | "polygon" | "base";
2
2
  export declare const SUPPORTED_CHAINS: readonly SupportedChain[];
3
3
  export type RpcProvider = "infura" | "alchemy" | "custom";
4
4
  /** Numeric chain IDs for the chains we support. */
@@ -78,8 +78,28 @@ export interface CompoundLendingPosition {
78
78
  totalSuppliedUsd: number;
79
79
  netValueUsd: number;
80
80
  }
81
+ /**
82
+ * A Morpho Blue position, flattened enough to slot alongside Aave and Compound in a
83
+ * unified lending bucket. Thin projection of modules/morpho/index.ts#MorphoPosition
84
+ * so the types module doesn't need to pull in morpho internals.
85
+ */
86
+ export interface MorphoLendingPosition {
87
+ protocol: "morpho-blue";
88
+ chain: SupportedChain;
89
+ marketId: `0x${string}`;
90
+ loanToken: `0x${string}`;
91
+ collateralToken: `0x${string}`;
92
+ lltv: string;
93
+ supplied: TokenAmount | null;
94
+ borrowed: TokenAmount | null;
95
+ collateral: TokenAmount | null;
96
+ totalCollateralUsd: number;
97
+ totalDebtUsd: number;
98
+ totalSuppliedUsd: number;
99
+ netValueUsd: number;
100
+ }
81
101
  /** Any lending/borrowing position reported by the portfolio aggregator. */
82
- export type LendingPositionUnion = LendingPosition | CompoundLendingPosition;
102
+ export type LendingPositionUnion = LendingPosition | CompoundLendingPosition | MorphoLendingPosition;
83
103
  export interface LPPosition {
84
104
  protocol: "uniswap-v3";
85
105
  chain: SupportedChain;
@@ -3,16 +3,19 @@ export const SUPPORTED_CHAINS = [
3
3
  "ethereum",
4
4
  "arbitrum",
5
5
  "polygon",
6
+ "base",
6
7
  ];
7
8
  /** Numeric chain IDs for the chains we support. */
8
9
  export const CHAIN_IDS = {
9
10
  ethereum: 1,
10
11
  arbitrum: 42161,
11
12
  polygon: 137,
13
+ base: 8453,
12
14
  };
13
15
  export const CHAIN_ID_TO_NAME = {
14
16
  1: "ethereum",
15
17
  42161: "arbitrum",
16
18
  137: "polygon",
19
+ 8453: "base",
17
20
  };
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAI/C,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD,UAAU;IACV,UAAU;IACV,SAAS;CACD,CAAC;AAIX,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAmC;IACvD,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,CAAC,EAAE,UAAU;IACb,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,SAAS;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAI/C,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD,UAAU;IACV,UAAU;IACV,SAAS;IACT,MAAM;CACE,CAAC;AAIX,mDAAmD;AACnD,MAAM,CAAC,MAAM,SAAS,GAAmC;IACvD,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,CAAC,EAAE,UAAU;IACb,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,MAAM;CACb,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "recon-crypto-mcp",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "mcpName": "io.github.szhygulin/recon-crypto-mcp",
5
- "description": "MCP server for AI agents (Claude Code, Claude Desktop, Cursor) to manage a self-custodial crypto portfolio through a Ledger hardware wallet. Reads on-chain wallet balances, ENS, token prices, and DeFi positions across Ethereum/Arbitrum/Polygon (Aave V3, Compound V3, Morpho Blue, Uniswap V3 LP, Lido stETH, EigenLayer), surfaces liquidation/health-factor alerts and protocol risk scores, then prepares unsigned EVM transactions (supply, borrow, repay, withdraw, stake, unstake, native/ERC-20 send, and LiFi-routed swaps and cross-chain bridges) that the user signs on their Ledger device via WalletConnect — private keys never leave the hardware wallet.",
5
+ "description": "MCP server for AI agents (Claude Code, Claude Desktop, Cursor) to manage a self-custodial crypto portfolio through a Ledger hardware wallet. Reads on-chain wallet balances, ENS, token prices, and DeFi positions across Ethereum/Arbitrum/Polygon/Base (Aave V3, Compound V3, Morpho Blue, Uniswap V3 LP, Lido stETH, EigenLayer), surfaces liquidation/health-factor alerts and protocol risk scores, then prepares unsigned EVM transactions (supply, borrow, repay, withdraw, stake, unstake, native/ERC-20 send, and LiFi-routed swaps and cross-chain bridges) that the user signs on their Ledger device via WalletConnect — private keys never leave the hardware wallet.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "bin": {
@@ -63,6 +63,7 @@
63
63
  "ethereum",
64
64
  "arbitrum",
65
65
  "polygon",
66
+ "base",
66
67
  "evm",
67
68
  "erc20",
68
69
  "erc-20",
@@ -118,6 +119,7 @@
118
119
  "@lifi/sdk": "^3.16.3",
119
120
  "@modelcontextprotocol/sdk": "^1.0.4",
120
121
  "@walletconnect/sign-client": "^2.17.0",
122
+ "@walletconnect/types": "^2.17.0",
121
123
  "@walletconnect/utils": "^2.17.0",
122
124
  "qrcode-terminal": "^0.12.0",
123
125
  "viem": "^2.21.0",