@eluvio/elv-client-js 4.0.7 → 4.0.9

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 (45) hide show
  1. package/dist/ElvClient-min.js +10 -11
  2. package/dist/ElvClient-node-min.js +10 -11
  3. package/dist/ElvFrameClient-min.js +10 -11
  4. package/dist/ElvPermissionsClient-min.js +9 -10
  5. package/dist/ElvWalletClient-min.js +10 -11
  6. package/dist/ElvWalletClient-node-min.js +9 -10
  7. package/dist/src/AuthorizationClient.js +2069 -1548
  8. package/dist/src/ContentObjectVerification.js +185 -134
  9. package/dist/src/Crypto.js +323 -226
  10. package/dist/src/ElvClient.js +1118 -824
  11. package/dist/src/ElvWallet.js +106 -64
  12. package/dist/src/EthClient.js +974 -719
  13. package/dist/src/FrameClient.js +318 -222
  14. package/dist/src/HttpClient.js +154 -112
  15. package/dist/src/Id.js +6 -1
  16. package/dist/src/LogMessage.js +8 -4
  17. package/dist/src/PermissionsClient.js +1271 -973
  18. package/dist/src/RemoteSigner.js +232 -161
  19. package/dist/src/UserProfileClient.js +1038 -781
  20. package/dist/src/Utils.js +302 -160
  21. package/dist/src/Validation.js +17 -2
  22. package/dist/src/client/ABRPublishing.js +942 -772
  23. package/dist/src/client/AccessGroups.js +1095 -849
  24. package/dist/src/client/ContentAccess.js +4198 -3272
  25. package/dist/src/client/ContentManagement.js +2284 -1812
  26. package/dist/src/client/Contracts.js +614 -468
  27. package/dist/src/client/Files.js +1831 -1491
  28. package/dist/src/client/NFT.js +116 -94
  29. package/dist/src/client/NTP.js +425 -326
  30. package/dist/src/index.js +5 -2
  31. package/dist/src/walletClient/ClientMethods.js +1766 -1350
  32. package/dist/src/walletClient/Configuration.js +2 -4
  33. package/dist/src/walletClient/Notifications.js +127 -98
  34. package/dist/src/walletClient/Profile.js +246 -184
  35. package/dist/src/walletClient/Utils.js +124 -78
  36. package/dist/src/walletClient/index.js +1498 -1169
  37. package/package.json +1 -1
  38. package/src/Crypto.js +2 -2
  39. package/src/ElvClient.js +2 -2
  40. package/src/Utils.js +1 -1
  41. package/src/client/ContentAccess.js +27 -10
  42. package/src/client/Files.js +1 -1
  43. package/src/walletClient/ClientMethods.js +18 -10
  44. package/src/walletClient/Utils.js +2 -2
  45. package/src/walletClient/index.js +7 -2
@@ -1,67 +1,92 @@
1
1
  var _regeneratorRuntime = require("@babel/runtime/regenerator");
2
+
2
3
  var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
3
- var Buffer = require("buffer/").Buffer;
4
+
5
+ if (typeof globalThis.Buffer === "undefined") {
6
+ globalThis.Buffer = require("buffer/").Buffer;
7
+ }
8
+
4
9
  var bs58 = require("bs58");
10
+
5
11
  var Stream = require("stream");
12
+
6
13
  var Utils = require("./Utils");
14
+
7
15
  if (typeof crypto === "undefined") {
8
16
  var _crypto = require("crypto");
17
+
9
18
  _crypto.getRandomValues = function (arr) {
10
19
  return _crypto.randomBytes(arr.length);
11
20
  };
12
- global.crypto = _crypto;
21
+
22
+ globalThis.crypto = _crypto;
13
23
  }
24
+
14
25
  var _ElvCrypto;
26
+
15
27
  switch (Utils.Platform()) {
16
28
  case Utils.PLATFORM_REACT_NATIVE:
17
29
  _ElvCrypto = require("@eluvio/crypto/dist/elv-crypto.bundle.externals")["default"];
18
30
  break;
31
+
19
32
  case Utils.PLATFORM_WEB:
20
33
  _ElvCrypto = require("@eluvio/crypto/dist/elv-crypto.bundle.externals")["default"];
21
34
  break;
35
+
22
36
  default:
23
37
  _ElvCrypto = require("@eluvio/crypto/dist/elv-crypto.bundle.node")["default"];
24
38
  break;
25
39
  }
26
-
27
40
  /**
28
41
  * @namespace
29
42
  * @description This namespace contains cryptographic helper methods to encrypt and decrypt
30
43
  * data with automatic handling of keys
31
44
  */
45
+
46
+
32
47
  var Crypto = {
33
48
  ElvCrypto: function () {
34
49
  var _ElvCrypto2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
35
50
  return _regeneratorRuntime.wrap(function _callee$(_context) {
36
- while (1) switch (_context.prev = _context.next) {
37
- case 0:
38
- _context.prev = 0;
39
- if (Crypto.elvCrypto) {
40
- _context.next = 5;
41
- break;
42
- }
43
- _context.next = 4;
44
- return new _ElvCrypto().init();
45
- case 4:
46
- Crypto.elvCrypto = _context.sent;
47
- case 5:
48
- return _context.abrupt("return", Crypto.elvCrypto);
49
- case 8:
50
- _context.prev = 8;
51
- _context.t0 = _context["catch"](0);
52
- // eslint-disable-next-line no-console
53
- console.error("Error initializing ElvCrypto:");
54
- // eslint-disable-next-line no-console
55
- console.error(_context.t0);
56
- case 12:
57
- case "end":
58
- return _context.stop();
51
+ while (1) {
52
+ switch (_context.prev = _context.next) {
53
+ case 0:
54
+ _context.prev = 0;
55
+
56
+ if (Crypto.elvCrypto) {
57
+ _context.next = 5;
58
+ break;
59
+ }
60
+
61
+ _context.next = 4;
62
+ return new _ElvCrypto().init();
63
+
64
+ case 4:
65
+ Crypto.elvCrypto = _context.sent;
66
+
67
+ case 5:
68
+ return _context.abrupt("return", Crypto.elvCrypto);
69
+
70
+ case 8:
71
+ _context.prev = 8;
72
+ _context.t0 = _context["catch"](0);
73
+ // eslint-disable-next-line no-console
74
+ console.error("Error initializing ElvCrypto:"); // eslint-disable-next-line no-console
75
+
76
+ console.error(_context.t0);
77
+
78
+ case 12:
79
+ case "end":
80
+ return _context.stop();
81
+ }
59
82
  }
60
83
  }, _callee, null, [[0, 8]]);
61
84
  }));
85
+
62
86
  function ElvCrypto() {
63
87
  return _ElvCrypto2.apply(this, arguments);
64
88
  }
89
+
65
90
  return ElvCrypto;
66
91
  }(),
67
92
  EncryptedSize: function EncryptedSize(clearSize) {
@@ -69,9 +94,11 @@ var Crypto = {
69
94
  var blocks = Math.floor(clearSize / clearBlockSize);
70
95
  var encryptedBlockSize = Crypto.EncryptedBlockSize(clearBlockSize);
71
96
  var encryptedFileSize = blocks * encryptedBlockSize;
97
+
72
98
  if (clearSize % clearBlockSize !== 0) {
73
99
  encryptedFileSize += Crypto.EncryptedBlockSize(clearSize % clearBlockSize);
74
100
  }
101
+
75
102
  return encryptedFileSize;
76
103
  },
77
104
  EncryptedBlockSize: function EncryptedBlockSize(clearSize) {
@@ -82,35 +109,43 @@ var Crypto = {
82
109
  var clearElementByteSize = 12 * (MODBYTES_384_58 - 1);
83
110
  var encElementByteSize = 12 * MODBYTES_384_58;
84
111
  var encryptedBlockSize = Math.floor(clearSize / clearElementByteSize) * encElementByteSize;
112
+
85
113
  if (clearSize % clearElementByteSize !== 0) {
86
114
  encryptedBlockSize += encElementByteSize;
87
115
  }
116
+
88
117
  return reencrypt ? encryptedBlockSize + targetEncBlockOverhead : encryptedBlockSize + primaryEncBlockOverhead;
89
118
  },
90
119
  EncryptConk: function EncryptConk(conk, publicKey) {
91
120
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
92
121
  var elvCrypto, _yield$elvCrypto$encr, data, ephemeralKey, tag, cap;
122
+
93
123
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
94
- while (1) switch (_context2.prev = _context2.next) {
95
- case 0:
96
- _context2.next = 2;
97
- return Crypto.ElvCrypto();
98
- case 2:
99
- elvCrypto = _context2.sent;
100
- publicKey = new Uint8Array(Buffer.from(publicKey.replace("0x", ""), "hex"));
101
- conk = new Uint8Array(Buffer.from(JSON.stringify(conk)));
102
- _context2.next = 7;
103
- return elvCrypto.encryptECIES(conk, publicKey);
104
- case 7:
105
- _yield$elvCrypto$encr = _context2.sent;
106
- data = _yield$elvCrypto$encr.data;
107
- ephemeralKey = _yield$elvCrypto$encr.ephemeralKey;
108
- tag = _yield$elvCrypto$encr.tag;
109
- cap = Buffer.concat([Buffer.from(ephemeralKey), Buffer.from(tag), Buffer.from(data)]);
110
- return _context2.abrupt("return", Utils.B64(cap));
111
- case 13:
112
- case "end":
113
- return _context2.stop();
124
+ while (1) {
125
+ switch (_context2.prev = _context2.next) {
126
+ case 0:
127
+ _context2.next = 2;
128
+ return Crypto.ElvCrypto();
129
+
130
+ case 2:
131
+ elvCrypto = _context2.sent;
132
+ publicKey = new Uint8Array(Buffer.from(publicKey.replace("0x", ""), "hex"));
133
+ conk = new Uint8Array(Buffer.from(JSON.stringify(conk)));
134
+ _context2.next = 7;
135
+ return elvCrypto.encryptECIES(conk, publicKey);
136
+
137
+ case 7:
138
+ _yield$elvCrypto$encr = _context2.sent;
139
+ data = _yield$elvCrypto$encr.data;
140
+ ephemeralKey = _yield$elvCrypto$encr.ephemeralKey;
141
+ tag = _yield$elvCrypto$encr.tag;
142
+ cap = Buffer.concat([Buffer.from(ephemeralKey), Buffer.from(tag), Buffer.from(data)]);
143
+ return _context2.abrupt("return", Utils.B64(cap));
144
+
145
+ case 13:
146
+ case "end":
147
+ return _context2.stop();
148
+ }
114
149
  }
115
150
  }, _callee2);
116
151
  }))();
@@ -119,22 +154,26 @@ var Crypto = {
119
154
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
120
155
  var elvCrypto, ephemeralKey, tag, data, cap;
121
156
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
122
- while (1) switch (_context3.prev = _context3.next) {
123
- case 0:
124
- _context3.next = 2;
125
- return Crypto.ElvCrypto();
126
- case 2:
127
- elvCrypto = _context3.sent;
128
- privateKey = new Uint8Array(Buffer.from(privateKey.replace("0x", ""), "hex"));
129
- encryptedCap = Buffer.from(encryptedCap, "base64");
130
- ephemeralKey = encryptedCap.slice(0, 65);
131
- tag = encryptedCap.slice(65, 81);
132
- data = encryptedCap.slice(81);
133
- cap = elvCrypto.decryptECIES(new Uint8Array(data), privateKey, new Uint8Array(ephemeralKey), new Uint8Array(tag));
134
- return _context3.abrupt("return", JSON.parse(Buffer.from(cap).toString()));
135
- case 10:
136
- case "end":
137
- return _context3.stop();
157
+ while (1) {
158
+ switch (_context3.prev = _context3.next) {
159
+ case 0:
160
+ _context3.next = 2;
161
+ return Crypto.ElvCrypto();
162
+
163
+ case 2:
164
+ elvCrypto = _context3.sent;
165
+ privateKey = new Uint8Array(Buffer.from(privateKey.replace("0x", ""), "hex"));
166
+ encryptedCap = Buffer.from(encryptedCap, "base64");
167
+ ephemeralKey = encryptedCap.slice(0, 65);
168
+ tag = encryptedCap.slice(65, 81);
169
+ data = encryptedCap.slice(81);
170
+ cap = elvCrypto.decryptECIES(new Uint8Array(data), privateKey, new Uint8Array(ephemeralKey), new Uint8Array(tag));
171
+ return _context3.abrupt("return", JSON.parse(Buffer.from(cap).toString()));
172
+
173
+ case 10:
174
+ case "end":
175
+ return _context3.stop();
176
+ }
138
177
  }
139
178
  }, _callee3);
140
179
  }))();
@@ -142,26 +181,31 @@ var Crypto = {
142
181
  GeneratePrimaryConk: function GeneratePrimaryConk(_ref) {
143
182
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
144
183
  var spaceId, objectId, elvCrypto, _elvCrypto$generatePr, secretKey, publicKey, symmetricKey;
184
+
145
185
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
146
- while (1) switch (_context4.prev = _context4.next) {
147
- case 0:
148
- spaceId = _ref.spaceId, objectId = _ref.objectId;
149
- _context4.next = 3;
150
- return Crypto.ElvCrypto();
151
- case 3:
152
- elvCrypto = _context4.sent;
153
- _elvCrypto$generatePr = elvCrypto.generatePrimaryKeys(), secretKey = _elvCrypto$generatePr.secretKey, publicKey = _elvCrypto$generatePr.publicKey;
154
- symmetricKey = elvCrypto.generateSymmetricKey().key;
155
- return _context4.abrupt("return", {
156
- symm_key: "kpsy".concat(bs58.encode(Buffer.from(symmetricKey))),
157
- secret_key: "kpsk".concat(bs58.encode(Buffer.from(secretKey))),
158
- public_key: "kppk".concat(bs58.encode(Buffer.from(publicKey))),
159
- sid: spaceId,
160
- qid: objectId
161
- });
162
- case 7:
163
- case "end":
164
- return _context4.stop();
186
+ while (1) {
187
+ switch (_context4.prev = _context4.next) {
188
+ case 0:
189
+ spaceId = _ref.spaceId, objectId = _ref.objectId;
190
+ _context4.next = 3;
191
+ return Crypto.ElvCrypto();
192
+
193
+ case 3:
194
+ elvCrypto = _context4.sent;
195
+ _elvCrypto$generatePr = elvCrypto.generatePrimaryKeys(), secretKey = _elvCrypto$generatePr.secretKey, publicKey = _elvCrypto$generatePr.publicKey;
196
+ symmetricKey = elvCrypto.generateSymmetricKey().key;
197
+ return _context4.abrupt("return", {
198
+ symm_key: "kpsy".concat(bs58.encode(Buffer.from(symmetricKey))),
199
+ secret_key: "kpsk".concat(bs58.encode(Buffer.from(secretKey))),
200
+ public_key: "kppk".concat(bs58.encode(Buffer.from(publicKey))),
201
+ sid: spaceId,
202
+ qid: objectId
203
+ });
204
+
205
+ case 7:
206
+ case "end":
207
+ return _context4.stop();
208
+ }
165
209
  }
166
210
  }, _callee4);
167
211
  }))();
@@ -169,21 +213,26 @@ var Crypto = {
169
213
  GenerateTargetConk: function GenerateTargetConk() {
170
214
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
171
215
  var elvCrypto, _elvCrypto$generateTa, secretKey, publicKey;
216
+
172
217
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
173
- while (1) switch (_context5.prev = _context5.next) {
174
- case 0:
175
- _context5.next = 2;
176
- return Crypto.ElvCrypto();
177
- case 2:
178
- elvCrypto = _context5.sent;
179
- _elvCrypto$generateTa = elvCrypto.generateTargetKeys(), secretKey = _elvCrypto$generateTa.secretKey, publicKey = _elvCrypto$generateTa.publicKey;
180
- return _context5.abrupt("return", {
181
- secret_key: "kpsk".concat(bs58.encode(Buffer.from(secretKey))),
182
- public_key: "ktpk".concat(bs58.encode(Buffer.from(publicKey)))
183
- });
184
- case 5:
185
- case "end":
186
- return _context5.stop();
218
+ while (1) {
219
+ switch (_context5.prev = _context5.next) {
220
+ case 0:
221
+ _context5.next = 2;
222
+ return Crypto.ElvCrypto();
223
+
224
+ case 2:
225
+ elvCrypto = _context5.sent;
226
+ _elvCrypto$generateTa = elvCrypto.generateTargetKeys(), secretKey = _elvCrypto$generateTa.secretKey, publicKey = _elvCrypto$generateTa.publicKey;
227
+ return _context5.abrupt("return", {
228
+ secret_key: "kpsk".concat(bs58.encode(Buffer.from(secretKey))),
229
+ public_key: "ktpk".concat(bs58.encode(Buffer.from(publicKey)))
230
+ });
231
+
232
+ case 5:
233
+ case "end":
234
+ return _context5.stop();
235
+ }
187
236
  }
188
237
  }, _callee5);
189
238
  }))();
@@ -192,6 +241,7 @@ var Crypto = {
192
241
  var keyToBytes = function keyToBytes(key) {
193
242
  return new Uint8Array(bs58.decode(key.slice(4)));
194
243
  };
244
+
195
245
  return {
196
246
  symmetricKey: keyToBytes(cap.symm_key),
197
247
  secretKey: keyToBytes(cap.secret_key),
@@ -201,34 +251,42 @@ var Crypto = {
201
251
  EncryptionContext: function EncryptionContext(cap) {
202
252
  return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
203
253
  var elvCrypto, _Crypto$CapToConk, symmetricKey, secretKey, publicKey, context, type;
254
+
204
255
  return _regeneratorRuntime.wrap(function _callee6$(_context6) {
205
- while (1) switch (_context6.prev = _context6.next) {
206
- case 0:
207
- _context6.next = 2;
208
- return Crypto.ElvCrypto();
209
- case 2:
210
- elvCrypto = _context6.sent;
211
- _Crypto$CapToConk = Crypto.CapToConk(cap), symmetricKey = _Crypto$CapToConk.symmetricKey, secretKey = _Crypto$CapToConk.secretKey, publicKey = _Crypto$CapToConk.publicKey;
212
- if (publicKey.length === elvCrypto.PRIMARY_PK_KEY_SIZE) {
213
- // Primary context
214
- type = elvCrypto.CRYPTO_TYPE_PRIMARY;
215
- context = elvCrypto.newPrimaryContext(publicKey, secretKey, symmetricKey);
216
- } else {
217
- // Target context
218
- type = elvCrypto.CRYPTO_TYPE_TARGET;
219
- context = elvCrypto.newTargetDecryptionContext(secretKey, symmetricKey);
220
- }
221
- return _context6.abrupt("return", {
222
- context: context,
223
- type: type
224
- });
225
- case 6:
226
- case "end":
227
- return _context6.stop();
256
+ while (1) {
257
+ switch (_context6.prev = _context6.next) {
258
+ case 0:
259
+ _context6.next = 2;
260
+ return Crypto.ElvCrypto();
261
+
262
+ case 2:
263
+ elvCrypto = _context6.sent;
264
+ _Crypto$CapToConk = Crypto.CapToConk(cap), symmetricKey = _Crypto$CapToConk.symmetricKey, secretKey = _Crypto$CapToConk.secretKey, publicKey = _Crypto$CapToConk.publicKey;
265
+
266
+ if (publicKey.length === elvCrypto.PRIMARY_PK_KEY_SIZE) {
267
+ // Primary context
268
+ type = elvCrypto.CRYPTO_TYPE_PRIMARY;
269
+ context = elvCrypto.newPrimaryContext(publicKey, secretKey, symmetricKey);
270
+ } else {
271
+ // Target context
272
+ type = elvCrypto.CRYPTO_TYPE_TARGET;
273
+ context = elvCrypto.newTargetDecryptionContext(secretKey, symmetricKey);
274
+ }
275
+
276
+ return _context6.abrupt("return", {
277
+ context: context,
278
+ type: type
279
+ });
280
+
281
+ case 6:
282
+ case "end":
283
+ return _context6.stop();
284
+ }
228
285
  }
229
286
  }, _callee6);
230
287
  }))();
231
288
  },
289
+
232
290
  /**
233
291
  * Encrypt data with headers
234
292
  *
@@ -242,86 +300,108 @@ var Crypto = {
242
300
  var _Encrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(cap, data) {
243
301
  var stream, dataArray, i, end, encryptedChunks;
244
302
  return _regeneratorRuntime.wrap(function _callee7$(_context7) {
245
- while (1) switch (_context7.prev = _context7.next) {
246
- case 0:
247
- _context7.next = 2;
248
- return Crypto.OpenEncryptionStream(cap);
249
- case 2:
250
- stream = _context7.sent;
251
- if (!(!Buffer.isBuffer(data) && !(data instanceof ArrayBuffer))) {
252
- _context7.next = 9;
253
- break;
254
- }
255
- _context7.t0 = Buffer;
256
- _context7.next = 7;
257
- return new Response(data).arrayBuffer();
258
- case 7:
259
- _context7.t1 = _context7.sent;
260
- data = _context7.t0.from.call(_context7.t0, _context7.t1);
261
- case 9:
262
- dataArray = new Uint8Array(data);
263
- for (i = 0; i < dataArray.length; i += 1000000) {
264
- end = Math.min(dataArray.length, i + 1000000);
265
- stream.write(dataArray.slice(i, end));
266
- }
267
- stream.end();
268
- encryptedChunks = [];
269
- _context7.next = 15;
270
- return new Promise(function (resolve, reject) {
271
- stream.on("data", function (chunk) {
272
- encryptedChunks.push(chunk);
273
- }).on("finish", function () {
274
- resolve();
275
- }).on("error", function (e) {
276
- reject(e);
303
+ while (1) {
304
+ switch (_context7.prev = _context7.next) {
305
+ case 0:
306
+ _context7.next = 2;
307
+ return Crypto.OpenEncryptionStream(cap);
308
+
309
+ case 2:
310
+ stream = _context7.sent;
311
+
312
+ if (!(!Buffer.isBuffer(data) && !(data instanceof ArrayBuffer))) {
313
+ _context7.next = 9;
314
+ break;
315
+ }
316
+
317
+ _context7.t0 = Buffer;
318
+ _context7.next = 7;
319
+ return new Response(data).arrayBuffer();
320
+
321
+ case 7:
322
+ _context7.t1 = _context7.sent;
323
+ data = _context7.t0.from.call(_context7.t0, _context7.t1);
324
+
325
+ case 9:
326
+ dataArray = new Uint8Array(data);
327
+
328
+ for (i = 0; i < dataArray.length; i += 1000000) {
329
+ end = Math.min(dataArray.length, i + 1000000);
330
+ stream.write(dataArray.slice(i, end));
331
+ }
332
+
333
+ stream.end();
334
+ encryptedChunks = [];
335
+ _context7.next = 15;
336
+ return new Promise(function (resolve, reject) {
337
+ stream.on("data", function (chunk) {
338
+ encryptedChunks.push(chunk);
339
+ }).on("finish", function () {
340
+ resolve();
341
+ }).on("error", function (e) {
342
+ reject(e);
343
+ });
277
344
  });
278
- });
279
- case 15:
280
- return _context7.abrupt("return", Buffer.concat(encryptedChunks));
281
- case 16:
282
- case "end":
283
- return _context7.stop();
345
+
346
+ case 15:
347
+ return _context7.abrupt("return", Buffer.concat(encryptedChunks));
348
+
349
+ case 16:
350
+ case "end":
351
+ return _context7.stop();
352
+ }
284
353
  }
285
354
  }, _callee7);
286
355
  }));
356
+
287
357
  function Encrypt(_x, _x2) {
288
358
  return _Encrypt.apply(this, arguments);
289
359
  }
360
+
290
361
  return Encrypt;
291
362
  }(),
292
363
  OpenEncryptionStream: function () {
293
364
  var _OpenEncryptionStream = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(cap) {
294
365
  var elvCrypto, _yield$Crypto$Encrypt, context, stream, cipher;
366
+
295
367
  return _regeneratorRuntime.wrap(function _callee8$(_context8) {
296
- while (1) switch (_context8.prev = _context8.next) {
297
- case 0:
298
- _context8.next = 2;
299
- return Crypto.ElvCrypto();
300
- case 2:
301
- elvCrypto = _context8.sent;
302
- _context8.next = 5;
303
- return Crypto.EncryptionContext(cap);
304
- case 5:
305
- _yield$Crypto$Encrypt = _context8.sent;
306
- context = _yield$Crypto$Encrypt.context;
307
- stream = new Stream.PassThrough();
308
- cipher = elvCrypto.createCipher(context);
309
- return _context8.abrupt("return", stream.pipe(cipher).on("finish", function () {
310
- context.free();
311
- }).on("error", function (e) {
312
- throw Error(e);
313
- }));
314
- case 10:
315
- case "end":
316
- return _context8.stop();
368
+ while (1) {
369
+ switch (_context8.prev = _context8.next) {
370
+ case 0:
371
+ _context8.next = 2;
372
+ return Crypto.ElvCrypto();
373
+
374
+ case 2:
375
+ elvCrypto = _context8.sent;
376
+ _context8.next = 5;
377
+ return Crypto.EncryptionContext(cap);
378
+
379
+ case 5:
380
+ _yield$Crypto$Encrypt = _context8.sent;
381
+ context = _yield$Crypto$Encrypt.context;
382
+ stream = new Stream.PassThrough();
383
+ cipher = elvCrypto.createCipher(context);
384
+ return _context8.abrupt("return", stream.pipe(cipher).on("finish", function () {
385
+ context.free();
386
+ }).on("error", function (e) {
387
+ throw Error(e);
388
+ }));
389
+
390
+ case 10:
391
+ case "end":
392
+ return _context8.stop();
393
+ }
317
394
  }
318
395
  }, _callee8);
319
396
  }));
397
+
320
398
  function OpenEncryptionStream(_x3) {
321
399
  return _OpenEncryptionStream.apply(this, arguments);
322
400
  }
401
+
323
402
  return OpenEncryptionStream;
324
403
  }(),
404
+
325
405
  /**
326
406
  * Decrypt data with headers
327
407
  *
@@ -335,74 +415,91 @@ var Crypto = {
335
415
  var _Decrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(cap, encryptedData) {
336
416
  var stream, dataArray, i, end, decryptedChunks;
337
417
  return _regeneratorRuntime.wrap(function _callee9$(_context9) {
338
- while (1) switch (_context9.prev = _context9.next) {
339
- case 0:
340
- _context9.next = 2;
341
- return Crypto.OpenDecryptionStream(cap);
342
- case 2:
343
- stream = _context9.sent;
344
- dataArray = new Uint8Array(encryptedData);
345
- for (i = 0; i < dataArray.length; i += 1000000) {
346
- end = Math.min(dataArray.length, i + 1000000);
347
- stream.write(dataArray.slice(i, end));
348
- }
349
- stream.end();
350
- decryptedChunks = [];
351
- _context9.next = 9;
352
- return new Promise(function (resolve, reject) {
353
- stream.on("data", function (chunk) {
354
- decryptedChunks.push(chunk);
355
- }).on("finish", function () {
356
- resolve();
357
- }).on("error", function (e) {
358
- reject(e);
418
+ while (1) {
419
+ switch (_context9.prev = _context9.next) {
420
+ case 0:
421
+ _context9.next = 2;
422
+ return Crypto.OpenDecryptionStream(cap);
423
+
424
+ case 2:
425
+ stream = _context9.sent;
426
+ dataArray = new Uint8Array(encryptedData);
427
+
428
+ for (i = 0; i < dataArray.length; i += 1000000) {
429
+ end = Math.min(dataArray.length, i + 1000000);
430
+ stream.write(dataArray.slice(i, end));
431
+ }
432
+
433
+ stream.end();
434
+ decryptedChunks = [];
435
+ _context9.next = 9;
436
+ return new Promise(function (resolve, reject) {
437
+ stream.on("data", function (chunk) {
438
+ decryptedChunks.push(chunk);
439
+ }).on("finish", function () {
440
+ resolve();
441
+ }).on("error", function (e) {
442
+ reject(e);
443
+ });
359
444
  });
360
- });
361
- case 9:
362
- return _context9.abrupt("return", Buffer.concat(decryptedChunks));
363
- case 10:
364
- case "end":
365
- return _context9.stop();
445
+
446
+ case 9:
447
+ return _context9.abrupt("return", Buffer.concat(decryptedChunks));
448
+
449
+ case 10:
450
+ case "end":
451
+ return _context9.stop();
452
+ }
366
453
  }
367
454
  }, _callee9);
368
455
  }));
456
+
369
457
  function Decrypt(_x4, _x5) {
370
458
  return _Decrypt.apply(this, arguments);
371
459
  }
460
+
372
461
  return Decrypt;
373
462
  }(),
374
463
  OpenDecryptionStream: function () {
375
464
  var _OpenDecryptionStream = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(cap) {
376
465
  var elvCrypto, _yield$Crypto$Encrypt2, context, type, stream, decipher;
466
+
377
467
  return _regeneratorRuntime.wrap(function _callee10$(_context10) {
378
- while (1) switch (_context10.prev = _context10.next) {
379
- case 0:
380
- _context10.next = 2;
381
- return Crypto.ElvCrypto();
382
- case 2:
383
- elvCrypto = _context10.sent;
384
- _context10.next = 5;
385
- return Crypto.EncryptionContext(cap);
386
- case 5:
387
- _yield$Crypto$Encrypt2 = _context10.sent;
388
- context = _yield$Crypto$Encrypt2.context;
389
- type = _yield$Crypto$Encrypt2.type;
390
- stream = new Stream.PassThrough();
391
- decipher = elvCrypto.createDecipher(type, context);
392
- return _context10.abrupt("return", stream.pipe(decipher).on("finish", function () {
393
- context.free();
394
- }).on("error", function (e) {
395
- throw Error(e);
396
- }));
397
- case 11:
398
- case "end":
399
- return _context10.stop();
468
+ while (1) {
469
+ switch (_context10.prev = _context10.next) {
470
+ case 0:
471
+ _context10.next = 2;
472
+ return Crypto.ElvCrypto();
473
+
474
+ case 2:
475
+ elvCrypto = _context10.sent;
476
+ _context10.next = 5;
477
+ return Crypto.EncryptionContext(cap);
478
+
479
+ case 5:
480
+ _yield$Crypto$Encrypt2 = _context10.sent;
481
+ context = _yield$Crypto$Encrypt2.context;
482
+ type = _yield$Crypto$Encrypt2.type;
483
+ stream = new Stream.PassThrough();
484
+ decipher = elvCrypto.createDecipher(type, context);
485
+ return _context10.abrupt("return", stream.pipe(decipher).on("finish", function () {
486
+ context.free();
487
+ }).on("error", function (e) {
488
+ throw Error(e);
489
+ }));
490
+
491
+ case 11:
492
+ case "end":
493
+ return _context10.stop();
494
+ }
400
495
  }
401
496
  }, _callee10);
402
497
  }));
498
+
403
499
  function OpenDecryptionStream(_x6) {
404
500
  return _OpenDecryptionStream.apply(this, arguments);
405
501
  }
502
+
406
503
  return OpenDecryptionStream;
407
504
  }()
408
505
  };