@ledgerhq/hw-ledger-key-ring-protocol 0.3.1 → 0.3.2-nightly.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.
Files changed (68) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +14 -0
  3. package/lib/ApduDevice.d.ts +1 -0
  4. package/lib/ApduDevice.d.ts.map +1 -1
  5. package/lib/ApduDevice.js +195 -240
  6. package/lib/ApduDevice.js.map +1 -1
  7. package/lib/CommandBlock.js +26 -2
  8. package/lib/CommandBlock.js.map +1 -1
  9. package/lib/CommandStream.js +69 -85
  10. package/lib/CommandStream.js.map +1 -1
  11. package/lib/CommandStreamResolver.js +42 -56
  12. package/lib/CommandStreamResolver.js.map +1 -1
  13. package/lib/Device.js +115 -131
  14. package/lib/Device.js.map +1 -1
  15. package/lib/IndexedTree.js +2 -0
  16. package/lib/IndexedTree.js.map +1 -1
  17. package/lib/PublicKey.js +1 -0
  18. package/lib/PublicKey.js.map +1 -1
  19. package/lib/SeedId.js +12 -0
  20. package/lib/SeedId.js.map +1 -1
  21. package/lib/StreamTree.js +56 -72
  22. package/lib/StreamTree.js.map +1 -1
  23. package/lib/StreamTreeCipher.js +62 -75
  24. package/lib/StreamTreeCipher.js.map +1 -1
  25. package/lib/__tests__/codec.js +3 -12
  26. package/lib/__tests__/codec.js.map +1 -1
  27. package/lib/__tests__/crypto.js +22 -31
  28. package/lib/__tests__/crypto.js.map +1 -1
  29. package/lib/__tests__/indexed_tree.js +2 -3
  30. package/lib/__tests__/indexed_tree.js.map +1 -1
  31. package/lib/__tests__/key_exchange.js +40 -49
  32. package/lib/__tests__/key_exchange.js.map +1 -1
  33. package/lib/__tests__/shared_object.js +34 -47
  34. package/lib/__tests__/shared_object.js.map +1 -1
  35. package/lib-es/ApduDevice.d.ts +1 -0
  36. package/lib-es/ApduDevice.d.ts.map +1 -1
  37. package/lib-es/ApduDevice.js +195 -240
  38. package/lib-es/ApduDevice.js.map +1 -1
  39. package/lib-es/CommandBlock.js +26 -2
  40. package/lib-es/CommandBlock.js.map +1 -1
  41. package/lib-es/CommandStream.js +69 -85
  42. package/lib-es/CommandStream.js.map +1 -1
  43. package/lib-es/CommandStreamResolver.js +42 -56
  44. package/lib-es/CommandStreamResolver.js.map +1 -1
  45. package/lib-es/Device.js +115 -131
  46. package/lib-es/Device.js.map +1 -1
  47. package/lib-es/IndexedTree.js +2 -0
  48. package/lib-es/IndexedTree.js.map +1 -1
  49. package/lib-es/PublicKey.js +1 -0
  50. package/lib-es/PublicKey.js.map +1 -1
  51. package/lib-es/SeedId.js +12 -0
  52. package/lib-es/SeedId.js.map +1 -1
  53. package/lib-es/StreamTree.js +56 -72
  54. package/lib-es/StreamTree.js.map +1 -1
  55. package/lib-es/StreamTreeCipher.js +62 -75
  56. package/lib-es/StreamTreeCipher.js.map +1 -1
  57. package/lib-es/__tests__/codec.js +3 -12
  58. package/lib-es/__tests__/codec.js.map +1 -1
  59. package/lib-es/__tests__/crypto.js +22 -31
  60. package/lib-es/__tests__/crypto.js.map +1 -1
  61. package/lib-es/__tests__/indexed_tree.js +2 -3
  62. package/lib-es/__tests__/indexed_tree.js.map +1 -1
  63. package/lib-es/__tests__/key_exchange.js +40 -49
  64. package/lib-es/__tests__/key_exchange.js.map +1 -1
  65. package/lib-es/__tests__/shared_object.js +34 -47
  66. package/lib-es/__tests__/shared_object.js.map +1 -1
  67. package/package.json +4 -4
  68. package/tsconfig.json +0 -1
package/lib/Device.js CHANGED
@@ -1,13 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -18,13 +9,12 @@ const CommandBlock_1 = require("./CommandBlock");
18
9
  const CommandStreamResolver_1 = __importDefault(require("./CommandStreamResolver"));
19
10
  const Crypto_1 = require("./Crypto");
20
11
  class SoftwareDevice {
12
+ keyPair;
21
13
  constructor(kp) {
22
14
  this.keyPair = kp;
23
15
  }
24
- getPublicKey() {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- return new PublicKey_1.PublicKey(this.keyPair.publicKey);
27
- });
16
+ async getPublicKey() {
17
+ return new PublicKey_1.PublicKey(this.keyPair.publicKey);
28
18
  }
29
19
  generateSharedKey() {
30
20
  const xpriv = Crypto_1.crypto.randomBytes(64);
@@ -48,133 +38,127 @@ class SoftwareDevice {
48
38
  const xpriv = Crypto_1.crypto.decrypt(ecdh, encryptedSharedKey.initializationVector, encryptedSharedKey.encryptedXpriv);
49
39
  return { xpriv, publicKey: encryptedSharedKey.publicKey };
50
40
  }
51
- deriveKey(tree, path) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const event = yield tree.getPublishKeyEvent(this.keyPair.publicKey, path);
54
- if (!event) {
55
- throw new Error("Cannot find key in the tree for the current device");
56
- }
57
- const encryptedSharedKey = {
58
- encryptedXpriv: event.encryptedXpriv,
59
- publicKey: event.groupPublicKey,
60
- ephemeralPublicKey: event.ephemeralPublicKey,
61
- initializationVector: event.nonce,
62
- };
63
- const sharedKey = this.decryptSharedKey(encryptedSharedKey);
64
- const newKey = Crypto_1.crypto.derivePrivate(sharedKey.xpriv, path);
65
- const xpriv = new Uint8Array(64);
66
- xpriv.set(newKey.privateKey);
67
- xpriv.set(newKey.chainCode, 32);
68
- return { xpriv, publicKey: newKey.publicKey };
69
- });
41
+ async deriveKey(tree, path) {
42
+ const event = await tree.getPublishKeyEvent(this.keyPair.publicKey, path);
43
+ if (!event) {
44
+ throw new Error("Cannot find key in the tree for the current device");
45
+ }
46
+ const encryptedSharedKey = {
47
+ encryptedXpriv: event.encryptedXpriv,
48
+ publicKey: event.groupPublicKey,
49
+ ephemeralPublicKey: event.ephemeralPublicKey,
50
+ initializationVector: event.nonce,
51
+ };
52
+ const sharedKey = this.decryptSharedKey(encryptedSharedKey);
53
+ const newKey = Crypto_1.crypto.derivePrivate(sharedKey.xpriv, path);
54
+ const xpriv = new Uint8Array(64);
55
+ xpriv.set(newKey.privateKey);
56
+ xpriv.set(newKey.chainCode, 32);
57
+ return { xpriv, publicKey: newKey.publicKey };
70
58
  }
71
- sign(stream, tree) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- if (stream.length === 0) {
74
- throw new Error("Cannot sign an empty stream");
75
- }
76
- if (stream[stream.length - 1].commands.length === 0) {
77
- throw new Error("Cannot sign an empty block");
78
- }
79
- const lastBlock = stream[stream.length - 1];
80
- lastBlock.issuer = this.keyPair.publicKey;
81
- // Resolve the stream (before the last block)
82
- const resolved = yield CommandStreamResolver_1.default.resolve(stream.slice(0, stream.length - 1));
83
- // The shared key of the stream
84
- let sharedKey = null;
85
- // Iterate through the commands to inject encrypted keys
86
- for (let commandIndex = 0; commandIndex < lastBlock.commands.length; commandIndex++) {
87
- const command = lastBlock.commands[commandIndex];
88
- switch (command.getType()) {
89
- case CommandBlock_1.CommandType.Seed: {
90
- // Generate the shared key
91
- sharedKey = this.generateSharedKey();
92
- // Encrypt the shared key and inject it in the command
93
- const encryptedSharedKey = this.encryptSharedKey(sharedKey, this.keyPair.publicKey);
94
- command.groupKey = sharedKey.publicKey;
95
- command.encryptedXpriv = encryptedSharedKey.encryptedXpriv;
96
- command.ephemeralPublicKey = encryptedSharedKey.ephemeralPublicKey;
97
- command.initializationVector = encryptedSharedKey.initializationVector;
98
- break;
59
+ async sign(stream, tree) {
60
+ if (stream.length === 0) {
61
+ throw new Error("Cannot sign an empty stream");
62
+ }
63
+ if (stream[stream.length - 1].commands.length === 0) {
64
+ throw new Error("Cannot sign an empty block");
65
+ }
66
+ const lastBlock = stream[stream.length - 1];
67
+ lastBlock.issuer = this.keyPair.publicKey;
68
+ // Resolve the stream (before the last block)
69
+ const resolved = await CommandStreamResolver_1.default.resolve(stream.slice(0, stream.length - 1));
70
+ // The shared key of the stream
71
+ let sharedKey = null;
72
+ // Iterate through the commands to inject encrypted keys
73
+ for (let commandIndex = 0; commandIndex < lastBlock.commands.length; commandIndex++) {
74
+ const command = lastBlock.commands[commandIndex];
75
+ switch (command.getType()) {
76
+ case CommandBlock_1.CommandType.Seed: {
77
+ // Generate the shared key
78
+ sharedKey = this.generateSharedKey();
79
+ // Encrypt the shared key and inject it in the command
80
+ const encryptedSharedKey = this.encryptSharedKey(sharedKey, this.keyPair.publicKey);
81
+ command.groupKey = sharedKey.publicKey;
82
+ command.encryptedXpriv = encryptedSharedKey.encryptedXpriv;
83
+ command.ephemeralPublicKey = encryptedSharedKey.ephemeralPublicKey;
84
+ command.initializationVector = encryptedSharedKey.initializationVector;
85
+ break;
86
+ }
87
+ case CommandBlock_1.CommandType.Derive: {
88
+ // Derive the shared key from the tree
89
+ if (!tree) {
90
+ throw new Error("Cannot derive a key without a tree");
99
91
  }
100
- case CommandBlock_1.CommandType.Derive: {
101
- // Derive the shared key from the tree
102
- if (!tree) {
103
- throw new Error("Cannot derive a key without a tree");
92
+ sharedKey = await this.deriveKey(tree, command.path);
93
+ // Encrypt the shared key and inject it in the command
94
+ const encryptedDerivedKey = this.encryptSharedKey(sharedKey, this.keyPair.publicKey);
95
+ command.groupKey = sharedKey.publicKey;
96
+ command.encryptedXpriv = encryptedDerivedKey.encryptedXpriv;
97
+ command.initializationVector = encryptedDerivedKey.initializationVector;
98
+ command.ephemeralPublicKey = encryptedDerivedKey.ephemeralPublicKey;
99
+ break;
100
+ }
101
+ case CommandBlock_1.CommandType.PublishKey: {
102
+ // Derive the shared key from the tree
103
+ if (!sharedKey) {
104
+ // If the current stream is the seed stream, read the key from the first command in the first block
105
+ const encryptedKey = resolved.getEncryptedKey(this.keyPair.publicKey);
106
+ if (encryptedKey) {
107
+ sharedKey = this.decryptSharedKey({
108
+ encryptedXpriv: encryptedKey.encryptedXpriv,
109
+ initializationVector: encryptedKey.initialiationVector,
110
+ publicKey: encryptedKey.issuer,
111
+ ephemeralPublicKey: encryptedKey.ephemeralPublicKey,
112
+ });
104
113
  }
105
- sharedKey = yield this.deriveKey(tree, command.path);
106
- // Encrypt the shared key and inject it in the command
107
- const encryptedDerivedKey = this.encryptSharedKey(sharedKey, this.keyPair.publicKey);
108
- command.groupKey = sharedKey.publicKey;
109
- command.encryptedXpriv = encryptedDerivedKey.encryptedXpriv;
110
- command.initializationVector = encryptedDerivedKey.initializationVector;
111
- command.ephemeralPublicKey = encryptedDerivedKey.ephemeralPublicKey;
112
- break;
113
- }
114
- case CommandBlock_1.CommandType.PublishKey: {
115
- // Derive the shared key from the tree
116
- if (!sharedKey) {
117
- // If the current stream is the seed stream, read the key from the first command in the first block
118
- const encryptedKey = resolved.getEncryptedKey(this.keyPair.publicKey);
119
- if (encryptedKey) {
120
- sharedKey = this.decryptSharedKey({
121
- encryptedXpriv: encryptedKey.encryptedXpriv,
122
- initializationVector: encryptedKey.initialiationVector,
123
- publicKey: encryptedKey.issuer,
124
- ephemeralPublicKey: encryptedKey.ephemeralPublicKey,
125
- });
126
- }
127
- else if (stream[0].commands[0].getType() == CommandBlock_1.CommandType.Seed) {
128
- if (Crypto_1.crypto.to_hex(stream[0].issuer) !== Crypto_1.crypto.to_hex(this.keyPair.publicKey)) {
129
- throw new Error("Cannot read the seed key from another device");
130
- }
114
+ else if (stream[0].commands[0].getType() == CommandBlock_1.CommandType.Seed) {
115
+ if (Crypto_1.crypto.to_hex(stream[0].issuer) !== Crypto_1.crypto.to_hex(this.keyPair.publicKey)) {
116
+ throw new Error("Cannot read the seed key from another device");
131
117
  }
132
- else {
133
- // console.dir(stream, { depth: null });
134
- sharedKey = yield this.deriveKey(tree, resolved.getStreamDerivationPath());
135
- }
136
- if (!sharedKey)
137
- throw new Error("Cannot find the shared key");
138
118
  }
139
- const encryptedSharedKey = this.encryptSharedKey(sharedKey, command.recipient);
140
- command.encryptedXpriv = encryptedSharedKey.encryptedXpriv;
141
- command.initializationVector = encryptedSharedKey.initializationVector;
142
- command.ephemeralPublicKey = encryptedSharedKey.ephemeralPublicKey;
143
- break;
119
+ else {
120
+ // console.dir(stream, { depth: null });
121
+ sharedKey = await this.deriveKey(tree, resolved.getStreamDerivationPath());
122
+ }
123
+ if (!sharedKey)
124
+ throw new Error("Cannot find the shared key");
144
125
  }
126
+ const encryptedSharedKey = this.encryptSharedKey(sharedKey, command.recipient);
127
+ command.encryptedXpriv = encryptedSharedKey.encryptedXpriv;
128
+ command.initializationVector = encryptedSharedKey.initializationVector;
129
+ command.ephemeralPublicKey = encryptedSharedKey.ephemeralPublicKey;
130
+ break;
145
131
  }
146
132
  }
147
- const signature = (0, CommandBlock_1.signCommandBlock)(lastBlock, (yield this.getPublicKey()).publicKey, this.keyPair.privateKey).signature;
148
- lastBlock.signature = signature;
149
- return lastBlock;
150
- });
133
+ }
134
+ const signature = (0, CommandBlock_1.signCommandBlock)(lastBlock, (await this.getPublicKey()).publicKey, this.keyPair.privateKey).signature;
135
+ lastBlock.signature = signature;
136
+ return lastBlock;
151
137
  }
152
- readKey(tree, path) {
153
- return __awaiter(this, void 0, void 0, function* () {
154
- const event = yield tree.getPublishKeyEvent(this.keyPair.publicKey, path);
155
- if (!event) {
156
- throw new Error("Cannot find key in the tree for the current device");
157
- }
158
- const encryptedSharedKey = {
159
- encryptedXpriv: event.encryptedXpriv,
160
- initializationVector: event.nonce,
161
- publicKey: event.groupPublicKey,
162
- ephemeralPublicKey: event.ephemeralPublicKey,
163
- };
164
- const sharedKey = this.decryptSharedKey(encryptedSharedKey);
165
- // Derive the key to match the path
166
- let index = Crypto_1.DerivationPath.toIndexArray(event.stream.getStreamPath()).length;
167
- while (index < path.length) {
168
- const derivation = Crypto_1.crypto.derivePrivate(sharedKey.xpriv, [index]);
169
- const xpriv = new Uint8Array(64);
170
- xpriv.set(derivation.privateKey);
171
- xpriv.set(derivation.chainCode, 32);
172
- sharedKey.xpriv = xpriv;
173
- sharedKey.publicKey = derivation.publicKey;
174
- index += 1;
175
- }
176
- return sharedKey.xpriv;
177
- });
138
+ async readKey(tree, path) {
139
+ const event = await tree.getPublishKeyEvent(this.keyPair.publicKey, path);
140
+ if (!event) {
141
+ throw new Error("Cannot find key in the tree for the current device");
142
+ }
143
+ const encryptedSharedKey = {
144
+ encryptedXpriv: event.encryptedXpriv,
145
+ initializationVector: event.nonce,
146
+ publicKey: event.groupPublicKey,
147
+ ephemeralPublicKey: event.ephemeralPublicKey,
148
+ };
149
+ const sharedKey = this.decryptSharedKey(encryptedSharedKey);
150
+ // Derive the key to match the path
151
+ let index = Crypto_1.DerivationPath.toIndexArray(event.stream.getStreamPath()).length;
152
+ while (index < path.length) {
153
+ const derivation = Crypto_1.crypto.derivePrivate(sharedKey.xpriv, [index]);
154
+ const xpriv = new Uint8Array(64);
155
+ xpriv.set(derivation.privateKey);
156
+ xpriv.set(derivation.chainCode, 32);
157
+ sharedKey.xpriv = xpriv;
158
+ sharedKey.publicKey = derivation.publicKey;
159
+ index += 1;
160
+ }
161
+ return sharedKey.xpriv;
178
162
  }
179
163
  isPublicKeyAvailable() {
180
164
  return true;
package/lib/Device.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Device.js","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Device.js","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IndexedTree = void 0;
4
4
  class IndexedTree {
5
+ node;
6
+ children;
5
7
  constructor(node, children = new Map()) {
6
8
  this.node = node;
7
9
  this.children = children;
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedTree.js","sourceRoot":"","sources":["../src/IndexedTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexedTree.js","sourceRoot":"","sources":["../src/IndexedTree.ts"],"names":[],"mappings":"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"}
package/lib/PublicKey.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PublicKey = void 0;
4
4
  class PublicKey {
5
+ publicKey;
5
6
  constructor(publicKey) {
6
7
  this.publicKey = publicKey;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../src/PublicKey.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IAEpB,YAAY,SAAqB;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AALD,8BAKC"}
1
+ {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../src/PublicKey.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAS;IACpB,SAAS,CAAa;IACtB,YAAY,SAAqB;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AALD,8BAKC"}
package/lib/SeedId.js CHANGED
@@ -8,6 +8,10 @@ const BigEndian_1 = __importDefault(require("./BigEndian"));
8
8
  const Crypto_1 = require("./Crypto");
9
9
  const tlv_1 = require("./tlv");
10
10
  class PubKeyCredential {
11
+ version;
12
+ curveId;
13
+ signAlgorithm;
14
+ publicKey;
11
15
  constructor({ version, curveId, signAlgorithm, publicKey, }) {
12
16
  this.version = version;
13
17
  this.curveId = curveId;
@@ -66,6 +70,14 @@ class PubKeyCredential {
66
70
  }
67
71
  exports.PubKeyCredential = PubKeyCredential;
68
72
  class Challenge {
73
+ payloadType;
74
+ version;
75
+ protocolVersion;
76
+ challengeData;
77
+ challengeExpiry;
78
+ host;
79
+ rpCredential;
80
+ rpSignature;
69
81
  constructor({ payloadType, version, protocolVersion, challengeData, challengeExpiry, host, rpCredential, rpSignature, }) {
70
82
  this.payloadType = payloadType;
71
83
  this.version = version;
package/lib/SeedId.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"SeedId.js","sourceRoot":"","sources":["../src/SeedId.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SeedId.js","sourceRoot":"","sources":["../src/SeedId.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AACpC,qCAAkC;AAClC,+BAA4B;AAE5B,MAAa,gBAAgB;IAC3B,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,aAAa,CAAS;IACtB,SAAS,CAAa;IAEtB,YAAY,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,GAMV;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QAE7F,OAAO;YACL,IAAI,gBAAgB,CAAC;gBACnB,OAAO;gBACP,OAAO;gBACP,aAAa;gBACb,SAAS;aACV,CAAC;YACF,CAAC,GAAG,eAAe;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;CACF;AA5ED,4CA4EC;AAQD,MAAa,SAAS;IACpB,WAAW,CAAS;IACpB,OAAO,CAAS;IAChB,eAAe,CAAS;IACxB,aAAa,CAAa;IAC1B,eAAe,CAAO;IACtB,IAAI,CAAS;IACb,YAAY,CAAmB;IAC/B,WAAW,CAAa;IAExB,YAAY,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,aAAa,EACb,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,WAAW,GAUZ;QACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAgB,EAAE,MAAM,GAAG,CAAC;QAC3C,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,MAAM,GAAG,GAAG,SAAG,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YAC7B,8FAA8F;QAChG,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,eAAe,GAAG;YACtB,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAC9B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAC9B,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;SAC/B,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB,CAAC;QAEzC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,mBAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEvF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC;YACxC,OAAO;YACP,OAAO;YACP,aAAa;YACb,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,WAAW,GAAG,gBAAgB,CAAC;QAErC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;YAC9B,WAAW;YACX,eAAe;YACf,OAAO;YACP,aAAa;YACb,eAAe;YACf,IAAI;YACJ,YAAY;YACZ,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACL,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAE9B,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClF,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzF,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9E,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,mBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,GAAG,SAAG,CAAC,OAAO,CAClB,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAClC,IAAI,CAAC,YAAY,CAAC,SAAS,CAC5B,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc;QACZ,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClF,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,mBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,MAAM,GAAG,SAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE;gBACT,IAAI,EAAE,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;gBACvC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;aAC3C;YACD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE;gBACF;oBACE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;oBACtC,SAAS,EAAE,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,UAAU,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,KAAK;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK;YAC1B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;CACF;AAvMD,8BAuMC;AAWD,SAAgB,iBAAiB,CAAC,MAAkB;IAClD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9F,gBAAgB,CAAC,cAAc,EAAE,CAAC;IAElC,MAAM,IAAI,sBAAsB,CAAC;IAEjC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,CAAC,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,YAAY,CAAC,CAAC;IAE1F,MAAM,IAAI,YAAY,CAAC;IAEvB,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,CAAC;IAEZ,MAAM,CAAC,2BAA2B,EAAE,iCAAiC,CAAC,GACpE,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C,2BAA2B,CAAC,cAAc,EAAE,CAAC;IAE7C,MAAM,IAAI,iCAAiC,CAAC;IAE5C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,IAAI,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,cAAc,CAAC,CAAC;IAE9F,OAAO;QACL,gBAAgB;QAChB,SAAS;QACT,eAAe;QACf,2BAA2B;QAC3B,WAAW;QACX,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAvCD,8CAuCC"}
package/lib/StreamTree.js CHANGED
@@ -1,13 +1,4 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.StreamTree = void 0;
13
4
  const _1 = require(".");
@@ -17,6 +8,7 @@ const IndexedTree_1 = require("./IndexedTree");
17
8
  *
18
9
  */
19
10
  class StreamTree {
11
+ tree;
20
12
  constructor(tree) {
21
13
  if (tree.getValue() === null) {
22
14
  throw new Error("Root of the tree cannot be null");
@@ -24,43 +16,41 @@ class StreamTree {
24
16
  this.tree = tree;
25
17
  }
26
18
  getApplicationRootPath(applicationId, increment = 0) {
27
- var _a;
28
19
  // tree index is always 0 in the current implementation
29
20
  const treeIndex = 0;
30
21
  // for application index, we have key rotation that is possible so we need to find the last index
31
- const child = (_a = this.tree
32
- .getChild(Crypto_1.DerivationPath.hardenedIndex(treeIndex))) === null || _a === void 0 ? void 0 : _a.getChild(Crypto_1.DerivationPath.hardenedIndex(applicationId));
22
+ const child = this.tree
23
+ .getChild(Crypto_1.DerivationPath.hardenedIndex(treeIndex))
24
+ ?.getChild(Crypto_1.DerivationPath.hardenedIndex(applicationId));
33
25
  const applicationIndex = child
34
26
  ? Crypto_1.DerivationPath.reverseHardenedIndex(child.getHighestIndex())
35
27
  : 0;
36
28
  return `m/${treeIndex}'/${applicationId}'/${applicationIndex + increment}'`;
37
29
  }
38
- getPublishKeyEvent(member, path) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- // Iterate over the tree from leaf to root
41
- const leaf = this.tree.findChild(path);
42
- if (!leaf || leaf.getValue() === null) {
43
- if (path.length === 0) {
44
- return null;
45
- }
46
- return this.getPublishKeyEvent(member, path.slice(0, path.length - 1));
30
+ async getPublishKeyEvent(member, path) {
31
+ // Iterate over the tree from leaf to root
32
+ const leaf = this.tree.findChild(path);
33
+ if (!leaf || leaf.getValue() === null) {
34
+ if (path.length === 0) {
35
+ return null;
47
36
  }
48
- const resolved = yield leaf.getValue().resolve();
49
- const key = resolved.getEncryptedKey(member);
50
- if (!key) {
51
- if (path.length === 0) {
52
- return null;
53
- }
54
- return this.getPublishKeyEvent(member, path.slice(0, path.length - 1));
37
+ return this.getPublishKeyEvent(member, path.slice(0, path.length - 1));
38
+ }
39
+ const resolved = await leaf.getValue().resolve();
40
+ const key = resolved.getEncryptedKey(member);
41
+ if (!key) {
42
+ if (path.length === 0) {
43
+ return null;
55
44
  }
56
- return {
57
- stream: leaf.getValue(),
58
- encryptedXpriv: key.encryptedXpriv,
59
- ephemeralPublicKey: key.ephemeralPublicKey,
60
- nonce: key.initialiationVector,
61
- groupPublicKey: resolved.getGroupPublicKey(),
62
- };
63
- });
45
+ return this.getPublishKeyEvent(member, path.slice(0, path.length - 1));
46
+ }
47
+ return {
48
+ stream: leaf.getValue(),
49
+ encryptedXpriv: key.encryptedXpriv,
50
+ ephemeralPublicKey: key.ephemeralPublicKey,
51
+ nonce: key.initialiationVector,
52
+ groupPublicKey: resolved.getGroupPublicKey(),
53
+ };
64
54
  }
65
55
  getChild(path) {
66
56
  const indexes = typeof path === "string" ? Crypto_1.DerivationPath.toIndexArray(path) : path;
@@ -76,38 +66,34 @@ class StreamTree {
76
66
  /**
77
67
  * Share a private key with a member
78
68
  */
79
- share(path, owner, member, name, permission) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const indexes = typeof path === "string" ? Crypto_1.DerivationPath.toIndexArray(path) : path;
82
- let stream = this.getChild(indexes) || new _1.CommandStream();
83
- if (stream.blocks.length === 0 && indexes.length > 0) {
84
- const root = yield this.getRoot().getRootHash();
85
- stream = yield stream
86
- .edit()
87
- .derive(indexes)
88
- .addMember(name, member, permission, true)
89
- .issue(owner, this, root);
90
- return this.update(stream);
91
- }
92
- else if (stream.blocks.length === 0) {
93
- throw new Error("StreamTree.share cannot add a member if the root was not previously created");
94
- }
95
- else {
96
- const newStream = yield stream.edit().addMember(name, member, permission).issue(owner, this);
97
- return this.update(newStream);
98
- }
99
- });
69
+ async share(path, owner, member, name, permission) {
70
+ const indexes = typeof path === "string" ? Crypto_1.DerivationPath.toIndexArray(path) : path;
71
+ let stream = this.getChild(indexes) || new _1.CommandStream();
72
+ if (stream.blocks.length === 0 && indexes.length > 0) {
73
+ const root = await this.getRoot().getRootHash();
74
+ stream = await stream
75
+ .edit()
76
+ .derive(indexes)
77
+ .addMember(name, member, permission, true)
78
+ .issue(owner, this, root);
79
+ return this.update(stream);
80
+ }
81
+ else if (stream.blocks.length === 0) {
82
+ throw new Error("StreamTree.share cannot add a member if the root was not previously created");
83
+ }
84
+ else {
85
+ const newStream = await stream.edit().addMember(name, member, permission).issue(owner, this);
86
+ return this.update(newStream);
87
+ }
100
88
  }
101
89
  /**
102
90
  * Close a stream
103
91
  */
104
- close(path, owner) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- const indexes = typeof path === "string" ? Crypto_1.DerivationPath.toIndexArray(path) : path;
107
- let stream = this.getChild(indexes) || new _1.CommandStream();
108
- stream = yield stream.edit().close().issue(owner, this);
109
- return this.update(stream);
110
- });
92
+ async close(path, owner) {
93
+ const indexes = typeof path === "string" ? Crypto_1.DerivationPath.toIndexArray(path) : path;
94
+ let stream = this.getChild(indexes) || new _1.CommandStream();
95
+ stream = await stream.edit().close().issue(owner, this);
96
+ return this.update(stream);
111
97
  }
112
98
  update(stream) {
113
99
  const path = stream.getStreamPath();
@@ -134,14 +120,12 @@ class StreamTree {
134
120
  const streams = Object.values(data).map(data => new _1.CommandStream(_1.CommandStreamDecoder.decode(Crypto_1.crypto.from_hex(data))));
135
121
  return StreamTree.from(...streams);
136
122
  }
137
- static createNewTree(owner_1) {
138
- return __awaiter(this, arguments, void 0, function* (owner, opts = {}) {
139
- let stream = new _1.CommandStream();
140
- const streamToIssue = stream.edit().seed(opts.topic);
141
- stream = yield streamToIssue.issue(owner);
142
- const tree = new IndexedTree_1.IndexedTree(stream);
143
- return new StreamTree(tree);
144
- });
123
+ static async createNewTree(owner, opts = {}) {
124
+ let stream = new _1.CommandStream();
125
+ const streamToIssue = stream.edit().seed(opts.topic);
126
+ stream = await streamToIssue.issue(owner);
127
+ const tree = new IndexedTree_1.IndexedTree(stream);
128
+ return new StreamTree(tree);
145
129
  }
146
130
  static from(...streams) {
147
131
  // Map all stream with their path