hodl-wallet 2.0.4 → 2.0.6

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 (83) hide show
  1. package/README.md +79 -2
  2. package/dist/agent-cli.js +75 -0
  3. package/dist/agent-cli.js.map +1 -1
  4. package/dist/agent-errors.d.ts +1 -1
  5. package/dist/agent-errors.js.map +1 -1
  6. package/dist/index.js +148 -82
  7. package/dist/index.js.map +1 -1
  8. package/dist/network/arb.d.ts +1 -0
  9. package/dist/network/arb.js +2 -1
  10. package/dist/network/arb.js.map +1 -1
  11. package/dist/network/avax.d.ts +1 -0
  12. package/dist/network/avax.js +2 -1
  13. package/dist/network/avax.js.map +1 -1
  14. package/dist/network/bsc.d.ts +1 -0
  15. package/dist/network/bsc.js +2 -1
  16. package/dist/network/bsc.js.map +1 -1
  17. package/dist/network/eth.d.ts +1 -0
  18. package/dist/network/eth.js +2 -1
  19. package/dist/network/eth.js.map +1 -1
  20. package/dist/network/ftm.d.ts +1 -0
  21. package/dist/network/ftm.js +2 -1
  22. package/dist/network/ftm.js.map +1 -1
  23. package/dist/network/hyperliquid.d.ts +1 -0
  24. package/dist/network/hyperliquid.js +2 -1
  25. package/dist/network/hyperliquid.js.map +1 -1
  26. package/dist/network/lib/BitcoinNetwork.d.ts +2 -0
  27. package/dist/network/lib/BitcoinNetwork.js +23 -15
  28. package/dist/network/lib/BitcoinNetwork.js.map +1 -1
  29. package/dist/network/lib/Web3Network.js +14 -2
  30. package/dist/network/lib/Web3Network.js.map +1 -1
  31. package/dist/network/op.d.ts +1 -0
  32. package/dist/network/op.js +2 -1
  33. package/dist/network/op.js.map +1 -1
  34. package/dist/network/pol.d.ts +1 -0
  35. package/dist/network/pol.js +2 -1
  36. package/dist/network/pol.js.map +1 -1
  37. package/dist/network/types.d.ts +1 -0
  38. package/dist/network-registry.d.ts +1 -0
  39. package/dist/network-registry.js +3 -0
  40. package/dist/network-registry.js.map +1 -1
  41. package/dist/persist.d.ts +2 -0
  42. package/dist/persist.js +21 -0
  43. package/dist/persist.js.map +1 -1
  44. package/dist/profile-lock.d.ts +4 -0
  45. package/dist/profile-lock.js +9 -1
  46. package/dist/profile-lock.js.map +1 -1
  47. package/dist/swap/bitcoin.d.ts +34 -0
  48. package/dist/swap/bitcoin.js +179 -0
  49. package/dist/swap/bitcoin.js.map +1 -0
  50. package/dist/swap/chain.d.ts +49 -0
  51. package/dist/swap/chain.js +255 -0
  52. package/dist/swap/chain.js.map +1 -0
  53. package/dist/swap/config.d.ts +68 -0
  54. package/dist/swap/config.js +46 -0
  55. package/dist/swap/config.js.map +1 -0
  56. package/dist/swap/http.d.ts +14 -0
  57. package/dist/swap/http.js +70 -0
  58. package/dist/swap/http.js.map +1 -0
  59. package/dist/swap/providers.d.ts +24 -0
  60. package/dist/swap/providers.js +424 -0
  61. package/dist/swap/providers.js.map +1 -0
  62. package/dist/swap/routes.d.ts +145 -0
  63. package/dist/swap/routes.js +48 -0
  64. package/dist/swap/routes.js.map +1 -0
  65. package/dist/swap/service.d.ts +104 -0
  66. package/dist/swap/service.js +512 -0
  67. package/dist/swap/service.js.map +1 -0
  68. package/dist/swap/storage.d.ts +3 -0
  69. package/dist/swap/storage.js +28 -0
  70. package/dist/swap/storage.js.map +1 -0
  71. package/dist/swap/types.d.ts +140 -0
  72. package/dist/swap/types.js +2 -0
  73. package/dist/swap/types.js.map +1 -0
  74. package/dist/swap/ui.d.ts +3 -0
  75. package/dist/swap/ui.js +257 -0
  76. package/dist/swap/ui.js.map +1 -0
  77. package/dist/transfer-service.d.ts +38 -0
  78. package/dist/transfer-service.js +181 -0
  79. package/dist/transfer-service.js.map +1 -0
  80. package/dist/wallet-service.d.ts +22 -6
  81. package/dist/wallet-service.js +36 -171
  82. package/dist/wallet-service.js.map +1 -1
  83. package/package.json +99 -92
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer-service.js","sourceRoot":"","sources":["../transfer-service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,29 @@
1
1
  import { NetworkRegistry } from './network-registry.js';
2
2
  import { ProfileLock } from './profile-lock.js';
3
+ import type { SwapServiceOptions } from './swap/service.js';
3
4
  type WalletServiceOptions = {
4
5
  rootDir?: string;
5
6
  registry?: NetworkRegistry;
6
7
  lockFactory?: (lockPath: string) => ProfileLock;
8
+ swapOptions?: SwapServiceOptions;
9
+ };
10
+ export type SwapCommand = {
11
+ action: 'quote';
12
+ amount: string;
13
+ to?: string;
14
+ network?: string;
15
+ } | {
16
+ action: 'execute';
17
+ quoteId: string;
18
+ requestId: string;
19
+ } | {
20
+ action: 'status' | 'resume';
21
+ requestId: string;
22
+ } | {
23
+ action: 'list';
24
+ } | {
25
+ action: 'destination';
26
+ network?: string;
7
27
  };
8
28
  export type CreateProfileResult = {
9
29
  wallet: string;
@@ -30,6 +50,7 @@ export declare class WalletService {
30
50
  private readonly rootDir;
31
51
  private readonly registry;
32
52
  private readonly lockFactory;
53
+ private readonly swapOptions?;
33
54
  constructor(options?: WalletServiceOptions);
34
55
  listNetworks(): Array<Record<string, unknown>>;
35
56
  listProfiles(): string[];
@@ -45,11 +66,7 @@ export declare class WalletService {
45
66
  asset?: string;
46
67
  }): Promise<Record<string, unknown>>;
47
68
  send(request: SendRequest): Promise<Record<string, unknown>>;
48
- private broadcastStored;
49
- private safeTransactionStatus;
50
- private prepare;
51
- private publicTransfer;
52
- private publicStoredTransfer;
69
+ swap(wallet: string, password: string, command: SwapCommand): Promise<unknown>;
53
70
  private readAccount;
54
71
  private writeNewProfile;
55
72
  private connect;
@@ -65,7 +82,6 @@ export declare class WalletService {
65
82
  private validateAsset;
66
83
  private validateProfileName;
67
84
  private networkIdsForFamily;
68
- private fingerprint;
69
85
  private securePersistFile;
70
86
  private isRegularFile;
71
87
  private isDirectory;
@@ -1,22 +1,24 @@
1
- import crypto from 'node:crypto';
2
1
  import fs from 'node:fs';
3
2
  import os from 'node:os';
4
3
  import path from 'node:path';
5
- import { normalizeDecimal } from './amounts.js';
6
4
  import { AgentError } from './agent-errors.js';
7
5
  import { NetworkRegistry } from './network-registry.js';
8
6
  import Persist from './persist.js';
9
7
  import { ProfileLock } from './profile-lock.js';
8
+ import { routeForNetwork } from './swap/routes.js';
9
+ import { SwapService } from './swap/service.js';
10
+ import { TransferService } from './transfer-service.js';
10
11
  const PROFILE_NAME_PATTERN = /^[a-z0-9][a-z0-9_-]{0,31}$/;
11
- const REQUEST_ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/;
12
12
  export class WalletService {
13
13
  rootDir;
14
14
  registry;
15
15
  lockFactory;
16
+ swapOptions;
16
17
  constructor(options = {}) {
17
18
  this.rootDir = options.rootDir || path.join(os.homedir(), '.HODL');
18
19
  this.registry = options.registry || new NetworkRegistry();
19
20
  this.lockFactory = options.lockFactory || (lockPath => new ProfileLock(lockPath));
21
+ this.swapOptions = options.swapOptions;
20
22
  }
21
23
  listNetworks() {
22
24
  return this.registry.list().map(network => ({
@@ -266,103 +268,16 @@ export class WalletService {
266
268
  async send(request) {
267
269
  this.validateProfileName(request.wallet);
268
270
  const plugin = this.getPlugin(request.network);
269
- const asset = this.validateAsset(plugin, request.asset);
270
- let normalizedAmount;
271
- try {
272
- normalizedAmount = normalizeDecimal(request.amount);
273
- }
274
- catch (error) {
275
- throw new AgentError('INVALID_ARGUMENT', error.message, 2);
276
- }
277
- if (request.dryRun) {
278
- const account = await this.readAccount(request.wallet, request.password, plugin);
279
- try {
280
- const prepared = await this.prepare(networkFrom(plugin), account, request.to, normalizedAmount, asset);
281
- const preview = this.publicTransfer(prepared, plugin.id, 'dry-run');
282
- prepared.rawTransaction = '';
283
- return preview;
284
- }
285
- finally {
286
- Persist.clearSensitiveData(account);
287
- }
288
- }
289
- if (!request.requestId || !REQUEST_ID_PATTERN.test(request.requestId)) {
290
- throw new AgentError('INVALID_ARGUMENT', 'A valid request ID is required.', 2);
291
- }
292
271
  const location = this.profileLocation(request.wallet);
293
272
  this.assertProfileReadable(location.profileDir, request.wallet);
294
273
  const lock = this.acquireLock(location.lockPath);
295
274
  let db = null;
296
- let account = null;
297
- let stored = null;
298
275
  try {
299
276
  db = new Persist({ path: location.profileDir, encryptionKey: request.password });
300
277
  await this.connect(db);
301
- account = await db.get('account', plugin.NetworkClass.name) ?? null;
302
- if (!account) {
303
- throw new AgentError('ACCOUNT_NOT_FOUND', `Wallet profile has no ${plugin.family} account.`, 3);
304
- }
305
- const fingerprint = this.fingerprint({
306
- wallet: request.wallet,
307
- network: plugin.id,
308
- chainId: plugin.chainId ?? null,
309
- from: plugin.family === 'evm' ? account.address.toLowerCase() : account.address,
310
- to: plugin.family === 'evm' ? request.to.toLowerCase() : request.to,
311
- asset,
312
- amount: normalizedAmount
313
- });
314
- stored = await db.get('sendRequest', request.requestId) ?? null;
315
- if (stored && stored.fingerprint !== fingerprint) {
316
- throw new AgentError('IDEMPOTENCY_CONFLICT', 'Request ID was already used with different transfer parameters.', 3);
317
- }
318
- if (stored && (stored.state === 'confirmed' || stored.state === 'submitted')) {
319
- return this.publicStoredTransfer(stored, request.requestId);
320
- }
321
- if (stored?.state === 'failed') {
322
- throw new AgentError('TRANSFER_FAILED', 'The transaction was mined but reverted.', 5, { transactionHash: stored.transactionHash, requestId: request.requestId });
323
- }
324
- if (!stored) {
325
- const pendingRequests = await db.entries('sendRequest') || [];
326
- const unresolved = pendingRequests.find(([otherRequestId, candidate]) => otherRequestId !== request.requestId &&
327
- candidate.network === plugin.id &&
328
- (candidate.state === 'prepared' ||
329
- candidate.state === 'broadcasting' ||
330
- candidate.state === 'broadcast_unknown'));
331
- if (unresolved) {
332
- throw new AgentError('BROADCAST_UNKNOWN', 'Another transfer on this network has unresolved broadcast state.', 5, {
333
- requestId: unresolved[0],
334
- transactionHash: unresolved[1].transactionHash
335
- });
336
- }
337
- const prepared = await this.prepare(this.instantiate(plugin), account, request.to, normalizedAmount, asset);
338
- const now = new Date().toISOString();
339
- stored = {
340
- fingerprint,
341
- state: 'prepared',
342
- network: plugin.id,
343
- from: prepared.from,
344
- to: prepared.to,
345
- asset: prepared.asset,
346
- amount: prepared.amount,
347
- amountBaseUnits: prepared.amountBaseUnits,
348
- fee: prepared.fee,
349
- transactionHash: prepared.transactionHash,
350
- rawTransaction: prepared.rawTransaction,
351
- createdAt: now,
352
- updatedAt: now
353
- };
354
- await db.set('sendRequest', request.requestId, stored);
355
- this.securePersistFile(location.profileDir);
356
- }
357
- stored.state = 'broadcasting';
358
- stored.updatedAt = new Date().toISOString();
359
- await db.set('sendRequest', request.requestId, stored);
360
- this.securePersistFile(location.profileDir);
361
- return await this.broadcastStored(db, location.profileDir, this.instantiate(plugin), request.requestId, stored, plugin);
278
+ return await new TransferService(db, plugin, this.instantiate(plugin)).send(request);
362
279
  }
363
280
  finally {
364
- Persist.clearSensitiveData(account);
365
- Persist.clearSensitiveData(stored);
366
281
  try {
367
282
  await db?.dispose();
368
283
  }
@@ -372,87 +287,43 @@ export class WalletService {
372
287
  }
373
288
  }
374
289
  }
375
- async broadcastStored(db, profileDir, network, requestId, stored, plugin) {
290
+ async swap(wallet, password, command) {
291
+ this.validateProfileName(wallet);
292
+ const location = this.profileLocation(wallet);
293
+ this.assertProfileReadable(location.profileDir, wallet);
294
+ const lock = this.acquireLock(location.lockPath);
295
+ let db = null;
376
296
  try {
377
- await network.sendSignedTransaction(stored.rawTransaction);
378
- stored.state = plugin.family === 'bitcoin' ? 'submitted' : 'confirmed';
379
- stored.updatedAt = new Date().toISOString();
380
- await db.set('sendRequest', requestId, stored);
381
- this.securePersistFile(profileDir);
382
- return this.publicStoredTransfer(stored, requestId);
383
- }
384
- catch {
385
- const status = await this.safeTransactionStatus(network, stored.transactionHash);
386
- if (status.state === 'failed') {
387
- stored.state = 'failed';
388
- stored.updatedAt = new Date().toISOString();
389
- await db.set('sendRequest', requestId, stored);
390
- this.securePersistFile(profileDir);
391
- throw new AgentError('TRANSFER_FAILED', 'The transaction was mined but reverted.', 5, { transactionHash: stored.transactionHash, requestId });
392
- }
393
- if (status.state !== 'not_found') {
394
- stored.state = status.state;
395
- stored.updatedAt = new Date().toISOString();
396
- await db.set('sendRequest', requestId, stored);
397
- this.securePersistFile(profileDir);
398
- return this.publicStoredTransfer(stored, requestId);
297
+ db = new Persist({ path: location.profileDir, encryptionKey: password });
298
+ await this.connect(db);
299
+ const route = 'network' in command && command.network !== undefined ? routeForNetwork(command.network) : undefined;
300
+ if ('network' in command && command.network !== undefined && !route)
301
+ throw new AgentError('INVALID_ARGUMENT', 'Swap source network must be bsc or btc.', 2);
302
+ const swaps = new SwapService(db, { ...this.swapOptions, ...(route ? { routeId: route.id } : {}) });
303
+ switch (command.action) {
304
+ case 'quote': return await swaps.quote(command.amount, command.to);
305
+ case 'execute': return await swaps.execute(command.quoteId, command.requestId);
306
+ case 'resume': return await swaps.resume(command.requestId);
307
+ case 'status': return await swaps.status(command.requestId);
308
+ case 'list': return { swaps: await swaps.list() };
309
+ case 'destination': return { address: await swaps.destination() };
399
310
  }
400
- stored.state = 'broadcast_unknown';
401
- stored.updatedAt = new Date().toISOString();
402
- await db.set('sendRequest', requestId, stored);
403
- this.securePersistFile(profileDir);
404
- throw new AgentError('BROADCAST_UNKNOWN', 'The provider did not confirm whether the signed transaction was accepted.', 5, { transactionHash: stored.transactionHash, requestId });
405
- }
406
- }
407
- async safeTransactionStatus(network, transactionHash) {
408
- try {
409
- return await network.getTransactionStatus(transactionHash);
410
- }
411
- catch {
412
- return { state: 'not_found', transactionHash };
413
- }
414
- }
415
- async prepare(network, account, to, amount, asset) {
416
- if (!network.validateAddress(to)) {
417
- throw new AgentError('INVALID_ARGUMENT', 'Invalid recipient address.', 2);
418
- }
419
- try {
420
- return await network.prepareTransfer(account, to, amount, asset);
421
311
  }
422
312
  catch (error) {
423
- if (error instanceof TypeError) {
424
- throw new AgentError('INVALID_ARGUMENT', error.message, 2);
313
+ if (error instanceof AgentError)
314
+ throw error;
315
+ throw new AgentError('NETWORK_ERROR', error instanceof Error ? error.message : 'Swap provider unavailable.', 4);
316
+ }
317
+ finally {
318
+ try {
319
+ await db?.dispose();
320
+ }
321
+ finally {
322
+ this.securePersistFile(location.profileDir);
323
+ lock.release();
425
324
  }
426
- throw new AgentError('TRANSFER_FAILED', error.message, 5);
427
325
  }
428
326
  }
429
- publicTransfer(prepared, network, status) {
430
- return {
431
- status,
432
- network,
433
- from: prepared.from,
434
- to: prepared.to,
435
- asset: prepared.asset,
436
- amount: prepared.amount,
437
- amountBaseUnits: prepared.amountBaseUnits,
438
- fee: prepared.fee,
439
- transactionHash: prepared.transactionHash
440
- };
441
- }
442
- publicStoredTransfer(stored, requestId) {
443
- return {
444
- requestId,
445
- status: stored.state,
446
- network: stored.network,
447
- from: stored.from,
448
- to: stored.to,
449
- asset: stored.asset,
450
- amount: stored.amount,
451
- amountBaseUnits: stored.amountBaseUnits,
452
- fee: stored.fee,
453
- transactionHash: stored.transactionHash
454
- };
455
- }
456
327
  async readAccount(wallet, password, plugin) {
457
328
  this.validateProfileName(wallet);
458
329
  const location = this.profileLocation(wallet);
@@ -594,9 +465,6 @@ export class WalletService {
594
465
  .filter(network => network.family === family)
595
466
  .map(network => network.id);
596
467
  }
597
- fingerprint(value) {
598
- return crypto.createHash('sha256').update(JSON.stringify(value)).digest('hex');
599
- }
600
468
  securePersistFile(profileDir) {
601
469
  const persistPath = path.join(profileDir, 'persist.json');
602
470
  if (fs.existsSync(persistPath)) {
@@ -627,7 +495,4 @@ export class WalletService {
627
495
  }
628
496
  }
629
497
  }
630
- function networkFrom(plugin) {
631
- return new plugin.NetworkClass(plugin);
632
- }
633
498
  //# sourceMappingURL=wallet-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-service.js","sourceRoot":"","sources":["../wallet-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-service.js","sourceRoot":"","sources":["../wallet-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,93 +1,100 @@
1
1
  {
2
- "name": "hodl-wallet",
3
- "version": "2.0.4",
4
- "description": "🧊 HODL Wallet - Fast CLI crypto wallet!",
5
- "author": "Martin Clasen",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/clasen/HODL.git"
9
- },
10
- "license": "MIT",
11
- "bugs": {
12
- "url": "https://github.com/clasen/HODL/issues"
13
- },
14
- "homepage": "https://hodl-wallet.com",
15
- "files": [
16
- "dist/*.js",
17
- "dist/*.d.ts",
18
- "dist/*.js.map",
19
- "dist/network",
20
- "README.md"
21
- ],
22
- "main": "dist/index.js",
23
- "bin": {
24
- "hodl": "dist/index.js"
25
- },
26
- "keywords": [
27
- "hodl",
28
- "wallet",
29
- "crypto",
30
- "ethereum",
31
- "bsc20",
32
- "bep20",
33
- "bnb",
34
- "eth",
35
- "binance",
36
- "trust",
37
- "blockchain",
38
- "bitcoin",
39
- "usdt",
40
- "stable",
41
- "coin",
42
- "evm",
43
- "polygon",
44
- "matic",
45
- "arbitrum",
46
- "fantom",
47
- "optimism",
48
- "avalanche",
49
- "avax",
50
- "hyperliquid",
51
- "hyperevm",
52
- "hype",
53
- "agent-friendly",
54
- "ai-agent",
55
- "clasen"
56
- ],
57
- "dependencies": {
58
- "bip32": "^4.0.0",
59
- "bip39": "3.1.0",
60
- "bitcoinjs-lib": "6.1.7",
61
- "cli-table3": "0.6.5",
62
- "deepbase": "3.8.2",
63
- "ecpair": "2.1.0",
64
- "external-editor": "3.1.0",
65
- "hdkey": "^0.6.0",
66
- "inquirer": "9.3.7",
67
- "inquirer-autocomplete-prompt": "3.0.1",
68
- "inquirer-fuzzy-path": "2.3.0",
69
- "ora": "8.1.1",
70
- "tiny-secp256k1": "2.2.3",
71
- "tmp": "0.2.7",
72
- "web3": "4.16.0"
73
- },
74
- "devDependencies": {
75
- "@types/node": "^24.12.4",
76
- "typescript": "^5.9.2"
77
- },
78
- "overrides": {
79
- "tmp": "0.2.7"
80
- },
81
- "type": "module",
82
- "scripts": {
83
- "build": "tsc -p tsconfig.build.json && chmod +x dist/index.js",
84
- "start": "pnpm run build && node ./dist/index.js",
85
- "typecheck": "tsc --noEmit",
86
- "test": "pnpm run build && node ./dist/test/test-all.js",
87
- "test:network": "pnpm run build && node ./dist/test/test.js",
88
- "test:integration": "pnpm run build && node ./dist/test/test-integration.js",
89
- "test:persist": "pnpm run build && node ./dist/test/test-persist.js",
90
- "test:agent": "pnpm run build && node ./dist/test/test-agent-cli.js",
91
- "test:quick": "pnpm run build && node ./dist/test/test.js --quick"
92
- }
93
- }
2
+ "name": "hodl-wallet",
3
+ "version": "2.0.6",
4
+ "description": "🧊 HODL Wallet - Fast CLI crypto wallet!",
5
+ "author": "Martin Clasen",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/clasen/HODL.git"
9
+ },
10
+ "license": "MIT",
11
+ "bugs": {
12
+ "url": "https://github.com/clasen/HODL/issues"
13
+ },
14
+ "homepage": "https://hodl-wallet.com",
15
+ "files": [
16
+ "dist/*.js",
17
+ "dist/*.d.ts",
18
+ "dist/*.js.map",
19
+ "dist/network",
20
+ "dist/swap/*.js",
21
+ "dist/swap/*.d.ts",
22
+ "dist/swap/*.js.map",
23
+ "README.md"
24
+ ],
25
+ "main": "dist/index.js",
26
+ "bin": {
27
+ "hodl": "dist/index.js"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc -p tsconfig.build.json && chmod +x dist/index.js",
31
+ "start": "pnpm run build && node ./dist/index.js",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "pnpm run build && node ./dist/test/test-all.js",
34
+ "test:network": "pnpm run build && node ./dist/test/test.js",
35
+ "test:integration": "pnpm run build && node ./dist/test/test-integration.js",
36
+ "test:persist": "pnpm run build && node ./dist/test/test-persist.js",
37
+ "test:agent": "pnpm run build && node ./dist/test/test-agent-cli.js",
38
+ "test:transfer": "pnpm run build && node --test ./dist/test/test-transfer.js",
39
+ "test:swap": "pnpm run build && node --test ./dist/swap/test/swap.js ./dist/swap/test/reverse.js",
40
+ "test:quick": "pnpm run build && node ./dist/test/test.js --quick",
41
+ "prepublishOnly": "pnpm run build && pnpm run test:agent && pnpm run test:persist && pnpm run test:transfer && pnpm run test:swap && pnpm run test:quick && pnpm run test:integration"
42
+ },
43
+ "keywords": [
44
+ "hodl",
45
+ "wallet",
46
+ "crypto",
47
+ "ethereum",
48
+ "bsc20",
49
+ "bep20",
50
+ "bnb",
51
+ "eth",
52
+ "binance",
53
+ "trust",
54
+ "blockchain",
55
+ "bitcoin",
56
+ "usdt",
57
+ "stable",
58
+ "coin",
59
+ "evm",
60
+ "polygon",
61
+ "matic",
62
+ "arbitrum",
63
+ "fantom",
64
+ "optimism",
65
+ "avalanche",
66
+ "avax",
67
+ "hyperliquid",
68
+ "hyperevm",
69
+ "hype",
70
+ "agent-friendly",
71
+ "ai-agent",
72
+ "clasen"
73
+ ],
74
+ "dependencies": {
75
+ "bip32": "^4.0.0",
76
+ "bip39": "3.1.0",
77
+ "bitcoinjs-lib": "6.1.7",
78
+ "cli-table3": "0.6.5",
79
+ "deepbase": "3.8.2",
80
+ "ecpair": "2.1.0",
81
+ "external-editor": "3.1.0",
82
+ "hdkey": "^0.6.0",
83
+ "inquirer": "9.3.7",
84
+ "inquirer-autocomplete-prompt": "3.0.1",
85
+ "inquirer-fuzzy-path": "2.3.0",
86
+ "ora": "8.1.1",
87
+ "tiny-secp256k1": "2.2.3",
88
+ "tmp": "0.2.7",
89
+ "web3": "4.16.0"
90
+ },
91
+ "devDependencies": {
92
+ "@types/node": "^24.12.4",
93
+ "typescript": "^5.9.2"
94
+ },
95
+ "overrides": {
96
+ "tmp": "0.2.7"
97
+ },
98
+ "type": "module",
99
+ "packageManager": "pnpm@11.1.2"
100
+ }