web3-tools-mcp 1.5.0 → 2.0.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 (109) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/README.md +346 -164
  3. package/dist/anvil.d.ts +1 -1
  4. package/dist/anvil.d.ts.map +1 -1
  5. package/dist/anvil.js +11 -9
  6. package/dist/anvil.js.map +1 -1
  7. package/dist/chain-meta.d.ts.map +1 -1
  8. package/dist/chain-meta.js +7 -3
  9. package/dist/chain-meta.js.map +1 -1
  10. package/dist/chains.d.ts +960 -0
  11. package/dist/chains.d.ts.map +1 -0
  12. package/dist/chains.js +108 -0
  13. package/dist/chains.js.map +1 -0
  14. package/dist/client.d.ts +10 -1717
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +33 -216
  17. package/dist/client.js.map +1 -1
  18. package/dist/http-server.d.ts +18 -0
  19. package/dist/http-server.d.ts.map +1 -0
  20. package/dist/http-server.js +89 -0
  21. package/dist/http-server.js.map +1 -0
  22. package/dist/index.js +77 -32
  23. package/dist/index.js.map +1 -1
  24. package/dist/kv-storage.d.ts +23 -0
  25. package/dist/kv-storage.d.ts.map +1 -0
  26. package/dist/kv-storage.js +69 -0
  27. package/dist/kv-storage.js.map +1 -0
  28. package/dist/oauth.d.ts +31 -0
  29. package/dist/oauth.d.ts.map +1 -0
  30. package/dist/oauth.js +227 -0
  31. package/dist/oauth.js.map +1 -0
  32. package/dist/preview.d.ts.map +1 -1
  33. package/dist/preview.js +14 -4
  34. package/dist/preview.js.map +1 -1
  35. package/dist/tools/advanced.d.ts +4 -4
  36. package/dist/tools/advanced.d.ts.map +1 -1
  37. package/dist/tools/advanced.js +228 -247
  38. package/dist/tools/advanced.js.map +1 -1
  39. package/dist/tools/balance.d.ts +1 -1
  40. package/dist/tools/balance.d.ts.map +1 -1
  41. package/dist/tools/balance.js +97 -103
  42. package/dist/tools/balance.js.map +1 -1
  43. package/dist/tools/contract-info.d.ts +3 -3
  44. package/dist/tools/contract-info.d.ts.map +1 -1
  45. package/dist/tools/contract-info.js +150 -161
  46. package/dist/tools/contract-info.js.map +1 -1
  47. package/dist/tools/contract.d.ts +4 -4
  48. package/dist/tools/contract.d.ts.map +1 -1
  49. package/dist/tools/contract.js +91 -110
  50. package/dist/tools/contract.js.map +1 -1
  51. package/dist/tools/ens.d.ts +6 -6
  52. package/dist/tools/ens.d.ts.map +1 -1
  53. package/dist/tools/ens.js +239 -297
  54. package/dist/tools/ens.js.map +1 -1
  55. package/dist/tools/gas.d.ts +4 -4
  56. package/dist/tools/gas.d.ts.map +1 -1
  57. package/dist/tools/gas.js +90 -138
  58. package/dist/tools/gas.js.map +1 -1
  59. package/dist/tools/index.d.ts +1 -1
  60. package/dist/tools/index.d.ts.map +1 -1
  61. package/dist/tools/logs.d.ts +1 -1
  62. package/dist/tools/logs.d.ts.map +1 -1
  63. package/dist/tools/logs.js +36 -37
  64. package/dist/tools/logs.js.map +1 -1
  65. package/dist/tools/signatures.d.ts.map +1 -1
  66. package/dist/tools/signatures.js +67 -89
  67. package/dist/tools/signatures.js.map +1 -1
  68. package/dist/tools/transactions.d.ts +48 -4
  69. package/dist/tools/transactions.d.ts.map +1 -1
  70. package/dist/tools/transactions.js +228 -44
  71. package/dist/tools/transactions.js.map +1 -1
  72. package/dist/types.d.ts +2 -1
  73. package/dist/types.d.ts.map +1 -1
  74. package/dist/utils.d.ts +3 -8
  75. package/dist/utils.d.ts.map +1 -1
  76. package/dist/utils.js +36 -98
  77. package/dist/utils.js.map +1 -1
  78. package/dist/wallet-client.d.ts +11 -1
  79. package/dist/wallet-client.d.ts.map +1 -1
  80. package/dist/wallet-client.js +27 -9
  81. package/dist/wallet-client.js.map +1 -1
  82. package/dist/walletconnect.d.ts +52 -0
  83. package/dist/walletconnect.d.ts.map +1 -0
  84. package/dist/walletconnect.js +221 -0
  85. package/dist/walletconnect.js.map +1 -0
  86. package/package.json +21 -9
  87. package/src/anvil.ts +15 -18
  88. package/src/chain-meta.ts +8 -4
  89. package/src/chains.ts +145 -0
  90. package/src/client.ts +39 -252
  91. package/src/http-server.ts +117 -0
  92. package/src/index.ts +98 -49
  93. package/src/kv-storage.ts +83 -0
  94. package/src/oauth.ts +270 -0
  95. package/src/preview.ts +15 -14
  96. package/src/tools/advanced.ts +195 -213
  97. package/src/tools/balance.ts +103 -108
  98. package/src/tools/contract-info.ts +163 -184
  99. package/src/tools/contract.ts +123 -144
  100. package/src/tools/ens.ts +290 -345
  101. package/src/tools/gas.ts +122 -170
  102. package/src/tools/index.ts +2 -2
  103. package/src/tools/logs.ts +45 -43
  104. package/src/tools/signatures.ts +68 -86
  105. package/src/tools/transactions.ts +283 -50
  106. package/src/types.ts +2 -15
  107. package/src/utils.ts +56 -127
  108. package/src/wallet-client.ts +31 -9
  109. package/src/walletconnect.ts +269 -0
package/dist/utils.js CHANGED
@@ -13,7 +13,7 @@ export function convertBigIntToString(obj) {
13
13
  return obj.toString();
14
14
  }
15
15
  if (Array.isArray(obj)) {
16
- return obj.map(item => convertBigIntToString(item));
16
+ return obj.map((item) => convertBigIntToString(item));
17
17
  }
18
18
  if (obj && typeof obj === 'object') {
19
19
  const converted = {};
@@ -100,116 +100,53 @@ function findErrorInTrace(trace) {
100
100
  }
101
101
  return findError(trace, []);
102
102
  }
103
- // Convert arguments to appropriate types based on ABI
103
+ /**
104
+ * Coerce a JSON value into what viem expects for an ABI type. Tuples, arrays and anything
105
+ * else pass through: viem validates them, and guessing here would only mangle them.
106
+ */
107
+ function coerce(value, type) {
108
+ if (value === null || value === undefined)
109
+ return null;
110
+ if (type === 'address' || type === 'string' || type.startsWith('bytes')) {
111
+ return String(value);
112
+ }
113
+ if (type === 'bool') {
114
+ if (typeof value === 'boolean')
115
+ return value;
116
+ if (typeof value === 'string')
117
+ return value.toLowerCase() === 'true';
118
+ return Boolean(value);
119
+ }
120
+ if (type.startsWith('uint') || type.startsWith('int')) {
121
+ if (typeof value === 'number' || typeof value === 'string')
122
+ return BigInt(value);
123
+ throw new Error(`Invalid type for ${type}: ${typeof value}`);
124
+ }
125
+ return value;
126
+ }
104
127
  export function convertArgumentsToTypes(args, abiInputs) {
128
+ if (args.length > abiInputs.length) {
129
+ throw new Error(`Too many arguments provided. Expected ${abiInputs.length}, got ${args.length}`);
130
+ }
105
131
  return args.map((arg, index) => {
106
- if (index >= abiInputs.length) {
107
- throw new Error(`Too many arguments provided. Expected ${abiInputs.length}, got ${args.length}`);
108
- }
109
132
  const param = abiInputs[index];
110
133
  if (!param?.type) {
111
134
  throw new Error(`Missing type information for parameter at index ${index}`);
112
135
  }
113
- const paramType = param.type;
114
- // Handle null values
115
- if (arg === null) {
116
- return null;
117
- }
118
- // Handle different parameter types
119
- if (paramType === 'address') {
120
- return String(arg);
121
- }
122
- if (paramType === 'bool') {
123
- if (typeof arg === 'boolean')
124
- return arg;
125
- if (typeof arg === 'string')
126
- return arg.toLowerCase() === 'true';
127
- return Boolean(arg);
128
- }
129
- if (paramType.startsWith('uint') || paramType.startsWith('int')) {
130
- if (typeof arg === 'number')
131
- return BigInt(arg);
132
- if (typeof arg === 'string')
133
- return BigInt(arg);
134
- throw new Error(`Invalid type for ${paramType}: ${typeof arg}`);
135
- }
136
- if (paramType === 'string') {
137
- return String(arg);
138
- }
139
- if (paramType === 'bytes' || paramType.startsWith('bytes')) {
140
- return String(arg);
141
- }
142
- // For other types, try to convert appropriately
143
- if (typeof arg === 'string' && arg.startsWith('0x')) {
144
- return arg; // Assume it's already properly formatted
145
- }
146
- return arg;
136
+ return coerce(arg, param.type);
147
137
  });
148
138
  }
149
- // Convert event arguments to appropriate types
150
139
  export function convertEventArgsToTypes(eventArgs, abiInputs) {
151
- const converted = {};
152
- for (const [argName, argValue] of Object.entries(eventArgs)) {
153
- // Find the parameter definition for this argument name
154
- const param = abiInputs.find(input => input.name === argName);
140
+ return Object.fromEntries(Object.entries(eventArgs).map(([argName, argValue]) => {
141
+ const param = abiInputs.find((input) => input.name === argName);
155
142
  if (!param) {
156
143
  throw new Error(`Parameter '${argName}' not found in event ABI`);
157
144
  }
158
145
  if (!param.type) {
159
146
  throw new Error(`Missing type information for parameter '${argName}'`);
160
147
  }
161
- const paramType = param.type;
162
- // Handle null/undefined values
163
- if (argValue === null || argValue === undefined) {
164
- converted[argName] = null;
165
- continue;
166
- }
167
- // Handle different parameter types
168
- if (paramType === 'address') {
169
- converted[argName] = String(argValue);
170
- }
171
- else if (paramType === 'bool') {
172
- if (typeof argValue === 'boolean') {
173
- converted[argName] = argValue;
174
- }
175
- else if (typeof argValue === 'string') {
176
- converted[argName] = argValue.toLowerCase() === 'true';
177
- }
178
- else {
179
- converted[argName] = Boolean(argValue);
180
- }
181
- }
182
- else if (paramType.startsWith('uint') || paramType.startsWith('int')) {
183
- if (typeof argValue === 'number') {
184
- converted[argName] = BigInt(argValue);
185
- }
186
- else if (typeof argValue === 'string') {
187
- converted[argName] = BigInt(argValue);
188
- }
189
- else {
190
- throw new Error(`Invalid type for ${paramType}: ${typeof argValue}`);
191
- }
192
- }
193
- else if (paramType === 'string') {
194
- converted[argName] = String(argValue);
195
- }
196
- else if (paramType === 'bytes' || paramType.startsWith('bytes')) {
197
- converted[argName] = String(argValue);
198
- }
199
- else {
200
- // For other types, handle arrays and try to convert appropriately
201
- if (Array.isArray(argValue)) {
202
- converted[argName] = argValue;
203
- }
204
- else if (typeof argValue === 'string' && argValue.startsWith('0x')) {
205
- converted[argName] = argValue; // Assume it's already properly formatted
206
- }
207
- else {
208
- converted[argName] = argValue;
209
- }
210
- }
211
- }
212
- return converted;
148
+ return [argName, coerce(argValue, param.type)];
149
+ }));
213
150
  }
214
151
  // Format response as tool result
215
152
  export function formatResponse(data) {
@@ -228,7 +165,7 @@ export function parseCommandLineArgs() {
228
165
  const config = {};
229
166
  function getArgValue(argName) {
230
167
  const args = process.argv;
231
- const index = args.findIndex(arg => arg === argName);
168
+ const index = args.indexOf(argName);
232
169
  return index !== -1 && index + 1 < args.length ? args[index + 1] : undefined;
233
170
  }
234
171
  function hasArg(argName) {
@@ -244,8 +181,9 @@ export function parseCommandLineArgs() {
244
181
  config.alchemyApiKey = process.env.ALCHEMY_API_KEY || getArgValue('--alchemy-api-key');
245
182
  config.infuraApiKey = process.env.INFURA_API_KEY || getArgValue('--infura-api-key');
246
183
  config.hypersyncApiKey = process.env.HYPERSYNC_API_KEY || getArgValue('--hypersync-api-key');
184
+ config.walletConnectProjectId = process.env.WALLETCONNECT_PROJECT_ID || getArgValue('--walletconnect-project-id');
247
185
  // Parse custom RPC URLs
248
- const customRpcs = getArgValue('--custom-rpc');
186
+ const customRpcs = process.env.CUSTOM_RPC || getArgValue('--custom-rpc');
249
187
  if (customRpcs) {
250
188
  try {
251
189
  config.customRpcUrls = JSON.parse(customRpcs);
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,qBAAqB;AACrB,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,WAAmB,EACnB,MAAS,EACT,OAAkD;IAElD,OAAO;QACL,KAAK;QACL,WAAW;QACX,MAAM;QACN,OAAO;KACR,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,SAAS,GAA4B,EAAE,CAAA;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,SAAS,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,8DAA8D;IAC9D,MAAM,MAAM,GAAiE,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAEpG,mBAAmB;IACnB,IAAI,OAAe,CAAA;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9D,OAAO,GAAG,qBAAqB,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,IAAI,SAAS,OAAO,MAAM,CAAC,YAAY,EAAE,CAAA;IAC9H,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAG,KAAgC,CAAA;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAA8C,CAAA;QACxE,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAc,CAAA;gBAC/B,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAA2B,CAAA;oBAC7C,MAAM,QAAQ,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;oBACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,EAAE,KAAK,QAAQ,GAAG,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,aAAa,QAAQ,CAAC,MAAM,qBAAqB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACjI,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,KAAK,IAAI;QACzB,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI;QACpC,OAAO;KACR,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEpD,SAAS,SAAS,CAChB,IAA6B,EAC7B,IAAsB;QAEtB,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,MAAM,CAAA;QAC5C,MAAM,KAAK,GAAI,IAAI,CAAC,KAAgB,IAAK,IAAI,CAAC,YAAuB,CAAA;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAA8C,CAAA;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2B,CAAA;QAE9C,uCAAuC;QACvC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;oBACvC,IAAI,MAAM;wBAAE,OAAO,MAAM,CAAA;gBAC3B,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,WAAW,GAAmB;YAClC,IAAI;YACJ,IAAI,EAAG,IAAI,CAAC,IAAe,IAAI,EAAE;YACjC,EAAE,EAAG,IAAI,CAAC,EAAa,IAAI,EAAE;YAC7B,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACtE,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAA;QAEtC,+CAA+C;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC1C,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QACpD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,CAAC,KAAgC,EAAE,EAAE,CAAC,CAAA;AACxD,CAAC;AAED;;;GAGG;AACH,SAAS,MAAM,CAAC,KAAc,EAAE,IAAY;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAEtD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAA;QACpE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;QAChF,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,KAAK,OAAO,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAA0C,EAC1C,SAAkC;IAElC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAAkC,EAClC,SAAkC;IAElC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,cAAc,OAAO,0BAA0B,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,GAAG,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAChD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;aAC5C;SACF;KACF,CAAA;AACH,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAoC,EAAE,CAAA;IAElD,SAAS,WAAW,CAAC,OAAe;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnC,OAAO,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,CAAC;IAED,SAAS,MAAM,CAAC,OAAe;QAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;QACtB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,yDAAyD;IACzD,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;IAC5F,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAAA;IACtF,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAA;IACnF,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;IAC5F,MAAM,CAAC,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,WAAW,CAAC,4BAA4B,CAAC,CAAA;IAEjH,wBAAwB;IACxB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,cAAc,CAAC,CAAA;IACxE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,UAAU,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import { type TransactionRequest } from 'web3-wallet-relay';
2
+ /**
3
+ * Token shared by every local session, so a process can join a relay another one owns.
4
+ * Stored 0600 because holding it is enough to push transactions at the signer.
5
+ */
6
+ export declare function localToken(): string;
2
7
  /**
3
8
  * Requester side of the wallet relay. Connects to a hosted relay when
4
9
  * WALLET_SERVER_URL is set, otherwise starts one in-process and talks to that.
@@ -54,6 +59,8 @@ export declare class WalletClient {
54
59
  * we still hand out a tokened URL: a link without one loads a page that cannot pair.
55
60
  */
56
61
  getUrl(): string;
62
+ /** A relay we do not own, or a server with no desktop, has no browser for us to open. */
63
+ private get canOpenBrowser();
57
64
  openBrowser(): void;
58
65
  /**
59
66
  * Raise the already-open wallet tab. Deliberately drops the `#t=` fragment: the tab has
@@ -79,5 +86,8 @@ export declare class WalletClient {
79
86
  private open;
80
87
  stop(): Promise<void>;
81
88
  }
82
- export declare function getWalletClient(): WalletClient;
89
+ export declare function getWalletClient(relayOptions?: {
90
+ port?: number;
91
+ token?: string;
92
+ }): WalletClient;
83
93
  //# sourceMappingURL=wallet-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-client.d.ts","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,kBAAkB,EAA4B,MAAM,mBAAmB,CAAA;AAuDlG;;;GAGG;AACH,qBAAa,YAAY;IAkBX,OAAO,CAAC,YAAY;IAjBhC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,OAAO,CAA2F;IAC1G,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAI;IACxB,wFAAwF;IACxF,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAEnC,YAAY,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;IAExE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAUhB,SAAS;YAKT,aAAa;IA2B3B;;;;;;OAMG;YACW,YAAY;IAoB1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmDlB,OAAO,CAAC,SAAS;IAiCjB,yFAAyF;IACnF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB9B,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,yFAAyF;IACzF,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;;OAGG;IACH,MAAM,IAAI,MAAM;IAMhB,WAAW;IAMX;;;;OAIG;IACH;;;;;;;OAOG;IACH,YAAY;IAQZ;8FAC0F;IAC1F,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAoBN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B;AAID,wBAAgB,eAAe,IAAI,YAAY,CAG9C"}
1
+ {"version":3,"file":"wallet-client.d.ts","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,KAAK,kBAAkB,EAAyC,MAAM,mBAAmB,CAAA;AAwCvH;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAoBnC;AAED;;;GAGG;AACH,qBAAa,YAAY;IAkBX,OAAO,CAAC,YAAY;IAjBhC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,OAAO,CAA2F;IAC1G,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,YAAY,CAAI;IACxB,wFAAwF;IACxF,OAAO,CAAC,iBAAiB,CAAsB;IAE/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;gBAEnC,YAAY,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO;IAExE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAUhB,SAAS;YAKT,aAAa;IA2B3B;;;;;;OAMG;YACW,YAAY;IAoB1B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmDlB,OAAO,CAAC,SAAS;IAiCjB,yFAAyF;IACnF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B9B,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5D,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,yFAAyF;IACzF,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC;;;OAGG;IACH,MAAM,IAAI,MAAM;IAMhB,yFAAyF;IACzF,OAAO,KAAK,cAAc,GAEzB;IAED,WAAW;IAMX;;;;OAIG;IACH;;;;;;;OAOG;IACH,YAAY;IAQZ;8FAC0F;IAC1F,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAoBN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAK5B;AAID,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAG9F"}
@@ -1,11 +1,18 @@
1
- import { WebSocket } from 'ws';
2
1
  import { execFile } from 'node:child_process';
3
2
  import { randomBytes } from 'node:crypto';
4
3
  import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
5
4
  import { homedir } from 'node:os';
6
5
  import { join } from 'node:path';
7
- import { WalletRelay } from 'web3-wallet-relay';
6
+ import { LOCAL_PORT_ATTEMPTS, WalletRelay } from 'web3-wallet-relay';
7
+ import { WebSocket } from 'ws';
8
8
  const REQUEST_TIMEOUT = 300_000;
9
+ /** Serving over HTTP means no desktop here: never try to open a browser, and never
10
+ * hand out a loopback URL as the place to open the signing page. */
11
+ const HOSTED = Boolean(process.env.MCP_HTTP_PORT);
12
+ function pairingUrlFor(port, token) {
13
+ const base = HOSTED ? (process.env.MCP_PUBLIC_URL ?? `http://localhost:${port}`) : `http://127.0.0.1:${port}`;
14
+ return `${base.replace(/\/$/, '')}/#t=${token}`;
15
+ }
9
16
  const SIGNER_WAIT_TIMEOUT = 30_000;
10
17
  const CONNECT_ATTEMPTS = 8;
11
18
  const MAX_CONNECT_BACKOFF = 15_000;
@@ -28,12 +35,13 @@ function browserApp(userAgent) {
28
35
  }
29
36
  // Every MCP process on this machine looks for a relay here before starting one, so all
30
37
  // sessions end up sharing a single wallet page instead of each opening its own tab.
31
- const LOCAL_PORTS = [3456, 3457, 3458, 3459, 3460];
38
+ // Kept in step with the relay: it walks the same span when 3456 is taken.
39
+ const LOCAL_PORTS = Array.from({ length: LOCAL_PORT_ATTEMPTS }, (_, i) => 3456 + i);
32
40
  /**
33
41
  * Token shared by every local session, so a process can join a relay another one owns.
34
42
  * Stored 0600 because holding it is enough to push transactions at the signer.
35
43
  */
36
- function localToken() {
44
+ export function localToken() {
37
45
  const dir = join(process.env.XDG_CONFIG_HOME ?? join(homedir(), '.config'), 'web3-tools-mcp');
38
46
  const file = join(dir, 'relay-token');
39
47
  try {
@@ -135,7 +143,7 @@ export class WalletClient {
135
143
  for (const port of ports) {
136
144
  try {
137
145
  await this.openSocket(`ws://127.0.0.1:${port}`, token);
138
- this.pairingUrl = `http://127.0.0.1:${port}/#t=${token}`;
146
+ this.pairingUrl = pairingUrlFor(port, token);
139
147
  return;
140
148
  }
141
149
  catch {
@@ -236,8 +244,14 @@ export class WalletClient {
236
244
  // about the request over its own socket and raises itself (tab title + desktop
237
245
  // notification); asking the OS to open a URL cannot reliably focus an existing tab —
238
246
  // Chrome opens another one — and every attempt to do so left a stray tab behind.
239
- if (!this.isRemote && this.pages === 0)
247
+ if (this.pages === 0) {
248
+ // Nothing to open a page with and nobody already watching one: waiting out the
249
+ // timeout would just stall the caller in front of a screen that does not exist.
250
+ if (!this.canOpenBrowser) {
251
+ throw new Error(`No wallet page is open. Open ${this.getUrl()}, connect your wallet, then try again.`);
252
+ }
240
253
  this.openBrowser();
254
+ }
241
255
  const deadline = Date.now() + this.signerWaitTimeout;
242
256
  while (this.signers === 0 && Date.now() < deadline) {
243
257
  await new Promise((resolve) => setTimeout(resolve, 250));
@@ -282,8 +296,12 @@ export class WalletClient {
282
296
  return `${this.remoteUrl}#t=${this.remoteToken ?? ''}`;
283
297
  return `http://127.0.0.1:${LOCAL_PORTS[0]}/#t=${this.relayOptions.token ?? localToken()}`;
284
298
  }
299
+ /** A relay we do not own, or a server with no desktop, has no browser for us to open. */
300
+ get canOpenBrowser() {
301
+ return !this.isRemote && !HOSTED;
302
+ }
285
303
  openBrowser() {
286
- if (this.isRemote)
304
+ if (!this.canOpenBrowser)
287
305
  return;
288
306
  this.lastOpenedAt = Date.now();
289
307
  this.open(this.getUrl(), (url) => console.error(`[Wallet] Could not open a browser — visit ${url}`));
@@ -349,9 +367,9 @@ export class WalletClient {
349
367
  }
350
368
  }
351
369
  let client = null;
352
- export function getWalletClient() {
370
+ export function getWalletClient(relayOptions) {
353
371
  if (!client)
354
- client = new WalletClient();
372
+ client = new WalletClient(relayOptions);
355
373
  return client;
356
374
  }
357
375
  //# sourceMappingURL=wallet-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-client.js","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-client.js","sourceRoot":"","sources":["../src/wallet-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { ChainName } from './types.js';
2
+ interface Session {
3
+ topic: string;
4
+ accounts: string[];
5
+ chains: number[];
6
+ peer?: string;
7
+ }
8
+ export declare class PhoneSigner {
9
+ private projectId;
10
+ private client;
11
+ private starting;
12
+ private pairing;
13
+ /** Label shown in the wallet; whoever is driving this server says who they are. */
14
+ private agent;
15
+ constructor(projectId: string);
16
+ private start;
17
+ /** The most recent still-valid session, if the phone is already paired. */
18
+ session(): Promise<Session | undefined>;
19
+ isPaired(): Promise<boolean>;
20
+ /**
21
+ * Start a pairing and return its URI immediately, resolving the wallet's approval in the
22
+ * background — a tool result only reaches the user once it returns, so blocking here
23
+ * would hide the QR they are supposed to scan.
24
+ */
25
+ pair(chains: ChainName[], agent?: string): Promise<string>;
26
+ /** Send a request to the paired wallet. Throws if the chain is outside the session. */
27
+ request(chain: ChainName, method: string, params: unknown[]): Promise<unknown>;
28
+ /** Every live session, not just the one that would be used for signing. */
29
+ sessions(): Promise<Session[]>;
30
+ /**
31
+ * Disconnect everything: sessions, and the pairings underneath them. Each pairing
32
+ * attempt leaves one behind whether or not a wallet ever approved it, so they
33
+ * accumulate quietly in the store.
34
+ */
35
+ disconnectAll(): Promise<{
36
+ sessions: number;
37
+ pairings: number;
38
+ }>;
39
+ unpair(): Promise<void>;
40
+ }
41
+ /**
42
+ * Links that open a wallet straight onto this pairing, for when the agent is running on
43
+ * the phone itself and there is no second screen to scan from.
44
+ *
45
+ * Native schemes are preferred over universal links: chat apps are documented to mishandle
46
+ * the latter, opening the wallet with no prompt or diverting to an app store.
47
+ */
48
+ export declare function pairingLinks(projectId: string, uri: string, search?: string): Promise<Record<string, string>>;
49
+ /** Configured only when a WalletConnect project id is present. */
50
+ export declare function getPhoneSigner(): PhoneSigner | null;
51
+ export {};
52
+ //# sourceMappingURL=walletconnect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletconnect.d.ts","sourceRoot":"","sources":["../src/walletconnect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAiB3C,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAsBD,qBAAa,WAAW;IAOV,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAAgD;IAC/D,mFAAmF;IACnF,OAAO,CAAC,KAAK,CAAoB;gBAEb,SAAS,EAAE,MAAM;YAEvB,KAAK;IA8BnB,2EAA2E;IACrE,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAiBvC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC;;;;OAIG;IACG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8BhE,uFAAuF;IACjF,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpF,2EAA2E;IACrE,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAUpC;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B;AAiCD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAcnH;AAID,kEAAkE;AAClE,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAKnD"}