hodl-wallet 1.9.0 → 1.9.2

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 (2) hide show
  1. package/index.js +22 -3
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -56,7 +56,26 @@ class Wallet {
56
56
 
57
57
  async initialize() {
58
58
  try {
59
- this.networkUsage = await this.db.get('networkUsage') || {};
59
+ const rawNetworkUsage = await this.db.get('networkUsage') || {};
60
+
61
+ // Validate and clean networkUsage data
62
+ this.networkUsage = {};
63
+ for (const [networkName, usage] of Object.entries(rawNetworkUsage)) {
64
+ if (typeof usage === 'number') {
65
+ // Old format - convert to new format
66
+ this.networkUsage[networkName] = {
67
+ count: usage,
68
+ lastUsed: 0
69
+ };
70
+ } else if (typeof usage === 'object' && usage !== null && !Array.isArray(usage) && typeof usage.count === 'number') {
71
+ // Valid new format
72
+ this.networkUsage[networkName] = {
73
+ count: usage.count,
74
+ lastUsed: usage.lastUsed || 0
75
+ };
76
+ }
77
+ // Skip corrupted entries (they'll be recreated when needed)
78
+ }
60
79
 
61
80
  const networkPlugins = await this.loadNetworkPlugins();
62
81
  if (networkPlugins.length === 0) {
@@ -171,8 +190,8 @@ class Wallet {
171
190
  // Handle migration from old format (number) to new format (object)
172
191
  const currentUsage = this.networkUsage[selectedNetwork.name];
173
192
 
174
- if (!currentUsage || typeof currentUsage === 'number') {
175
- // Old format (number) or doesn't exist - create new object
193
+ if (!currentUsage || typeof currentUsage === 'number' || typeof currentUsage !== 'object' || currentUsage === null || Array.isArray(currentUsage)) {
194
+ // Old format (number), doesn't exist, or corrupted data - create new object
176
195
  this.networkUsage[selectedNetwork.name] = {
177
196
  count: typeof currentUsage === 'number' ? currentUsage + 1 : 1,
178
197
  lastUsed: Date.now()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hodl-wallet",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "🧊 HODL Wallet - Fast CLI crypto wallet!",
5
5
  "author": "Martin Clasen",
6
6
  "repository": {
@@ -50,8 +50,8 @@
50
50
  "clasen"
51
51
  ],
52
52
  "dependencies": {
53
- "axios": "1.8.4",
54
- "bip32": "5.0.0-rc.0",
53
+ "axios": "^1.13.2",
54
+ "bip32": "^4.0.0",
55
55
  "bip39": "3.1.0",
56
56
  "bitcoinjs-lib": "6.1.7",
57
57
  "cli-table3": "0.6.5",
@@ -59,7 +59,7 @@
59
59
  "deepbase": "1.5.2",
60
60
  "ecpair": "2.1.0",
61
61
  "external-editor": "3.1.0",
62
- "hdkey": "2.1.0",
62
+ "hdkey": "^0.6.0",
63
63
  "inquirer": "9.3.7",
64
64
  "inquirer-autocomplete-prompt": "3.0.1",
65
65
  "inquirer-fuzzy-path": "2.3.0",