@shapeshiftoss/hdwallet-native-vault 1.55.2 → 1.55.4-alpha.1
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/dist/index.js +14 -28
- package/dist/index.js.map +1 -1
- package/dist/mapVault.js +42 -105
- package/dist/mapVault.js.map +1 -1
- package/dist/rawVault.js +168 -228
- package/dist/rawVault.js.map +1 -1
- package/dist/test/mockVault.skip.js +73 -129
- package/dist/test/mockVault.skip.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/util.d.ts +8 -6
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +24 -68
- package/dist/util.js.map +1 -1
- package/dist/vault.js +121 -183
- package/dist/vault.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,140 +1,86 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.MockVault = void 0;
|
|
36
1
|
/* This is intended to be used to test the tests. It should not be shipped or *shudder* actually used. */
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
2
|
+
import * as core from "@shapeshiftoss/hdwallet-core";
|
|
3
|
+
import * as native from "@shapeshiftoss/hdwallet-native";
|
|
4
|
+
import * as bip39 from "bip39";
|
|
5
|
+
import * as ta from "type-assertions";
|
|
6
|
+
import * as uuid from "uuid";
|
|
7
|
+
import { crypto, GENERATE_MNEMONIC, Revocable, setCrypto, shadowedMap } from "../util";
|
|
43
8
|
ta.assert();
|
|
44
|
-
class MockVault extends
|
|
45
|
-
static
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
});
|
|
9
|
+
export class MockVault extends Revocable(Map) {
|
|
10
|
+
static data = new Map();
|
|
11
|
+
static prepared = false;
|
|
12
|
+
static async prepare(params) {
|
|
13
|
+
if (params) {
|
|
14
|
+
if (this.prepared)
|
|
15
|
+
throw new Error("can't call prepare with a parameters object after vault is already prepared");
|
|
16
|
+
setCrypto(params.crypto ?? window.crypto);
|
|
17
|
+
}
|
|
18
|
+
this.prepared = true;
|
|
55
19
|
}
|
|
56
|
-
static create(password, sealed) {
|
|
57
|
-
return
|
|
58
|
-
return yield MockVault.open(undefined, password, sealed);
|
|
59
|
-
});
|
|
20
|
+
static async create(password, sealed) {
|
|
21
|
+
return await MockVault.open(undefined, password, sealed);
|
|
60
22
|
}
|
|
61
|
-
static open(id, password, sealed) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
random: yield (yield util_1.crypto).getRandomValues(new Uint8Array(16)),
|
|
66
|
-
}));
|
|
67
|
-
const out = new MockVault(id, password, sealed);
|
|
68
|
-
if (id !== undefined && password !== undefined)
|
|
69
|
-
yield out.load();
|
|
70
|
-
return out;
|
|
23
|
+
static async open(id, password, sealed) {
|
|
24
|
+
await MockVault.prepare();
|
|
25
|
+
id ??= uuid.v4({
|
|
26
|
+
random: await (await crypto).getRandomValues(new Uint8Array(16)),
|
|
71
27
|
});
|
|
28
|
+
const out = new MockVault(id, password, sealed);
|
|
29
|
+
if (id !== undefined && password !== undefined)
|
|
30
|
+
await out.load();
|
|
31
|
+
return out;
|
|
72
32
|
}
|
|
73
|
-
static list() {
|
|
74
|
-
return
|
|
75
|
-
return Array.from(MockVault.data.keys());
|
|
76
|
-
});
|
|
33
|
+
static async list() {
|
|
34
|
+
return Array.from(MockVault.data.keys());
|
|
77
35
|
}
|
|
78
|
-
static meta(id) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return MockVault.data.has(id) ? new Map(MockVault.data.get(id).meta) : undefined;
|
|
82
|
-
});
|
|
36
|
+
static async meta(id) {
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
|
+
return MockVault.data.has(id) ? new Map(MockVault.data.get(id).meta) : undefined;
|
|
83
39
|
}
|
|
84
|
-
static delete(id) {
|
|
85
|
-
|
|
86
|
-
MockVault.data.delete(id);
|
|
87
|
-
});
|
|
40
|
+
static async delete(id) {
|
|
41
|
+
MockVault.data.delete(id);
|
|
88
42
|
}
|
|
43
|
+
id;
|
|
44
|
+
meta = new Map();
|
|
45
|
+
_password = undefined;
|
|
46
|
+
_secrets = new Map();
|
|
89
47
|
constructor(id, password, sealed = true) {
|
|
90
48
|
super();
|
|
91
|
-
this.meta = new Map();
|
|
92
|
-
this._password = undefined;
|
|
93
|
-
this._secrets = new Map();
|
|
94
|
-
this.sealed = false;
|
|
95
49
|
this.id = id;
|
|
96
50
|
this._password = password;
|
|
97
51
|
if (sealed)
|
|
98
52
|
this.seal();
|
|
99
53
|
}
|
|
100
|
-
setPassword(password) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return this;
|
|
104
|
-
});
|
|
54
|
+
async setPassword(password) {
|
|
55
|
+
this._password = password;
|
|
56
|
+
return this;
|
|
105
57
|
}
|
|
106
|
-
load() {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return this;
|
|
119
|
-
});
|
|
58
|
+
async load() {
|
|
59
|
+
const data = MockVault.data.get(this.id);
|
|
60
|
+
if (!data)
|
|
61
|
+
throw new Error("no such vault");
|
|
62
|
+
if (this._password !== data.password)
|
|
63
|
+
throw new Error("bad password");
|
|
64
|
+
this.clear();
|
|
65
|
+
this._secrets.clear();
|
|
66
|
+
data.data.forEach(([k, v]) => this.set(k, v));
|
|
67
|
+
this.meta.clear();
|
|
68
|
+
data.meta.forEach(([k, v]) => this.meta.set(k, v));
|
|
69
|
+
return this;
|
|
120
70
|
}
|
|
121
|
-
save() {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return this;
|
|
132
|
-
});
|
|
71
|
+
async save() {
|
|
72
|
+
if (!this._password)
|
|
73
|
+
throw new Error("can't save without password");
|
|
74
|
+
const data = {
|
|
75
|
+
password: this._password,
|
|
76
|
+
data: await this._unwrap().entriesAsync(),
|
|
77
|
+
meta: Array.from(this.meta.entries()),
|
|
78
|
+
};
|
|
79
|
+
MockVault.data.set(this.id, data);
|
|
80
|
+
return this;
|
|
133
81
|
}
|
|
134
|
-
entriesAsync() {
|
|
135
|
-
return
|
|
136
|
-
return yield Promise.all(Array.from(this.entries()).map(([k, v]) => __awaiter(this, void 0, void 0, function* () { return [k, yield v]; })));
|
|
137
|
-
});
|
|
82
|
+
async entriesAsync() {
|
|
83
|
+
return await Promise.all(Array.from(this.entries()).map(async ([k, v]) => [k, await v]));
|
|
138
84
|
}
|
|
139
85
|
set(key, value) {
|
|
140
86
|
if (!key.startsWith("#")) {
|
|
@@ -142,24 +88,25 @@ class MockVault extends (0, util_1.Revocable)(Map) {
|
|
|
142
88
|
return this;
|
|
143
89
|
}
|
|
144
90
|
if (key === "#mnemonic") {
|
|
145
|
-
value = Promise.resolve(value).then((x) =>
|
|
146
|
-
if (x !==
|
|
91
|
+
value = Promise.resolve(value).then(async (x) => {
|
|
92
|
+
if (x !== GENERATE_MNEMONIC)
|
|
147
93
|
return x;
|
|
148
|
-
const entropy =
|
|
94
|
+
const entropy = await (await crypto).getRandomValues(Buffer.alloc(16));
|
|
149
95
|
return bip39.entropyToMnemonic(entropy);
|
|
150
|
-
})
|
|
96
|
+
});
|
|
151
97
|
}
|
|
152
98
|
this._secrets.set(key, Promise.resolve(value));
|
|
153
|
-
super.set(key, (() =>
|
|
99
|
+
super.set(key, (async () => {
|
|
154
100
|
switch (key) {
|
|
155
101
|
case "#mnemonic":
|
|
156
|
-
return
|
|
102
|
+
return await native.crypto.Isolation.Engines.Default.BIP39.Mnemonic.create((await value));
|
|
157
103
|
default:
|
|
158
104
|
return core.untouchable(key);
|
|
159
105
|
}
|
|
160
|
-
})
|
|
106
|
+
})());
|
|
161
107
|
return this;
|
|
162
108
|
}
|
|
109
|
+
sealed = false;
|
|
163
110
|
seal() {
|
|
164
111
|
this.sealed = true;
|
|
165
112
|
}
|
|
@@ -169,14 +116,11 @@ class MockVault extends (0, util_1.Revocable)(Map) {
|
|
|
169
116
|
return this._unwrap();
|
|
170
117
|
}
|
|
171
118
|
_unwrap() {
|
|
172
|
-
return
|
|
119
|
+
return shadowedMap(this, (key) => {
|
|
173
120
|
return key.startsWith("#") ? this._secrets.get(key) : this.get(key);
|
|
174
121
|
},
|
|
175
122
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
176
123
|
() => { });
|
|
177
124
|
}
|
|
178
125
|
}
|
|
179
|
-
exports.MockVault = MockVault;
|
|
180
|
-
MockVault.data = new Map();
|
|
181
|
-
MockVault.prepared = false;
|
|
182
126
|
//# sourceMappingURL=mockVault.skip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockVault.skip.js","sourceRoot":"","sources":["../../src/test/mockVault.skip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mockVault.skip.js","sourceRoot":"","sources":["../../src/test/mockVault.skip.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
package/dist/util.d.ts
CHANGED
|
@@ -12,12 +12,14 @@ export declare const keyStoreUUID: string;
|
|
|
12
12
|
export declare const vaultStoreUUID: string;
|
|
13
13
|
export declare const GENERATE_MNEMONIC: string;
|
|
14
14
|
export type Revocable = native.crypto.Isolation.Engines.Default.Revocable;
|
|
15
|
-
export declare const Revocable: <T extends import("hdwallet-core/dist").Constructor
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
export declare const Revocable: <T extends import("hdwallet-core/dist").Constructor>(x: T) => {
|
|
16
|
+
new (...args: any[]): {
|
|
17
|
+
readonly "__#16@#revokers": Set<() => void>;
|
|
18
|
+
"__#16@#revoked": boolean;
|
|
19
|
+
readonly revoke: () => void;
|
|
20
|
+
readonly addRevoker: (revoker: () => void) => void;
|
|
21
|
+
};
|
|
22
|
+
} & T;
|
|
21
23
|
export declare const revocable: <T extends object>(x: T, addRevoker: (revoke: () => void) => void) => T;
|
|
22
24
|
export declare const decoder: TextDecoder;
|
|
23
25
|
export declare const encoder: TextEncoder;
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,wDAEpD;AACD,eAAO,MAAM,iBAAiB,gCAAsC,CAAC;AAIrE,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,QAKvC;AACD,eAAO,MAAM,MAAM,sBAAoE,CAAC;AAGxF,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,QAK5C;AACD,eAAO,MAAM,WAAW,sBAAyE,CAAC;AAElG,eAAO,MAAM,aAAa,QAA6C,CAAC;AACxE,eAAO,MAAM,YAAY,QAAqC,CAAC;AAC/D,eAAO,MAAM,cAAc,QAAuC,CAAC;AAGnE,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;AAC1E,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,wDAEpD;AACD,eAAO,MAAM,iBAAiB,gCAAsC,CAAC;AAIrE,wBAAgB,SAAS,CAAC,CAAC,EAAE,WAAW,QAKvC;AACD,eAAO,MAAM,MAAM,sBAAoE,CAAC;AAGxF,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,QAK5C;AACD,eAAO,MAAM,WAAW,sBAAyE,CAAC;AAElG,eAAO,MAAM,aAAa,QAA6C,CAAC;AACxE,eAAO,MAAM,YAAY,QAAqC,CAAC;AAC/D,eAAO,MAAM,cAAc,QAAuC,CAAC;AAGnE,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;AAC1E,eAAO,MAAM,SAAS;SAnCa,GAAG;;;;;;KAmCoC,CAAC;AAC3E,eAAO,MAAM,SAAS,yEAAoD,CAAC;AAC3E,eAAO,MAAM,OAAO,aAAoB,CAAC;AACzC,eAAO,MAAM,OAAO,aAAoB,CAAC;AAEzC,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACnD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,GAAG,CAAC,EAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,GACvC,CAAC,CA6BH"}
|
package/dist/util.js
CHANGED
|
@@ -1,58 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
1
|
+
import * as native from "@shapeshiftoss/hdwallet-native";
|
|
2
|
+
import * as bip39 from "bip39";
|
|
3
|
+
import PLazy from "p-lazy";
|
|
4
|
+
import * as uuid from "uuid";
|
|
5
|
+
import { TextDecoder, TextEncoder } from "web-encoding";
|
|
6
|
+
const nativeEngines = PLazy.from(async () => {
|
|
7
|
+
return (await import("@shapeshiftoss/hdwallet-native")).crypto.Isolation.Engines;
|
|
17
8
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.shadowedMap = exports.encoder = exports.decoder = exports.revocable = exports.Revocable = exports.GENERATE_MNEMONIC = exports.vaultStoreUUID = exports.keyStoreUUID = exports.uuidNamespace = exports.performance = exports.setPerformance = exports.crypto = exports.setCrypto = exports.entropyToMnemonic = exports.createMnemonic = void 0;
|
|
39
|
-
const native = __importStar(require("@shapeshiftoss/hdwallet-native"));
|
|
40
|
-
const bip39 = __importStar(require("bip39"));
|
|
41
|
-
const p_lazy_1 = __importDefault(require("p-lazy"));
|
|
42
|
-
const uuid = __importStar(require("uuid"));
|
|
43
|
-
const web_encoding_1 = require("web-encoding");
|
|
44
|
-
const nativeEngines = p_lazy_1.default.from(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
-
return (yield Promise.resolve().then(() => __importStar(require("@shapeshiftoss/hdwallet-native")))).crypto.Isolation.Engines;
|
|
46
|
-
}));
|
|
47
|
-
function createMnemonic(mnemonic) {
|
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
return (yield nativeEngines).Default.BIP39.Mnemonic.create(mnemonic);
|
|
50
|
-
});
|
|
9
|
+
export async function createMnemonic(mnemonic) {
|
|
10
|
+
return (await nativeEngines).Default.BIP39.Mnemonic.create(mnemonic);
|
|
51
11
|
}
|
|
52
|
-
|
|
53
|
-
exports.entropyToMnemonic = bip39.entropyToMnemonic.bind(bip39);
|
|
12
|
+
export const entropyToMnemonic = bip39.entropyToMnemonic.bind(bip39);
|
|
54
13
|
let cryptoResolver;
|
|
55
|
-
function setCrypto(x) {
|
|
14
|
+
export function setCrypto(x) {
|
|
56
15
|
if (!x)
|
|
57
16
|
throw new Error("crypto module is required");
|
|
58
17
|
if (!cryptoResolver)
|
|
@@ -60,10 +19,9 @@ function setCrypto(x) {
|
|
|
60
19
|
cryptoResolver(x);
|
|
61
20
|
cryptoResolver = undefined;
|
|
62
21
|
}
|
|
63
|
-
|
|
64
|
-
exports.crypto = new Promise((resolve) => (cryptoResolver = resolve));
|
|
22
|
+
export const crypto = new Promise((resolve) => (cryptoResolver = resolve));
|
|
65
23
|
let performanceResolver;
|
|
66
|
-
function setPerformance(x) {
|
|
24
|
+
export function setPerformance(x) {
|
|
67
25
|
if (!x)
|
|
68
26
|
throw new Error("performance module is required");
|
|
69
27
|
if (!performanceResolver)
|
|
@@ -71,19 +29,18 @@ function setPerformance(x) {
|
|
|
71
29
|
performanceResolver(x);
|
|
72
30
|
performanceResolver = undefined;
|
|
73
31
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
exports.vaultStoreUUID = uuid.v5("vaultStore", exports.uuidNamespace);
|
|
32
|
+
export const performance = new Promise((resolve) => (performanceResolver = resolve));
|
|
33
|
+
export const uuidNamespace = uuid.v5("hdwallet-native-vault", uuid.NIL);
|
|
34
|
+
export const keyStoreUUID = uuid.v5("keyStore", uuidNamespace);
|
|
35
|
+
export const vaultStoreUUID = uuid.v5("vaultStore", uuidNamespace);
|
|
79
36
|
// Using a dynamic v4 UUID for GENERATE_MNEMONIC is slightly more correct and secure, but it could also be a v5 UUID:
|
|
80
37
|
// export const GENERATE_MNEMONIC = uuid.v5("GENERATE_MNEMONIC", uuidNamespace);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
function shadowedMap(map, get, addRevoker) {
|
|
38
|
+
export const GENERATE_MNEMONIC = uuid.v4();
|
|
39
|
+
export const Revocable = native.crypto.Isolation.Engines.Default.Revocable;
|
|
40
|
+
export const revocable = native.crypto.Isolation.Engines.Default.revocable;
|
|
41
|
+
export const decoder = new TextDecoder();
|
|
42
|
+
export const encoder = new TextEncoder();
|
|
43
|
+
export function shadowedMap(map, get, addRevoker) {
|
|
87
44
|
const self = map;
|
|
88
45
|
const { proxy, revoke } = Proxy.revocable(self, {
|
|
89
46
|
get(t, p, r) {
|
|
@@ -95,7 +52,7 @@ function shadowedMap(map, get, addRevoker) {
|
|
|
95
52
|
case "entries":
|
|
96
53
|
return () => Array.from(self.keys()).map((k) => [k, get(k)]);
|
|
97
54
|
case "entriesAsync":
|
|
98
|
-
return () => Promise.all(Array.from(self.keys()).map((k) =>
|
|
55
|
+
return () => Promise.all(Array.from(self.keys()).map(async (k) => [k, await get(k)]));
|
|
99
56
|
case "forEach":
|
|
100
57
|
return (callbackFn, thisArg) => {
|
|
101
58
|
for (const key of self.keys()) {
|
|
@@ -113,5 +70,4 @@ function shadowedMap(map, get, addRevoker) {
|
|
|
113
70
|
addRevoker(revoke);
|
|
114
71
|
return proxy;
|
|
115
72
|
}
|
|
116
|
-
exports.shadowedMap = shadowedMap;
|
|
117
73
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|