@brightchain/brightchain-lib 0.1.0 → 0.1.2

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 (88) hide show
  1. package/README.md +348 -87
  2. package/package.json +15 -1
  3. package/src/browser.d.ts +5 -1
  4. package/src/browser.d.ts.map +1 -1
  5. package/src/browser.js +10 -2
  6. package/src/browser.js.map +1 -1
  7. package/src/index.d.ts +2 -1
  8. package/src/index.d.ts.map +1 -1
  9. package/src/index.js +2 -1
  10. package/src/index.js.map +1 -1
  11. package/src/lib/blockPaddingTransform.d.ts +2 -2
  12. package/src/lib/blockPaddingTransform.d.ts.map +1 -1
  13. package/src/lib/blockPaddingTransform.js +26 -9
  14. package/src/lib/blockPaddingTransform.js.map +1 -1
  15. package/src/lib/blocks/base.d.ts +1 -1
  16. package/src/lib/blocks/base.d.ts.map +1 -1
  17. package/src/lib/blocks/encryptedBlockFactory.d.ts +2 -2
  18. package/src/lib/blocks/encryptedBlockFactory.d.ts.map +1 -1
  19. package/src/lib/blocks/encryptedBlockFactory.js +22 -16
  20. package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
  21. package/src/lib/blocks/ephemeral.d.ts +1 -1
  22. package/src/lib/blocks/ephemeral.d.ts.map +1 -1
  23. package/src/lib/blocks/ephemeral.js +8 -5
  24. package/src/lib/blocks/ephemeral.js.map +1 -1
  25. package/src/lib/blocks/memoryTuple.d.ts +13 -13
  26. package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
  27. package/src/lib/blocks/memoryTuple.js +29 -15
  28. package/src/lib/blocks/memoryTuple.js.map +1 -1
  29. package/src/lib/blocks/random.d.ts +9 -13
  30. package/src/lib/blocks/random.d.ts.map +1 -1
  31. package/src/lib/blocks/random.js +25 -24
  32. package/src/lib/blocks/random.js.map +1 -1
  33. package/src/lib/blocks/rawData.d.ts +1 -5
  34. package/src/lib/blocks/rawData.d.ts.map +1 -1
  35. package/src/lib/blocks/rawData.js +8 -8
  36. package/src/lib/blocks/rawData.js.map +1 -1
  37. package/src/lib/blocks/whitened.d.ts +12 -12
  38. package/src/lib/blocks/whitened.d.ts.map +1 -1
  39. package/src/lib/blocks/whitened.js +32 -20
  40. package/src/lib/blocks/whitened.js.map +1 -1
  41. package/src/lib/browserBrightChain.d.ts +30 -0
  42. package/src/lib/browserBrightChain.d.ts.map +1 -0
  43. package/src/lib/browserBrightChain.js +82 -0
  44. package/src/lib/browserBrightChain.js.map +1 -0
  45. package/src/lib/browserCrypto.d.ts +9 -0
  46. package/src/lib/browserCrypto.d.ts.map +1 -0
  47. package/src/lib/browserCrypto.js +34 -0
  48. package/src/lib/browserCrypto.js.map +1 -0
  49. package/src/lib/browserKeyring.d.ts +21 -0
  50. package/src/lib/browserKeyring.d.ts.map +1 -0
  51. package/src/lib/browserKeyring.js +133 -0
  52. package/src/lib/browserKeyring.js.map +1 -0
  53. package/src/lib/browserStream.d.ts +40 -0
  54. package/src/lib/browserStream.d.ts.map +1 -0
  55. package/src/lib/browserStream.js +154 -0
  56. package/src/lib/browserStream.js.map +1 -0
  57. package/src/lib/cblStream.d.ts +2 -2
  58. package/src/lib/cblStream.d.ts.map +1 -1
  59. package/src/lib/cblStream.js +21 -43
  60. package/src/lib/cblStream.js.map +1 -1
  61. package/src/lib/enumerations/systemKeyringErrorType.d.ts +2 -1
  62. package/src/lib/enumerations/systemKeyringErrorType.d.ts.map +1 -1
  63. package/src/lib/enumerations/systemKeyringErrorType.js +1 -0
  64. package/src/lib/enumerations/systemKeyringErrorType.js.map +1 -1
  65. package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
  66. package/src/lib/errors/systemKeyringError.js +1 -0
  67. package/src/lib/errors/systemKeyringError.js.map +1 -1
  68. package/src/lib/interfaces/blocks/base.d.ts +1 -1
  69. package/src/lib/interfaces/blocks/base.d.ts.map +1 -1
  70. package/src/lib/interfaces/keyringEntry.d.ts +3 -3
  71. package/src/lib/interfaces/keyringEntry.d.ts.map +1 -1
  72. package/src/lib/primeTupleGeneratorStream.d.ts +2 -2
  73. package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
  74. package/src/lib/primeTupleGeneratorStream.js +19 -9
  75. package/src/lib/primeTupleGeneratorStream.js.map +1 -1
  76. package/src/lib/secureHeapStorage.d.ts.map +1 -1
  77. package/src/lib/secureHeapStorage.js +8 -5
  78. package/src/lib/secureHeapStorage.js.map +1 -1
  79. package/src/lib/services/fec.service.js +4 -4
  80. package/src/lib/services/fec.service.js.map +1 -1
  81. package/src/lib/services/tuple.service.d.ts +5 -5
  82. package/src/lib/services/tuple.service.d.ts.map +1 -1
  83. package/src/lib/services/tuple.service.js +47 -38
  84. package/src/lib/services/tuple.service.js.map +1 -1
  85. package/src/lib/systemKeyring.d.ts +3 -11
  86. package/src/lib/systemKeyring.d.ts.map +1 -1
  87. package/src/lib/systemKeyring.js +7 -95
  88. package/src/lib/systemKeyring.js.map +1 -1
@@ -1,28 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const crypto_1 = require("crypto");
4
- const stream_1 = require("stream");
5
- class BlockPaddingTransform extends stream_1.Transform {
3
+ const browserCrypto_1 = require("./browserCrypto");
4
+ const browserStream_1 = require("./browserStream");
5
+ class BlockPaddingTransform extends browserStream_1.Transform {
6
6
  constructor(blockSize) {
7
7
  super();
8
8
  this.blockSize = blockSize;
9
- this.buffer = Buffer.alloc(0);
9
+ this.buffer = new Uint8Array(0);
10
10
  }
11
11
  _transform(chunk, encoding, callback) {
12
- this.buffer = Buffer.concat([this.buffer, chunk]);
12
+ // Convert Buffer to Uint8Array if needed
13
+ let data;
14
+ if (chunk instanceof Uint8Array) {
15
+ data = chunk;
16
+ }
17
+ else if (Buffer.isBuffer(chunk)) {
18
+ data = new Uint8Array(chunk);
19
+ }
20
+ else {
21
+ callback(new Error('Input must be Buffer or Uint8Array'));
22
+ return;
23
+ }
24
+ const newBuffer = new Uint8Array(this.buffer.length + data.length);
25
+ newBuffer.set(this.buffer);
26
+ newBuffer.set(data, this.buffer.length);
27
+ this.buffer = newBuffer;
13
28
  while (this.buffer.length >= this.blockSize) {
14
29
  const block = this.buffer.subarray(0, this.blockSize);
15
30
  this.buffer = this.buffer.subarray(this.blockSize);
16
- this.push(block);
31
+ this.push(Buffer.from(block));
17
32
  }
18
33
  callback();
19
34
  }
20
35
  _flush(callback) {
21
36
  if (this.buffer.length > 0) {
22
37
  const paddingSize = this.blockSize - (this.buffer.length % this.blockSize);
23
- const padding = (0, crypto_1.randomBytes)(paddingSize);
24
- const paddedBlock = Buffer.concat([this.buffer, padding]);
25
- this.push(paddedBlock);
38
+ const padding = (0, browserCrypto_1.randomBytes)(paddingSize);
39
+ const paddedBlock = new Uint8Array(this.buffer.length + padding.length);
40
+ paddedBlock.set(this.buffer);
41
+ paddedBlock.set(padding, this.buffer.length);
42
+ this.push(Buffer.from(paddedBlock));
26
43
  }
27
44
  callback();
28
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"blockPaddingTransform.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/blockPaddingTransform.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AACrC,mCAAsD;AAGtD,MAAM,qBAAsB,SAAQ,kBAAS;IAI3C,YAAY,SAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAmB,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAEQ,UAAU,CACjB,KAAa,EACb,QAAgB,EAChB,QAA2B;QAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAED,QAAQ,EAAE,CAAC;IACb,CAAC;IAEQ,MAAM,CAAC,QAA2B;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,GACf,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,IAAA,oBAAW,EAAC,WAAW,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"blockPaddingTransform.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/blockPaddingTransform.ts"],"names":[],"mappings":";;AAAA,mDAA8C;AAC9C,mDAA+D;AAG/D,MAAM,qBAAsB,SAAQ,yBAAS;IAI3C,YAAY,SAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAmB,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAEQ,UAAU,CACjB,KAAU,EACV,QAAgB,EAChB,QAA2B;QAE3B,yCAAyC;QACzC,IAAI,IAAgB,CAAC;QACrB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,QAAQ,EAAE,CAAC;IACb,CAAC;IAEQ,MAAM,CAAC,QAA2B;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,WAAW,GACf,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,IAAA,2BAAW,EAAC,WAAW,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACxE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ChecksumString, ChecksumUint8Array } from '@digitaldefiance/ecies-lib';
2
- import { Readable } from 'stream';
2
+ import { Readable } from '../browserStream';
3
3
  import { BlockMetadata } from '../blockMetadata';
4
4
  import { BlockDataType } from '../enumerations/blockDataType';
5
5
  import { BlockSize } from '../enumerations/blockSize';
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAqB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD;;;;;;;;;;;;;GAaG;AACH,8BAAsB,SAAU,YAAW,UAAU;IACnD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAEzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEnD;;;;;;;;;;OAUG;IACH,SAAS,aACP,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,aAAa,EACvB,OAAO,UAAO,EACd,UAAU,UAAO;IA+BnB;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,cAAc,CAI1C;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,aAAa,CAEnC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;OAGG;aACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;;OAGG;aACa,YAAY,IAAI,IAAI;IAEpC;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAIvB;;OAEG;IACH,aAAoB,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;IAElD;;OAEG;IACH,aAAoB,iBAAiB,IAAI,MAAM,CAAC;IAEhD;;OAEG;IACH,aAAoB,eAAe,IAAI,UAAU,CAAC;IAElD;;OAEG;IACH,aAAoB,SAAS,IAAI,UAAU,CAAC;IAE5C;;OAEG;IACH,aAAoB,YAAY,IAAI,UAAU,CAAC;IAE/C;;OAEG;IACH,aAAoB,gBAAgB,IAAI,MAAM,CAAC;IAE/C;;OAEG;IACH,IAAW,MAAM,IAAI,UAAU,EAAE,CAMhC;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAUxC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,UAAU,GAAG,IAAI,CAGrC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CAUjC;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,UAAU,CAatC;CACF"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAqB,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD;;;;;;;;;;;;;GAaG;AACH,8BAAsB,SAAU,YAAW,UAAU;IACnD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAEzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IAEnD;;;;;;;;;;OAUG;IACH,SAAS,aACP,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,aAAa,EACvB,OAAO,UAAO,EACd,UAAU,UAAO;IA+BnB;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,cAAc,CAI1C;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,aAAa,CAEnC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;OAGG;aACa,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;;OAGG;aACa,YAAY,IAAI,IAAI;IAEpC;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAIvB;;OAEG;IACH,aAAoB,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;IAElD;;OAEG;IACH,aAAoB,iBAAiB,IAAI,MAAM,CAAC;IAEhD;;OAEG;IACH,aAAoB,eAAe,IAAI,UAAU,CAAC;IAElD;;OAEG;IACH,aAAoB,SAAS,IAAI,UAAU,CAAC;IAE5C;;OAEG;IACH,aAAoB,YAAY,IAAI,UAAU,CAAC;IAE/C;;OAEG;IACH,aAAoB,gBAAgB,IAAI,MAAM,CAAC;IAE/C;;OAEG;IACH,IAAW,MAAM,IAAI,UAAU,EAAE,CAMhC;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,MAAM,CAUxC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,UAAU,GAAG,IAAI,CAGrC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CAUjC;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,UAAU,CAatC;CACF"}
@@ -8,7 +8,7 @@ export declare class EncryptedBlockFactory {
8
8
  private static readonly eciesService;
9
9
  private static readonly checksumService;
10
10
  private static blockConstructors;
11
- static registerBlockType(type: BlockType, constructor: new <TID extends PlatformID = Uint8Array>(type: BlockType, dataType: BlockDataType, data: Buffer, checksum: ChecksumUint8Array, metadata: EncryptedBlockMetadata<TID>, recipientWithKey: Member<TID>, canRead: boolean, canPersist: boolean) => EncryptedBlock): void;
12
- static createBlock<TID extends PlatformID = Uint8Array>(type: BlockType, dataType: BlockDataType, blockSize: BlockSize, data: Buffer, checksum: ChecksumUint8Array, creator: Member<TID>, dateCreated?: Date, lengthBeforeEncryption?: number, canRead?: boolean, canPersist?: boolean): Promise<EncryptedBlock>;
11
+ static registerBlockType(type: BlockType, constructor: new <TID extends PlatformID = Uint8Array>(type: BlockType, dataType: BlockDataType, data: Uint8Array, checksum: ChecksumUint8Array, metadata: EncryptedBlockMetadata<TID>, recipientWithKey: Member<TID>, canRead: boolean, canPersist: boolean) => EncryptedBlock): void;
12
+ static createBlock<TID extends PlatformID = Uint8Array>(type: BlockType, dataType: BlockDataType, blockSize: BlockSize, data: Uint8Array, checksum: ChecksumUint8Array, creator: Member<TID>, dateCreated?: Date, lengthBeforeEncryption?: number, canRead?: boolean, canPersist?: boolean): Promise<EncryptedBlock>;
13
13
  }
14
14
  //# sourceMappingURL=encryptedBlockFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryptedBlockFactory.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/encryptedBlockFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEhE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAWzB;WAEO,iBAAiB,CAC7B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,KAAK,GAAG,SAAS,UAAU,GAAG,UAAU,EACnD,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,EACrC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,KAChB,cAAc,GAClB,IAAI;WAIa,WAAW,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACjE,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,WAAW,CAAC,EAAE,IAAI,EAClB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,UAAO,EACd,UAAU,UAAO,GAChB,OAAO,CAAC,cAAc,CAAC;CA2I3B"}
1
+ {"version":3,"file":"encryptedBlockFactory.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/encryptedBlockFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEhE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAWzB;WAEO,iBAAiB,CAC7B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,KAAK,GAAG,SAAS,UAAU,GAAG,UAAU,EACnD,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,EACrC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,EAC7B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,KAChB,cAAc,GAClB,IAAI;WAIa,WAAW,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACjE,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,WAAW,CAAC,EAAE,IAAI,EAClB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,UAAO,EACd,UAAU,UAAO,GAChB,OAAO,CAAC,cAAc,CAAC;CAkJ3B"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EncryptedBlockFactory = void 0;
4
- const crypto_1 = require("crypto");
4
+ const browserCrypto_1 = require("../browserCrypto");
5
5
  const constants_1 = require("../constants");
6
6
  const encryptedBlockMetadata_1 = require("../encryptedBlockMetadata");
7
7
  const blockDataType_1 = require("../enumerations/blockDataType");
@@ -42,41 +42,47 @@ class EncryptedBlockFactory {
42
42
  }
43
43
  // Calculate checksum on the original data
44
44
  const computedChecksum = this.checksumService.calculateChecksum(data);
45
- if (!Buffer.from(computedChecksum).equals(Buffer.from(checksum))) {
45
+ // Compare checksums using array comparison
46
+ if (computedChecksum.length !== checksum.length) {
46
47
  throw new checksumMismatch_1.ChecksumMismatchError(checksum, computedChecksum);
47
48
  }
49
+ for (let i = 0; i < computedChecksum.length; i++) {
50
+ if (computedChecksum[i] !== checksum[i]) {
51
+ throw new checksumMismatch_1.ChecksumMismatchError(checksum, computedChecksum);
52
+ }
53
+ }
48
54
  const finalChecksum = checksum ?? computedChecksum;
49
55
  // Create metadata with correct length
50
56
  const updatedMetadata = new ephemeralBlockMetadata_1.EphemeralBlockMetadata(blockSize, type, blockDataType_1.BlockDataType.EncryptedData, lengthBeforeEncryption ?? data.length, creator, dateCreated);
51
57
  // If data is already encrypted (starts with 0x04), use it directly
52
58
  if (data[0] === constants_1.ECIES.PUBLIC_KEY_MAGIC) {
53
59
  // Create a properly sized buffer
54
- const finalData = Buffer.alloc(blockSize);
55
- data.copy(finalData);
60
+ const finalData = new Uint8Array(blockSize);
61
+ finalData.set(data);
56
62
  return new Constructor(type, blockDataType_1.BlockDataType.EncryptedData, finalData, finalChecksum, encryptedBlockMetadata_1.EncryptedBlockMetadata.fromEphemeralBlockMetadata(updatedMetadata, blockEncryptionType_1.BlockEncryptionType.SingleRecipient, 1), creator, canRead, canPersist);
57
63
  }
58
64
  // Create final data buffer with proper size
59
- const finalData = Buffer.alloc(blockSize);
65
+ const finalData = new Uint8Array(blockSize);
60
66
  // Generate encryption headers
61
- const ephemeralPublicKey = Buffer.alloc(constants_1.ECIES.PUBLIC_KEY_LENGTH);
62
- const keyData = (0, crypto_1.randomBytes)(constants_1.ECIES.PUBLIC_KEY_LENGTH - 1);
67
+ const ephemeralPublicKey = new Uint8Array(constants_1.ECIES.PUBLIC_KEY_LENGTH);
68
+ const keyData = (0, browserCrypto_1.randomBytes)(constants_1.ECIES.PUBLIC_KEY_LENGTH - 1);
63
69
  ephemeralPublicKey[0] = constants_1.ECIES.PUBLIC_KEY_MAGIC; // Set ECIES public key prefix
64
- keyData.copy(ephemeralPublicKey, 1); // Copy after prefix
65
- const iv = (0, crypto_1.randomBytes)(constants_1.ECIES.IV_LENGTH);
66
- const authTag = (0, crypto_1.randomBytes)(constants_1.ECIES.AUTH_TAG_LENGTH);
70
+ ephemeralPublicKey.set(keyData, 1); // Copy after prefix
71
+ const iv = (0, browserCrypto_1.randomBytes)(constants_1.ECIES.IV_LENGTH);
72
+ const authTag = (0, browserCrypto_1.randomBytes)(constants_1.ECIES.AUTH_TAG_LENGTH);
67
73
  // Copy headers to final buffer
68
74
  let offset = 0;
69
- ephemeralPublicKey.copy(finalData, offset);
75
+ finalData.set(ephemeralPublicKey, offset);
70
76
  offset += constants_1.ECIES.PUBLIC_KEY_LENGTH;
71
- iv.copy(finalData, offset);
77
+ finalData.set(iv, offset);
72
78
  offset += constants_1.ECIES.IV_LENGTH;
73
- authTag.copy(finalData, offset);
79
+ finalData.set(authTag, offset);
74
80
  offset += constants_1.ECIES.AUTH_TAG_LENGTH;
75
81
  // Copy data to payload area
76
- data.copy(finalData, offset);
82
+ finalData.set(data, offset);
77
83
  // Create a copy of the data for validation
78
- const finalDataCopy = Buffer.alloc(blockSize);
79
- finalData.copy(finalDataCopy);
84
+ const finalDataCopy = new Uint8Array(blockSize);
85
+ finalDataCopy.set(finalData);
80
86
  // Verify the data length matches the block size
81
87
  if (finalDataCopy.length !== blockSize) {
82
88
  throw new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.DataBufferIsTruncated);
@@ -1 +1 @@
1
- {"version":3,"file":"encryptedBlockFactory.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/encryptedBlockFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryptedBlockFactory.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/encryptedBlockFactory.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ChecksumUint8Array, Member, type PlatformID } from '@digitaldefiance/ecies-lib';
2
- import { Readable } from 'stream';
2
+ import { Readable } from '../browserStream';
3
3
  import { BlockDataType } from '../enumerations/blockDataType';
4
4
  import { BlockSize } from '../enumerations/blockSize';
5
5
  import { BlockType } from '../enumerations/blockType';
@@ -1 +1 @@
1
- {"version":3,"file":"ephemeral.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/ephemeral.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,MAAM,EACN,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;GAGG;AACH,qBAAa,cAAc,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,CAC7D,SAAQ,SACR,YAAW,eAAe,CAAC,GAAG,CAAC;IAE/B;;OAEG;WACiB,IAAI,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,WAAW,CAAC,EAAE,IAAI,EAClB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,UAAO,EACd,UAAU,UAAO,GAChB,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAgChC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAErC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEzC;;;;;;;;;;;;OAYG;gBAED,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,UAAU,GAAG,QAAQ,EAC3B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,EACrC,OAAO,UAAO,EACd,UAAU,UAAQ;IAsCpB;;OAEG;IACH,IAAoB,IAAI,IAAI,UAAU,CAKrC;IAED;;OAEG;IACH,IAAoB,WAAW,IAAI,IAAI,CAEtC;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,MAAM,CAE1C;IAED;;OAEG;IACI,UAAU,IAAI,OAAO;IAuB5B;;;;OAIG;IACI,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IA4BvD;;;OAGG;IACa,YAAY,IAAI,IAAI;IAkBpC;;;OAGG;IACmB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpD;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAE5C;IAED,IAAoB,iBAAiB,IAAI,MAAM,CAE9C;IAED;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAMhD;IAED;;OAEG;IACH,IAAoB,YAAY,IAAI,UAAU,CAQ7C;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED;;;;OAIG;IACU,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjD,YAAY,EAAE,SAAS,EACvB,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC;IAmEb;;;OAGG;IACH,IAAW,SAAS,IAAI,UAAU,CAQjC;CACF"}
1
+ {"version":3,"file":"ephemeral.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/ephemeral.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAClB,MAAM,EACN,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EACL,SAAS,EAGV,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;GAGG;AACH,qBAAa,cAAc,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,CAC7D,SAAQ,SACR,YAAW,eAAe,CAAC,GAAG,CAAC;IAE/B;;OAEG;WACiB,IAAI,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,WAAW,CAAC,EAAE,IAAI,EAClB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,OAAO,UAAO,EACd,UAAU,UAAO,GAChB,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAgChC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAErC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEzC;;;;;;;;;;;;OAYG;gBAED,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,UAAU,GAAG,QAAQ,EAC3B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,EACrC,OAAO,UAAO,EACd,UAAU,UAAQ;IAyCpB;;OAEG;IACH,IAAoB,IAAI,IAAI,UAAU,CAKrC;IAED;;OAEG;IACH,IAAoB,WAAW,IAAI,IAAI,CAEtC;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,MAAM,CAE1C;IAED;;OAEG;IACI,UAAU,IAAI,OAAO;IAuB5B;;;;OAIG;IACI,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IA4BvD;;;OAGG;IACa,YAAY,IAAI,IAAI;IAkBpC;;;OAGG;IACmB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBpD;;;OAGG;IACH,IAAW,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAE5C;IAED,IAAoB,iBAAiB,IAAI,MAAM,CAE9C;IAED;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAMhD;IAED;;OAEG;IACH,IAAoB,YAAY,IAAI,UAAU,CAQ7C;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED;;;;OAIG;IACU,OAAO,CAAC,CAAC,SAAS,eAAe,CAAC,GAAG,CAAC,EACjD,YAAY,EAAE,SAAS,EACvB,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACzB,OAAO,CAAC,CAAC,CAAC;IAmEb;;;OAGG;IACH,IAAW,SAAS,IAAI,UAAU,CAQjC;CACF"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EphemeralBlock = void 0;
4
4
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
- const crypto_1 = require("crypto");
6
- const stream_1 = require("stream");
5
+ const browserCrypto_1 = require("../browserCrypto");
6
+ const browserStream_1 = require("../browserStream");
7
7
  const constants_1 = require("../constants");
8
8
  const blockAccessErrorType_1 = require("../enumerations/blockAccessErrorType");
9
9
  const blockErrorType_1 = require("../enumerations/blockErrorType");
@@ -49,7 +49,7 @@ class EphemeralBlock extends base_1.BaseBlock {
49
49
  * @param encrypted - Whether the block is encrypted
50
50
  */
51
51
  constructor(type, dataType, data, checksum, metadata, canRead = true, canPersist = false) {
52
- if (data instanceof stream_1.Readable) {
52
+ if (data instanceof browserStream_1.Readable) {
53
53
  throw new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.EphemeralBlockOnlySupportsBufferData);
54
54
  }
55
55
  // Initialize base class
@@ -63,8 +63,11 @@ class EphemeralBlock extends base_1.BaseBlock {
63
63
  let paddedData = data;
64
64
  if (paddedData.length < maxDataSize) {
65
65
  // Pad with random data to reach the full block size
66
- const padding = (0, crypto_1.randomBytes)(maxDataSize - paddedData.length);
67
- paddedData = Buffer.concat([paddedData, padding]);
66
+ const padding = (0, browserCrypto_1.randomBytes)(maxDataSize - paddedData.length);
67
+ const result = new Uint8Array(paddedData.length + padding.length);
68
+ result.set(paddedData);
69
+ result.set(padding, paddedData.length);
70
+ paddedData = result;
68
71
  }
69
72
  if (!metadata) {
70
73
  throw new block_1.BlockMetadataError(blockMetadataErrorType_1.BlockMetadataErrorType.MetadataRequired);
@@ -1 +1 @@
1
- {"version":3,"file":"ephemeral.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/ephemeral.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ephemeral.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/ephemeral.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { BlockSize } from '../enumerations/blockSize';
2
2
  import { ChecksumUint8Array } from '@digitaldefiance/ecies-lib';
3
- import { BaseBlock } from './base';
4
- import { BlockHandle } from './handle';
3
+ import { IBaseBlock } from '../interfaces/blocks/base';
4
+ import { type BlockHandle } from './handle';
5
5
  import { RawDataBlock } from './rawData';
6
6
  /**
7
7
  * InMemoryBlockTuple represents a tuple of blocks that can be XORed together.
@@ -10,14 +10,14 @@ import { RawDataBlock } from './rawData';
10
10
  * 2. Parity blocks XORed for error correction
11
11
  *
12
12
  * This class supports both:
13
- * 1. In-memory blocks (BaseBlock derivatives) for immediate operations
13
+ * 1. In-memory blocks (IBaseBlock derivatives) for immediate operations
14
14
  * 2. Disk-based blocks (BlockHandle) for persistent storage
15
15
  */
16
16
  export declare class InMemoryBlockTuple {
17
17
  static readonly TupleSize: number;
18
18
  private readonly _blocks;
19
19
  private readonly _blockSize;
20
- constructor(blocks: (BaseBlock | BlockHandle<any>)[]);
20
+ constructor(blocks: (IBaseBlock | BlockHandle<any>)[]);
21
21
  /**
22
22
  * Get the block IDs in this tuple
23
23
  */
@@ -25,27 +25,27 @@ export declare class InMemoryBlockTuple {
25
25
  /**
26
26
  * Get the block IDs as a concatenated buffer
27
27
  */
28
- get blockIdsBuffer(): Buffer;
28
+ get blockIdsBuffer(): Uint8Array;
29
29
  /**
30
30
  * Get the blocks in this tuple
31
31
  */
32
- get blocks(): (BaseBlock | BlockHandle<any>)[];
32
+ get blocks(): (IBaseBlock | BlockHandle<any>)[];
33
33
  /**
34
34
  * Get the block size for this tuple
35
35
  */
36
36
  get blockSize(): BlockSize;
37
37
  /**
38
- * Convert a Readable stream to a Buffer
38
+ * Convert a Readable stream to a Uint8Array
39
39
  * @param readable - The readable stream to convert
40
- * @returns Promise that resolves to a Buffer
40
+ * @returns Promise that resolves to a Uint8Array
41
41
  */
42
- private static streamToBuffer;
42
+ private static streamToUint8Array;
43
43
  /**
44
- * Convert data to Buffer regardless of whether it's a Readable or Buffer
44
+ * Convert data to Uint8Array regardless of whether it's a Readable or Uint8Array
45
45
  * @param data - The data to convert
46
- * @returns Promise that resolves to a Buffer
46
+ * @returns Promise that resolves to a Uint8Array
47
47
  */
48
- private static toBuffer;
48
+ private static toUint8Array;
49
49
  /**
50
50
  * XOR all blocks together
51
51
  * @returns A new RawDataBlock containing the XOR result
@@ -60,6 +60,6 @@ export declare class InMemoryBlockTuple {
60
60
  * Create a tuple from blocks
61
61
  * This creates in-memory blocks
62
62
  */
63
- static fromBlocks(blocks: (BaseBlock | BlockHandle<any>)[]): InMemoryBlockTuple;
63
+ static fromBlocks(blocks: (IBaseBlock | BlockHandle<any>)[]): InMemoryBlockTuple;
64
64
  }
65
65
  //# sourceMappingURL=memoryTuple.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryTuple.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/memoryTuple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,gBAAuB,SAAS,SAAc;IAE9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,MAAM,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;IAiBpD;;OAEG;IACH,IAAW,QAAQ,IAAI,kBAAkB,EAAE,CAE1C;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAEpD;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;;;OAIG;mBACkB,cAAc;IAQnC;;;;OAIG;mBACkB,QAAQ;IAO7B;;;OAGG;IACU,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IA+CzC;;;OAGG;WACiB,OAAO,CACzB,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,MAAM,GAC/C,OAAO,CAAC,kBAAkB,CAAC;IAwB9B;;;OAGG;WACW,UAAU,CACtB,MAAM,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GACvC,kBAAkB;CAUtB"}
1
+ {"version":3,"file":"memoryTuple.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/memoryTuple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,gBAAuB,SAAS,SAAc;IAE9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE3B,MAAM,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;IAiBrD;;OAEG;IACH,IAAW,QAAQ,IAAI,kBAAkB,EAAE,CAE1C;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,UAAU,CAStC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAErD;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;;;OAIG;mBACkB,kBAAkB;IAevC;;;;OAIG;mBACkB,YAAY;IAOjC;;;OAGG;IACU,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IA6CzC;;;OAGG;WACiB,OAAO,CACzB,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,MAAM,GAC/C,OAAO,CAAC,kBAAkB,CAAC;IAwB9B;;;OAGG;WACW,UAAU,CACtB,MAAM,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GACxC,kBAAkB;CAUtB"}
@@ -14,7 +14,7 @@ const rawData_1 = require("./rawData");
14
14
  * 2. Parity blocks XORed for error correction
15
15
  *
16
16
  * This class supports both:
17
- * 1. In-memory blocks (BaseBlock derivatives) for immediate operations
17
+ * 1. In-memory blocks (IBaseBlock derivatives) for immediate operations
18
18
  * 2. Disk-based blocks (BlockHandle) for persistent storage
19
19
  */
20
20
  class InMemoryBlockTuple {
@@ -39,7 +39,14 @@ class InMemoryBlockTuple {
39
39
  * Get the block IDs as a concatenated buffer
40
40
  */
41
41
  get blockIdsBuffer() {
42
- return Buffer.concat(this.blockIds);
42
+ const totalLength = this.blockIds.reduce((sum, id) => sum + id.length, 0);
43
+ const result = new Uint8Array(totalLength);
44
+ let offset = 0;
45
+ for (const id of this.blockIds) {
46
+ result.set(id, offset);
47
+ offset += id.length;
48
+ }
49
+ return result;
43
50
  }
44
51
  /**
45
52
  * Get the blocks in this tuple
@@ -54,27 +61,34 @@ class InMemoryBlockTuple {
54
61
  return this._blockSize;
55
62
  }
56
63
  /**
57
- * Convert a Readable stream to a Buffer
64
+ * Convert a Readable stream to a Uint8Array
58
65
  * @param readable - The readable stream to convert
59
- * @returns Promise that resolves to a Buffer
66
+ * @returns Promise that resolves to a Uint8Array
60
67
  */
61
- static async streamToBuffer(readable) {
68
+ static async streamToUint8Array(readable) {
62
69
  const chunks = [];
63
70
  for await (const chunk of readable) {
64
- chunks.push(Buffer.from(chunk));
71
+ chunks.push(new Uint8Array(chunk));
72
+ }
73
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
74
+ const result = new Uint8Array(totalLength);
75
+ let offset = 0;
76
+ for (const chunk of chunks) {
77
+ result.set(chunk, offset);
78
+ offset += chunk.length;
65
79
  }
66
- return Buffer.concat(chunks);
80
+ return result;
67
81
  }
68
82
  /**
69
- * Convert data to Buffer regardless of whether it's a Readable or Buffer
83
+ * Convert data to Uint8Array regardless of whether it's a Readable or Uint8Array
70
84
  * @param data - The data to convert
71
- * @returns Promise that resolves to a Buffer
85
+ * @returns Promise that resolves to a Uint8Array
72
86
  */
73
- static async toBuffer(data) {
74
- if (Buffer.isBuffer(data)) {
87
+ static async toUint8Array(data) {
88
+ if (data instanceof Uint8Array) {
75
89
  return data;
76
90
  }
77
- return InMemoryBlockTuple.streamToBuffer(data);
91
+ return InMemoryBlockTuple.streamToUint8Array(data);
78
92
  }
79
93
  /**
80
94
  * XOR all blocks together
@@ -86,11 +100,11 @@ class InMemoryBlockTuple {
86
100
  }
87
101
  try {
88
102
  // Load and copy first block's data
89
- const result = Buffer.alloc((await InMemoryBlockTuple.toBuffer(this._blocks[0].data)).length);
90
- (await InMemoryBlockTuple.toBuffer(this._blocks[0].data)).copy(result);
103
+ const firstBlockData = await InMemoryBlockTuple.toUint8Array(this._blocks[0].data);
104
+ const result = new Uint8Array(firstBlockData);
91
105
  // XOR with remaining blocks
92
106
  for (let i = 1; i < this._blocks.length; i++) {
93
- const currentData = await InMemoryBlockTuple.toBuffer(this._blocks[i].data);
107
+ const currentData = await InMemoryBlockTuple.toUint8Array(this._blocks[i].data);
94
108
  if (currentData.length !== result.length) {
95
109
  throw new memoryTupleError_1.MemoryTupleError(memoryTupleErrorType_1.MemoryTupleErrorType.BlockSizeMismatch);
96
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memoryTuple.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/memoryTuple.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryTuple.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/memoryTuple.ts"],"names":[],"mappings":";;;AACA,4CAAqC;AACrC,iEAA8D;AAE9D,yDAAsD;AAGtD,+EAA4E;AAC5E,iEAA8D;AAG9D,uCAAyC;AAEzC;;;;;;;;;GASG;AACH,MAAa,kBAAkB;IAM7B,YAAY,MAAyC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAK,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,mCAAgB,CACxB,2CAAoB,CAAC,gBAAgB,EACrC,iBAAK,CAAC,IAAI,CACX,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,mCAAgB,CAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACvB,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAkB;QACxD,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAA2B;QAC3D,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,mCAAgB,CAAC,2CAAoB,CAAC,aAAa,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;YAE9C,4BAA4B;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,YAAY,CACvD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CACrB,CAAC;gBAEF,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM,IAAI,mCAAgB,CAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAC;gBACrE,CAAC;gBAED,eAAe;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,OAAO,IAAI,sBAAY,CACrB,IAAI,CAAC,UAAU,EACf,MAAM,EACN,IAAI,IAAI,EAAE,EACV,SAAS,EAAE,qCAAqC;YAChD,qBAAS,CAAC,OAAO,EACjB,6BAAa,CAAC,OAAO,EACrB,IAAI,EAAE,UAAU;YAChB,IAAI,CACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mCAAgB,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,mCAAgB,CAAC,2CAAoB,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,OAAO,CACzB,QAA8B,EAC9B,SAAoB,EACpB,YAAgD;QAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAK,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,mCAAgB,CACxB,2CAAoB,CAAC,gBAAgB,EACrC,iBAAK,CAAC,IAAI,CACX,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAsB,EAAE,EAAE;YACtC,wDAAwD;YACxD,OAAO,IAAK,oBAAmB,CAC7B,YAAY,CAAC,EAAE,CAAC,EAChB,SAAS,EACT,EAAE,EACF,IAAI,EAAE,UAAU;YAChB,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,UAAU,CACtB,MAAyC;QAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAK,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,mCAAgB,CACxB,2CAAoB,CAAC,cAAc,EACnC,iBAAK,CAAC,IAAI,CACX,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;;AA1LH,gDA2LC;AA1LwB,4BAAS,GAAG,iBAAK,CAAC,IAAI,CAAC"}
@@ -10,7 +10,7 @@ import { RawDataBlock } from './rawData';
10
10
  * where data blocks are XORed with random blocks to make them meaningless on their own.
11
11
  */
12
12
  export declare class RandomBlock extends RawDataBlock {
13
- constructor(blockSize: BlockSize, data: Buffer, dateCreated?: Date, checksum?: ChecksumUint8Array);
13
+ constructor(blockSize: BlockSize, data: Uint8Array, dateCreated?: Date, checksum?: ChecksumUint8Array);
14
14
  /**
15
15
  * Create a new random block
16
16
  */
@@ -18,7 +18,7 @@ export declare class RandomBlock extends RawDataBlock {
18
18
  /**
19
19
  * Reconstitute a random block from existing data
20
20
  */
21
- static reconstitute(blockSize: BlockSize, data: Buffer, dateCreated?: Date, checksum?: ChecksumUint8Array): RandomBlock;
21
+ static reconstitute(blockSize: BlockSize, data: Uint8Array, dateCreated?: Date, checksum?: ChecksumUint8Array): RandomBlock;
22
22
  /**
23
23
  * The type of the block
24
24
  */
@@ -38,23 +38,19 @@ export declare class RandomBlock extends RawDataBlock {
38
38
  /**
39
39
  * Get this layer's header data
40
40
  */
41
- get layerHeaderData(): Buffer;
41
+ get layerHeaderData(): Uint8Array;
42
42
  /**
43
- * Get the complete header data from all layers
44
- */
45
- get fullHeaderData(): Buffer;
46
- /**
47
- * Convert a Readable stream to a Buffer
43
+ * Convert a Readable stream to a Uint8Array
48
44
  * @param readable - The readable stream to convert
49
- * @returns Promise that resolves to a Buffer
45
+ * @returns Promise that resolves to a Uint8Array
50
46
  */
51
- private static streamToBuffer;
47
+ private static streamToUint8Array;
52
48
  /**
53
- * Convert data to Buffer regardless of whether it's a Readable or Buffer
49
+ * Convert data to Uint8Array regardless of whether it's a Readable or Uint8Array
54
50
  * @param data - The data to convert
55
- * @returns Promise that resolves to a Buffer
51
+ * @returns Promise that resolves to a Uint8Array
56
52
  */
57
- private static toBuffer;
53
+ private static toUint8Array;
58
54
  /**
59
55
  * XOR this block with another block
60
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAEzC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,kBAAkB;IAkB/B;;OAEG;WACW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,WAAW;IAKxE;;OAEG;WACW,YAAY,CACxB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,WAAW;IAId;;OAEG;IACH,IAAoB,SAAS,IAAI,SAAS,CAEzC;IAED;;OAEG;IACH,IAAoB,aAAa,IAAI,aAAa,CAEjD;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,eAAe,IAAI,MAAM,CAG5C;IAED;;OAEG;IACH,IAAoB,cAAc,IAAI,MAAM,CAE3C;IAED;;;;OAIG;mBACkB,cAAc;IAQnC;;;;OAIG;mBACkB,QAAQ;IAO7B;;OAEG;IACU,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAgC5D"}
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/random.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAEzC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,kBAAkB;IAkB/B;;OAEG;WACW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,WAAW;IAKxE;;OAEG;WACW,YAAY,CACxB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,WAAW;IAId;;OAEG;IACH,IAAoB,SAAS,IAAI,SAAS,CAEzC;IAED;;OAEG;IACH,IAAoB,aAAa,IAAI,aAAa,CAEjD;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAGhD;IAED;;;;OAIG;mBACkB,kBAAkB;IAevC;;;;OAIG;mBACkB,YAAY;IAOjC;;OAEG;IACU,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAgC5D"}