web3-tools-mcp 1.3.3 → 1.4.0

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 (57) hide show
  1. package/README.md +51 -4
  2. package/dist/anvil.d.ts +34 -0
  3. package/dist/anvil.d.ts.map +1 -0
  4. package/dist/anvil.js +254 -0
  5. package/dist/anvil.js.map +1 -0
  6. package/dist/client.d.ts +3 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +13 -2
  9. package/dist/client.js.map +1 -1
  10. package/dist/index.js +25 -5
  11. package/dist/index.js.map +1 -1
  12. package/dist/preview.d.ts +55 -0
  13. package/dist/preview.d.ts.map +1 -0
  14. package/dist/preview.js +233 -0
  15. package/dist/preview.js.map +1 -0
  16. package/dist/tools/advanced.d.ts +67 -9
  17. package/dist/tools/advanced.d.ts.map +1 -1
  18. package/dist/tools/advanced.js +206 -67
  19. package/dist/tools/advanced.js.map +1 -1
  20. package/dist/tools/balance.d.ts +5 -5
  21. package/dist/tools/contract-info.d.ts +9 -9
  22. package/dist/tools/contract.d.ts +8 -8
  23. package/dist/tools/contract.d.ts.map +1 -1
  24. package/dist/tools/contract.js +3 -0
  25. package/dist/tools/contract.js.map +1 -1
  26. package/dist/tools/ens.d.ts +15 -15
  27. package/dist/tools/gas.d.ts +18 -18
  28. package/dist/tools/logs.d.ts +3 -3
  29. package/dist/tools/transactions.d.ts +9 -9
  30. package/dist/tools/transactions.d.ts.map +1 -1
  31. package/dist/tools/transactions.js +92 -113
  32. package/dist/tools/transactions.js.map +1 -1
  33. package/dist/utils.d.ts +13 -0
  34. package/dist/utils.d.ts.map +1 -1
  35. package/dist/utils.js +76 -0
  36. package/dist/utils.js.map +1 -1
  37. package/dist/wallet-client.d.ts +83 -0
  38. package/dist/wallet-client.d.ts.map +1 -0
  39. package/dist/wallet-client.js +357 -0
  40. package/dist/wallet-client.js.map +1 -0
  41. package/package.json +9 -8
  42. package/src/anvil.ts +323 -0
  43. package/src/client.ts +16 -2
  44. package/src/index.ts +26 -5
  45. package/src/preview.ts +320 -0
  46. package/src/tools/advanced.ts +239 -70
  47. package/src/tools/contract.ts +3 -0
  48. package/src/tools/transactions.ts +98 -125
  49. package/src/utils.ts +95 -0
  50. package/src/wallet-client.ts +380 -0
  51. package/dist/wallet-server.d.ts +0 -35
  52. package/dist/wallet-server.d.ts.map +0 -1
  53. package/dist/wallet-server.js +0 -232
  54. package/dist/wallet-server.js.map +0 -1
  55. package/public/wallet-app.js +0 -677
  56. package/public/wallet.html +0 -723
  57. package/src/wallet-server.ts +0 -283
package/README.md CHANGED
@@ -88,12 +88,59 @@ The server includes a built-in wallet interface for secure transaction signing w
88
88
  ### How It Works
89
89
 
90
90
  1. When you use a transaction tool (e.g., `send_native_token`), the server automatically:
91
- - Starts a local web server on `http://localhost:3456`
91
+ - Starts a local wallet relay on `http://localhost:3456`
92
92
  - Opens your browser to connect your wallet (MetaMask, Rabby, Coinbase Wallet, etc.)
93
93
  2. You connect your wallet once in the browser
94
- 3. Transaction requests appear in the browser for approval
94
+ 3. The transaction is decoded and simulated, then the request appears in the browser for approval
95
95
  4. Sign or reject transactions directly in your wallet
96
96
 
97
+ The browser page and the MCP server are both clients of the relay, authenticated with a
98
+ pairing token that travels in the URL fragment (`#t=…`) of the link the server prints.
99
+
100
+ **One relay per machine.** Every local MCP process looks for an existing relay on ports
101
+ 3456-3460 before starting one, so all your editor sessions share a single wallet page —
102
+ connect once, and a transaction from any session lands in that tab. They authenticate with
103
+ a token kept in `~/.config/web3-tools-mcp/relay-token` (mode 0600); delete it to rotate.
104
+
105
+ ### Before You Sign
106
+
107
+ Each request shows what the transaction actually does, not just calldata:
108
+
109
+ - **Decoded call** — function name and named arguments, from the verified ABI (Sourcify /
110
+ Etherscan) or, for unverified contracts, from selectors recovered from bytecode via
111
+ [WhatsABI](https://github.com/shazow/whatsabi). Proxies are resolved to their implementation.
112
+ - **Token amounts** — formatted with on-chain decimals and symbol; unlimited approvals are
113
+ flagged explicitly.
114
+ - **Simulation** — `eth_simulateV1` (falling back to `eth_call` + `estimateGas`) reports the
115
+ gas estimate and every ERC20 transfer the transaction would cause, marked in/out for your
116
+ account. A reverting transaction is shown as such before you can approve it.
117
+
118
+ ### Hosting the Wallet Page
119
+
120
+ The relay lives in its own workspace, [`wallet/`](wallet), and depends only on express, cors
121
+ and ws (~4MB installed, against ~180MB for the MCP server). It deploys on its own to any host
122
+ that keeps a Node process alive and supports WebSockets — Render, Railway, Fly:
123
+
124
+ ```bash
125
+ # On the host, from wallet/ — PORT is provided by the platform
126
+ WALLET_TOKEN=<long random string> WALLET_PUBLIC_URL=https://wallet.example.com npm start
127
+ ```
128
+
129
+ Then point the MCP server at it:
130
+
131
+ ```bash
132
+ export WALLET_SERVER_URL=https://wallet.example.com
133
+ export WALLET_TOKEN=<the same token>
134
+ npx web3-tools-mcp
135
+ ```
136
+
137
+ `render.yaml` deploys the relay as-is (`rootDir: wallet`, so only its dependencies are
138
+ installed). Anyone holding `WALLET_TOKEN` can send your browser transactions to sign, so
139
+ treat it like a password and always serve the page over HTTPS.
140
+
141
+ Locally nothing changes: the MCP server embeds the same relay and `npm run start:wallet`
142
+ runs it from the workspace.
143
+
97
144
  ### Supported Wallets
98
145
 
99
146
  - MetaMask
@@ -103,12 +150,12 @@ The server includes a built-in wallet interface for secure transaction signing w
103
150
 
104
151
  ### Manual Access
105
152
 
106
- Visit `http://localhost:3456` anytime to:
153
+ Visit the wallet URL printed by the server (`wallet_status` also returns it) anytime to:
107
154
  - Check wallet connection status
108
155
  - See pending transactions
109
156
  - View transaction history
110
157
 
111
- **Note:** The wallet server runs automatically when the MCP server starts. No additional setup required!
158
+ **Note:** The relay starts automatically with the MCP server. No additional setup required.
112
159
 
113
160
  ## Available Tools
114
161
 
@@ -0,0 +1,34 @@
1
+ import { ChildProcess } from 'child_process';
2
+ import { createPublicClient } from 'viem';
3
+ export interface AnvilInstance {
4
+ process: ChildProcess;
5
+ port: number;
6
+ rpcUrl: string;
7
+ client: ReturnType<typeof createPublicClient>;
8
+ }
9
+ export interface AnvilConfig {
10
+ forkUrl: string;
11
+ forkBlockNumber?: bigint;
12
+ port?: number;
13
+ chainId?: number;
14
+ }
15
+ export declare function isAnvilInstalled(): Promise<boolean>;
16
+ export declare function startAnvil(config: AnvilConfig): Promise<AnvilInstance>;
17
+ export declare function stopAnvil(instance: AnvilInstance): void;
18
+ export declare function withAnvil<T>(config: AnvilConfig, fn: (instance: AnvilInstance) => Promise<T>): Promise<T>;
19
+ export declare function traceTransactionWithAnvil(forkUrl: string, transactionHash: string, blockNumber: bigint, tracer?: 'callTracer' | 'prestateTracer' | 'stateDiffTracer', chainName?: string): Promise<unknown>;
20
+ export interface SimulateCallParams {
21
+ to: string;
22
+ data?: string;
23
+ from?: string;
24
+ value?: bigint;
25
+ gas?: bigint;
26
+ }
27
+ export declare function simulateCallWithTrace(forkUrl: string, params: SimulateCallParams, blockNumber?: bigint, tracer?: 'callTracer' | 'prestateTracer'): Promise<{
28
+ result: string;
29
+ trace: unknown;
30
+ gasUsed: bigint;
31
+ success: boolean;
32
+ revertReason?: string;
33
+ }>;
34
+ //# sourceMappingURL=anvil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anvil.d.ts","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAQ,MAAM,MAAM,CAAA;AAG/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAGD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAMzD;AAuBD,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAsF5E;AAGD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAIvD;AAGD,wBAAsB,SAAS,CAAC,CAAC,EAC/B,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAOZ;AAQD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,YAAY,GAAG,gBAAgB,GAAG,iBAAgC,EAC1E,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAiDlB;AAGD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,kBAAkB,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,GAAE,YAAY,GAAG,gBAA+B,GACrD,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAC,CAmFD"}
package/dist/anvil.js ADDED
@@ -0,0 +1,254 @@
1
+ import { spawn } from 'child_process';
2
+ import { createPublicClient, http } from 'viem';
3
+ import { mainnet } from 'viem/chains';
4
+ // Check if anvil is installed
5
+ export async function isAnvilInstalled() {
6
+ return new Promise(resolve => {
7
+ const proc = spawn('anvil', ['--version'], { shell: true });
8
+ proc.on('close', code => resolve(code === 0));
9
+ proc.on('error', () => resolve(false));
10
+ });
11
+ }
12
+ // Find an available port
13
+ async function findAvailablePort(startPort = 8545) {
14
+ const net = await import('net');
15
+ return new Promise((resolve, reject) => {
16
+ const server = net.createServer();
17
+ server.listen(startPort, () => {
18
+ const address = server.address();
19
+ if (address && typeof address === 'object') {
20
+ server.close(() => resolve(address.port));
21
+ }
22
+ else {
23
+ server.close(() => reject(new Error('Could not get port')));
24
+ }
25
+ });
26
+ server.on('error', () => {
27
+ // Port in use, try next one
28
+ findAvailablePort(startPort + 1).then(resolve).catch(reject);
29
+ });
30
+ });
31
+ }
32
+ // Start an Anvil instance
33
+ export async function startAnvil(config) {
34
+ const installed = await isAnvilInstalled();
35
+ if (!installed) {
36
+ throw new Error('Anvil is not installed. Please install Foundry: https://book.getfoundry.sh/getting-started/installation');
37
+ }
38
+ const port = config.port ?? (await findAvailablePort());
39
+ const rpcUrl = `http://127.0.0.1:${port}`;
40
+ const args = ['--fork-url', config.forkUrl, '--port', port.toString(), '--silent'];
41
+ if (config.forkBlockNumber !== undefined) {
42
+ args.push('--fork-block-number', config.forkBlockNumber.toString());
43
+ }
44
+ if (config.chainId !== undefined) {
45
+ args.push('--chain-id', config.chainId.toString());
46
+ }
47
+ return new Promise((resolve, reject) => {
48
+ const proc = spawn('anvil', args, {
49
+ shell: true,
50
+ stdio: ['ignore', 'pipe', 'pipe']
51
+ });
52
+ let stderr = '';
53
+ proc.stderr?.on('data', data => {
54
+ stderr += data.toString();
55
+ });
56
+ proc.on('error', err => {
57
+ reject(new Error(`Failed to start Anvil: ${err.message}`));
58
+ });
59
+ proc.on('close', code => {
60
+ if (code !== 0 && code !== null) {
61
+ reject(new Error(`Anvil exited with code ${code}: ${stderr}`));
62
+ }
63
+ });
64
+ // Wait for Anvil to be ready by polling the RPC
65
+ const maxAttempts = 50; // 5 seconds
66
+ let attempts = 0;
67
+ const checkReady = async () => {
68
+ attempts++;
69
+ try {
70
+ const response = await fetch(rpcUrl, {
71
+ method: 'POST',
72
+ headers: { 'Content-Type': 'application/json' },
73
+ body: JSON.stringify({
74
+ jsonrpc: '2.0',
75
+ method: 'eth_blockNumber',
76
+ params: [],
77
+ id: 1
78
+ })
79
+ });
80
+ if (response.ok) {
81
+ // Add small delay to ensure all RPC methods are ready (including debug_*)
82
+ await new Promise(r => setTimeout(r, 100));
83
+ const client = createPublicClient({
84
+ chain: mainnet, // Chain is overridden by fork anyway
85
+ transport: http(rpcUrl)
86
+ });
87
+ resolve({ process: proc, port, rpcUrl, client });
88
+ }
89
+ else if (attempts < maxAttempts) {
90
+ setTimeout(checkReady, 100);
91
+ }
92
+ else {
93
+ proc.kill();
94
+ reject(new Error('Anvil failed to start within timeout'));
95
+ }
96
+ }
97
+ catch {
98
+ if (attempts < maxAttempts) {
99
+ setTimeout(checkReady, 100);
100
+ }
101
+ else {
102
+ proc.kill();
103
+ reject(new Error('Anvil failed to start within timeout'));
104
+ }
105
+ }
106
+ };
107
+ // Start checking after a small delay
108
+ setTimeout(checkReady, 200);
109
+ });
110
+ }
111
+ // Stop an Anvil instance
112
+ export function stopAnvil(instance) {
113
+ if (instance.process && !instance.process.killed) {
114
+ instance.process.kill('SIGTERM');
115
+ }
116
+ }
117
+ // Helper to run a function with a temporary Anvil instance
118
+ export async function withAnvil(config, fn) {
119
+ const instance = await startAnvil(config);
120
+ try {
121
+ return await fn(instance);
122
+ }
123
+ finally {
124
+ stopAnvil(instance);
125
+ }
126
+ }
127
+ // Archive RPC URLs for chains that need historical state access
128
+ const ARCHIVE_RPCS = {
129
+ arbitrum: 'https://arbitrum-one.arpc.x.superfluid.dev'
130
+ };
131
+ // Trace a transaction using Anvil fork
132
+ export async function traceTransactionWithAnvil(forkUrl, transactionHash, blockNumber, tracer = 'callTracer', chainName) {
133
+ // Use archive RPC if available for better historical state access
134
+ const archiveUrl = chainName && ARCHIVE_RPCS[chainName] ? ARCHIVE_RPCS[chainName] : forkUrl;
135
+ // First, fetch the original transaction from the RPC
136
+ const fetchClient = createPublicClient({
137
+ chain: mainnet,
138
+ transport: http(forkUrl)
139
+ });
140
+ const tx = await fetchClient.getTransaction({
141
+ hash: transactionHash
142
+ });
143
+ if (!tx) {
144
+ throw new Error(`Transaction ${transactionHash} not found`);
145
+ }
146
+ // Fork at the block BEFORE the transaction to replay it accurately
147
+ // Note: This requires an archival RPC that has historical state
148
+ const forkBlock = blockNumber > 0n ? blockNumber - 1n : 0n;
149
+ return withAnvil({
150
+ forkUrl: archiveUrl,
151
+ forkBlockNumber: forkBlock
152
+ }, async (instance) => {
153
+ // Use debug_traceCall to simulate and trace the transaction
154
+ // Note: This replays the tx against the post-block state, which may differ slightly
155
+ // from the original execution if state changed within the block
156
+ const trace = await instance.client.request({
157
+ method: 'debug_traceCall',
158
+ params: [
159
+ {
160
+ from: tx.from,
161
+ to: tx.to,
162
+ data: tx.input,
163
+ value: tx.value ? `0x${tx.value.toString(16)}` : '0x0',
164
+ gas: tx.gas ? `0x${tx.gas.toString(16)}` : undefined
165
+ },
166
+ 'latest',
167
+ { tracer }
168
+ ]
169
+ });
170
+ return trace;
171
+ });
172
+ }
173
+ export async function simulateCallWithTrace(forkUrl, params, blockNumber, tracer = 'callTracer') {
174
+ return withAnvil({
175
+ forkUrl,
176
+ forkBlockNumber: blockNumber
177
+ }, async (instance) => {
178
+ // First, try a regular call to get the result
179
+ let result = '0x';
180
+ let success = true;
181
+ let revertReason;
182
+ let gasUsed = 0n;
183
+ try {
184
+ // Use eth_call to get the result
185
+ result = (await instance.client.request({
186
+ method: 'eth_call',
187
+ params: [
188
+ {
189
+ to: params.to,
190
+ data: params.data,
191
+ from: params.from ?? '0x0000000000000000000000000000000000000000',
192
+ value: params.value ? `0x${params.value.toString(16)}` : undefined,
193
+ gas: params.gas ? `0x${params.gas.toString(16)}` : undefined
194
+ },
195
+ 'latest'
196
+ ]
197
+ }));
198
+ // Estimate gas
199
+ try {
200
+ gasUsed = await instance.client.estimateGas({
201
+ to: params.to,
202
+ data: params.data,
203
+ account: params.from,
204
+ value: params.value
205
+ });
206
+ }
207
+ catch {
208
+ // Ignore gas estimation errors
209
+ }
210
+ }
211
+ catch (error) {
212
+ success = false;
213
+ const errorMessage = error.message;
214
+ // Try to extract revert reason
215
+ const revertMatch = errorMessage.match(/revert(?:ed)?[:\s]*(.+?)(?:\n|$)/i);
216
+ if (revertMatch) {
217
+ revertReason = revertMatch[1].trim();
218
+ }
219
+ else {
220
+ revertReason = errorMessage;
221
+ }
222
+ }
223
+ // Get the trace using debug_traceCall
224
+ let trace = null;
225
+ try {
226
+ trace = await instance.client.request({
227
+ method: 'debug_traceCall',
228
+ params: [
229
+ {
230
+ to: params.to,
231
+ data: params.data,
232
+ from: params.from ?? '0x0000000000000000000000000000000000000000',
233
+ value: params.value ? `0x${params.value.toString(16)}` : undefined,
234
+ gas: params.gas ? `0x${params.gas.toString(16)}` : undefined
235
+ },
236
+ 'latest',
237
+ { tracer }
238
+ ]
239
+ });
240
+ }
241
+ catch (traceError) {
242
+ // If tracing fails, include the error
243
+ trace = { error: traceError.message };
244
+ }
245
+ return {
246
+ result,
247
+ trace,
248
+ gasUsed,
249
+ success,
250
+ revertReason
251
+ };
252
+ });
253
+ }
254
+ //# sourceMappingURL=anvil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anvil.js","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAgBrC,8BAA8B;AAC9B,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,yBAAyB;AACzB,KAAK,UAAU,iBAAiB,CAAC,YAAoB,IAAI;IACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;YAChC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,4BAA4B;YAC5B,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAA;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,oBAAoB,IAAI,EAAE,CAAA;IAEzC,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAA;IAElF,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAChC,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACrB,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACtB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,CAAA;YAChE,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,gDAAgD;QAChD,MAAM,WAAW,GAAG,EAAE,CAAA,CAAC,YAAY;QACnC,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;YAC5B,QAAQ,EAAE,CAAA;YACV,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;oBACnC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,iBAAiB;wBACzB,MAAM,EAAE,EAAE;wBACV,EAAE,EAAE,CAAC;qBACN,CAAC;iBACH,CAAC,CAAA;gBACF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,0EAA0E;oBAC1E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;oBAC1C,MAAM,MAAM,GAAG,kBAAkB,CAAC;wBAChC,KAAK,EAAE,OAAO,EAAE,qCAAqC;wBACrD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;qBACxB,CAAC,CAAA;oBACF,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;gBAClD,CAAC;qBAAM,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;oBAClC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,EAAE,CAAA;oBACX,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;oBAC3B,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,EAAE,CAAA;oBACX,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,qCAAqC;QACrC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,SAAS,CAAC,QAAuB;IAC/C,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACjD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAmB,EACnB,EAA2C;IAE3C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,QAAQ,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,YAAY,GAA2B;IAC3C,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AAED,uCAAuC;AACvC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,eAAuB,EACvB,WAAmB,EACnB,SAA8D,YAAY,EAC1E,SAAkB;IAElB,kEAAkE;IAClE,MAAM,UAAU,GAAG,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAE3F,qDAAqD;IACrD,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;KACzB,CAAC,CAAA;IAEF,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC;QAC1C,IAAI,EAAE,eAAgC;KACvC,CAAC,CAAA;IAEF,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,eAAe,eAAe,YAAY,CAAC,CAAA;IAC7D,CAAC;IAED,mEAAmE;IACnE,gEAAgE;IAChE,MAAM,SAAS,GAAG,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1D,OAAO,SAAS,CACd;QACE,OAAO,EAAE,UAAU;QACnB,eAAe,EAAE,SAAS;KAC3B,EACD,KAAK,EAAC,QAAQ,EAAC,EAAE;QACf,4DAA4D;QAC5D,oFAAoF;QACpF,gEAAgE;QAChE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1C,MAAM,EAAE,iBAA0B;YAClC,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,KAAK;oBACd,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;oBACtD,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;iBACrD;gBACD,QAAQ;gBACR,EAAE,MAAM,EAAE;aACF;SACX,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC,CACF,CAAA;AACH,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,MAA0B,EAC1B,WAAoB,EACpB,SAA0C,YAAY;IAQtD,OAAO,SAAS,CACd;QACE,OAAO;QACP,eAAe,EAAE,WAAW;KAC7B,EACD,KAAK,EAAC,QAAQ,EAAC,EAAE;QACf,8CAA8C;QAC9C,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,IAAI,YAAgC,CAAA;QACpC,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;gBACtC,MAAM,EAAE,UAAmB;gBAC3B,MAAM,EAAE;oBACN;wBACE,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,4CAA4C;wBACjE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;wBAClE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;qBAC7D;oBACD,QAAQ;iBACA;aACX,CAAC,CAAW,CAAA;YAEb,eAAe;YACf,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;oBAC1C,EAAE,EAAE,MAAM,CAAC,EAAmB;oBAC9B,IAAI,EAAE,MAAM,CAAC,IAAiC;oBAC9C,OAAO,EAAE,MAAM,CAAC,IAAiC;oBACjD,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,KAAK,CAAA;YACf,MAAM,YAAY,GAAI,KAAe,CAAC,OAAO,CAAA;YAC7C,+BAA+B;YAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;YAC3E,IAAI,WAAW,EAAE,CAAC;gBAChB,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,YAAY,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,KAAK,GAAY,IAAI,CAAA;QACzB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,MAAM,EAAE,iBAA0B;gBAClC,MAAM,EAAE;oBACN;wBACE,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,4CAA4C;wBACjE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;wBAClE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;qBAC7D;oBACD,QAAQ;oBACR,EAAE,MAAM,EAAE;iBACF;aACX,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,sCAAsC;YACtC,KAAK,GAAG,EAAE,KAAK,EAAG,UAAoB,CAAC,OAAO,EAAE,CAAA;QAClD,CAAC;QAED,OAAO;YACL,MAAM;YACN,KAAK;YACL,OAAO;YACP,OAAO;YACP,YAAY;SACb,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
package/dist/client.d.ts CHANGED
@@ -1718,7 +1718,10 @@ export declare class ClientManager {
1718
1718
  private config;
1719
1719
  constructor(config: Config);
1720
1720
  getClient(chainName: ChainName): ReturnType<typeof createPublicClient>;
1721
+ getConfig(): Config;
1721
1722
  getEtherscanDomain(chainName: ChainName): string;
1723
+ getRpcUrl(chainName: ChainName): string;
1724
+ getChainId(chainName: ChainName): number;
1722
1725
  }
1723
1726
  export declare function initializeClientManager(config: Config): ClientManager;
1724
1727
  export declare function getClientManager(): ClientManager;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -12,10 +12,10 @@ function getRpcUrl(chainName, config) {
12
12
  ? `https://eth-mainnet.g.alchemy.com/v2/${config.alchemyApiKey}`
13
13
  : config.infuraApiKey
14
14
  ? `https://mainnet.infura.io/v3/${config.infuraApiKey}`
15
- : 'https://eth.llamarpc.com',
15
+ : 'https://ethereum-rpc.publicnode.com',
16
16
  base: config.alchemyApiKey
17
17
  ? `https://base-mainnet.g.alchemy.com/v2/${config.alchemyApiKey}`
18
- : 'https://base.llamarpc.com',
18
+ : 'https://base-rpc.publicnode.com',
19
19
  arbitrum: config.alchemyApiKey
20
20
  ? `https://arb-mainnet.g.alchemy.com/v2/${config.alchemyApiKey}`
21
21
  : config.infuraApiKey
@@ -201,6 +201,9 @@ export class ClientManager {
201
201
  }
202
202
  return client;
203
203
  }
204
+ getConfig() {
205
+ return this.config;
206
+ }
204
207
  getEtherscanDomain(chainName) {
205
208
  const domains = {
206
209
  mainnet: 'etherscan.io',
@@ -219,6 +222,14 @@ export class ClientManager {
219
222
  };
220
223
  return domains[chainName] || 'etherscan.io';
221
224
  }
225
+ getRpcUrl(chainName) {
226
+ const chains = CHAINS(this.config);
227
+ return chains[chainName].rpc;
228
+ }
229
+ getChainId(chainName) {
230
+ const chains = CHAINS(this.config);
231
+ return chains[chainName].chain.id;
232
+ }
222
233
  }
223
234
  // Export a global client manager instance
224
235
  let clientManager = null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC/C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,EACH,MAAM,EACN,KAAK,EACL,SAAS,EACT,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACP,MAAM,aAAa,CAAA;AAGpB,2CAA2C;AAC3C,SAAS,SAAS,CAAC,SAAiB,EAAE,MAAc;IAClD,kCAAkC;IAClC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;IAED,kCAAkC;IAClC,MAAM,YAAY,GAA2B;QAC3C,OAAO,EAAE,MAAM,CAAC,aAAa;YAC3B,CAAC,CAAC,wCAAwC,MAAM,CAAC,aAAa,EAAE;YAChE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,gCAAgC,MAAM,CAAC,YAAY,EAAE;gBACvD,CAAC,CAAC,0BAA0B;QAEhC,IAAI,EAAE,MAAM,CAAC,aAAa;YACxB,CAAC,CAAC,yCAAyC,MAAM,CAAC,aAAa,EAAE;YACjE,CAAC,CAAC,2BAA2B;QAE/B,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC5B,CAAC,CAAC,wCAAwC,MAAM,CAAC,aAAa,EAAE;YAChE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,yCAAyC,MAAM,CAAC,YAAY,EAAE;gBAChE,CAAC,CAAC,8BAA8B;QAEpC,OAAO,EAAE,MAAM,CAAC,aAAa;YAC3B,CAAC,CAAC,4CAA4C,MAAM,CAAC,aAAa,EAAE;YACpE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,wCAAwC,MAAM,CAAC,YAAY,EAAE;gBAC/D,CAAC,CAAC,yBAAyB;QAE/B,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC5B,CAAC,CAAC,wCAAwC,MAAM,CAAC,aAAa,EAAE;YAChE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,yCAAyC,MAAM,CAAC,YAAY,EAAE;gBAChE,CAAC,CAAC,6BAA6B;QAEnC,SAAS,EAAE,MAAM,CAAC,aAAa;YAC7B,CAAC,CAAC,yCAAyC,MAAM,CAAC,aAAa,EAAE;YACjE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,0CAA0C,MAAM,CAAC,YAAY,EAAE;gBACjE,CAAC,CAAC,uCAAuC;QAE7C,GAAG,EAAE,MAAM,CAAC,aAAa;YACvB,CAAC,CAAC,wCAAwC,MAAM,CAAC,aAAa,EAAE;YAChE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,oCAAoC,MAAM,CAAC,YAAY,EAAE;gBAC3D,CAAC,CAAC,mCAAmC;QAEzC,MAAM,EAAE,MAAM,CAAC,aAAa;YAC1B,CAAC,CAAC,2CAA2C,MAAM,CAAC,aAAa,EAAE;YACnE,CAAC,CAAC,6BAA6B;QAEjC,KAAK,EAAE,MAAM,CAAC,aAAa;YACzB,CAAC,CAAC,0CAA0C,MAAM,CAAC,aAAa,EAAE;YAClE,CAAC,CAAC,2BAA2B;QAE/B,MAAM,EAAE,MAAM,CAAC,aAAa;YAC1B,CAAC,CAAC,2CAA2C,MAAM,CAAC,aAAa,EAAE;YACnE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,uCAAuC,MAAM,CAAC,YAAY,EAAE;gBAC9D,CAAC,CAAC,+BAA+B;QAErC,KAAK,EAAE,MAAM,CAAC,aAAa;YACzB,CAAC,CAAC,0CAA0C,MAAM,CAAC,aAAa,EAAE;YAClE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,sCAAsC,MAAM,CAAC,YAAY,EAAE;gBAC7D,CAAC,CAAC,yBAAyB;QAE/B,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC5B,CAAC,CAAC,6CAA6C,MAAM,CAAC,aAAa,EAAE;YACrE,CAAC,CAAC,MAAM,CAAC,YAAY;gBACnB,CAAC,CAAC,yCAAyC,MAAM,CAAC,YAAY,EAAE;gBAChE,CAAC,CAAC,8BAA8B;QAEpC,SAAS,EAAE,uBAAuB;KACnC,CAAA;IAED,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,0BAA0B,CAAA;AAC9D,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACrC,CAAC;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClC,CAAC;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACrC,CAAC;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,SAAS;QAChB,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QACvC,CAAC;KACF;IACD,GAAG,EAAE;QACH,KAAK,EAAE,GAAG;QACV,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,KAAK;QACZ,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpC,CAAC;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,KAAK;QACZ,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACnC,CAAC;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,SAAS;QAChB,IAAI,GAAG;YACL,OAAO,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QACvC,CAAC;KACF;CACF,CAAC,CAAA;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,cAAc,GAAuC;IAChE,OAAO,EAAE,2BAA2B,EAAE,aAAa;IACnD,QAAQ,EAAE,gCAAgC,EAAE,iBAAiB;IAC7D,SAAS,EAAE,iCAAiC,EAAE,iBAAiB;IAC/D,IAAI,EAAE,4BAA4B,EAAE,gBAAgB;IACpD,GAAG,EAAE,2BAA2B,EAAE,cAAc;IAChD,MAAM,EAAE,8BAA8B,EAAE,eAAe;IACvD,KAAK,EAAE,6BAA6B,EAAE,eAAe;IACrD,QAAQ,EAAE,gCAAgC,EAAE,cAAc;IAC1D,OAAO,EAAE,+BAA+B,EAAE,eAAe;IACzD,MAAM,EAAE,8BAA8B,EAAE,eAAe;IACvD,KAAK,EAAE,6BAA6B,EAAE,iBAAiB;IACvD,QAAQ,EAAE,gCAAgC,CAAC,eAAe;IAC1D,0CAA0C;CAC3C,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,UAAU;IACV,WAAW;IACX,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,QAAQ;IACR,OAAO;IACP,UAAU;IACV,WAAW;CACH,CAAA;AAEV,iBAAiB;AACjB,MAAM,OAAO,aAAa;IAChB,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAA;IAC5C,MAAM,CAAQ;IAEtB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,SAAS,CAAC,SAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;aACrB,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,MAA+C,CAAA;IACxD,CAAC;IAED,kBAAkB,CAAC,SAAoB;QACrC,MAAM,OAAO,GAA8B;YACzC,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,iBAAiB;YAC1B,QAAQ,EAAE,yBAAyB;YACnC,SAAS,EAAE,cAAc;YACzB,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,cAAc;SAC1B,CAAA;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,cAAc,CAAA;IAC7C,CAAC;CACF;AAED,0CAA0C;AAC1C,IAAI,aAAa,GAAyB,IAAI,CAAA;AAE9C,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
5
5
  import { initializeClientManager } from "./client.js";
6
6
  import { registerAllTools } from "./tools/index.js";
7
7
  import { parseCommandLineArgs } from "./utils.js";
8
- import { startWalletServer } from "./wallet-server.js";
8
+ import { getWalletClient } from "./wallet-client.js";
9
9
  // Parse configuration
10
10
  const config = parseCommandLineArgs();
11
11
  // Show help if requested
@@ -31,6 +31,8 @@ ENVIRONMENT VARIABLES:
31
31
  ALCHEMY_API_KEY Alternative to --alchemy-api-key
32
32
  INFURA_API_KEY Alternative to --infura-api-key
33
33
  HYPERSYNC_API_KEY Alternative to --hypersync-api-key
34
+ WALLET_SERVER_URL URL of a hosted wallet relay (omit to run one locally)
35
+ WALLET_TOKEN Shared pairing token for the wallet relay
34
36
 
35
37
  SUPPORTED CHAINS:
36
38
  mainnet, arbitrum, avalanche, base, bnb, gnosis, sonic, optimism, polygon, zksync, linea, unichain, localhost
@@ -76,17 +78,35 @@ const server = new McpServer({
76
78
  });
77
79
  // Register all tools
78
80
  registerAllTools(server);
79
- // Start wallet server in background
80
- startWalletServer().catch((error) => {
81
- console.error("[MCP] Wallet server failed to start:", error.message);
81
+ // Connect to the wallet relay (hosted when WALLET_SERVER_URL is set, embedded otherwise)
82
+ const wallet = getWalletClient();
83
+ const walletReady = wallet.connect().catch((error) => {
84
+ console.error("[MCP] Wallet relay unavailable:", error.message);
82
85
  console.error("[MCP] Transaction signing features will not be available");
83
86
  });
87
+ // The wallet relay's listening socket keeps the event loop alive, so this process would
88
+ // outlive the client that spawned it and go on holding its port. Leave when the client does.
89
+ let shuttingDown = false;
90
+ async function shutdown(reason) {
91
+ if (shuttingDown)
92
+ return;
93
+ shuttingDown = true;
94
+ console.error(`[MCP] Shutting down (${reason})`);
95
+ await wallet.stop().catch(() => { });
96
+ process.exit(0);
97
+ }
98
+ process.stdin.on("end", () => shutdown("client disconnected"));
99
+ process.stdin.on("close", () => shutdown("client disconnected"));
100
+ process.on("SIGTERM", () => shutdown("SIGTERM"));
101
+ process.on("SIGINT", () => shutdown("SIGINT"));
84
102
  // Start server
85
103
  async function main() {
86
104
  const transport = new StdioServerTransport();
87
105
  await server.connect(transport);
88
106
  console.error("Web3 Tools MCP Server running on stdio");
89
- console.error("Wallet interface available at http://localhost:3456");
107
+ // The relay may still be picking a free port, and its URL carries the pairing token.
108
+ await walletReady;
109
+ console.error(`Wallet interface available at ${wallet.getUrl()}`);
90
110
  }
91
111
  main().catch((error) => {
92
112
  console.error("Fatal error:", error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,sBAAsB;AACtB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAEtC,yBAAyB;AACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC;yBACW,WAAW,CAAC,OAAO;EAC1C,WAAW,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAmCb,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CAAC,GAAG;;;CAG/B,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yBAAyB;AACzB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IACzB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACpD,CAAC;AACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACnD,CAAC;AACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IACzB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,4BAA4B;AAC5B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEhC,6BAA6B;AAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,CAAC,CAAC;AAEH,qBAAqB;AACrB,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,oCAAoC;AACpC,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAClC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACvE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,sBAAsB;AACtB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;AAEtC,yBAAyB;AACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC;yBACW,WAAW,CAAC,OAAO;EAC1C,WAAW,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqCb,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CAAC,GAAG;;;CAG/B,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yBAAyB;AACzB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACtD,CAAC;AACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IACzB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACpD,CAAC;AACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACnD,CAAC;AACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;IACzB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,4BAA4B;AAC5B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEhC,6BAA6B;AAC7B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,CAAC,CAAC;AAEH,qBAAqB;AACrB,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,yFAAyF;AACzF,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;AACjC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,wFAAwF;AACxF,6FAA6F;AAC7F,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,KAAK,UAAU,QAAQ,CAAC,MAAc;IACpC,IAAI,YAAY;QAAE,OAAO;IACzB,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,GAAG,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC/D,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACjE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE/C,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,qFAAqF;IACrF,MAAM,WAAW,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { ChainName } from './types.js';
2
+ export interface PreviewField {
3
+ name: string;
4
+ type: string;
5
+ value: string;
6
+ warning?: string;
7
+ /** Set when the value is an address, so the UI can link and label it. */
8
+ address?: string;
9
+ label?: string;
10
+ }
11
+ export interface AssetChange {
12
+ token: string;
13
+ symbol?: string;
14
+ decimals?: number;
15
+ from: string;
16
+ to: string;
17
+ amount: string;
18
+ humanAmount?: string;
19
+ }
20
+ export interface TxPreview {
21
+ chain: string;
22
+ to: string;
23
+ /** Token symbol or verified contract name for `to`, when we can resolve one. */
24
+ toLabel?: string;
25
+ /** Block explorer base URL, for linking addresses and tokens. */
26
+ explorer?: string;
27
+ value?: string;
28
+ valueFormatted?: string;
29
+ decoded?: {
30
+ functionName: string;
31
+ signature: string;
32
+ fields: PreviewField[];
33
+ /** 'verified' = ABI from Sourcify/Etherscan, 'guessed' = selector lookup on bytecode */
34
+ source: 'verified' | 'guessed';
35
+ proxy?: string;
36
+ };
37
+ simulation?: {
38
+ success: boolean;
39
+ gasEstimate?: string;
40
+ error?: string;
41
+ assetChanges: AssetChange[];
42
+ };
43
+ }
44
+ export interface RawTx {
45
+ to: string;
46
+ data?: string;
47
+ value?: string;
48
+ }
49
+ /**
50
+ * Build the human-readable preview shown in the wallet before signing: decoded calldata
51
+ * plus a simulation of the outcome. Never throws — a preview that cannot be built is
52
+ * reported as missing rather than blocking the transaction.
53
+ */
54
+ export declare function buildTxPreview(chain: ChainName, tx: RawTx, from?: string): Promise<TxPreview>;
55
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE;QACR,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,YAAY,EAAE,CAAA;QACtB,wFAAwF;QACxF,MAAM,EAAE,UAAU,GAAG,SAAS,CAAA;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,OAAO,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,EAAE,WAAW,EAAE,CAAA;KAC5B,CAAA;CACF;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAuOD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAmBnG"}