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.
- package/index.js +22 -3
- 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
|
-
|
|
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)
|
|
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.
|
|
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.
|
|
54
|
-
"bip32": "
|
|
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": "
|
|
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",
|