@mcp-dockmaster/mcp-cryptowallet-evm 1.0.2 → 1.0.4

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.
@@ -26,4 +26,4 @@ export declare const getProvider: (providerUrl?: string) => ethers.providers.Pro
26
26
  * @param provider Optional provider to connect the wallet to
27
27
  * @returns An ethers.js wallet
28
28
  */
29
- export declare const getWallet: (walletData: string, password?: string, providerUrl?: string) => Promise<ethers.Wallet>;
29
+ export declare const getWallet: (walletData?: string, password?: string, providerUrl?: string) => Promise<ethers.Wallet>;
@@ -60,6 +60,15 @@ export const getProvider = (providerUrl) => {
60
60
  */
61
61
  export const getWallet = async (walletData, password, providerUrl) => {
62
62
  const provider = providerUrl ? getProvider(providerUrl) : undefined;
63
+ // If walletData is not provided, check for PRIVATE_KEY environment variable
64
+ if (!walletData && process.env.PRIVATE_KEY) {
65
+ const wallet = new ethers.Wallet(process.env.PRIVATE_KEY);
66
+ return provider ? wallet.connect(provider) : wallet;
67
+ }
68
+ // If no walletData and no environment variable, throw an error
69
+ if (!walletData) {
70
+ throw new Error("Wallet data is required or set PRIVATE_KEY environment variable");
71
+ }
63
72
  try {
64
73
  // Try to parse as JSON first
65
74
  if (walletData.startsWith("{")) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/handlers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/handlers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAI,MAAS,EAAE,OAAgB,EAAuB,EAAE;IAC3F,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,IAAI,kCAAkC;aACpD;SACF;QACD,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,MAAM;KACnB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAyB,EAAE;IAC5E,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAoB,EAA6B,EAAE;IAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,8DAA8D;QAC9D,OAAO,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,UAAmB,EACnB,QAAiB,EACjB,WAAoB,EACI,EAAE;IAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,4EAA4E;IAC5E,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACtD,CAAC;QAED,yDAAyD;QACzD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACtD,CAAC;QAED,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wBAAyB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC,CAAC"}
@@ -147,13 +147,12 @@ export const encryptWalletHandler = async (input) => {
147
147
  // Wallet Properties
148
148
  export const getAddressHandler = async (input) => {
149
149
  try {
150
- if (!input.wallet) {
151
- return createErrorResponse("Wallet is required");
152
- }
153
150
  const wallet = await getWallet(input.wallet);
154
151
  return createSuccessResponse({
155
152
  address: wallet.address
156
- }, "Wallet address retrieved successfully");
153
+ }, `Wallet address retrieved successfully:
154
+ Address: ${wallet.address}
155
+ `);
157
156
  }
158
157
  catch (error) {
159
158
  return createErrorResponse(`Failed to get wallet address: ${error.message}`);
@@ -161,13 +160,12 @@ export const getAddressHandler = async (input) => {
161
160
  };
162
161
  export const getPublicKeyHandler = async (input) => {
163
162
  try {
164
- if (!input.wallet) {
165
- return createErrorResponse("Wallet is required");
166
- }
167
163
  const wallet = await getWallet(input.wallet);
168
164
  return createSuccessResponse({
169
165
  publicKey: wallet.publicKey
170
- }, "Wallet public key retrieved successfully");
166
+ }, `Wallet public key retrieved successfully:
167
+ Public Key: ${wallet.publicKey}
168
+ `);
171
169
  }
172
170
  catch (error) {
173
171
  return createErrorResponse(`Failed to get wallet public key: ${error.message}`);
@@ -175,13 +173,12 @@ export const getPublicKeyHandler = async (input) => {
175
173
  };
176
174
  export const getPrivateKeyHandler = async (input) => {
177
175
  try {
178
- if (!input.wallet) {
179
- return createErrorResponse("Wallet is required");
180
- }
181
176
  const wallet = await getWallet(input.wallet, input.password);
182
177
  return createSuccessResponse({
183
178
  privateKey: wallet.privateKey
184
- }, "WARNING: Never share your private key with anyone. Wallet private key retrieved successfully");
179
+ }, `Wallet private key retrieved successfully:
180
+ Private Key: ${wallet.privateKey}
181
+ `);
185
182
  }
186
183
  catch (error) {
187
184
  return createErrorResponse(`Failed to get wallet private key: ${error.message}`);
@@ -190,9 +187,6 @@ export const getPrivateKeyHandler = async (input) => {
190
187
  // Blockchain Methods
191
188
  export const getBalanceHandler = async (input) => {
192
189
  try {
193
- if (!input.wallet) {
194
- return createErrorResponse("Wallet is required");
195
- }
196
190
  if (!input.provider) {
197
191
  return createErrorResponse("Provider URL is required to get balance");
198
192
  }
@@ -212,9 +206,6 @@ export const getBalanceHandler = async (input) => {
212
206
  };
213
207
  export const getChainIdHandler = async (input) => {
214
208
  try {
215
- if (!input.wallet) {
216
- return createErrorResponse("Wallet is required");
217
- }
218
209
  const wallet = await getWallet(input.wallet, input.password, input.provider);
219
210
  if (!wallet.provider) {
220
211
  return createErrorResponse("Provider is required to get chain ID");
@@ -232,9 +223,6 @@ export const getChainIdHandler = async (input) => {
232
223
  };
233
224
  export const getGasPriceHandler = async (input) => {
234
225
  try {
235
- if (!input.wallet) {
236
- return createErrorResponse("Wallet is required");
237
- }
238
226
  const wallet = await getWallet(input.wallet, input.password, input.provider);
239
227
  if (!wallet.provider) {
240
228
  return createErrorResponse("Provider is required to get gas price");
@@ -254,9 +242,6 @@ export const getGasPriceHandler = async (input) => {
254
242
  };
255
243
  export const getTransactionCountHandler = async (input) => {
256
244
  try {
257
- if (!input.wallet) {
258
- return createErrorResponse("Wallet is required");
259
- }
260
245
  const wallet = await getWallet(input.wallet, input.password, input.provider);
261
246
  if (!wallet.provider) {
262
247
  return createErrorResponse("Provider is required to get transaction count");
@@ -274,9 +259,6 @@ export const getTransactionCountHandler = async (input) => {
274
259
  };
275
260
  export const callHandler = async (input) => {
276
261
  try {
277
- if (!input.wallet) {
278
- return createErrorResponse("Wallet is required");
279
- }
280
262
  if (!input.transaction) {
281
263
  return createErrorResponse("Transaction is required");
282
264
  }
@@ -298,9 +280,6 @@ export const callHandler = async (input) => {
298
280
  // Transaction Methods
299
281
  export const sendTransactionHandler = async (input) => {
300
282
  try {
301
- if (!input.wallet) {
302
- return createErrorResponse("Wallet is required");
303
- }
304
283
  if (!input.transaction) {
305
284
  return createErrorResponse("Transaction is required");
306
285
  }
@@ -334,9 +313,6 @@ export const sendTransactionHandler = async (input) => {
334
313
  };
335
314
  export const signTransactionHandler = async (input) => {
336
315
  try {
337
- if (!input.wallet) {
338
- return createErrorResponse("Wallet is required");
339
- }
340
316
  if (!input.transaction) {
341
317
  return createErrorResponse("Transaction is required");
342
318
  }
@@ -356,9 +332,6 @@ export const signTransactionHandler = async (input) => {
356
332
  };
357
333
  export const populateTransactionHandler = async (input) => {
358
334
  try {
359
- if (!input.wallet) {
360
- return createErrorResponse("Wallet is required");
361
- }
362
335
  if (!input.transaction) {
363
336
  return createErrorResponse("Transaction is required");
364
337
  }
@@ -396,9 +369,6 @@ export const populateTransactionHandler = async (input) => {
396
369
  // Signing Methods
397
370
  export const signMessageHandler = async (input) => {
398
371
  try {
399
- if (!input.wallet) {
400
- return createErrorResponse("Wallet is required");
401
- }
402
372
  if (!input.message) {
403
373
  return createErrorResponse("Message is required");
404
374
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/handlers/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/handlers/wallet.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EAErB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACxB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,EAAE;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAY,EAAE,EAAE;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACvC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACnF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EAErB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACxB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;CACjB,EAAE;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;YACvC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACnF,CAAC,CAAC,CAAC"}
package/build/tools.d.ts CHANGED
@@ -298,7 +298,7 @@ export declare const tools: ({
298
298
  filter?: undefined;
299
299
  name?: undefined;
300
300
  };
301
- required: string[];
301
+ required: never[];
302
302
  };
303
303
  } | {
304
304
  name: string;
@@ -337,7 +337,7 @@ export declare const tools: ({
337
337
  filter?: undefined;
338
338
  name?: undefined;
339
339
  };
340
- required: string[];
340
+ required: never[];
341
341
  };
342
342
  } | {
343
343
  name: string;
@@ -418,7 +418,7 @@ export declare const tools: ({
418
418
  filter?: undefined;
419
419
  name?: undefined;
420
420
  };
421
- required: string[];
421
+ required: never[];
422
422
  };
423
423
  } | {
424
424
  name: string;
package/build/tools.js CHANGED
@@ -98,9 +98,9 @@ export const tools = [
98
98
  inputSchema: {
99
99
  type: "object",
100
100
  properties: {
101
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" }
101
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." }
102
102
  },
103
- required: ["wallet"]
103
+ required: []
104
104
  }
105
105
  },
106
106
  {
@@ -109,9 +109,9 @@ export const tools = [
109
109
  inputSchema: {
110
110
  type: "object",
111
111
  properties: {
112
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" }
112
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." }
113
113
  },
114
- required: ["wallet"]
114
+ required: []
115
115
  }
116
116
  },
117
117
  {
@@ -120,10 +120,10 @@ export const tools = [
120
120
  inputSchema: {
121
121
  type: "object",
122
122
  properties: {
123
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
123
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
124
124
  password: { type: "string", description: "The password to decrypt the wallet if it's encrypted" }
125
125
  },
126
- required: ["wallet"]
126
+ required: []
127
127
  }
128
128
  },
129
129
  // Blockchain Methods
@@ -133,11 +133,11 @@ export const tools = [
133
133
  inputSchema: {
134
134
  type: "object",
135
135
  properties: {
136
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
136
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
137
137
  provider: { type: "string", description: "Optional JSON RPC provider URL" },
138
138
  blockTag: { type: "string", description: "Optional block tag (latest, pending, etc.)" }
139
139
  },
140
- required: ["wallet", "provider"]
140
+ required: ["provider"]
141
141
  }
142
142
  },
143
143
  {
@@ -146,10 +146,10 @@ export const tools = [
146
146
  inputSchema: {
147
147
  type: "object",
148
148
  properties: {
149
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
149
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
150
150
  provider: { type: "string", description: "Optional JSON RPC provider URL" }
151
151
  },
152
- required: ["wallet"]
152
+ required: []
153
153
  }
154
154
  },
155
155
  {
@@ -158,10 +158,10 @@ export const tools = [
158
158
  inputSchema: {
159
159
  type: "object",
160
160
  properties: {
161
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
161
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
162
162
  provider: { type: "string", description: "Optional JSON RPC provider URL" }
163
163
  },
164
- required: ["wallet"]
164
+ required: []
165
165
  }
166
166
  },
167
167
  {
@@ -170,11 +170,11 @@ export const tools = [
170
170
  inputSchema: {
171
171
  type: "object",
172
172
  properties: {
173
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
173
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
174
174
  provider: { type: "string", description: "Optional JSON RPC provider URL" },
175
175
  blockTag: { type: "string", description: "Optional block tag (latest, pending, etc.)" }
176
176
  },
177
- required: ["wallet"]
177
+ required: []
178
178
  }
179
179
  },
180
180
  {
@@ -183,7 +183,7 @@ export const tools = [
183
183
  inputSchema: {
184
184
  type: "object",
185
185
  properties: {
186
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
186
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
187
187
  provider: { type: "string", description: "Optional JSON RPC provider URL" },
188
188
  transaction: {
189
189
  type: "object",
@@ -200,7 +200,7 @@ export const tools = [
200
200
  },
201
201
  blockTag: { type: "string", description: "Optional block tag (latest, pending, etc.)" }
202
202
  },
203
- required: ["wallet", "transaction"]
203
+ required: ["transaction"]
204
204
  }
205
205
  },
206
206
  // Transaction Methods
@@ -210,7 +210,7 @@ export const tools = [
210
210
  inputSchema: {
211
211
  type: "object",
212
212
  properties: {
213
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
213
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
214
214
  provider: { type: "string", description: "Optional JSON RPC provider URL" },
215
215
  transaction: {
216
216
  type: "object",
@@ -230,7 +230,7 @@ export const tools = [
230
230
  required: ["to"]
231
231
  }
232
232
  },
233
- required: ["wallet", "transaction"]
233
+ required: ["transaction"]
234
234
  }
235
235
  },
236
236
  {
@@ -239,7 +239,7 @@ export const tools = [
239
239
  inputSchema: {
240
240
  type: "object",
241
241
  properties: {
242
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
242
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
243
243
  provider: { type: "string", description: "Optional JSON RPC provider URL" },
244
244
  transaction: {
245
245
  type: "object",
@@ -259,7 +259,7 @@ export const tools = [
259
259
  required: ["to"]
260
260
  }
261
261
  },
262
- required: ["wallet", "transaction"]
262
+ required: ["transaction"]
263
263
  }
264
264
  },
265
265
  {
@@ -268,7 +268,7 @@ export const tools = [
268
268
  inputSchema: {
269
269
  type: "object",
270
270
  properties: {
271
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
271
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
272
272
  provider: { type: "string", description: "Optional JSON RPC provider URL" },
273
273
  transaction: {
274
274
  type: "object",
@@ -288,7 +288,7 @@ export const tools = [
288
288
  required: ["to"]
289
289
  }
290
290
  },
291
- required: ["wallet", "transaction"]
291
+ required: ["transaction"]
292
292
  }
293
293
  },
294
294
  // Signing Methods
@@ -298,10 +298,10 @@ export const tools = [
298
298
  inputSchema: {
299
299
  type: "object",
300
300
  properties: {
301
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
301
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
302
302
  message: { type: "string", description: "The message to sign" }
303
303
  },
304
- required: ["wallet", "message"]
304
+ required: ["message"]
305
305
  }
306
306
  },
307
307
  {
@@ -310,12 +310,12 @@ export const tools = [
310
310
  inputSchema: {
311
311
  type: "object",
312
312
  properties: {
313
- wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON)" },
313
+ wallet: { type: "string", description: "The wallet (private key, mnemonic, or JSON). If not provided, uses PRIVATE_KEY environment variable if set." },
314
314
  domain: { type: "object", description: "The domain data" },
315
315
  types: { type: "object", description: "The type definitions" },
316
316
  value: { type: "object", description: "The value to sign" }
317
317
  },
318
- required: ["wallet", "domain", "types", "value"]
318
+ required: ["domain", "types", "value"]
319
319
  }
320
320
  },
321
321
  {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-dockmaster/mcp-cryptowallet-evm",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "MCP server for EVM crypto wallet operations using ethers.js v5",
5
5
  "main": "build/index.js",
6
6
  "type": "module",
@@ -174,7 +174,9 @@ export const getAddressHandler = async (input: any): Promise<ToolResultSchema<an
174
174
 
175
175
  return createSuccessResponse({
176
176
  address: wallet.address
177
- }, "Wallet address retrieved successfully");
177
+ }, `Wallet address retrieved successfully:
178
+ Address: ${wallet.address}
179
+ `);
178
180
  } catch (error) {
179
181
  return createErrorResponse(`Failed to get wallet address: ${(error as Error).message}`);
180
182
  }
@@ -186,7 +188,9 @@ export const getPublicKeyHandler = async (input: any): Promise<ToolResultSchema<
186
188
 
187
189
  return createSuccessResponse({
188
190
  publicKey: wallet.publicKey
189
- }, "Wallet public key retrieved successfully");
191
+ }, `Wallet public key retrieved successfully:
192
+ Public Key: ${wallet.publicKey}
193
+ `);
190
194
  } catch (error) {
191
195
  return createErrorResponse(`Failed to get wallet public key: ${(error as Error).message}`);
192
196
  }
@@ -198,7 +202,9 @@ export const getPrivateKeyHandler = async (input: any): Promise<ToolResultSchema
198
202
 
199
203
  return createSuccessResponse({
200
204
  privateKey: wallet.privateKey
201
- }, "WARNING: Never share your private key with anyone. Wallet private key retrieved successfully");
205
+ }, `Wallet private key retrieved successfully:
206
+ Private Key: ${wallet.privateKey}
207
+ `);
202
208
  } catch (error) {
203
209
  return createErrorResponse(`Failed to get wallet private key: ${(error as Error).message}`);
204
210
  }
@@ -1,12 +0,0 @@
1
- module.exports = {
2
- root: true,
3
- parser: '@typescript-eslint/parser',
4
- plugins: ['@typescript-eslint'],
5
- extends: [
6
- 'eslint:recommended',
7
- 'plugin:@typescript-eslint/recommended'
8
- ],
9
- rules: {
10
- '@typescript-eslint/explicit-module-boundary-types': 'off'
11
- }
12
- }
@@ -1,53 +0,0 @@
1
- # Required Methods for EVM Crypto Wallet MCP Server
2
-
3
- Based on the ethers.js v5 documentation and the example MCP servers, the following methods should be implemented for our crypto wallet MCP server:
4
-
5
- ## Wallet Creation and Management
6
- - `wallet_create_random` - Create a new wallet with a random private key
7
- - `wallet_from_private_key` - Create a wallet from a private key
8
- - `wallet_from_mnemonic` - Create a wallet from a mnemonic phrase
9
- - `wallet_from_encrypted_json` - Create a wallet by decrypting an encrypted JSON wallet
10
- - `wallet_encrypt` - Encrypt a wallet with a password
11
-
12
- ## Wallet Properties
13
- - `wallet_get_address` - Get the wallet address
14
- - `wallet_get_public_key` - Get the wallet public key
15
- - `wallet_get_private_key` - Get the wallet private key (with appropriate security warnings)
16
- - `wallet_get_mnemonic` - Get the wallet mnemonic phrase (if available)
17
-
18
- ## Blockchain Methods
19
- - `wallet_get_balance` - Get the balance of the wallet
20
- - `wallet_get_chain_id` - Get the chain ID the wallet is connected to
21
- - `wallet_get_gas_price` - Get the current gas price
22
- - `wallet_get_transaction_count` - Get the number of transactions sent from this account (nonce)
23
- - `wallet_call` - Call a contract method without sending a transaction
24
-
25
- ## Transaction Methods
26
- - `wallet_send_transaction` - Send a transaction
27
- - `wallet_sign_transaction` - Sign a transaction without sending it
28
- - `wallet_populate_transaction` - Populate a transaction with missing fields
29
-
30
- ## Signing Methods
31
- - `wallet_sign_message` - Sign a message
32
- - `wallet_sign_typed_data` - Sign typed data (EIP-712)
33
- - `wallet_verify_message` - Verify a signed message
34
- - `wallet_verify_typed_data` - Verify signed typed data
35
-
36
- ## Provider Methods
37
- - `provider_get_block` - Get a block by number or hash
38
- - `provider_get_transaction` - Get a transaction by hash
39
- - `provider_get_transaction_receipt` - Get a transaction receipt
40
- - `provider_get_code` - Get the code at an address
41
- - `provider_get_storage_at` - Get the storage at a position for an address
42
- - `provider_estimate_gas` - Estimate the gas required for a transaction
43
- - `provider_get_logs` - Get logs that match a filter
44
- - `provider_get_ens_resolver` - Get the ENS resolver for a name
45
- - `provider_lookup_address` - Lookup the ENS name for an address
46
- - `provider_resolve_name` - Resolve an ENS name to an address
47
-
48
- ## Network Methods
49
- - `network_get_network` - Get the current network information
50
- - `network_get_block_number` - Get the current block number
51
- - `network_get_fee_data` - Get the current fee data (base fee, max priority fee, etc.)
52
-
53
- These methods cover the core functionality needed for a comprehensive EVM crypto wallet implementation using ethers.js v5.
@@ -1,73 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import {
3
- getNetworkHandler,
4
- getBlockNumberHandler,
5
- getFeeDataHandler
6
- } from '../../src/handlers/wallet.js';
7
-
8
- // Mock ethers.js functions
9
- jest.mock('ethers', () => {
10
- const originalModule = jest.requireActual('ethers');
11
-
12
- // Create a mock provider
13
- const mockProvider = {
14
- getNetwork: jest.fn().mockResolvedValue({
15
- name: 'homestead',
16
- chainId: 1,
17
- ensAddress: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'
18
- }),
19
- getBlockNumber: jest.fn().mockResolvedValue(1000000),
20
- getFeeData: jest.fn().mockResolvedValue({
21
- gasPrice: originalModule.utils.parseUnits('50', 'gwei'),
22
- maxFeePerGas: originalModule.utils.parseUnits('100', 'gwei'),
23
- maxPriorityFeePerGas: originalModule.utils.parseUnits('2', 'gwei')
24
- })
25
- };
26
-
27
- return {
28
- ...originalModule,
29
- providers: {
30
- JsonRpcProvider: jest.fn().mockReturnValue(mockProvider)
31
- },
32
- getDefaultProvider: jest.fn().mockReturnValue(mockProvider),
33
- utils: originalModule.utils
34
- };
35
- });
36
-
37
- describe('Network Methods Handlers', () => {
38
- test('getNetworkHandler should return network information', async () => {
39
- const result = await getNetworkHandler({
40
- provider: 'https://mainnet.infura.io/v3/your-api-key'
41
- });
42
-
43
- expect(result.isError).toBe(false);
44
- expect(result.toolResult).toHaveProperty('network');
45
- expect(result.toolResult.network).toHaveProperty('name');
46
- expect(result.toolResult.network).toHaveProperty('chainId');
47
- expect(result.toolResult.network).toHaveProperty('ensAddress');
48
- expect(result.toolResult.network.name).toBe('homestead');
49
- expect(result.toolResult.network.chainId).toBe(1);
50
- });
51
-
52
- test('getBlockNumberHandler should return the current block number', async () => {
53
- const result = await getBlockNumberHandler({
54
- provider: 'https://mainnet.infura.io/v3/your-api-key'
55
- });
56
-
57
- expect(result.isError).toBe(false);
58
- expect(result.toolResult).toHaveProperty('blockNumber');
59
- expect(result.toolResult.blockNumber).toBe(1000000);
60
- });
61
-
62
- test('getFeeDataHandler should return fee data', async () => {
63
- const result = await getFeeDataHandler({
64
- provider: 'https://mainnet.infura.io/v3/your-api-key'
65
- });
66
-
67
- expect(result.isError).toBe(false);
68
- expect(result.toolResult).toHaveProperty('feeData');
69
- expect(result.toolResult.feeData).toHaveProperty('gasPrice');
70
- expect(result.toolResult.feeData).toHaveProperty('maxFeePerGas');
71
- expect(result.toolResult.feeData).toHaveProperty('maxPriorityFeePerGas');
72
- });
73
- });
@@ -1,197 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import {
3
- getBlockHandler,
4
- getTransactionHandler,
5
- getTransactionReceiptHandler,
6
- getCodeHandler,
7
- getStorageAtHandler,
8
- estimateGasHandler,
9
- getLogsHandler,
10
- getEnsResolverHandler,
11
- lookupAddressHandler,
12
- resolveNameHandler
13
- } from '../../src/handlers/wallet.js';
14
-
15
- // Mock ethers.js functions
16
- jest.mock('ethers', () => {
17
- const originalModule = jest.requireActual('ethers');
18
-
19
- // Create a mock provider
20
- const mockProvider = {
21
- getBlock: jest.fn().mockResolvedValue({
22
- hash: '0xblock',
23
- number: 1000000,
24
- timestamp: Date.now() / 1000,
25
- transactions: ['0xtx1', '0xtx2']
26
- }),
27
- getTransaction: jest.fn().mockResolvedValue({
28
- hash: '0xtx',
29
- from: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
30
- to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
31
- }),
32
- getTransactionReceipt: jest.fn().mockResolvedValue({
33
- status: 1,
34
- blockNumber: 1000000,
35
- gasUsed: originalModule.BigNumber.from(21000)
36
- }),
37
- getCode: jest.fn().mockResolvedValue('0x'),
38
- getStorageAt: jest.fn().mockResolvedValue('0x0000000000000000000000000000000000000000000000000000000000000000'),
39
- estimateGas: jest.fn().mockResolvedValue(originalModule.BigNumber.from(21000)),
40
- getLogs: jest.fn().mockResolvedValue([{
41
- blockNumber: 1000000,
42
- blockHash: '0xblock',
43
- transactionIndex: 0,
44
- removed: false,
45
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
46
- data: '0x',
47
- topics: ['0xtopic1', '0xtopic2']
48
- }]),
49
- getResolver: jest.fn().mockResolvedValue({
50
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
51
- name: 'test.eth'
52
- }),
53
- lookupAddress: jest.fn().mockResolvedValue('test.eth'),
54
- resolveName: jest.fn().mockResolvedValue('0x742d35Cc6634C0532925a3b844Bc454e4438f44e')
55
- };
56
-
57
- return {
58
- ...originalModule,
59
- providers: {
60
- JsonRpcProvider: jest.fn().mockReturnValue(mockProvider)
61
- },
62
- getDefaultProvider: jest.fn().mockReturnValue(mockProvider),
63
- utils: originalModule.utils
64
- };
65
- });
66
-
67
- describe('Provider Methods Handlers', () => {
68
- test('getBlockHandler should return a block', async () => {
69
- const result = await getBlockHandler({
70
- provider: 'https://mainnet.infura.io/v3/your-api-key',
71
- blockHashOrBlockTag: 'latest',
72
- includeTransactions: true
73
- });
74
-
75
- expect(result.isError).toBe(false);
76
- expect(result.toolResult).toHaveProperty('block');
77
- expect(result.toolResult.block).toHaveProperty('hash');
78
- expect(result.toolResult.block).toHaveProperty('number');
79
- expect(result.toolResult.block).toHaveProperty('timestamp');
80
- expect(result.toolResult.block).toHaveProperty('transactions');
81
- });
82
-
83
- test('getTransactionHandler should return a transaction', async () => {
84
- const result = await getTransactionHandler({
85
- provider: 'https://mainnet.infura.io/v3/your-api-key',
86
- transactionHash: '0xtx'
87
- });
88
-
89
- expect(result.isError).toBe(false);
90
- expect(result.toolResult).toHaveProperty('transaction');
91
- expect(result.toolResult.transaction).toHaveProperty('hash');
92
- expect(result.toolResult.transaction).toHaveProperty('from');
93
- expect(result.toolResult.transaction).toHaveProperty('to');
94
- });
95
-
96
- test('getTransactionReceiptHandler should return a transaction receipt', async () => {
97
- const result = await getTransactionReceiptHandler({
98
- provider: 'https://mainnet.infura.io/v3/your-api-key',
99
- transactionHash: '0xtx'
100
- });
101
-
102
- expect(result.isError).toBe(false);
103
- expect(result.toolResult).toHaveProperty('receipt');
104
- expect(result.toolResult.receipt).toHaveProperty('status');
105
- expect(result.toolResult.receipt).toHaveProperty('blockNumber');
106
- expect(result.toolResult.receipt).toHaveProperty('gasUsed');
107
- });
108
-
109
- test('getCodeHandler should return code at an address', async () => {
110
- const result = await getCodeHandler({
111
- provider: 'https://mainnet.infura.io/v3/your-api-key',
112
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
113
- });
114
-
115
- expect(result.isError).toBe(false);
116
- expect(result.toolResult).toHaveProperty('code');
117
- expect(result.toolResult.code).toBe('0x');
118
- });
119
-
120
- test('getStorageAtHandler should return storage at a position', async () => {
121
- const result = await getStorageAtHandler({
122
- provider: 'https://mainnet.infura.io/v3/your-api-key',
123
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
124
- position: '0x0'
125
- });
126
-
127
- expect(result.isError).toBe(false);
128
- expect(result.toolResult).toHaveProperty('storage');
129
- expect(result.toolResult.storage).toBe('0x0000000000000000000000000000000000000000000000000000000000000000');
130
- });
131
-
132
- test('estimateGasHandler should estimate gas for a transaction', async () => {
133
- const result = await estimateGasHandler({
134
- provider: 'https://mainnet.infura.io/v3/your-api-key',
135
- transaction: {
136
- to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
137
- data: '0x'
138
- }
139
- });
140
-
141
- expect(result.isError).toBe(false);
142
- expect(result.toolResult).toHaveProperty('gasEstimate');
143
- expect(result.toolResult.gasEstimate).toBe('21000');
144
- });
145
-
146
- test('getLogsHandler should return logs matching a filter', async () => {
147
- const result = await getLogsHandler({
148
- provider: 'https://mainnet.infura.io/v3/your-api-key',
149
- filter: {
150
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
151
- fromBlock: 'latest',
152
- toBlock: 'latest'
153
- }
154
- });
155
-
156
- expect(result.isError).toBe(false);
157
- expect(result.toolResult).toHaveProperty('logs');
158
- expect(Array.isArray(result.toolResult.logs)).toBe(true);
159
- expect(result.toolResult.logs.length).toBe(1);
160
- expect(result.toolResult.logs[0]).toHaveProperty('blockNumber');
161
- expect(result.toolResult.logs[0]).toHaveProperty('topics');
162
- });
163
-
164
- test('getEnsResolverHandler should return an ENS resolver', async () => {
165
- const result = await getEnsResolverHandler({
166
- provider: 'https://mainnet.infura.io/v3/your-api-key',
167
- name: 'test.eth'
168
- });
169
-
170
- expect(result.isError).toBe(false);
171
- expect(result.toolResult).toHaveProperty('resolver');
172
- expect(result.toolResult.resolver).toHaveProperty('address');
173
- expect(result.toolResult.resolver).toHaveProperty('name');
174
- });
175
-
176
- test('lookupAddressHandler should lookup an ENS name for an address', async () => {
177
- const result = await lookupAddressHandler({
178
- provider: 'https://mainnet.infura.io/v3/your-api-key',
179
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
180
- });
181
-
182
- expect(result.isError).toBe(false);
183
- expect(result.toolResult).toHaveProperty('name');
184
- expect(result.toolResult.name).toBe('test.eth');
185
- });
186
-
187
- test('resolveNameHandler should resolve an ENS name to an address', async () => {
188
- const result = await resolveNameHandler({
189
- provider: 'https://mainnet.infura.io/v3/your-api-key',
190
- name: 'test.eth'
191
- });
192
-
193
- expect(result.isError).toBe(false);
194
- expect(result.toolResult).toHaveProperty('address');
195
- expect(result.toolResult.address).toBe('0x742d35Cc6634C0532925a3b844Bc454e4438f44e');
196
- });
197
- });
@@ -1,289 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import {
3
- createWalletHandler,
4
- fromPrivateKeyHandler,
5
- fromMnemonicHandler,
6
- fromEncryptedJsonHandler,
7
- encryptWalletHandler,
8
- getAddressHandler,
9
- getPublicKeyHandler,
10
- getPrivateKeyHandler,
11
- getMnemonicHandler,
12
- getBalanceHandler,
13
- getChainIdHandler,
14
- getGasPriceHandler,
15
- getTransactionCountHandler,
16
- callHandler,
17
- signMessageHandler,
18
- verifyMessageHandler
19
- } from '../../src/handlers/wallet.js';
20
-
21
- // Mock ethers.js functions
22
- jest.mock('ethers', () => {
23
- const originalModule = jest.requireActual('ethers');
24
-
25
- // Create a mock wallet
26
- const mockWallet = {
27
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
28
- privateKey: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
29
- publicKey: '0x04a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6',
30
- mnemonic: {
31
- phrase: 'test test test test test test test test test test test junk',
32
- path: "m/44'/60'/0'/0/0",
33
- locale: 'en'
34
- },
35
- connect: jest.fn().mockImplementation((provider) => {
36
- mockWallet.provider = provider;
37
- return mockWallet;
38
- }),
39
- getBalance: jest.fn().mockResolvedValue(originalModule.utils.parseEther('1.0')),
40
- getChainId: jest.fn().mockResolvedValue(1),
41
- getGasPrice: jest.fn().mockResolvedValue(originalModule.utils.parseUnits('50', 'gwei')),
42
- getTransactionCount: jest.fn().mockResolvedValue(5),
43
- call: jest.fn().mockResolvedValue('0x0000000000000000000000000000000000000000000000000000000000000001'),
44
- signMessage: jest.fn().mockResolvedValue('0xsignature'),
45
- encrypt: jest.fn().mockResolvedValue(JSON.stringify({ version: 3, id: 'test', address: '742d35cc6634c0532925a3b844bc454e4438f44e' })),
46
- provider: null
47
- };
48
-
49
- // Create a mock provider
50
- const mockProvider = {
51
- getBalance: jest.fn().mockResolvedValue(originalModule.utils.parseEther('1.0')),
52
- getBlock: jest.fn().mockResolvedValue({
53
- hash: '0xblock',
54
- number: 1000000,
55
- timestamp: Date.now() / 1000
56
- }),
57
- getTransaction: jest.fn().mockResolvedValue({
58
- hash: '0xtx',
59
- from: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
60
- to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
61
- }),
62
- getTransactionReceipt: jest.fn().mockResolvedValue({
63
- status: 1,
64
- blockNumber: 1000000
65
- }),
66
- getCode: jest.fn().mockResolvedValue('0x'),
67
- getStorageAt: jest.fn().mockResolvedValue('0x0000000000000000000000000000000000000000000000000000000000000000'),
68
- estimateGas: jest.fn().mockResolvedValue(ethers.BigNumber.from(21000)),
69
- getLogs: jest.fn().mockResolvedValue([]),
70
- getResolver: jest.fn().mockResolvedValue(null),
71
- lookupAddress: jest.fn().mockResolvedValue(null),
72
- resolveName: jest.fn().mockResolvedValue(null),
73
- getNetwork: jest.fn().mockResolvedValue({ name: 'homestead', chainId: 1 }),
74
- getBlockNumber: jest.fn().mockResolvedValue(1000000),
75
- getFeeData: jest.fn().mockResolvedValue({
76
- gasPrice: ethers.utils.parseUnits('50', 'gwei'),
77
- maxFeePerGas: ethers.utils.parseUnits('100', 'gwei'),
78
- maxPriorityFeePerGas: ethers.utils.parseUnits('2', 'gwei')
79
- })
80
- };
81
-
82
- return {
83
- ...originalModule,
84
- Wallet: {
85
- createRandom: jest.fn().mockReturnValue(mockWallet),
86
- fromMnemonic: jest.fn().mockReturnValue(mockWallet),
87
- fromEncryptedJson: jest.fn().mockResolvedValue(mockWallet)
88
- },
89
- providers: {
90
- JsonRpcProvider: jest.fn().mockReturnValue(mockProvider)
91
- },
92
- getDefaultProvider: jest.fn().mockReturnValue(mockProvider),
93
- utils: originalModule.utils
94
- };
95
- });
96
-
97
- describe('Wallet Creation and Management Handlers', () => {
98
- test('createWalletHandler should create a random wallet', async () => {
99
- const result = await createWalletHandler({});
100
-
101
- expect(result.isError).toBe(false);
102
- expect(result.toolResult).toHaveProperty('address');
103
- expect(result.toolResult).toHaveProperty('privateKey');
104
- expect(result.toolResult).toHaveProperty('publicKey');
105
- expect(result.toolResult).toHaveProperty('mnemonic');
106
- });
107
-
108
- test('createWalletHandler should encrypt wallet if password is provided', async () => {
109
- const result = await createWalletHandler({ password: 'test123' });
110
-
111
- expect(result.isError).toBe(false);
112
- expect(result.toolResult).toHaveProperty('encryptedWallet');
113
- });
114
-
115
- test('fromPrivateKeyHandler should create a wallet from a private key', async () => {
116
- const result = await fromPrivateKeyHandler({
117
- privateKey: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
118
- });
119
-
120
- expect(result.isError).toBe(false);
121
- expect(result.toolResult).toHaveProperty('address');
122
- expect(result.toolResult).toHaveProperty('privateKey');
123
- expect(result.toolResult).toHaveProperty('publicKey');
124
- });
125
-
126
- test('fromMnemonicHandler should create a wallet from a mnemonic', async () => {
127
- const result = await fromMnemonicHandler({
128
- mnemonic: 'test test test test test test test test test test test junk'
129
- });
130
-
131
- expect(result.isError).toBe(false);
132
- expect(result.toolResult).toHaveProperty('address');
133
- expect(result.toolResult).toHaveProperty('privateKey');
134
- expect(result.toolResult).toHaveProperty('publicKey');
135
- expect(result.toolResult).toHaveProperty('mnemonic');
136
- });
137
-
138
- test('fromEncryptedJsonHandler should create a wallet from encrypted JSON', async () => {
139
- const result = await fromEncryptedJsonHandler({
140
- json: JSON.stringify({ version: 3, id: 'test', address: '742d35cc6634c0532925a3b844bc454e4438f44e' }),
141
- password: 'test123'
142
- });
143
-
144
- expect(result.isError).toBe(false);
145
- expect(result.toolResult).toHaveProperty('address');
146
- expect(result.toolResult).toHaveProperty('privateKey');
147
- expect(result.toolResult).toHaveProperty('publicKey');
148
- });
149
-
150
- test('encryptWalletHandler should encrypt a wallet', async () => {
151
- const result = await encryptWalletHandler({
152
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
153
- password: 'test123'
154
- });
155
-
156
- expect(result.isError).toBe(false);
157
- expect(result.toolResult).toHaveProperty('encryptedWallet');
158
- });
159
- });
160
-
161
- describe('Wallet Properties Handlers', () => {
162
- test('getAddressHandler should return the wallet address', async () => {
163
- const result = await getAddressHandler({
164
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
165
- });
166
-
167
- expect(result.isError).toBe(false);
168
- expect(result.toolResult).toHaveProperty('address');
169
- expect(result.toolResult.address).toBe('0x742d35Cc6634C0532925a3b844Bc454e4438f44e');
170
- });
171
-
172
- test('getPublicKeyHandler should return the wallet public key', async () => {
173
- const result = await getPublicKeyHandler({
174
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
175
- });
176
-
177
- expect(result.isError).toBe(false);
178
- expect(result.toolResult).toHaveProperty('publicKey');
179
- });
180
-
181
- test('getPrivateKeyHandler should return the wallet private key', async () => {
182
- const result = await getPrivateKeyHandler({
183
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef'
184
- });
185
-
186
- expect(result.isError).toBe(false);
187
- expect(result.toolResult).toHaveProperty('privateKey');
188
- expect(result.toolResult.privateKey).toBe('0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef');
189
- });
190
-
191
- test('getMnemonicHandler should return the wallet mnemonic', async () => {
192
- const result = await getMnemonicHandler({
193
- wallet: 'test test test test test test test test test test test junk'
194
- });
195
-
196
- expect(result.isError).toBe(false);
197
- expect(result.toolResult).toHaveProperty('mnemonic');
198
- expect(result.toolResult.mnemonic).toBe('test test test test test test test test test test test junk');
199
- });
200
- });
201
-
202
- describe('Blockchain Methods Handlers', () => {
203
- test('getBalanceHandler should return the wallet balance', async () => {
204
- const result = await getBalanceHandler({
205
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
206
- provider: 'https://mainnet.infura.io/v3/your-api-key'
207
- });
208
-
209
- expect(result.isError).toBe(false);
210
- expect(result.toolResult).toHaveProperty('balance');
211
- expect(result.toolResult).toHaveProperty('balanceInEth');
212
- expect(result.toolResult.balanceInEth).toBe('1.0');
213
- });
214
-
215
- test('getChainIdHandler should return the chain ID', async () => {
216
- const result = await getChainIdHandler({
217
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
218
- provider: 'https://mainnet.infura.io/v3/your-api-key'
219
- });
220
-
221
- expect(result.isError).toBe(false);
222
- expect(result.toolResult).toHaveProperty('chainId');
223
- expect(result.toolResult.chainId).toBe(1);
224
- });
225
-
226
- test('getGasPriceHandler should return the gas price', async () => {
227
- const result = await getGasPriceHandler({
228
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
229
- provider: 'https://mainnet.infura.io/v3/your-api-key'
230
- });
231
-
232
- expect(result.isError).toBe(false);
233
- expect(result.toolResult).toHaveProperty('gasPrice');
234
- expect(result.toolResult).toHaveProperty('gasPriceInGwei');
235
- expect(result.toolResult.gasPriceInGwei).toBe('50.0');
236
- });
237
-
238
- test('getTransactionCountHandler should return the transaction count', async () => {
239
- const result = await getTransactionCountHandler({
240
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
241
- provider: 'https://mainnet.infura.io/v3/your-api-key'
242
- });
243
-
244
- expect(result.isError).toBe(false);
245
- expect(result.toolResult).toHaveProperty('transactionCount');
246
- expect(result.toolResult.transactionCount).toBe(5);
247
- });
248
-
249
- test('callHandler should call a contract method', async () => {
250
- const result = await callHandler({
251
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
252
- provider: 'https://mainnet.infura.io/v3/your-api-key',
253
- transaction: {
254
- to: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e',
255
- data: '0x70a08231000000000000000000000000742d35cc6634c0532925a3b844bc454e4438f44e'
256
- }
257
- });
258
-
259
- expect(result.isError).toBe(false);
260
- expect(result.toolResult).toHaveProperty('result');
261
- });
262
- });
263
-
264
- describe('Signing Methods Handlers', () => {
265
- test('signMessageHandler should sign a message', async () => {
266
- const result = await signMessageHandler({
267
- wallet: '0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',
268
- message: 'Hello, world!'
269
- });
270
-
271
- expect(result.isError).toBe(false);
272
- expect(result.toolResult).toHaveProperty('signature');
273
- expect(result.toolResult).toHaveProperty('message');
274
- expect(result.toolResult.signature).toBe('0xsignature');
275
- expect(result.toolResult.message).toBe('Hello, world!');
276
- });
277
-
278
- test('verifyMessageHandler should verify a signed message', async () => {
279
- const result = await verifyMessageHandler({
280
- message: 'Hello, world!',
281
- signature: '0xsignature',
282
- address: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
283
- });
284
-
285
- expect(result.isError).toBe(false);
286
- expect(result.toolResult).toHaveProperty('isValid');
287
- expect(result.toolResult).toHaveProperty('recoveredAddress');
288
- });
289
- });