@brightchain/brightchain-lib 0.1.3 → 0.1.5
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/package.json +1 -1
- package/src/browser.d.ts +2 -1
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +7 -5
- package/src/browser.js.map +1 -1
- package/src/index.d.ts +1 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +4 -1
- package/src/index.js.map +1 -1
- package/src/lib/init.d.ts.map +1 -1
- package/src/lib/init.js +3 -0
- package/src/lib/init.js.map +1 -1
- package/src/lib/services/checksum.service.d.ts.map +1 -1
- package/src/lib/services/checksum.service.js +27 -13
- package/src/lib/services/checksum.service.js.map +1 -1
- package/src/lib/services/sealing.service.d.ts +5 -5
- package/src/lib/services/sealing.service.d.ts.map +1 -1
- package/src/lib/services/sealing.service.js +5 -5
- package/src/lib/services/sealing.service.js.map +1 -1
package/package.json
CHANGED
package/src/browser.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from './lib/enumerations/blockSize';
|
|
|
3
3
|
export * from './lib/stores/memoryBlockStore';
|
|
4
4
|
export * from './lib/factories/blockStoreFactory';
|
|
5
5
|
export * from './lib/interfaces/storage/blockStore';
|
|
6
|
-
export
|
|
6
|
+
export { ServiceProvider } from './lib/services/service.provider';
|
|
7
|
+
export { initializeBrightChain } from './lib/init';
|
|
7
8
|
export type { FileReceipt, BlockInfo } from './lib/brightChain';
|
|
8
9
|
//# sourceMappingURL=browser.d.ts.map
|
package/src/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AAGpD,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
package/src/browser.js
CHANGED
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
// Minimal browser-compatible exports
|
|
3
3
|
// Only exports core functionality that works without Node.js modules
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.initializeBrightChain =
|
|
5
|
+
exports.initializeBrightChain = exports.ServiceProvider = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
tslib_1.__exportStar(require("./lib/brightChain"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./lib/enumerations/blockSize"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./lib/stores/memoryBlockStore"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./lib/factories/blockStoreFactory"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./lib/interfaces/storage/blockStore"), exports);
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
// Export ServiceProvider for advanced usage
|
|
13
|
+
var service_provider_1 = require("./lib/services/service.provider");
|
|
14
|
+
Object.defineProperty(exports, "ServiceProvider", { enumerable: true, get: function () { return service_provider_1.ServiceProvider; } });
|
|
15
|
+
// Export the proper initialization function
|
|
16
|
+
var init_1 = require("./lib/init");
|
|
17
|
+
Object.defineProperty(exports, "initializeBrightChain", { enumerable: true, get: function () { return init_1.initializeBrightChain; } });
|
|
16
18
|
//# sourceMappingURL=browser.js.map
|
package/src/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE;;;;AAErE,4DAAkC;AAClC,uEAA6C;AAC7C,wEAA8C;AAC9C,4EAAkD;AAClD,8EAAoD;AAEpD,4CAA4C;AAC5C,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AAExB,4CAA4C;AAC5C,mCAAmD;AAA1C,6GAAA,qBAAqB,OAAA"}
|
package/src/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './lib/interfaces/storage/blockStore';
|
|
|
6
6
|
export * from './lib/stores/memoryBlockStore';
|
|
7
7
|
export * from './lib/types';
|
|
8
8
|
export * from './lib/init';
|
|
9
|
+
export { ServiceProvider } from './lib/services/service.provider';
|
|
9
10
|
export { default as CONSTANTS, CBL, FEC, TUPLE, SEALING, JWT, SITE } from './lib/constants';
|
|
10
11
|
export { EciesConfig } from './lib/ecies-config';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EciesConfig = exports.SITE = exports.JWT = exports.SEALING = exports.TUPLE = exports.FEC = exports.CBL = exports.CONSTANTS = void 0;
|
|
3
|
+
exports.EciesConfig = exports.SITE = exports.JWT = exports.SEALING = exports.TUPLE = exports.FEC = exports.CBL = exports.CONSTANTS = exports.ServiceProvider = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
// Browser-compatible exports only
|
|
6
6
|
tslib_1.__exportStar(require("./lib/blocks"), exports);
|
|
@@ -11,6 +11,9 @@ tslib_1.__exportStar(require("./lib/interfaces/storage/blockStore"), exports);
|
|
|
11
11
|
tslib_1.__exportStar(require("./lib/stores/memoryBlockStore"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./lib/types"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("./lib/init"), exports);
|
|
14
|
+
// Export ServiceProvider for advanced usage
|
|
15
|
+
var service_provider_1 = require("./lib/services/service.provider");
|
|
16
|
+
Object.defineProperty(exports, "ServiceProvider", { enumerable: true, get: function () { return service_provider_1.ServiceProvider; } });
|
|
14
17
|
// Export constants
|
|
15
18
|
var constants_1 = require("./lib/constants");
|
|
16
19
|
Object.defineProperty(exports, "CONSTANTS", { enumerable: true, get: function () { return constants_1.default; } });
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-lib/src/index.ts"],"names":[],"mappings":";;;;AAAA,kCAAkC;AAClC,uDAA6B;AAC7B,4DAAkC;AAClC,uEAA6C;AAC7C,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAC9C,sDAA4B;AAC5B,qDAA2B;AAE3B,mBAAmB;AACnB,6CAA4F;AAAnF,sGAAA,OAAO,OAAa;AAAE,gGAAA,GAAG,OAAA;AAAE,gGAAA,GAAG,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,gGAAA,GAAG,OAAA;AAAE,iGAAA,IAAI,OAAA;AAClE,mDAAiD;AAAxC,2GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-lib/src/index.ts"],"names":[],"mappings":";;;;AAAA,kCAAkC;AAClC,uDAA6B;AAC7B,4DAAkC;AAClC,uEAA6C;AAC7C,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAC9C,sDAA4B;AAC5B,qDAA2B;AAE3B,4CAA4C;AAC5C,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AAExB,mBAAmB;AACnB,6CAA4F;AAAnF,sGAAA,OAAO,OAAa;AAAE,gGAAA,GAAG,OAAA;AAAE,gGAAA,GAAG,OAAA;AAAE,kGAAA,KAAK,OAAA;AAAE,oGAAA,OAAO,OAAA;AAAE,gGAAA,GAAG,OAAA;AAAE,iGAAA,IAAI,OAAA;AAClE,mDAAiD;AAAxC,2GAAA,WAAW,OAAA"}
|
package/src/lib/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/init.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAmB5C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,WAEtC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAW1C"}
|
package/src/lib/init.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.getBrightChainConfigKey = getBrightChainConfigKey;
|
|
|
5
5
|
exports.isLibraryInitialized = isLibraryInitialized;
|
|
6
6
|
exports.resetInitialization = resetInitialization;
|
|
7
7
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
8
|
+
const service_provider_1 = require("./services/service.provider");
|
|
8
9
|
let isInitialized = false;
|
|
9
10
|
const BRIGHTCHAIN_CONFIG_KEY = Symbol.for('brightchain.config');
|
|
10
11
|
/**
|
|
@@ -23,6 +24,8 @@ function initializeBrightChain() {
|
|
|
23
24
|
ecies_lib_1.ConstantsRegistry.register(BRIGHTCHAIN_CONFIG_KEY, config, {
|
|
24
25
|
description: 'BrightChain browser-compatible configuration with GuidV4Provider'
|
|
25
26
|
});
|
|
27
|
+
// Initialize ServiceProvider (this will register itself with ServiceLocator)
|
|
28
|
+
service_provider_1.ServiceProvider.getInstance();
|
|
26
29
|
isInitialized = true;
|
|
27
30
|
}
|
|
28
31
|
/**
|
package/src/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/init.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/init.ts"],"names":[],"mappings":";;AAcA,sDAmBC;AAKD,0DAEC;AAKD,oDAEC;AAKD,kDAWC;AA/DD,0DAIoC;AACpC,kEAA8D;AAE9D,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEhE;;;GAGG;AACH,SAAgB,qBAAqB;IACnC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,MAAM,MAAM,GAAG,IAAA,sCAA0B,EAAC;QACxC,UAAU,EAAE,IAAI,0BAAc,EAAE;KACjC,CAAC,CAAC;IAEH,kDAAkD;IAClD,6BAAiB,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE;QACzD,WAAW,EAAE,kEAAkE;KAChF,CAAC,CAAC;IAEH,6EAA6E;IAC7E,kCAAe,CAAC,WAAW,EAAE,CAAC;IAE9B,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB;IACrC,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,aAAa,GAAG,KAAK,CAAC;IACtB,2CAA2C;IAC3C,6BAAiB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACrD,oDAAoD;IACpD,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACnE,eAAe,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.service.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/checksum.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,kBAAkB,EAGnB,MAAM,4BAA4B,CAAC;AAIpC,qBAAa,eAAe;;IAG1B;;OAEG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB;IAc9D;;;;OAIG;IACI,2BAA2B,CAChC,OAAO,EAAE,UAAU,EAAE,GACpB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"checksum.service.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/checksum.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,kBAAkB,EAGnB,MAAM,4BAA4B,CAAC;AAIpC,qBAAa,eAAe;;IAG1B;;OAEG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB;IAc9D;;;;OAIG;IACI,2BAA2B,CAChC,OAAO,EAAE,UAAU,EAAE,GACpB,kBAAkB;IAYrB;;;;OAIG;IACI,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAOlE;;;;OAIG;IACU,wBAAwB,CACnC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,kBAAkB,CAAC;IAM9B;;;;OAIG;IACU,0BAA0B,CACrC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAwB9B;;;;;OAKG;IACI,gBAAgB,CACrB,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,kBAAkB,GAC5B,OAAO;IAUV;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,cAAc;IAIxE;;;;OAIG;IACI,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAOjE;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO;CAG/D"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ChecksumService = void 0;
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
5
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
6
|
-
const
|
|
6
|
+
const sha3_1 = require("@noble/hashes/sha3");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
class ChecksumService {
|
|
9
9
|
constructor() { }
|
|
@@ -19,9 +19,9 @@ class ChecksumService {
|
|
|
19
19
|
* @returns The checksum as a Buffer with equals method
|
|
20
20
|
*/
|
|
21
21
|
calculateChecksum(data) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const result =
|
|
22
|
+
// @noble/hashes returns Uint8Array directly
|
|
23
|
+
const hashBytes = (0, sha3_1.sha3_512)(data);
|
|
24
|
+
const result = hashBytes;
|
|
25
25
|
// Add equals method to the checksum
|
|
26
26
|
result.equals = function (other) {
|
|
27
27
|
if (this.length !== other.length)
|
|
@@ -36,11 +36,15 @@ class ChecksumService {
|
|
|
36
36
|
* @returns The checksum as a Buffer
|
|
37
37
|
*/
|
|
38
38
|
calculateChecksumForBuffers(buffers) {
|
|
39
|
-
|
|
39
|
+
// Concatenate all buffers into one
|
|
40
|
+
const totalLength = buffers.reduce((sum, buf) => sum + buf.length, 0);
|
|
41
|
+
const combined = new Uint8Array(totalLength);
|
|
42
|
+
let offset = 0;
|
|
40
43
|
for (const buffer of buffers) {
|
|
41
|
-
|
|
44
|
+
combined.set(buffer, offset);
|
|
45
|
+
offset += buffer.length;
|
|
42
46
|
}
|
|
43
|
-
return (0,
|
|
47
|
+
return (0, sha3_1.sha3_512)(combined);
|
|
44
48
|
}
|
|
45
49
|
/**
|
|
46
50
|
* Calculate a checksum for a string
|
|
@@ -48,9 +52,10 @@ class ChecksumService {
|
|
|
48
52
|
* @returns The checksum as a Buffer
|
|
49
53
|
*/
|
|
50
54
|
calculateChecksumForString(str) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
// Convert string to Uint8Array
|
|
56
|
+
const encoder = new TextEncoder();
|
|
57
|
+
const data = encoder.encode(str);
|
|
58
|
+
return (0, sha3_1.sha3_512)(data);
|
|
54
59
|
}
|
|
55
60
|
/**
|
|
56
61
|
* Calculate a checksum for a file
|
|
@@ -68,16 +73,25 @@ class ChecksumService {
|
|
|
68
73
|
* @returns The checksum as a Uint8Array
|
|
69
74
|
*/
|
|
70
75
|
async calculateChecksumForStream(stream) {
|
|
71
|
-
|
|
76
|
+
// Collect all chunks into an array
|
|
77
|
+
const chunks = [];
|
|
72
78
|
const reader = stream.getReader();
|
|
73
79
|
let result;
|
|
74
80
|
do {
|
|
75
81
|
result = await reader.read();
|
|
76
82
|
if (result.value) {
|
|
77
|
-
|
|
83
|
+
chunks.push(result.value);
|
|
78
84
|
}
|
|
79
85
|
} while (!result.done);
|
|
80
|
-
|
|
86
|
+
// Concatenate all chunks
|
|
87
|
+
const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
|
|
88
|
+
const combined = new Uint8Array(totalLength);
|
|
89
|
+
let offset = 0;
|
|
90
|
+
for (const chunk of chunks) {
|
|
91
|
+
combined.set(chunk, offset);
|
|
92
|
+
offset += chunk.length;
|
|
93
|
+
}
|
|
94
|
+
return (0, sha3_1.sha3_512)(combined);
|
|
81
95
|
}
|
|
82
96
|
/**
|
|
83
97
|
* Compare two checksums for equality
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/checksum.service.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,0DAKoC;AACpC,
|
|
1
|
+
{"version":3,"file":"checksum.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/checksum.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ECIESService, Member, PlatformID, ShortHexGuid, TypedIdProviderWrapper } from '@digitaldefiance/ecies-lib';
|
|
2
|
-
import
|
|
2
|
+
import type { Shares } from '@digitaldefiance/secrets';
|
|
3
3
|
import { QuorumDataRecord } from '../quorumDataRecord';
|
|
4
4
|
export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
5
5
|
private readonly eciesService;
|
|
@@ -33,7 +33,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
33
33
|
* @param membersWithPrivateKey Members with loaded private keys
|
|
34
34
|
* @returns Decrypted shares
|
|
35
35
|
*/
|
|
36
|
-
decryptShares(document: QuorumDataRecord<TID>, membersWithPrivateKey: Member<TID>[]): Promise<
|
|
36
|
+
decryptShares(document: QuorumDataRecord<TID>, membersWithPrivateKey: Member<TID>[]): Promise<Shares>;
|
|
37
37
|
/**
|
|
38
38
|
* Using Shamir's Secret Sharing, recombine the given shares into the original data
|
|
39
39
|
* @param document The document to unseal
|
|
@@ -47,20 +47,20 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
47
47
|
* @param recoveredShares The shares to use for unsealing
|
|
48
48
|
* @returns The unsealed data
|
|
49
49
|
*/
|
|
50
|
-
quorumUnsealWithShares<T>(document: QuorumDataRecord<TID>, recoveredShares:
|
|
50
|
+
quorumUnsealWithShares<T>(document: QuorumDataRecord<TID>, recoveredShares: Shares): Promise<T>;
|
|
51
51
|
/**
|
|
52
52
|
* Encrypt each key share with each member's public key
|
|
53
53
|
* @param shares The shares to encrypt
|
|
54
54
|
* @param members The members to encrypt shares for
|
|
55
55
|
* @returns Map of encrypted shares by member ID
|
|
56
56
|
*/
|
|
57
|
-
encryptSharesForMembers(shares:
|
|
57
|
+
encryptSharesForMembers(shares: Shares, members: Member<TID>[]): Promise<Map<ShortHexGuid, Uint8Array>>;
|
|
58
58
|
/**
|
|
59
59
|
* Decrypt each key share with each member's private key
|
|
60
60
|
* @param encryptedSharesByMemberId Map of encrypted shares by member ID
|
|
61
61
|
* @param members Members with loaded private keys
|
|
62
62
|
* @returns Decrypted shares
|
|
63
63
|
*/
|
|
64
|
-
decryptSharesForMembers(encryptedSharesByMemberId: Map<TID, Uint8Array>, members: Member<TID>[]): Promise<
|
|
64
|
+
decryptSharesForMembers(encryptedSharesByMemberId: Map<TID, Uint8Array>, members: Member<TID>[]): Promise<Shares>;
|
|
65
65
|
}
|
|
66
66
|
//# sourceMappingURL=sealing.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealing.service.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/sealing.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAGZ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sealing.service.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/sealing.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAGZ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAYvD,qBAAa,cAAc,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;gBAE7D,YAAY,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAChC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC;IAMhD;;;OAGG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM;IAgBtC;;OAEG;WACW,wBAAwB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACxE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM;IAiBzB;;;;;;;OAOG;IACU,UAAU,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAClB,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAyCjC;;OAEG;WACW,wBAAwB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACxE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACrB,OAAO;IAWV;;;;;OAKG;IACU,aAAa,CACxB,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC/B,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACnC,OAAO,CAAC,MAAM,CAAC;IAkClB;;;;;OAKG;IACU,YAAY,CAAC,CAAC,EACzB,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC/B,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACnC,OAAO,CAAC,CAAC,CAAC;IAUb;;;;;OAKG;IACU,sBAAsB,CAAC,CAAC,EACnC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC/B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,CAAC;IAiBb;;;;;OAKG;IACU,uBAAuB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACrB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IA8BzC;;;;;OAKG;IACU,uBAAuB,CAClC,yBAAyB,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC;CA6BnB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SealingService = void 0;
|
|
4
4
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
-
const
|
|
5
|
+
const secrets_1 = require("@digitaldefiance/secrets");
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
7
|
const sealingErrorType_1 = require("../enumerations/sealingErrorType");
|
|
8
8
|
const sealingError_1 = require("../errors/sealingError");
|
|
@@ -36,8 +36,8 @@ class SealingService {
|
|
|
36
36
|
throw new sealingError_1.SealingError(sealingErrorType_1.SealingErrorType.InvalidBitRange);
|
|
37
37
|
}
|
|
38
38
|
// secrets.init requires a CSPRNG type, get the current one
|
|
39
|
-
const config =
|
|
40
|
-
|
|
39
|
+
const config = secrets_1.default.getConfig();
|
|
40
|
+
secrets_1.default.init(bits, config.typeCSPRNG);
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Validate inputs for quorum sealing operations
|
|
@@ -77,7 +77,7 @@ class SealingService {
|
|
|
77
77
|
// alice: 1 share, bob (required): 3 shares, carol: 1 share = total 5 shares
|
|
78
78
|
// split the key using shamir's secret sharing
|
|
79
79
|
this.reinitSecrets(amongstMembers.length);
|
|
80
|
-
const keyShares =
|
|
80
|
+
const keyShares = secrets_1.default.share((0, ecies_lib_1.uint8ArrayToHex)(key), amongstMembers.length, sharesRequired);
|
|
81
81
|
// distribute the key shares to the members
|
|
82
82
|
const encryptedSharesByMemberId = await this.encryptSharesForMembers(keyShares, amongstMembers);
|
|
83
83
|
return new quorumDataRecord_1.QuorumDataRecord(agent, amongstMembers.map((m) => m.id), sharesRequired, encryptedData, encryptedSharesByMemberId);
|
|
@@ -145,7 +145,7 @@ class SealingService {
|
|
|
145
145
|
try {
|
|
146
146
|
// reconstitute the document key from the shares
|
|
147
147
|
this.reinitSecrets(document.encryptedSharesByMemberId.size);
|
|
148
|
-
const combined =
|
|
148
|
+
const combined = secrets_1.default.combine(recoveredShares);
|
|
149
149
|
const key = (0, ecies_lib_1.hexToUint8Array)(combined);
|
|
150
150
|
const aesGcmService = new ecies_lib_1.AESGCMService(this.eciesService.constants);
|
|
151
151
|
return await aesGcmService.decryptJson(document.encryptedData, key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealing.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/sealing.service.ts"],"names":[],"mappings":";;;AAAA,0DAUoC;
|
|
1
|
+
{"version":3,"file":"sealing.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/sealing.service.ts"],"names":[],"mappings":"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"}
|