@eluvio/elv-client-js 4.0.112 → 4.0.114

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 (125) hide show
  1. package/package.json +1 -1
  2. package/src/AuthorizationClient.js +1 -2
  3. package/dist/ElvClient-min.js +0 -67
  4. package/dist/ElvClient-node-min.js +0 -66
  5. package/dist/ElvFrameClient-min.js +0 -60
  6. package/dist/ElvPermissionsClient-min.js +0 -60
  7. package/dist/ElvWalletClient-min.js +0 -67
  8. package/dist/ElvWalletClient-node-min.js +0 -66
  9. package/dist/src/AuthorizationClient.js +0 -2157
  10. package/dist/src/ContentObjectAudit.js +0 -175
  11. package/dist/src/ContentObjectVerification.js +0 -281
  12. package/dist/src/Crypto.js +0 -412
  13. package/dist/src/ElvClient.js +0 -2022
  14. package/dist/src/ElvWallet.js +0 -245
  15. package/dist/src/EthClient.js +0 -1154
  16. package/dist/src/FrameClient.js +0 -485
  17. package/dist/src/HttpClient.js +0 -315
  18. package/dist/src/Id.js +0 -21
  19. package/dist/src/LogMessage.js +0 -25
  20. package/dist/src/PermissionsClient.js +0 -1544
  21. package/dist/src/RemoteSigner.js +0 -385
  22. package/dist/src/UserProfileClient.js +0 -1450
  23. package/dist/src/Utils.js +0 -894
  24. package/dist/src/Validation.js +0 -121
  25. package/dist/src/abr_profiles/abr_profile_live_drm.js +0 -1661
  26. package/dist/src/abr_profiles/abr_profile_live_to_vod.js +0 -1606
  27. package/dist/src/client/ABRPublishing.js +0 -1018
  28. package/dist/src/client/AccessGroups.js +0 -1503
  29. package/dist/src/client/ContentAccess.js +0 -5173
  30. package/dist/src/client/ContentManagement.js +0 -2680
  31. package/dist/src/client/Contracts.js +0 -1520
  32. package/dist/src/client/Files.js +0 -2181
  33. package/dist/src/client/LiveConf.js +0 -567
  34. package/dist/src/client/LiveStream.js +0 -2638
  35. package/dist/src/client/NFT.js +0 -162
  36. package/dist/src/client/NTP.js +0 -581
  37. package/dist/src/contracts/v2/AccessIndexor.js +0 -831
  38. package/dist/src/contracts/v2/Accessible.js +0 -31
  39. package/dist/src/contracts/v2/BaseAccessControlGroup.js +0 -1263
  40. package/dist/src/contracts/v2/BaseAccessWallet.js +0 -1609
  41. package/dist/src/contracts/v2/BaseAccessWalletFactory.js +0 -93
  42. package/dist/src/contracts/v2/BaseContent.js +0 -1076
  43. package/dist/src/contracts/v2/BaseContentFactory.js +0 -219
  44. package/dist/src/contracts/v2/BaseContentSpace.js +0 -1352
  45. package/dist/src/contracts/v2/BaseContentType.js +0 -364
  46. package/dist/src/contracts/v2/BaseFactory.js +0 -107
  47. package/dist/src/contracts/v2/BaseGroupFactory.js +0 -93
  48. package/dist/src/contracts/v2/BaseLibrary.js +0 -1041
  49. package/dist/src/contracts/v2/BaseLibraryFactory.js +0 -96
  50. package/dist/src/contracts/v2/Certifyer.js +0 -86
  51. package/dist/src/contracts/v2/Container.js +0 -540
  52. package/dist/src/contracts/v2/Content.js +0 -443
  53. package/dist/src/contracts/v2/Editable.js +0 -306
  54. package/dist/src/contracts/v2/ExternalUserWallet.js +0 -379
  55. package/dist/src/contracts/v2/IFactorySpace.js +0 -57
  56. package/dist/src/contracts/v2/IKmsSpace.js +0 -52
  57. package/dist/src/contracts/v2/INodeSpace.js +0 -18
  58. package/dist/src/contracts/v2/IUserSpace.js +0 -18
  59. package/dist/src/contracts/v2/LvRecordableStream.js +0 -1037
  60. package/dist/src/contracts/v2/LvRecording.js +0 -627
  61. package/dist/src/contracts/v2/LvStreamRightsHolder.js +0 -562
  62. package/dist/src/contracts/v2/MetaObject.js +0 -119
  63. package/dist/src/contracts/v2/Node.js +0 -167
  64. package/dist/src/contracts/v2/NodeSpace.js +0 -273
  65. package/dist/src/contracts/v2/Ownable.js +0 -87
  66. package/dist/src/contracts/v2/PaymentService.js +0 -627
  67. package/dist/src/contracts/v2/Precompile.js +0 -15
  68. package/dist/src/contracts/v2/Transactable.js +0 -82
  69. package/dist/src/contracts/v2/UserSpace.js +0 -29
  70. package/dist/src/contracts/v2/Utils.js +0 -18
  71. package/dist/src/contracts/v2/Verifier.js +0 -53
  72. package/dist/src/contracts/v2/strings.js +0 -4
  73. package/dist/src/contracts/v3/AccessIndexor.js +0 -774
  74. package/dist/src/contracts/v3/Accessible.js +0 -232
  75. package/dist/src/contracts/v3/Adminable.js +0 -107
  76. package/dist/src/contracts/v3/AvailsDelivery.js +0 -586
  77. package/dist/src/contracts/v3/BaseAccessControlGroup.js +0 -1603
  78. package/dist/src/contracts/v3/BaseAccessWallet.js +0 -1628
  79. package/dist/src/contracts/v3/BaseAccessWalletFactory.js +0 -112
  80. package/dist/src/contracts/v3/BaseContent.js +0 -1312
  81. package/dist/src/contracts/v3/BaseContentFactory.js +0 -183
  82. package/dist/src/contracts/v3/BaseContentFactoryExt.js +0 -175
  83. package/dist/src/contracts/v3/BaseContentSpace.js +0 -1515
  84. package/dist/src/contracts/v3/BaseContentType.js +0 -527
  85. package/dist/src/contracts/v3/BaseFactory.js +0 -126
  86. package/dist/src/contracts/v3/BaseGroupFactory.js +0 -112
  87. package/dist/src/contracts/v3/BaseLibrary.js +0 -1204
  88. package/dist/src/contracts/v3/BaseLibraryFactory.js +0 -115
  89. package/dist/src/contracts/v3/BaseTenantSpace.js +0 -1587
  90. package/dist/src/contracts/v3/Certifyer.js +0 -86
  91. package/dist/src/contracts/v3/Container.js +0 -739
  92. package/dist/src/contracts/v3/Content.js +0 -438
  93. package/dist/src/contracts/v3/CounterObject.js +0 -243
  94. package/dist/src/contracts/v3/Editable.js +0 -519
  95. package/dist/src/contracts/v3/EncToken.js +0 -4
  96. package/dist/src/contracts/v3/ExternalUserWallet.js +0 -587
  97. package/dist/src/contracts/v3/IAdmin.js +0 -18
  98. package/dist/src/contracts/v3/IFactorySpace.js +0 -57
  99. package/dist/src/contracts/v3/IKmsSpace.js +0 -52
  100. package/dist/src/contracts/v3/INodeSpace.js +0 -18
  101. package/dist/src/contracts/v3/IUserSpace.js +0 -32
  102. package/dist/src/contracts/v3/LvRecordableStream.js +0 -1032
  103. package/dist/src/contracts/v3/LvRecording.js +0 -650
  104. package/dist/src/contracts/v3/LvStreamRightsHolder.js +0 -557
  105. package/dist/src/contracts/v3/MetaObject.js +0 -144
  106. package/dist/src/contracts/v3/Node.js +0 -178
  107. package/dist/src/contracts/v3/NodeSpace.js +0 -284
  108. package/dist/src/contracts/v3/Ownable.js +0 -98
  109. package/dist/src/contracts/v3/PaymentService.js +0 -622
  110. package/dist/src/contracts/v3/Precompile.js +0 -26
  111. package/dist/src/contracts/v3/TenantFuncsBase.js +0 -351
  112. package/dist/src/contracts/v3/Transactable.js +0 -82
  113. package/dist/src/contracts/v3/UserSpace.js +0 -43
  114. package/dist/src/contracts/v3/Utils.js +0 -18
  115. package/dist/src/contracts/v3/Verifier.js +0 -53
  116. package/dist/src/contracts/v3/strings.js +0 -4
  117. package/dist/src/contracts/v3b/BaseAccessControlGroup.js +0 -1704
  118. package/dist/src/events/Topics.js +0 -1793
  119. package/dist/src/index.js +0 -8
  120. package/dist/src/walletClient/ClientMethods.js +0 -3102
  121. package/dist/src/walletClient/Configuration.js +0 -38
  122. package/dist/src/walletClient/Notifications.js +0 -168
  123. package/dist/src/walletClient/Profile.js +0 -332
  124. package/dist/src/walletClient/Utils.js +0 -281
  125. package/dist/src/walletClient/index.js +0 -2106
@@ -1,412 +0,0 @@
1
- var _typeof = require("@babel/runtime/helpers/typeof");
2
- var _regeneratorRuntime = require("@babel/runtime/regenerator");
3
- var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
4
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
6
- if (typeof globalThis.Buffer === "undefined") {
7
- globalThis.Buffer = require("buffer/").Buffer;
8
- }
9
- var bs58 = require("bs58");
10
- var Stream = require("readable-stream");
11
- var Utils = require("./Utils");
12
- if (!globalThis.process) {
13
- globalThis.process = require("process/browser");
14
- }
15
- if (typeof crypto === "undefined") {
16
- var _crypto = require("crypto");
17
- _crypto.getRandomValues = function (arr) {
18
- return _crypto.randomBytes(arr.length);
19
- };
20
- globalThis.crypto = _crypto;
21
- }
22
-
23
- /**
24
- * @namespace
25
- * @description This namespace contains cryptographic helper methods to encrypt and decrypt
26
- * data with automatic handling of keys
27
- */
28
- var Crypto = {
29
- ElvCrypto: function () {
30
- var _ElvCrypto = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
31
- var _ElvCrypto2;
32
- return _regeneratorRuntime.wrap(function _callee$(_context) {
33
- while (1) switch (_context.prev = _context.next) {
34
- case 0:
35
- _context.prev = 0;
36
- if (Crypto.elvCrypto) {
37
- _context.next = 8;
38
- break;
39
- }
40
- _context.next = 4;
41
- return Promise.resolve().then(function () {
42
- return _interopRequireWildcard(require("@eluvio/crypto"));
43
- });
44
- case 4:
45
- _ElvCrypto2 = _context.sent["default"];
46
- _context.next = 7;
47
- return new _ElvCrypto2().init();
48
- case 7:
49
- Crypto.elvCrypto = _context.sent;
50
- case 8:
51
- return _context.abrupt("return", Crypto.elvCrypto);
52
- case 11:
53
- _context.prev = 11;
54
- _context.t0 = _context["catch"](0);
55
- // eslint-disable-next-line no-console
56
- console.error("Error initializing ElvCrypto:");
57
- // eslint-disable-next-line no-console
58
- console.error(_context.t0);
59
- case 15:
60
- case "end":
61
- return _context.stop();
62
- }
63
- }, _callee, null, [[0, 11]]);
64
- }));
65
- function ElvCrypto() {
66
- return _ElvCrypto.apply(this, arguments);
67
- }
68
- return ElvCrypto;
69
- }(),
70
- EncryptedSize: function EncryptedSize(clearSize) {
71
- var clearBlockSize = 1000000;
72
- var blocks = Math.floor(clearSize / clearBlockSize);
73
- var encryptedBlockSize = Crypto.EncryptedBlockSize(clearBlockSize);
74
- var encryptedFileSize = blocks * encryptedBlockSize;
75
- if (clearSize % clearBlockSize !== 0) {
76
- encryptedFileSize += Crypto.EncryptedBlockSize(clearSize % clearBlockSize);
77
- }
78
- return encryptedFileSize;
79
- },
80
- EncryptedBlockSize: function EncryptedBlockSize(clearSize) {
81
- var reencrypt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
82
- var primaryEncBlockOverhead = 129;
83
- var targetEncBlockOverhead = 608;
84
- var MODBYTES_384_58 = 48;
85
- var clearElementByteSize = 12 * (MODBYTES_384_58 - 1);
86
- var encElementByteSize = 12 * MODBYTES_384_58;
87
- var encryptedBlockSize = Math.floor(clearSize / clearElementByteSize) * encElementByteSize;
88
- if (clearSize % clearElementByteSize !== 0) {
89
- encryptedBlockSize += encElementByteSize;
90
- }
91
- return reencrypt ? encryptedBlockSize + targetEncBlockOverhead : encryptedBlockSize + primaryEncBlockOverhead;
92
- },
93
- EncryptConk: function EncryptConk(conk, publicKey) {
94
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
95
- var elvCrypto, _yield$elvCrypto$encr, data, ephemeralKey, tag, cap;
96
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
97
- while (1) switch (_context2.prev = _context2.next) {
98
- case 0:
99
- _context2.next = 2;
100
- return Crypto.ElvCrypto();
101
- case 2:
102
- elvCrypto = _context2.sent;
103
- publicKey = new Uint8Array(Buffer.from(publicKey.replace("0x", ""), "hex"));
104
- conk = new Uint8Array(Buffer.from(JSON.stringify(conk)));
105
- _context2.next = 7;
106
- return elvCrypto.encryptECIES(conk, publicKey);
107
- case 7:
108
- _yield$elvCrypto$encr = _context2.sent;
109
- data = _yield$elvCrypto$encr.data;
110
- ephemeralKey = _yield$elvCrypto$encr.ephemeralKey;
111
- tag = _yield$elvCrypto$encr.tag;
112
- cap = Buffer.concat([Buffer.from(ephemeralKey), Buffer.from(tag), Buffer.from(data)]);
113
- return _context2.abrupt("return", Utils.B64(cap));
114
- case 13:
115
- case "end":
116
- return _context2.stop();
117
- }
118
- }, _callee2);
119
- }))();
120
- },
121
- DecryptCap: function DecryptCap(encryptedCap, privateKey) {
122
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
123
- var elvCrypto, ephemeralKey, tag, data, cap;
124
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
125
- while (1) switch (_context3.prev = _context3.next) {
126
- case 0:
127
- _context3.next = 2;
128
- return Crypto.ElvCrypto();
129
- case 2:
130
- elvCrypto = _context3.sent;
131
- privateKey = new Uint8Array(Buffer.from(privateKey.replace("0x", ""), "hex"));
132
- encryptedCap = Buffer.from(encryptedCap, "base64");
133
- ephemeralKey = encryptedCap.slice(0, 65);
134
- tag = encryptedCap.slice(65, 81);
135
- data = encryptedCap.slice(81);
136
- cap = elvCrypto.decryptECIES(new Uint8Array(data), privateKey, new Uint8Array(ephemeralKey), new Uint8Array(tag));
137
- return _context3.abrupt("return", JSON.parse(Buffer.from(cap).toString()));
138
- case 10:
139
- case "end":
140
- return _context3.stop();
141
- }
142
- }, _callee3);
143
- }))();
144
- },
145
- GeneratePrimaryConk: function GeneratePrimaryConk(_ref) {
146
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
147
- var spaceId, objectId, elvCrypto, _elvCrypto$generatePr, secretKey, publicKey, symmetricKey;
148
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
149
- while (1) switch (_context4.prev = _context4.next) {
150
- case 0:
151
- spaceId = _ref.spaceId, objectId = _ref.objectId;
152
- _context4.next = 3;
153
- return Crypto.ElvCrypto();
154
- case 3:
155
- elvCrypto = _context4.sent;
156
- _elvCrypto$generatePr = elvCrypto.generatePrimaryKeys(), secretKey = _elvCrypto$generatePr.secretKey, publicKey = _elvCrypto$generatePr.publicKey;
157
- symmetricKey = elvCrypto.generateSymmetricKey().key;
158
- return _context4.abrupt("return", {
159
- symm_key: "kpsy".concat(bs58.encode(Buffer.from(symmetricKey))),
160
- secret_key: "kpsk".concat(bs58.encode(Buffer.from(secretKey))),
161
- public_key: "kppk".concat(bs58.encode(Buffer.from(publicKey))),
162
- sid: spaceId,
163
- qid: objectId
164
- });
165
- case 7:
166
- case "end":
167
- return _context4.stop();
168
- }
169
- }, _callee4);
170
- }))();
171
- },
172
- GenerateTargetConk: function GenerateTargetConk() {
173
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
174
- var elvCrypto, _elvCrypto$generateTa, secretKey, publicKey;
175
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
176
- while (1) switch (_context5.prev = _context5.next) {
177
- case 0:
178
- _context5.next = 2;
179
- return Crypto.ElvCrypto();
180
- case 2:
181
- elvCrypto = _context5.sent;
182
- _elvCrypto$generateTa = elvCrypto.generateTargetKeys(), secretKey = _elvCrypto$generateTa.secretKey, publicKey = _elvCrypto$generateTa.publicKey;
183
- return _context5.abrupt("return", {
184
- secret_key: "kpsk".concat(bs58.encode(Buffer.from(secretKey))),
185
- public_key: "ktpk".concat(bs58.encode(Buffer.from(publicKey)))
186
- });
187
- case 5:
188
- case "end":
189
- return _context5.stop();
190
- }
191
- }, _callee5);
192
- }))();
193
- },
194
- CapToConk: function CapToConk(cap) {
195
- var keyToBytes = function keyToBytes(key) {
196
- return new Uint8Array(bs58.decode(key.slice(4)));
197
- };
198
- return {
199
- symmetricKey: keyToBytes(cap.symm_key),
200
- secretKey: keyToBytes(cap.secret_key),
201
- publicKey: keyToBytes(cap.public_key)
202
- };
203
- },
204
- EncryptionContext: function EncryptionContext(cap) {
205
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
206
- var elvCrypto, _Crypto$CapToConk, symmetricKey, secretKey, publicKey, context, type;
207
- return _regeneratorRuntime.wrap(function _callee6$(_context6) {
208
- while (1) switch (_context6.prev = _context6.next) {
209
- case 0:
210
- _context6.next = 2;
211
- return Crypto.ElvCrypto();
212
- case 2:
213
- elvCrypto = _context6.sent;
214
- _Crypto$CapToConk = Crypto.CapToConk(cap), symmetricKey = _Crypto$CapToConk.symmetricKey, secretKey = _Crypto$CapToConk.secretKey, publicKey = _Crypto$CapToConk.publicKey;
215
- if (publicKey.length === elvCrypto.PRIMARY_PK_KEY_SIZE) {
216
- // Primary context
217
- type = elvCrypto.CRYPTO_TYPE_PRIMARY;
218
- context = elvCrypto.newPrimaryContext(publicKey, secretKey, symmetricKey);
219
- } else {
220
- // Target context
221
- type = elvCrypto.CRYPTO_TYPE_TARGET;
222
- context = elvCrypto.newTargetDecryptionContext(secretKey, symmetricKey);
223
- }
224
- return _context6.abrupt("return", {
225
- context: context,
226
- type: type
227
- });
228
- case 6:
229
- case "end":
230
- return _context6.stop();
231
- }
232
- }, _callee6);
233
- }))();
234
- },
235
- /**
236
- * Encrypt data with headers
237
- *
238
- * @namedParams
239
- * @param {Object} cap - Encryption "capsule" containing keys
240
- * @param {ArrayBuffer | Buffer} data - Data to encrypt
241
- *
242
- * @returns {Promise<Buffer>} - Decrypted data
243
- */
244
- Encrypt: function () {
245
- var _Encrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(cap, data) {
246
- var stream, dataArray, i, end, encryptedChunks;
247
- return _regeneratorRuntime.wrap(function _callee7$(_context7) {
248
- while (1) switch (_context7.prev = _context7.next) {
249
- case 0:
250
- _context7.next = 2;
251
- return Crypto.OpenEncryptionStream(cap);
252
- case 2:
253
- stream = _context7.sent;
254
- if (!(!Buffer.isBuffer(data) && !(data instanceof ArrayBuffer))) {
255
- _context7.next = 9;
256
- break;
257
- }
258
- _context7.t0 = Buffer;
259
- _context7.next = 7;
260
- return new Response(data).arrayBuffer();
261
- case 7:
262
- _context7.t1 = _context7.sent;
263
- data = _context7.t0.from.call(_context7.t0, _context7.t1);
264
- case 9:
265
- dataArray = new Uint8Array(data);
266
- for (i = 0; i < dataArray.length; i += 1000000) {
267
- end = Math.min(dataArray.length, i + 1000000);
268
- stream.write(dataArray.slice(i, end));
269
- }
270
- stream.end();
271
- encryptedChunks = [];
272
- _context7.next = 15;
273
- return new Promise(function (resolve, reject) {
274
- stream.on("data", function (chunk) {
275
- encryptedChunks.push(chunk);
276
- }).on("finish", function () {
277
- resolve();
278
- }).on("error", function (e) {
279
- reject(e);
280
- });
281
- });
282
- case 15:
283
- return _context7.abrupt("return", Buffer.concat(encryptedChunks));
284
- case 16:
285
- case "end":
286
- return _context7.stop();
287
- }
288
- }, _callee7);
289
- }));
290
- function Encrypt(_x, _x2) {
291
- return _Encrypt.apply(this, arguments);
292
- }
293
- return Encrypt;
294
- }(),
295
- OpenEncryptionStream: function () {
296
- var _OpenEncryptionStream = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(cap) {
297
- var elvCrypto, _yield$Crypto$Encrypt, context, stream, cipher;
298
- return _regeneratorRuntime.wrap(function _callee8$(_context8) {
299
- while (1) switch (_context8.prev = _context8.next) {
300
- case 0:
301
- _context8.next = 2;
302
- return Crypto.ElvCrypto();
303
- case 2:
304
- elvCrypto = _context8.sent;
305
- _context8.next = 5;
306
- return Crypto.EncryptionContext(cap);
307
- case 5:
308
- _yield$Crypto$Encrypt = _context8.sent;
309
- context = _yield$Crypto$Encrypt.context;
310
- stream = new Stream.PassThrough();
311
- cipher = elvCrypto.createCipher(context);
312
- return _context8.abrupt("return", stream.pipe(cipher).on("finish", function () {
313
- context.free();
314
- }).on("error", function (e) {
315
- throw Error(e);
316
- }));
317
- case 10:
318
- case "end":
319
- return _context8.stop();
320
- }
321
- }, _callee8);
322
- }));
323
- function OpenEncryptionStream(_x3) {
324
- return _OpenEncryptionStream.apply(this, arguments);
325
- }
326
- return OpenEncryptionStream;
327
- }(),
328
- /**
329
- * Decrypt data with headers
330
- *
331
- * @namedParams
332
- * @param {Object} cap - Encryption "capsule" containing keys
333
- * @param {ArrayBuffer | Buffer} encryptedData - Data to decrypt
334
- *
335
- * @returns {Promise<Buffer>} - Decrypted data
336
- */
337
- Decrypt: function () {
338
- var _Decrypt = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(cap, encryptedData) {
339
- var stream, dataArray, i, end, decryptedChunks;
340
- return _regeneratorRuntime.wrap(function _callee9$(_context9) {
341
- while (1) switch (_context9.prev = _context9.next) {
342
- case 0:
343
- _context9.next = 2;
344
- return Crypto.OpenDecryptionStream(cap);
345
- case 2:
346
- stream = _context9.sent;
347
- dataArray = new Uint8Array(encryptedData);
348
- for (i = 0; i < dataArray.length; i += 1000000) {
349
- end = Math.min(dataArray.length, i + 1000000);
350
- stream.write(dataArray.slice(i, end));
351
- }
352
- stream.end();
353
- decryptedChunks = [];
354
- _context9.next = 9;
355
- return new Promise(function (resolve, reject) {
356
- stream.on("data", function (chunk) {
357
- decryptedChunks.push(chunk);
358
- }).on("finish", function () {
359
- resolve();
360
- }).on("error", function (e) {
361
- reject(e);
362
- });
363
- });
364
- case 9:
365
- return _context9.abrupt("return", Buffer.concat(decryptedChunks));
366
- case 10:
367
- case "end":
368
- return _context9.stop();
369
- }
370
- }, _callee9);
371
- }));
372
- function Decrypt(_x4, _x5) {
373
- return _Decrypt.apply(this, arguments);
374
- }
375
- return Decrypt;
376
- }(),
377
- OpenDecryptionStream: function () {
378
- var _OpenDecryptionStream = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(cap) {
379
- var elvCrypto, _yield$Crypto$Encrypt2, context, type, stream, decipher;
380
- return _regeneratorRuntime.wrap(function _callee10$(_context10) {
381
- while (1) switch (_context10.prev = _context10.next) {
382
- case 0:
383
- _context10.next = 2;
384
- return Crypto.ElvCrypto();
385
- case 2:
386
- elvCrypto = _context10.sent;
387
- _context10.next = 5;
388
- return Crypto.EncryptionContext(cap);
389
- case 5:
390
- _yield$Crypto$Encrypt2 = _context10.sent;
391
- context = _yield$Crypto$Encrypt2.context;
392
- type = _yield$Crypto$Encrypt2.type;
393
- stream = new Stream.PassThrough();
394
- decipher = elvCrypto.createDecipher(type, context);
395
- return _context10.abrupt("return", stream.pipe(decipher).on("finish", function () {
396
- context.free();
397
- }).on("error", function (e) {
398
- throw Error(e);
399
- }));
400
- case 11:
401
- case "end":
402
- return _context10.stop();
403
- }
404
- }, _callee10);
405
- }));
406
- function OpenDecryptionStream(_x6) {
407
- return _OpenDecryptionStream.apply(this, arguments);
408
- }
409
- return OpenDecryptionStream;
410
- }()
411
- };
412
- module.exports = Crypto;