@brightchain/brightchain-lib 0.1.3 → 0.1.4

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-lib",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "BrightChain core library - browser-compatible blockchain storage",
5
5
  "main": "src/browser.js",
6
6
  "types": "src/browser.d.ts",
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 declare function initializeBrightChain(): void;
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
@@ -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,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAGD,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
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 = 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
- // Simple browser initialization
13
- function initializeBrightChain() {
14
- console.log('BrightChain browser mode initialized');
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
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE;;AASrE,sDAEC;;AATD,4DAAkC;AAClC,uEAA6C;AAC7C,wEAA8C;AAC9C,4EAAkD;AAClD,8EAAoD;AAEpD,gCAAgC;AAChC,SAAgB,qBAAqB;IACnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AACtD,CAAC"}
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
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/init.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAgB5C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,WAEtC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAW1C"}
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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/init.ts"],"names":[],"mappings":";;AAaA,sDAgBC;AAKD,0DAEC;AAKD,oDAEC;AAKD,kDAWC;AA3DD,0DAIoC;AAEpC,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,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
+ {"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;IAQrB;;;;OAIG;IACI,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAMlE;;;;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;IAa9B;;;;;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"}
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 js_sha3_1 = require("js-sha3");
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
- const hash = js_sha3_1.sha3_512.create();
23
- hash.update(data);
24
- const result = (0, ecies_lib_1.hexToUint8Array)(hash.hex());
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
- const hash = js_sha3_1.sha3_512.create();
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
- hash.update(buffer);
44
+ combined.set(buffer, offset);
45
+ offset += buffer.length;
42
46
  }
43
- return (0, ecies_lib_1.hexToUint8Array)(hash.hex());
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
- const hash = js_sha3_1.sha3_512.create();
52
- hash.update(str);
53
- return (0, ecies_lib_1.hexToUint8Array)(hash.hex());
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
- const hash = js_sha3_1.sha3_512.create();
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
- hash.update(result.value);
83
+ chunks.push(result.value);
78
84
  }
79
85
  } while (!result.done);
80
- return (0, ecies_lib_1.hexToUint8Array)(hash.hex());
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":"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"}
1
+ {"version":3,"file":"checksum.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/checksum.service.ts"],"names":[],"mappings":"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"}