@brightchain/brightchain-lib 0.1.0 → 0.1.1

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 +12 -12
  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
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * Browser-compatible keyring implementation using Web Crypto API and localStorage
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BrowserKeyring = void 0;
7
+ const browserCrypto_1 = require("./browserCrypto");
8
+ const systemKeyringErrorType_1 = require("./enumerations/systemKeyringErrorType");
9
+ const systemKeyringError_1 = require("./errors/systemKeyringError");
10
+ class BrowserKeyring {
11
+ constructor() {
12
+ this.maxAccessRate = 10; // per minute
13
+ this.keys = new Map();
14
+ this.accessLog = new Map();
15
+ }
16
+ static getInstance() {
17
+ if (!BrowserKeyring.instance) {
18
+ BrowserKeyring.instance = new BrowserKeyring();
19
+ }
20
+ return BrowserKeyring.instance;
21
+ }
22
+ async deriveKey(password, salt) {
23
+ const encoder = new TextEncoder();
24
+ const passwordBuffer = encoder.encode(password);
25
+ const keyMaterial = await crypto.subtle.importKey('raw', passwordBuffer, 'PBKDF2', false, ['deriveKey']);
26
+ // Ensure salt has proper ArrayBuffer backing
27
+ const saltBuffer = new Uint8Array(salt);
28
+ return crypto.subtle.deriveKey({
29
+ name: 'PBKDF2',
30
+ salt: saltBuffer,
31
+ iterations: 100000,
32
+ hash: 'SHA-256'
33
+ }, keyMaterial, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']);
34
+ }
35
+ async storeKey(id, data, password) {
36
+ const salt = (0, browserCrypto_1.randomBytes)(32);
37
+ const iv = (0, browserCrypto_1.randomBytes)(12); // GCM uses 12-byte IV
38
+ const key = await this.deriveKey(password, salt);
39
+ // Ensure iv has proper ArrayBuffer backing
40
+ const ivBuffer = new Uint8Array(iv);
41
+ // Ensure data has proper ArrayBuffer backing
42
+ const dataBuffer = new Uint8Array(data);
43
+ const encryptedData = await crypto.subtle.encrypt({ name: 'AES-GCM', iv: ivBuffer }, key, dataBuffer);
44
+ const entry = {
45
+ id,
46
+ version: 1,
47
+ encryptedData: new Uint8Array(encryptedData),
48
+ iv,
49
+ salt,
50
+ created: new Date(),
51
+ };
52
+ this.keys.set(id, entry);
53
+ await this.persistToStorage();
54
+ }
55
+ async retrieveKey(id, password) {
56
+ this.checkRateLimit(id);
57
+ const entry = this.keys.get(id);
58
+ if (!entry) {
59
+ throw new systemKeyringError_1.SystemKeyringError(systemKeyringErrorType_1.SystemKeyringErrorType.KeyNotFound, id);
60
+ }
61
+ const key = await this.deriveKey(password, entry.salt);
62
+ try {
63
+ // Ensure iv has proper ArrayBuffer backing
64
+ const ivBuffer = new Uint8Array(entry.iv);
65
+ // Ensure encryptedData has proper ArrayBuffer backing
66
+ const encryptedDataBuffer = new Uint8Array(entry.encryptedData);
67
+ const decryptedData = await crypto.subtle.decrypt({ name: 'AES-GCM', iv: ivBuffer }, key, encryptedDataBuffer);
68
+ entry.lastAccessed = new Date();
69
+ this.logAccess(id);
70
+ return new Uint8Array(decryptedData);
71
+ }
72
+ catch (error) {
73
+ throw new systemKeyringError_1.SystemKeyringError(systemKeyringErrorType_1.SystemKeyringErrorType.DecryptionFailed);
74
+ }
75
+ }
76
+ checkRateLimit(id) {
77
+ const accessCount = this.accessLog.get(id) || 0;
78
+ if (accessCount >= this.maxAccessRate) {
79
+ throw new systemKeyringError_1.SystemKeyringError(systemKeyringErrorType_1.SystemKeyringErrorType.RateLimitExceeded);
80
+ }
81
+ }
82
+ logAccess(id) {
83
+ const count = (this.accessLog.get(id) || 0) + 1;
84
+ this.accessLog.set(id, count);
85
+ // Reset count after 1 minute
86
+ setTimeout(() => {
87
+ this.accessLog.set(id, 0);
88
+ }, 60000);
89
+ }
90
+ async persistToStorage() {
91
+ const entries = Array.from(this.keys.entries()).map(([id, entry]) => [
92
+ id,
93
+ {
94
+ ...entry,
95
+ encryptedData: Array.from(entry.encryptedData),
96
+ iv: Array.from(entry.iv),
97
+ salt: Array.from(entry.salt),
98
+ }
99
+ ]);
100
+ localStorage.setItem('brightchain-keyring', JSON.stringify(entries));
101
+ }
102
+ async loadFromStorage() {
103
+ try {
104
+ const data = localStorage.getItem('brightchain-keyring');
105
+ if (!data)
106
+ return;
107
+ const entries = JSON.parse(data);
108
+ this.keys.clear();
109
+ for (const [id, entry] of entries) {
110
+ this.keys.set(id, {
111
+ ...entry,
112
+ encryptedData: new Uint8Array(entry.encryptedData),
113
+ iv: new Uint8Array(entry.iv),
114
+ salt: new Uint8Array(entry.salt),
115
+ created: new Date(entry.created),
116
+ lastAccessed: entry.lastAccessed ? new Date(entry.lastAccessed) : undefined,
117
+ });
118
+ }
119
+ }
120
+ catch (error) {
121
+ console.warn('Failed to load keyring from storage:', error);
122
+ }
123
+ }
124
+ async initialize() {
125
+ await this.loadFromStorage();
126
+ }
127
+ async rotateKey(id, oldPassword, newPassword) {
128
+ const data = await this.retrieveKey(id, oldPassword);
129
+ await this.storeKey(id, data, newPassword);
130
+ }
131
+ }
132
+ exports.BrowserKeyring = BrowserKeyring;
133
+ //# sourceMappingURL=browserKeyring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserKeyring.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/browserKeyring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Minimal browser-compatible stream implementation
3
+ */
4
+ export declare class Readable {
5
+ protected _data: Uint8Array;
6
+ protected _position: number;
7
+ protected _listeners: {
8
+ [event: string]: ((...args: any[]) => void)[];
9
+ };
10
+ protected _readableBuffer: Uint8Array[];
11
+ constructor(data?: Uint8Array);
12
+ read(size?: number): Uint8Array | null;
13
+ push(chunk: any): boolean;
14
+ static from(data: Uint8Array): Readable;
15
+ on(event: string, listener: (...args: any[]) => void): this;
16
+ emit(event: string, ...args: any[]): boolean;
17
+ pipe<T extends Transform>(destination: T): T;
18
+ [Symbol.asyncIterator](): AsyncIterableIterator<Uint8Array>;
19
+ }
20
+ export interface TransformCallback {
21
+ (error?: Error | null): void;
22
+ }
23
+ export interface TransformOptions {
24
+ objectMode?: boolean;
25
+ }
26
+ export declare class Transform extends Readable {
27
+ protected _transformBuffer: Uint8Array[];
28
+ protected _objectMode: boolean;
29
+ protected _ended: boolean;
30
+ constructor(options?: TransformOptions);
31
+ _transform(chunk: any, encoding: string, callback: TransformCallback): void;
32
+ _flush(callback: TransformCallback): void;
33
+ push(chunk: any): boolean;
34
+ write(chunk: any, encoding?: string, callback?: TransformCallback): boolean;
35
+ end(chunk?: any, encoding?: string, callback?: TransformCallback): void;
36
+ destroy(error?: Error): void;
37
+ pipe<T extends Transform>(destination: T): T;
38
+ read(size?: number): Uint8Array | null;
39
+ }
40
+ //# sourceMappingURL=browserStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserStream.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/browserStream.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,QAAQ;IACnB,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;IAC5B,SAAS,CAAC,SAAS,SAAK;IACxB,SAAS,CAAC,UAAU,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAA;KAAE,CAAM;IAC7E,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,CAAM;gBAEjC,IAAI,CAAC,EAAE,UAAU;IAI7B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAWtC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IASzB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ;IAKvC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAQ3D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAU5C,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC;IAgBrC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC;CAMnE;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,SAAU,SAAQ,QAAQ;IACrC,SAAS,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAM;IAC9C,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,MAAM,UAAS;gBAEb,OAAO,CAAC,EAAE,gBAAgB;IAMtC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAO3E,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAKhC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAiBlC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAO3E,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAWvE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAMnB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC;IAiB5C,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;CAQhD"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ /**
3
+ * Minimal browser-compatible stream implementation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Transform = exports.Readable = void 0;
7
+ class Readable {
8
+ constructor(data) {
9
+ this._position = 0;
10
+ this._listeners = {};
11
+ this._readableBuffer = [];
12
+ this._data = data || new Uint8Array(0);
13
+ }
14
+ read(size) {
15
+ if (this._position >= this._data.length) {
16
+ return null;
17
+ }
18
+ const end = size ? Math.min(this._position + size, this._data.length) : this._data.length;
19
+ const chunk = this._data.slice(this._position, end);
20
+ this._position = end;
21
+ return chunk;
22
+ }
23
+ push(chunk) {
24
+ if (chunk !== null) {
25
+ this.emit('data', chunk);
26
+ }
27
+ else {
28
+ this.emit('end');
29
+ }
30
+ return true;
31
+ }
32
+ static from(data) {
33
+ return new Readable(data);
34
+ }
35
+ // Event emitter methods
36
+ on(event, listener) {
37
+ if (!this._listeners[event]) {
38
+ this._listeners[event] = [];
39
+ }
40
+ this._listeners[event].push(listener);
41
+ return this;
42
+ }
43
+ emit(event, ...args) {
44
+ const listeners = this._listeners[event];
45
+ if (listeners) {
46
+ listeners.forEach(listener => listener(...args));
47
+ return true;
48
+ }
49
+ return false;
50
+ }
51
+ // Pipe method for Node.js compatibility
52
+ pipe(destination) {
53
+ // Simple pipe implementation - read all data and write to destination
54
+ const processData = () => {
55
+ let chunk;
56
+ while ((chunk = this.read()) !== null) {
57
+ destination.write(chunk);
58
+ }
59
+ destination.end();
60
+ };
61
+ // Process immediately or on next tick
62
+ setTimeout(processData, 0);
63
+ return destination;
64
+ }
65
+ // Async iterator support for compatibility
66
+ async *[Symbol.asyncIterator]() {
67
+ let chunk;
68
+ while ((chunk = this.read()) !== null) {
69
+ yield chunk;
70
+ }
71
+ }
72
+ }
73
+ exports.Readable = Readable;
74
+ class Transform extends Readable {
75
+ constructor(options) {
76
+ super();
77
+ this._transformBuffer = [];
78
+ this._ended = false;
79
+ this._objectMode = options?.objectMode || false;
80
+ }
81
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
82
+ _transform(chunk, encoding, callback) {
83
+ // Override in subclasses
84
+ this.push(chunk);
85
+ callback();
86
+ }
87
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
88
+ _flush(callback) {
89
+ // Override in subclasses
90
+ callback();
91
+ }
92
+ push(chunk) {
93
+ if (chunk !== null) {
94
+ if (this._objectMode) {
95
+ // In object mode, emit data events directly
96
+ this.emit('data', chunk);
97
+ }
98
+ else {
99
+ // In buffer mode, emit data events directly too
100
+ this.emit('data', chunk);
101
+ }
102
+ }
103
+ else {
104
+ // null means end of stream
105
+ this.emit('end');
106
+ }
107
+ return true;
108
+ }
109
+ // Add write method for compatibility
110
+ write(chunk, encoding, callback) {
111
+ const cb = callback || (() => { });
112
+ this._transform(chunk, encoding || 'buffer', cb);
113
+ return true;
114
+ }
115
+ // Add end method for compatibility
116
+ end(chunk, encoding, callback) {
117
+ if (chunk) {
118
+ this.write(chunk, encoding);
119
+ }
120
+ this._ended = true;
121
+ this._flush(() => {
122
+ this.push(null);
123
+ if (callback)
124
+ callback();
125
+ });
126
+ }
127
+ destroy(error) {
128
+ if (error) {
129
+ this.emit('error', error);
130
+ }
131
+ }
132
+ pipe(destination) {
133
+ this.on('data', (chunk) => {
134
+ destination.write(chunk);
135
+ });
136
+ this.on('end', () => {
137
+ destination.end();
138
+ });
139
+ this.on('error', (error) => {
140
+ destination.destroy(error);
141
+ });
142
+ return destination;
143
+ }
144
+ // Override read to return buffered data
145
+ read(size) {
146
+ if (this._transformBuffer.length === 0) {
147
+ return null;
148
+ }
149
+ const chunk = this._transformBuffer.shift();
150
+ return chunk || null;
151
+ }
152
+ }
153
+ exports.Transform = Transform;
154
+ //# sourceMappingURL=browserStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserStream.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/browserStream.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 { ConstituentBlockListBlock } from './blocks/cbl';
4
4
  import { WhitenedBlock } from './blocks/whitened';
5
5
  /**
@@ -26,7 +26,7 @@ export declare class CblStream<TID extends PlatformID = Uint8Array> extends Read
26
26
  private readonly creatorForDecryption?;
27
27
  private readonly blockService;
28
28
  constructor(cbl: ConstituentBlockListBlock, getWhitenedBlock: (blockId: ChecksumUint8Array) => WhitenedBlock, creatorForDecryption?: Member<TID>);
29
- _read(size: number): Promise<void>;
29
+ _read(size: number): void;
30
30
  private readData;
31
31
  }
32
32
  //# sourceMappingURL=cblStream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cblStream.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/cblStream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASlD;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,QAAQ;IAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAEd;IACnB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAG1C,GAAG,EAAE,yBAAyB,EAC9B,gBAAgB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,aAAa,EAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;IAqBrB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiDnC,QAAQ;CAkEvB"}
1
+ {"version":3,"file":"cblStream.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/cblStream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,MAAM,EACN,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASlD;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,QAAQ;IAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAEd;IACnB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAG1C,GAAG,EAAE,yBAAyB,EAC9B,gBAAgB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,aAAa,EAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;IAsBpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;YAOX,QAAQ;CAuEvB"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CblStream = void 0;
4
- const stream_1 = require("stream");
4
+ const browserStream_1 = require("./browserStream");
5
5
  const encrypted_1 = require("./blocks/encrypted");
6
6
  const ephemeral_1 = require("./blocks/ephemeral");
7
7
  const memoryTuple_1 = require("./blocks/memoryTuple");
@@ -23,7 +23,7 @@ const serviceLocator_1 = require("./services/serviceLocator");
23
23
  * 3. XORs them together to recover the original data
24
24
  * 4. Decrypts the data if needed
25
25
  */
26
- class CblStream extends stream_1.Readable {
26
+ class CblStream extends browserStream_1.Readable {
27
27
  constructor(cbl, getWhitenedBlock, creatorForDecryption) {
28
28
  super();
29
29
  this.currentTupleIndex = 0;
@@ -39,50 +39,21 @@ class CblStream extends stream_1.Readable {
39
39
  }
40
40
  this.cbl = cbl;
41
41
  this.getWhitenedBlock = getWhitenedBlock;
42
- this.maxTuple = cbl.cblAddressCount / cbl.tupleSize;
42
+ // Ensure we have at least 1 tuple to process if we have addresses
43
+ this.maxTuple = Math.max(1, Math.ceil(cbl.cblAddressCount / cbl.tupleSize));
43
44
  this.overallReadOffset = 0;
44
45
  this.currentDataOffset = -1;
45
46
  this.creatorForDecryption = creatorForDecryption;
46
47
  }
47
- async _read(size) {
48
- // If there's no data to read, end the stream immediately
49
- if (this.cbl.originalDataLength === 0) {
50
- this.push(null);
51
- return;
52
- }
53
- // Convert originalDataLength to number if it's a BigInt
54
- const originalDataLength = this.cbl.originalDataLength;
55
- const bytesRemaining = originalDataLength - this.overallReadOffset;
56
- let stillToRead = bytesRemaining > size ? size : bytesRemaining;
57
- while (stillToRead > 0) {
58
- // If we have no data or have read all current data, read next tuple
59
- if (!this.currentData ||
60
- this.currentDataOffset >= this.currentData.data.length) {
61
- await this.readData();
62
- if (!this.currentData) {
63
- // No more data available
64
- break;
65
- }
66
- }
67
- // Read up to size bytes from the current data
68
- const bytesToRead = Math.min(stillToRead, this.currentData.data.length - this.currentDataOffset);
69
- const chunk = this.currentData.data.subarray(this.currentDataOffset, this.currentDataOffset + bytesToRead);
70
- this.push(chunk);
71
- this.overallReadOffset += bytesToRead;
72
- this.currentDataOffset += bytesToRead;
73
- stillToRead -= bytesToRead;
74
- // Check if we have reached or exceeded the originalDataLength
75
- if (this.overallReadOffset >= this.cbl.originalDataLength) {
76
- this.push(null); // End the stream
77
- break;
78
- }
79
- }
48
+ _read(size) {
49
+ // Trigger async reading immediately
50
+ setTimeout(() => {
51
+ this.readData().catch(error => this.emit('error', error));
52
+ }, 0);
80
53
  }
81
54
  async readData() {
82
55
  if (this.currentTupleIndex >= this.maxTuple) {
83
- this.push(null);
84
- this.currentData = null;
85
- this.currentDataOffset = -1;
56
+ this.push(null); // Signal end of stream
86
57
  return;
87
58
  }
88
59
  try {
@@ -104,11 +75,10 @@ class CblStream extends stream_1.Readable {
104
75
  const tuple = new memoryTuple_1.InMemoryBlockTuple(blocks);
105
76
  const xoredData = await tuple.xor();
106
77
  // Convert RawDataBlock to OwnedDataBlock
107
- // Handle the case where creator might be undefined
108
78
  if (!this.cbl.creator) {
109
79
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CreatorUndefined);
110
80
  }
111
- this.currentData = await ephemeral_1.EphemeralBlock.from(blockType_1.BlockType.EphemeralOwnedDataBlock, blockDataType_1.BlockDataType.RawData, xoredData.blockSize, Buffer.from(xoredData.data), xoredData.idChecksum, this.cbl.creator, xoredData.metadata.dateCreated, xoredData.metadata.lengthWithoutPadding);
81
+ this.currentData = await ephemeral_1.EphemeralBlock.from(blockType_1.BlockType.EphemeralOwnedDataBlock, blockDataType_1.BlockDataType.RawData, xoredData.blockSize, new Uint8Array(xoredData.data), xoredData.idChecksum, this.cbl.creator, xoredData.metadata.dateCreated, xoredData.metadata.lengthWithoutPadding);
112
82
  // Decrypt if needed
113
83
  if (this.creatorForDecryption) {
114
84
  if (!(this.currentData instanceof encrypted_1.EncryptedBlock)) {
@@ -116,11 +86,19 @@ class CblStream extends stream_1.Readable {
116
86
  }
117
87
  this.currentData = await this.blockService.decrypt(this.creatorForDecryption, this.currentData, blockType_1.BlockType.EphemeralOwnedDataBlock);
118
88
  }
89
+ // Push the data to the stream
90
+ this.push(new Uint8Array(this.currentData.data));
119
91
  this.currentTupleIndex++;
120
- this.currentDataOffset = 0;
92
+ // Continue reading if there's more data
93
+ if (this.currentTupleIndex < this.maxTuple) {
94
+ setTimeout(() => this.readData(), 0);
95
+ }
96
+ else {
97
+ this.push(null); // End stream
98
+ }
121
99
  }
122
100
  catch (error) {
123
- this.destroy(error instanceof Error
101
+ this.emit('error', error instanceof Error
124
102
  ? error
125
103
  : new Error('Unknown error reading data'));
126
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cblStream.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/cblStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cblStream.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/cblStream.ts"],"names":[],"mappings":";;;AAKA,mDAA2C;AAE3C,kDAAoD;AACpD,kDAAoD;AACpD,sDAA0D;AAE1D,gEAA6D;AAC7D,wDAAqD;AACrD,8DAA2D;AAC3D,gDAA6C;AAG7C,8DAA2D;AAE3D;;;;;;;;;;;;GAYG;AACH,MAAa,SAA+C,SAAQ,wBAAQ;IAa1E,YACE,GAA8B,EAC9B,gBAAgE,EAChE,oBAAkC;QAElC,KAAK,EAAE,CAAC;QAbF,sBAAiB,GAAG,CAAC,CAAC;QACtB,gBAAW,GAA2B,IAAI,CAAC;QAC3C,sBAAiB,GAAG,CAAC,CAAC;QACtB,sBAAiB,GAAG,CAAC,CAAC;QAW5B,IAAI,CAAC,YAAY,GAAG,+BAAc,CAAC,kBAAkB,EAAE,CAAC,YAAY,CAAC;QAErE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,6BAA6B,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,kEAAkE;QAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,oCAAoC;QACpC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5D,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,+BAA+B;YAC/B,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,iBAAiB,CAAC,CAAC;oBACrD,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,iBAAiB,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,MAAM,KAAK,GAAG,IAAI,gCAAkB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;YAEpC,yCAAyC;YACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,MAAM,0BAAc,CAAC,IAAI,CAC1C,qBAAS,CAAC,uBAAuB,EACjC,6BAAa,CAAC,OAAO,EACrB,SAAS,CAAC,SAAS,EACnB,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAC9B,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,GAAG,CAAC,OAAO,EAChB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAC9B,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CACxC,CAAC;YAEF,oBAAoB;YACpB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,YAAY,0BAAc,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,0BAA0B,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAChD,IAAI,CAAC,oBAA0C,EAC/C,IAAI,CAAC,WAAW,EAChB,qBAAS,CAAC,uBAAuB,CAClC,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,wCAAwC;YACxC,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,EACf,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAC5C,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AApHD,8BAoHC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum SystemKeyringErrorType {
2
2
  KeyNotFound = "KeyNotFound",
3
- RateLimitExceeded = "RateLimitExceeded"
3
+ RateLimitExceeded = "RateLimitExceeded",
4
+ DecryptionFailed = "DecryptionFailed"
4
5
  }
5
6
  //# sourceMappingURL=systemKeyringErrorType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"systemKeyringErrorType.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/enumerations/systemKeyringErrorType.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAChC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;CACxC"}
1
+ {"version":3,"file":"systemKeyringErrorType.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/enumerations/systemKeyringErrorType.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAChC,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;CACtC"}
@@ -5,5 +5,6 @@ var SystemKeyringErrorType;
5
5
  (function (SystemKeyringErrorType) {
6
6
  SystemKeyringErrorType["KeyNotFound"] = "KeyNotFound";
7
7
  SystemKeyringErrorType["RateLimitExceeded"] = "RateLimitExceeded";
8
+ SystemKeyringErrorType["DecryptionFailed"] = "DecryptionFailed";
8
9
  })(SystemKeyringErrorType || (exports.SystemKeyringErrorType = SystemKeyringErrorType = {}));
9
10
  //# sourceMappingURL=systemKeyringErrorType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"systemKeyringErrorType.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/enumerations/systemKeyringErrorType.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,iEAAuC,CAAA;AACzC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
1
+ {"version":3,"file":"systemKeyringErrorType.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/enumerations/systemKeyringErrorType.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,iEAAuC,CAAA;IACvC,+DAAqC,CAAA;AACvC,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"systemKeyringError.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/systemKeyringError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IACxE,IAAW,SAAS,IAAI,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAOlE;gBAEC,IAAI,EAAE,sBAAsB,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,cAAc;CAO7B"}
1
+ {"version":3,"file":"systemKeyringError.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/systemKeyringError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IACxE,IAAW,SAAS,IAAI,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC,CASlE;gBAEC,IAAI,EAAE,sBAAsB,EAC5B,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,cAAc;CAO7B"}
@@ -9,6 +9,7 @@ class SystemKeyringError extends typedError_1.TypedError {
9
9
  return {
10
10
  [systemKeyringErrorType_1.SystemKeyringErrorType.KeyNotFound]: stringNames_1.default.Error_SystemKeyringErrorKeyNotFoundTemplate,
11
11
  [systemKeyringErrorType_1.SystemKeyringErrorType.RateLimitExceeded]: stringNames_1.default.Error_SystemKeyringErrorRateLimitExceeded,
12
+ [systemKeyringErrorType_1.SystemKeyringErrorType.DecryptionFailed]: stringNames_1.default.Error_SystemKeyringErrorRateLimitExceeded, // Reuse existing error message
12
13
  };
13
14
  }
14
15
  constructor(type, keyId, _language) {
@@ -1 +1 @@
1
- {"version":3,"file":"systemKeyringError.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/systemKeyringError.ts"],"names":[],"mappings":";;;AACA,6DAAsD;AACtD,mFAAgF;AAChF,6CAA0C;AAE1C,MAAa,kBAAmB,SAAQ,uBAAkC;IACxE,IAAW,SAAS;QAClB,OAAO;YACL,CAAC,+CAAsB,CAAC,WAAW,CAAC,EAClC,qBAAW,CAAC,2CAA2C;YACzD,CAAC,+CAAsB,CAAC,iBAAiB,CAAC,EACxC,qBAAW,CAAC,yCAAyC;SACxD,CAAC;IACJ,CAAC;IACD,YACE,IAA4B,EAC5B,KAAc,EACd,SAA0B;QAE1B,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE;YACrB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAnBD,gDAmBC"}
1
+ {"version":3,"file":"systemKeyringError.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/errors/systemKeyringError.ts"],"names":[],"mappings":";;;AACA,6DAAsD;AACtD,mFAAgF;AAChF,6CAA0C;AAE1C,MAAa,kBAAmB,SAAQ,uBAAkC;IACxE,IAAW,SAAS;QAClB,OAAO;YACL,CAAC,+CAAsB,CAAC,WAAW,CAAC,EAClC,qBAAW,CAAC,2CAA2C;YACzD,CAAC,+CAAsB,CAAC,iBAAiB,CAAC,EACxC,qBAAW,CAAC,yCAAyC;YACvD,CAAC,+CAAsB,CAAC,gBAAgB,CAAC,EACvC,qBAAW,CAAC,yCAAyC,EAAE,+BAA+B;SACzF,CAAC;IACJ,CAAC;IACD,YACE,IAA4B,EAC5B,KAAc,EACd,SAA0B;QAE1B,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE;YACrB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AArBD,gDAqBC"}
@@ -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 { BlockDataType } from '../../enumerations/blockDataType';
4
4
  import { BlockSize } from '../../enumerations/blockSize';
5
5
  import { BlockType } from '../../enumerations/blockType';
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/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,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,IAAI,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC;IAE3B;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,kBAAkB,CAAC;IAErC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC;IAE3B;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,aAAa,CAAC;IAEnC;;;OAGG;IACH,IAAI,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;IAElC;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,cAAc,CAAC;IAErC;;;OAGG;IACH,IAAI,UAAU,IAAI,OAAO,CAAC;IAE1B;;;OAGG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC;IAE5B;;;OAGG;IACH,IAAI,YAAY,IAAI,UAAU,GAAG,UAAU,CAAC;IAE5C;;;;OAIG;IACH,IAAI,cAAc,IAAI,UAAU,GAAG,UAAU,CAAC;IAC9C;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,UAAU,GAAG,UAAU,CAAC;IAE/C;;OAEG;IACH,IAAI,SAAS,IAAI,UAAU,GAAG,UAAU,CAAC;IAEzC;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAAC;IAE/B;;;;;;;;OAQG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;;;;;OAQG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/blocks/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,IAAI,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC;IAE3B;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,kBAAkB,CAAC;IAErC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,SAAS,CAAC;IAE3B;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,aAAa,CAAC;IAEnC;;;OAGG;IACH,IAAI,IAAI,IAAI,UAAU,GAAG,QAAQ,CAAC;IAElC;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,cAAc,CAAC;IAErC;;;OAGG;IACH,IAAI,UAAU,IAAI,OAAO,CAAC;IAE1B;;;OAGG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC;IAE5B;;;OAGG;IACH,IAAI,YAAY,IAAI,UAAU,GAAG,UAAU,CAAC;IAE5C;;;;OAIG;IACH,IAAI,cAAc,IAAI,UAAU,GAAG,UAAU,CAAC;IAC9C;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,UAAU,GAAG,UAAU,CAAC;IAE/C;;OAEG;IACH,IAAI,SAAS,IAAI,UAAU,GAAG,UAAU,CAAC;IAEzC;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAAC;IAE/B;;;;;;;;OAQG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;;;;;OAQG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;OAGG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB"}
@@ -1,9 +1,9 @@
1
1
  export interface IKeyringEntry {
2
2
  id: string;
3
3
  version: number;
4
- encryptedData: Buffer;
5
- iv: Buffer;
6
- salt: Buffer;
4
+ encryptedData: Uint8Array;
5
+ iv: Uint8Array;
6
+ salt: Uint8Array;
7
7
  created: Date;
8
8
  lastAccessed?: Date;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keyringEntry.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/keyringEntry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"keyringEntry.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/keyringEntry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,UAAU,CAAC;IAC1B,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB"}
@@ -1,5 +1,5 @@
1
1
  import { Member, PlatformID } from '@digitaldefiance/ecies-lib';
2
- import { Transform, TransformCallback, TransformOptions } from 'stream';
2
+ import { Transform, TransformCallback, TransformOptions } from './browserStream';
3
3
  import { RandomBlock } from './blocks/random';
4
4
  import { WhitenedBlock } from './blocks/whitened';
5
5
  import { BlockSize } from './enumerations/blockSize';
@@ -26,7 +26,7 @@ export declare class PrimeTupleGeneratorStream<TID extends PlatformID = Uint8Arr
26
26
  private readonly randomBlockSource;
27
27
  private readonly whitenedBlockSource;
28
28
  constructor(blockSize: BlockSize, creator: Member<TID>, whitenedBlockSource: () => WhitenedBlock | undefined, randomBlockSource: () => RandomBlock, options?: TransformOptions);
29
- _transform(chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback): Promise<void>;
29
+ _transform(chunk: any, encoding: string, callback: TransformCallback): Promise<void>;
30
30
  private makeTuple;
31
31
  _flush(callback: TransformCallback): Promise<void>;
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"primeTupleGeneratorStream.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/primeTupleGeneratorStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAOrD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAAyB,CACpC,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,SAAQ,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;gBAGpE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,mBAAmB,EAAE,MAAM,aAAa,GAAG,SAAS,EACpD,iBAAiB,EAAE,MAAM,WAAW,EACpC,OAAO,CAAC,EAAE,gBAAgB;IAwBN,UAAU,CAC9B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;YAyBF,SAAS;IA2ED,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBzE"}
1
+ {"version":3,"file":"primeTupleGeneratorStream.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/primeTupleGeneratorStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAOrD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAAyB,CACpC,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,SAAQ,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;gBAGpE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,mBAAmB,EAAE,MAAM,aAAa,GAAG,SAAS,EACpD,iBAAiB,EAAE,MAAM,WAAW,EACpC,OAAO,CAAC,EAAE,gBAAgB;IAwBN,UAAU,CAC9B,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC;YAiCF,SAAS;IA2ED,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBzE"}