@shapeshiftoss/hdwallet-native-vault 1.55.2 → 1.55.3

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 CHANGED
@@ -1,33 +1,19 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Vault = exports.GENERATE_MNEMONIC = void 0;
13
- const util_1 = require("./util");
14
- const vault_1 = require("./vault");
15
- var util_2 = require("./util");
16
- Object.defineProperty(exports, "GENERATE_MNEMONIC", { enumerable: true, get: function () { return util_2.GENERATE_MNEMONIC; } });
17
- var vault_2 = require("./vault");
18
- Object.defineProperty(exports, "Vault", { enumerable: true, get: function () { return vault_2.Vault; } });
19
- vault_1.Vault.registerValueTransformer("#mnemonic", (x) => __awaiter(void 0, void 0, void 0, function* () {
20
- if (x !== util_1.GENERATE_MNEMONIC)
1
+ import { createMnemonic, crypto, entropyToMnemonic, GENERATE_MNEMONIC } from "./util";
2
+ import { Vault } from "./vault";
3
+ export { GENERATE_MNEMONIC } from "./util";
4
+ export { Vault } from "./vault";
5
+ Vault.registerValueTransformer("#mnemonic", async (x) => {
6
+ if (x !== GENERATE_MNEMONIC)
21
7
  return x;
22
- const entropy = yield (yield util_1.crypto).getRandomValues(Buffer.alloc(16));
23
- return (0, util_1.entropyToMnemonic)(entropy);
24
- }));
25
- vault_1.Vault.registerValueWrapper("#mnemonic", (x, addRevoker) => __awaiter(void 0, void 0, void 0, function* () {
8
+ const entropy = await (await crypto).getRandomValues(Buffer.alloc(16));
9
+ return entropyToMnemonic(entropy);
10
+ });
11
+ Vault.registerValueWrapper("#mnemonic", async (x, addRevoker) => {
26
12
  if (typeof x !== "string")
27
13
  throw new TypeError("#mnemonic must be a string");
28
- const out = yield (0, util_1.createMnemonic)(x);
29
- addRevoker(() => { var _a; return (_a = out.revoke) === null || _a === void 0 ? void 0 : _a.call(out); });
14
+ const out = await createMnemonic(x);
15
+ addRevoker(() => out.revoke?.());
30
16
  return out;
31
- }));
32
- vault_1.Vault.extensionRegistrationComplete();
17
+ });
18
+ Vault.extensionRegistrationComplete();
33
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsF;AACtF,mCAAgC;AAGhC,+BAA2C;AAAlC,yGAAA,iBAAiB,OAAA;AAC1B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,aAAK,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAO,CAAU,EAAE,EAAE;IAC/D,IAAI,CAAC,KAAK,wBAAiB;QAAE,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,aAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,IAAA,wBAAiB,EAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAA,CAAC,CAAC;AACH,aAAK,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAO,CAAU,EAAE,UAAwC,EAAE,EAAE;IACrG,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAc,EAAC,CAAC,CAAC,CAAC;IACpC,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,MAAM,mDAAI,CAAA,EAAA,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC,CAAA,CAAC,CAAC;AACH,aAAK,CAAC,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACtF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,KAAK,CAAC,wBAAwB,CAAC,WAAW,EAAE,KAAK,EAAE,CAAU,EAAE,EAAE;IAC/D,IAAI,CAAC,KAAK,iBAAiB;QAAE,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,CAAU,EAAE,UAAwC,EAAE,EAAE;IACrG,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC;IACpC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,6BAA6B,EAAE,CAAC"}
package/dist/mapVault.js CHANGED
@@ -1,133 +1,70 @@
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
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
35
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
36
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
37
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
38
- };
39
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
40
- if (kind === "m") throw new TypeError("Private method is not writable");
41
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
42
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
43
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
44
- };
45
- var _MapVault_rawVault;
46
- Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.MapVault = void 0;
48
- const ta = __importStar(require("type-assertions"));
49
- const rawVault_1 = require("./rawVault");
50
- const util_1 = require("./util");
1
+ import * as ta from "type-assertions";
2
+ import { RawVault } from "./rawVault";
3
+ import { decoder, encoder, Revocable } from "./util";
51
4
  ta.assert();
52
- class MapVault extends (0, util_1.Revocable)(Map) {
53
- static prepare(params) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- return rawVault_1.RawVault.prepare(params);
56
- });
5
+ export class MapVault extends Revocable(Map) {
6
+ static async prepare(params) {
7
+ return RawVault.prepare(params);
57
8
  }
58
- static create(password) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- return yield MapVault.open(undefined, password);
61
- });
9
+ static async create(password) {
10
+ return await MapVault.open(undefined, password);
62
11
  }
63
- static open(id, password) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- yield MapVault.prepare();
66
- return new MapVault(yield rawVault_1.RawVault.open(id, password));
67
- });
12
+ static async open(id, password) {
13
+ await MapVault.prepare();
14
+ return new MapVault(await RawVault.open(id, password));
68
15
  }
69
16
  static list() {
70
- return rawVault_1.RawVault.list();
17
+ return RawVault.list();
71
18
  }
72
19
  static meta(id) {
73
- return rawVault_1.RawVault.meta(id);
20
+ return RawVault.meta(id);
74
21
  }
75
22
  static delete(id) {
76
- return rawVault_1.RawVault.delete(id);
23
+ return RawVault.delete(id);
77
24
  }
25
+ #rawVault;
78
26
  constructor(rawVault) {
79
27
  super();
80
- _MapVault_rawVault.set(this, void 0);
81
28
  this.addRevoker(() => this.clear());
82
- this.addRevoker(() => __classPrivateFieldGet(this, _MapVault_rawVault, "f").revoke());
83
- __classPrivateFieldSet(this, _MapVault_rawVault, rawVault, "f");
29
+ this.addRevoker(() => this.#rawVault.revoke());
30
+ this.#rawVault = rawVault;
84
31
  }
85
32
  get id() {
86
- return __classPrivateFieldGet(this, _MapVault_rawVault, "f").id;
33
+ return this.#rawVault.id;
87
34
  }
88
35
  get meta() {
89
- return __classPrivateFieldGet(this, _MapVault_rawVault, "f").meta;
36
+ return this.#rawVault.meta;
90
37
  }
91
- setPassword(password) {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- yield __classPrivateFieldGet(this, _MapVault_rawVault, "f").setPassword(password);
94
- return this;
95
- });
38
+ async setPassword(password) {
39
+ await this.#rawVault.setPassword(password);
40
+ return this;
96
41
  }
97
- load(deserializer) {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- yield __classPrivateFieldGet(this, _MapVault_rawVault, "f").load((x) => __awaiter(this, void 0, void 0, function* () {
100
- const obj = JSON.parse(util_1.decoder.decode(x));
101
- yield deserializer(Object.entries(obj).map(([k, v]) => [k, Promise.resolve(v)]));
102
- }));
103
- return this;
42
+ async load(deserializer) {
43
+ await this.#rawVault.load(async (x) => {
44
+ const obj = JSON.parse(decoder.decode(x));
45
+ await deserializer(Object.entries(obj).map(([k, v]) => [k, Promise.resolve(v)]));
104
46
  });
47
+ return this;
105
48
  }
106
- save(serializer) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- yield __classPrivateFieldGet(this, _MapVault_rawVault, "f").save(() => __awaiter(this, void 0, void 0, function* () {
109
- const payloadObj = (yield Promise.all((yield serializer()).map(([k, v]) => __awaiter(this, void 0, void 0, function* () { return [k, yield v]; }))))
110
- .sort((a, b) => {
111
- if (a[0] < b[0])
112
- return -1;
113
- if (a[0] > b[0])
114
- return 1;
115
- return 0;
116
- })
117
- .reduce((a, [k, v]) => ((a[k] = v), a), {});
118
- return util_1.encoder.encode(JSON.stringify(payloadObj));
119
- }));
120
- return this;
49
+ async save(serializer) {
50
+ await this.#rawVault.save(async () => {
51
+ const payloadObj = (await Promise.all((await serializer()).map(async ([k, v]) => [k, await v])))
52
+ .sort((a, b) => {
53
+ if (a[0] < b[0])
54
+ return -1;
55
+ if (a[0] > b[0])
56
+ return 1;
57
+ return 0;
58
+ })
59
+ .reduce((a, [k, v]) => ((a[k] = v), a), {});
60
+ return encoder.encode(JSON.stringify(payloadObj));
121
61
  });
62
+ return this;
122
63
  }
123
- entriesAsync() {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- return yield Promise.all(Array.from(this.entries()).map(([k, v]) => __awaiter(this, void 0, void 0, function* () { return [k, yield v]; })));
126
- });
64
+ async entriesAsync() {
65
+ return await Promise.all(Array.from(this.entries()).map(async ([k, v]) => [k, await v]));
127
66
  }
128
67
  }
129
- exports.MapVault = MapVault;
130
- _MapVault_rawVault = new WeakMap();
131
68
  Object.freeze(MapVault);
132
69
  Object.freeze(MapVault.prototype);
133
70
  Object.freeze(Object.getPrototypeOf(MapVault));
@@ -1 +1 @@
1
- {"version":3,"file":"mapVault.js","sourceRoot":"","sources":["../src/mapVault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapVault.js","sourceRoot":"","sources":["../src/mapVault.ts"],"names":[],"mappings":"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"}