@mcp-dockmaster/mcp-cryptowallet-evm 1.0.3 → 1.0.5

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.
@@ -14,11 +14,11 @@ export declare const createSuccessResponse: <T>(result: T, message?: string) =>
14
14
  */
15
15
  export declare const createErrorResponse: (message: string) => ToolResultSchema<any>;
16
16
  /**
17
- * Gets a provider from a provider URL
18
- * @param providerUrl The provider URL
17
+ * Gets the provider setup in memory
19
18
  * @returns An ethers.js provider
20
19
  */
21
- export declare const getProvider: (providerUrl?: string) => ethers.providers.Provider;
20
+ export declare const getProvider: () => ethers.providers.Provider;
21
+ export declare const setProvider: (providerURL: string) => void;
22
22
  /**
23
23
  * Gets a wallet from a private key, mnemonic, or JSON wallet
24
24
  * @param walletData The wallet data (private key, mnemonic, or JSON)
@@ -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) => Promise<ethers.Wallet>;
@@ -1,4 +1,13 @@
1
1
  import { ethers } from "ethers";
2
+ let provider;
3
+ try {
4
+ provider = process.env.PROVIDER_URL ?
5
+ ethers.providers.getDefaultProvider(process.env.PROVIDER_URL) :
6
+ ethers.providers.getDefaultProvider('https://eth.llamarpc.com');
7
+ }
8
+ catch (error) {
9
+ console.error("Error initializing provider:", error);
10
+ }
2
11
  /**
3
12
  * Creates a success response with the given result
4
13
  * @param result The result to include in the response
@@ -35,20 +44,21 @@ export const createErrorResponse = (message) => {
35
44
  };
36
45
  };
37
46
  /**
38
- * Gets a provider from a provider URL
39
- * @param providerUrl The provider URL
47
+ * Gets the provider setup in memory
40
48
  * @returns An ethers.js provider
41
49
  */
42
- export const getProvider = (providerUrl) => {
43
- if (!providerUrl) {
44
- // Default to Ethereum mainnet if no provider URL is specified
45
- return ethers.getDefaultProvider();
50
+ export const getProvider = () => {
51
+ if (!provider) {
52
+ throw new Error(`Invalid provider URL: ${process.env.PROVIDER_URL}`);
46
53
  }
54
+ return provider;
55
+ };
56
+ export const setProvider = (providerURL) => {
47
57
  try {
48
- return new ethers.providers.JsonRpcProvider(providerUrl);
58
+ provider = ethers.providers.getDefaultProvider(providerURL);
49
59
  }
50
60
  catch (error) {
51
- throw new Error(`Invalid provider URL: ${providerUrl}`);
61
+ throw new Error(`Invalid provider URL: ${providerURL}`);
52
62
  }
53
63
  };
54
64
  /**
@@ -58,8 +68,8 @@ export const getProvider = (providerUrl) => {
58
68
  * @param provider Optional provider to connect the wallet to
59
69
  * @returns An ethers.js wallet
60
70
  */
61
- export const getWallet = async (walletData, password, providerUrl) => {
62
- const provider = providerUrl ? getProvider(providerUrl) : undefined;
71
+ export const getWallet = async (walletData, password) => {
72
+ const provider = getProvider();
63
73
  // If walletData is not provided, check for PRIVATE_KEY environment variable
64
74
  if (!walletData && process.env.PRIVATE_KEY) {
65
75
  const wallet = new ethers.Wallet(process.env.PRIVATE_KEY);
@@ -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":"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"}
@@ -1,5 +1,6 @@
1
1
  import { ToolResultSchema } from "../types.js";
2
2
  import { fromPrivateKeyHandlerInput, createMnemonicPhraseHandlerInput } from "./wallet.types.js";
3
+ export declare const setProviderHandler: (input: any) => Promise<ToolResultSchema<any>>;
3
4
  export declare const createWalletHandler: (input: any) => Promise<ToolResultSchema<any>>;
4
5
  export declare const fromPrivateKeyHandler: (input: fromPrivateKeyHandlerInput) => Promise<ToolResultSchema<any>>;
5
6
  export declare const createMnemonicPhraseHandler: (input: createMnemonicPhraseHandlerInput) => Promise<ToolResultSchema<any>>;
@@ -1,6 +1,18 @@
1
1
  import { ethers } from "ethers";
2
- import { createSuccessResponse, createErrorResponse, getProvider, getWallet } from "./utils.js";
2
+ import { createSuccessResponse, createErrorResponse, getProvider, getWallet, setProvider } from "./utils.js";
3
3
  import { generateMnemonic, } from '@scure/bip39';
4
+ // Provider handlers
5
+ export const setProviderHandler = async (input) => {
6
+ try {
7
+ setProvider(input.providerURL);
8
+ return createSuccessResponse({}, `Provider set successfully:
9
+ Provider URL: ${input.providerURL}
10
+ `);
11
+ }
12
+ catch (error) {
13
+ return createErrorResponse(`Failed to set provider: ${error.message}`);
14
+ }
15
+ };
4
16
  // Wallet Creation and Management
5
17
  export const createWalletHandler = async (input) => {
6
18
  try {
@@ -40,7 +52,7 @@ export const fromPrivateKeyHandler = async (input) => {
40
52
  if (!input.privateKey) {
41
53
  return createErrorResponse("Private key is required");
42
54
  }
43
- const provider = input.provider ? getProvider(input.provider) : undefined;
55
+ const provider = getProvider();
44
56
  const wallet = new ethers.Wallet(input.privateKey, provider);
45
57
  return createSuccessResponse({
46
58
  address: wallet.address,
@@ -84,7 +96,7 @@ export const fromMnemonicHandler = async (input) => {
84
96
  path: input.path,
85
97
  wordlist: (input.locale && ethers.wordlists[input.locale]) || ethers.wordlists.en
86
98
  };
87
- const provider = input.provider ? getProvider(input.provider) : undefined;
99
+ const provider = getProvider();
88
100
  const wallet = ethers.Wallet.fromMnemonic(input.mnemonic, options.path, options.wordlist);
89
101
  if (provider)
90
102
  wallet.connect(provider);
@@ -112,7 +124,7 @@ export const fromEncryptedJsonHandler = async (input) => {
112
124
  return createErrorResponse("Password is required");
113
125
  }
114
126
  const wallet = await ethers.Wallet.fromEncryptedJson(input.json, input.password);
115
- const provider = input.provider ? getProvider(input.provider) : undefined;
127
+ const provider = getProvider();
116
128
  if (provider) {
117
129
  wallet.connect(provider);
118
130
  }
@@ -150,7 +162,9 @@ export const getAddressHandler = async (input) => {
150
162
  const wallet = await getWallet(input.wallet);
151
163
  return createSuccessResponse({
152
164
  address: wallet.address
153
- }, "Wallet address retrieved successfully");
165
+ }, `Wallet address retrieved successfully:
166
+ Address: ${wallet.address}
167
+ `);
154
168
  }
155
169
  catch (error) {
156
170
  return createErrorResponse(`Failed to get wallet address: ${error.message}`);
@@ -161,7 +175,9 @@ export const getPublicKeyHandler = async (input) => {
161
175
  const wallet = await getWallet(input.wallet);
162
176
  return createSuccessResponse({
163
177
  publicKey: wallet.publicKey
164
- }, "Wallet public key retrieved successfully");
178
+ }, `Wallet public key retrieved successfully:
179
+ Public Key: ${wallet.publicKey}
180
+ `);
165
181
  }
166
182
  catch (error) {
167
183
  return createErrorResponse(`Failed to get wallet public key: ${error.message}`);
@@ -172,7 +188,9 @@ export const getPrivateKeyHandler = async (input) => {
172
188
  const wallet = await getWallet(input.wallet, input.password);
173
189
  return createSuccessResponse({
174
190
  privateKey: wallet.privateKey
175
- }, "WARNING: Never share your private key with anyone. Wallet private key retrieved successfully");
191
+ }, `Wallet private key retrieved successfully:
192
+ Private Key: ${wallet.privateKey}
193
+ `);
176
194
  }
177
195
  catch (error) {
178
196
  return createErrorResponse(`Failed to get wallet private key: ${error.message}`);
@@ -181,10 +199,7 @@ export const getPrivateKeyHandler = async (input) => {
181
199
  // Blockchain Methods
182
200
  export const getBalanceHandler = async (input) => {
183
201
  try {
184
- if (!input.provider) {
185
- return createErrorResponse("Provider URL is required to get balance");
186
- }
187
- const wallet = await getWallet(input.wallet, input.password, input.provider);
202
+ const wallet = await getWallet(input.wallet, input.password);
188
203
  const balance = await wallet.getBalance(input.blockTag ?? "latest");
189
204
  return createSuccessResponse({
190
205
  balance: balance.toString(),
@@ -200,9 +215,9 @@ export const getBalanceHandler = async (input) => {
200
215
  };
201
216
  export const getChainIdHandler = async (input) => {
202
217
  try {
203
- const wallet = await getWallet(input.wallet, input.password, input.provider);
218
+ const wallet = await getWallet(input.wallet, input.password);
204
219
  if (!wallet.provider) {
205
- return createErrorResponse("Provider is required to get chain ID");
220
+ return createErrorResponse("Provider is required to get chain ID, please set the provider URL");
206
221
  }
207
222
  const chainId = await wallet.getChainId();
208
223
  return createSuccessResponse({
@@ -217,9 +232,9 @@ export const getChainIdHandler = async (input) => {
217
232
  };
218
233
  export const getGasPriceHandler = async (input) => {
219
234
  try {
220
- const wallet = await getWallet(input.wallet, input.password, input.provider);
235
+ const wallet = await getWallet(input.wallet, input.password);
221
236
  if (!wallet.provider) {
222
- return createErrorResponse("Provider is required to get gas price");
237
+ return createErrorResponse("Provider is required to get gas price, please set the provider URL");
223
238
  }
224
239
  const gasPrice = await wallet.getGasPrice();
225
240
  return createSuccessResponse({
@@ -236,9 +251,9 @@ export const getGasPriceHandler = async (input) => {
236
251
  };
237
252
  export const getTransactionCountHandler = async (input) => {
238
253
  try {
239
- const wallet = await getWallet(input.wallet, input.password, input.provider);
254
+ const wallet = await getWallet(input.wallet, input.password);
240
255
  if (!wallet.provider) {
241
- return createErrorResponse("Provider is required to get transaction count");
256
+ return createErrorResponse("Provider is required to get transaction count, please set the provider URL");
242
257
  }
243
258
  const transactionCount = await wallet.getTransactionCount(input.blockTag);
244
259
  return createSuccessResponse({
@@ -256,9 +271,9 @@ export const callHandler = async (input) => {
256
271
  if (!input.transaction) {
257
272
  return createErrorResponse("Transaction is required");
258
273
  }
259
- const wallet = await getWallet(input.wallet, input.password, input.provider);
274
+ const wallet = await getWallet(input.wallet, input.password);
260
275
  if (!wallet.provider) {
261
- return createErrorResponse("Provider is required to call a contract");
276
+ return createErrorResponse("Provider is required to call a contract, please set the provider URL");
262
277
  }
263
278
  const result = await wallet.call(input.transaction, input.blockTag);
264
279
  return createSuccessResponse({
@@ -277,9 +292,9 @@ export const sendTransactionHandler = async (input) => {
277
292
  if (!input.transaction) {
278
293
  return createErrorResponse("Transaction is required");
279
294
  }
280
- const wallet = await getWallet(input.wallet, input.password, input.provider);
295
+ const wallet = await getWallet(input.wallet, input.password);
281
296
  if (!wallet.provider) {
282
- return createErrorResponse("Provider is required to send a transaction");
297
+ return createErrorResponse("Provider is required to send a transaction, please set the provider URL");
283
298
  }
284
299
  const tx = await wallet.sendTransaction(input.transaction);
285
300
  return createSuccessResponse({
@@ -310,7 +325,7 @@ export const signTransactionHandler = async (input) => {
310
325
  if (!input.transaction) {
311
326
  return createErrorResponse("Transaction is required");
312
327
  }
313
- const wallet = await getWallet(input.wallet, input.password, input.provider);
328
+ const wallet = await getWallet(input.wallet, input.password);
314
329
  // For signing a transaction, we need to populate it first
315
330
  const populatedTx = await wallet.populateTransaction(input.transaction);
316
331
  const signedTx = await wallet.signTransaction(populatedTx);
@@ -329,9 +344,9 @@ export const populateTransactionHandler = async (input) => {
329
344
  if (!input.transaction) {
330
345
  return createErrorResponse("Transaction is required");
331
346
  }
332
- const wallet = await getWallet(input.wallet, input.password, input.provider);
347
+ const wallet = await getWallet(input.wallet, input.password);
333
348
  if (!wallet.provider) {
334
- return createErrorResponse("Provider is required to populate a transaction");
349
+ return createErrorResponse("Provider is required to populate a transaction, please set the provider URL");
335
350
  }
336
351
  const populatedTx = await wallet.populateTransaction(input.transaction);
337
352
  return createSuccessResponse({
@@ -458,13 +473,10 @@ export const verifyTypedDataHandler = async (input) => {
458
473
  // Provider Methods
459
474
  export const getBlockHandler = async (input) => {
460
475
  try {
461
- if (!input.provider) {
462
- return createErrorResponse("Provider is required");
463
- }
464
476
  if (!input.blockHashOrBlockTag) {
465
477
  return createErrorResponse("Block hash or block tag is required");
466
478
  }
467
- const provider = getProvider(input.provider);
479
+ const provider = getProvider();
468
480
  // In ethers.js v5, getBlock can take includeTransactions as a second parameter
469
481
  // but TypeScript definitions might not reflect this
470
482
  const block = await provider.getBlock(input.blockHashOrBlockTag, input.includeTransactions);
@@ -483,13 +495,10 @@ export const getBlockHandler = async (input) => {
483
495
  };
484
496
  export const getTransactionHandler = async (input) => {
485
497
  try {
486
- if (!input.provider) {
487
- return createErrorResponse("Provider is required");
488
- }
489
498
  if (!input.transactionHash) {
490
499
  return createErrorResponse("Transaction hash is required");
491
500
  }
492
- const provider = getProvider(input.provider);
501
+ const provider = getProvider();
493
502
  const transaction = await provider.getTransaction(input.transactionHash);
494
503
  return createSuccessResponse({
495
504
  transaction
@@ -504,13 +513,10 @@ export const getTransactionHandler = async (input) => {
504
513
  };
505
514
  export const getTransactionReceiptHandler = async (input) => {
506
515
  try {
507
- if (!input.provider) {
508
- return createErrorResponse("Provider is required");
509
- }
510
516
  if (!input.transactionHash) {
511
517
  return createErrorResponse("Transaction hash is required");
512
518
  }
513
- const provider = getProvider(input.provider);
519
+ const provider = getProvider();
514
520
  const receipt = await provider.getTransactionReceipt(input.transactionHash);
515
521
  return createSuccessResponse({
516
522
  receipt
@@ -525,13 +531,10 @@ export const getTransactionReceiptHandler = async (input) => {
525
531
  };
526
532
  export const getCodeHandler = async (input) => {
527
533
  try {
528
- if (!input.provider) {
529
- return createErrorResponse("Provider is required");
530
- }
531
534
  if (!input.address) {
532
535
  return createErrorResponse("Address is required");
533
536
  }
534
- const provider = getProvider(input.provider);
537
+ const provider = getProvider();
535
538
  const code = await provider.getCode(input.address, input.blockTag);
536
539
  return createSuccessResponse({
537
540
  code
@@ -546,16 +549,13 @@ export const getCodeHandler = async (input) => {
546
549
  };
547
550
  export const getStorageAtHandler = async (input) => {
548
551
  try {
549
- if (!input.provider) {
550
- return createErrorResponse("Provider is required");
551
- }
552
552
  if (!input.address) {
553
553
  return createErrorResponse("Address is required");
554
554
  }
555
555
  if (!input.position) {
556
556
  return createErrorResponse("Position is required");
557
557
  }
558
- const provider = getProvider(input.provider);
558
+ const provider = getProvider();
559
559
  const storage = await provider.getStorageAt(input.address, input.position, input.blockTag);
560
560
  return createSuccessResponse({
561
561
  storage
@@ -571,13 +571,13 @@ export const getStorageAtHandler = async (input) => {
571
571
  };
572
572
  export const estimateGasHandler = async (input) => {
573
573
  try {
574
- if (!input.provider) {
575
- return createErrorResponse("Provider is required");
576
- }
577
574
  if (!input.transaction) {
578
575
  return createErrorResponse("Transaction is required");
579
576
  }
580
- const provider = getProvider(input.provider);
577
+ const provider = getProvider();
578
+ if (!provider) {
579
+ return createErrorResponse("Provider is required to estimate gas, please set the provider URL");
580
+ }
581
581
  const gasEstimate = await provider.estimateGas(input.transaction);
582
582
  return createSuccessResponse({
583
583
  gasEstimate: gasEstimate.toString()
@@ -591,13 +591,13 @@ export const estimateGasHandler = async (input) => {
591
591
  };
592
592
  export const getLogsHandler = async (input) => {
593
593
  try {
594
- if (!input.provider) {
595
- return createErrorResponse("Provider is required");
596
- }
597
594
  if (!input.filter) {
598
595
  return createErrorResponse("Filter is required");
599
596
  }
600
- const provider = getProvider(input.provider);
597
+ const provider = getProvider();
598
+ if (!provider) {
599
+ return createErrorResponse("Provider is required to get logs, please set the provider URL");
600
+ }
601
601
  const logs = await provider.getLogs(input.filter);
602
602
  return createSuccessResponse({
603
603
  logs
@@ -611,13 +611,13 @@ export const getLogsHandler = async (input) => {
611
611
  };
612
612
  export const getEnsResolverHandler = async (input) => {
613
613
  try {
614
- if (!input.provider) {
615
- return createErrorResponse("Provider is required");
616
- }
617
614
  if (!input.name) {
618
615
  return createErrorResponse("ENS name is required");
619
616
  }
620
- const provider = getProvider(input.provider);
617
+ const provider = getProvider();
618
+ if (!provider) {
619
+ return createErrorResponse("Provider is required to get ENS resolver, please set the provider URL");
620
+ }
621
621
  // In ethers.js v5, getResolver might not be directly on the provider type
622
622
  // but it's available in the implementation
623
623
  const resolver = await provider.getResolver(input.name);
@@ -637,13 +637,13 @@ export const getEnsResolverHandler = async (input) => {
637
637
  };
638
638
  export const lookupAddressHandler = async (input) => {
639
639
  try {
640
- if (!input.provider) {
641
- return createErrorResponse("Provider is required");
642
- }
643
640
  if (!input.address) {
644
641
  return createErrorResponse("Address is required");
645
642
  }
646
- const provider = getProvider(input.provider);
643
+ const provider = getProvider();
644
+ if (!provider) {
645
+ return createErrorResponse("Provider is required to lookup ENS name, please set the provider URL");
646
+ }
647
647
  const name = await provider.lookupAddress(input.address);
648
648
  return createSuccessResponse({
649
649
  name
@@ -657,13 +657,13 @@ export const lookupAddressHandler = async (input) => {
657
657
  };
658
658
  export const resolveNameHandler = async (input) => {
659
659
  try {
660
- if (!input.provider) {
661
- return createErrorResponse("Provider is required");
662
- }
663
660
  if (!input.name) {
664
661
  return createErrorResponse("ENS name is required");
665
662
  }
666
- const provider = getProvider(input.provider);
663
+ const provider = getProvider();
664
+ if (!provider) {
665
+ return createErrorResponse("Provider is required to resolve ENS name, please set the provider URL");
666
+ }
667
667
  const address = await provider.resolveName(input.name);
668
668
  return createSuccessResponse({
669
669
  address
@@ -679,10 +679,10 @@ export const resolveNameHandler = async (input) => {
679
679
  // Network Methods
680
680
  export const getNetworkHandler = async (input) => {
681
681
  try {
682
- if (!input.provider) {
683
- return createErrorResponse("Provider is required");
682
+ const provider = getProvider();
683
+ if (!provider) {
684
+ return createErrorResponse("Provider is required to get network information, please set the provider URL");
684
685
  }
685
- const provider = getProvider(input.provider);
686
686
  const network = await provider.getNetwork();
687
687
  return createSuccessResponse({
688
688
  network: {
@@ -702,10 +702,10 @@ export const getNetworkHandler = async (input) => {
702
702
  };
703
703
  export const getBlockNumberHandler = async (input) => {
704
704
  try {
705
- if (!input.provider) {
706
- return createErrorResponse("Provider is required");
705
+ const provider = getProvider();
706
+ if (!provider) {
707
+ return createErrorResponse("Provider is required to get block number, please set the provider URL");
707
708
  }
708
- const provider = getProvider(input.provider);
709
709
  const blockNumber = await provider.getBlockNumber();
710
710
  return createSuccessResponse({
711
711
  blockNumber
@@ -719,10 +719,10 @@ export const getBlockNumberHandler = async (input) => {
719
719
  };
720
720
  export const getFeeDataHandler = async (input) => {
721
721
  try {
722
- if (!input.provider) {
723
- return createErrorResponse("Provider is required");
722
+ const provider = getProvider();
723
+ if (!provider) {
724
+ return createErrorResponse("Provider is required to get fee data, please set the provider URL");
724
725
  }
725
- const provider = getProvider(input.provider);
726
726
  // getFeeData is available in ethers v5.5.0+
727
727
  // @ts-ignore - getFeeData might not be in the type definitions depending on the version
728
728
  const feeData = await provider.getFeeData();
@@ -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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"}