@brightchain/brightchain-api-lib 0.7.0 → 0.10.0

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 (101) hide show
  1. package/package.json +7 -3
  2. package/src/index.d.ts +4 -0
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/appConstants.d.ts +1 -68
  7. package/src/lib/appConstants.d.ts.map +1 -1
  8. package/src/lib/appConstants.js.map +1 -1
  9. package/src/lib/application.d.ts.map +1 -1
  10. package/src/lib/application.js +2 -1
  11. package/src/lib/application.js.map +1 -1
  12. package/src/lib/browserKeyring.d.ts +29 -0
  13. package/src/lib/browserKeyring.d.ts.map +1 -0
  14. package/src/lib/browserKeyring.js +145 -0
  15. package/src/lib/browserKeyring.js.map +1 -0
  16. package/src/lib/constants.d.ts +0 -10
  17. package/src/lib/constants.d.ts.map +1 -1
  18. package/src/lib/constants.js +10 -15
  19. package/src/lib/constants.js.map +1 -1
  20. package/src/lib/controllers/api/members.d.ts +7 -2
  21. package/src/lib/controllers/api/members.d.ts.map +1 -1
  22. package/src/lib/controllers/api/members.js +166 -7
  23. package/src/lib/controllers/api/members.js.map +1 -1
  24. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  25. package/src/lib/controllers/api/quorum.js.map +1 -1
  26. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  27. package/src/lib/datastore/block-document-store.js +1 -1
  28. package/src/lib/datastore/block-document-store.js.map +1 -1
  29. package/src/lib/documents/base.d.ts +1 -1
  30. package/src/lib/documents/base.d.ts.map +1 -1
  31. package/src/lib/documents/email-token.d.ts +1 -1
  32. package/src/lib/documents/email-token.d.ts.map +1 -1
  33. package/src/lib/documents/mnemonic.d.ts +1 -1
  34. package/src/lib/documents/mnemonic.d.ts.map +1 -1
  35. package/src/lib/documents/role.d.ts +1 -1
  36. package/src/lib/documents/role.d.ts.map +1 -1
  37. package/src/lib/documents/used-direct-login-token.d.ts +1 -1
  38. package/src/lib/documents/used-direct-login-token.d.ts.map +1 -1
  39. package/src/lib/documents/user-role.d.ts +1 -1
  40. package/src/lib/documents/user-role.d.ts.map +1 -1
  41. package/src/lib/documents/user.d.ts +1 -1
  42. package/src/lib/documents/user.d.ts.map +1 -1
  43. package/src/lib/environment.d.ts.map +1 -1
  44. package/src/lib/environment.js +1 -0
  45. package/src/lib/environment.js.map +1 -1
  46. package/src/lib/errors/typed-error-local.d.ts +2 -2
  47. package/src/lib/errors/typed-error-local.d.ts.map +1 -1
  48. package/src/lib/errors/typed-error-local.js.map +1 -1
  49. package/src/lib/interfaces/api-constants.d.ts +10 -38
  50. package/src/lib/interfaces/api-constants.d.ts.map +1 -1
  51. package/src/lib/interfaces/api-constants.js +1 -1
  52. package/src/lib/interfaces/backend-objects/request-user.d.ts +1 -1
  53. package/src/lib/interfaces/backend-objects/request-user.d.ts.map +1 -1
  54. package/src/lib/interfaces/backend-objects/role.d.ts +1 -1
  55. package/src/lib/interfaces/backend-objects/role.d.ts.map +1 -1
  56. package/src/lib/interfaces/jwt-sign-response.d.ts +1 -1
  57. package/src/lib/interfaces/jwt-sign-response.d.ts.map +1 -1
  58. package/src/lib/interfaces/member/index.d.ts +1 -0
  59. package/src/lib/interfaces/member/index.d.ts.map +1 -1
  60. package/src/lib/interfaces/member/index.js +1 -0
  61. package/src/lib/interfaces/member/index.js.map +1 -1
  62. package/src/lib/interfaces/member/memberProfileResponse.d.ts +51 -0
  63. package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -0
  64. package/src/lib/interfaces/member/memberProfileResponse.js +3 -0
  65. package/src/lib/interfaces/member/memberProfileResponse.js.map +1 -0
  66. package/src/lib/interfaces/request-user.d.ts +1 -1
  67. package/src/lib/interfaces/request-user.d.ts.map +1 -1
  68. package/src/lib/keyring.types.d.ts +7 -0
  69. package/src/lib/keyring.types.d.ts.map +1 -0
  70. package/src/lib/keyring.types.js +3 -0
  71. package/src/lib/keyring.types.js.map +1 -0
  72. package/src/lib/nodeKeyring.d.ts +24 -0
  73. package/src/lib/nodeKeyring.d.ts.map +1 -0
  74. package/src/lib/nodeKeyring.js +86 -0
  75. package/src/lib/nodeKeyring.js.map +1 -0
  76. package/src/lib/routers/messageRouter.d.ts.map +1 -1
  77. package/src/lib/routers/messageRouter.js +6 -0
  78. package/src/lib/routers/messageRouter.js.map +1 -1
  79. package/src/lib/secureEnclaveKeyring.d.ts +125 -0
  80. package/src/lib/secureEnclaveKeyring.d.ts.map +1 -0
  81. package/src/lib/secureEnclaveKeyring.js +491 -0
  82. package/src/lib/secureEnclaveKeyring.js.map +1 -0
  83. package/src/lib/services/diskQuorumService.d.ts +7 -6
  84. package/src/lib/services/diskQuorumService.d.ts.map +1 -1
  85. package/src/lib/services/diskQuorumService.js.map +1 -1
  86. package/src/lib/shared-types.d.ts +3 -2
  87. package/src/lib/shared-types.d.ts.map +1 -1
  88. package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
  89. package/src/lib/stores/diskCBLStore.js +9 -9
  90. package/src/lib/stores/diskCBLStore.js.map +1 -1
  91. package/src/lib/systemKeyring.d.ts +60 -0
  92. package/src/lib/systemKeyring.d.ts.map +1 -0
  93. package/src/lib/systemKeyring.js +181 -0
  94. package/src/lib/systemKeyring.js.map +1 -0
  95. package/src/lib/transforms/xorMultipleTransform.d.ts.map +1 -1
  96. package/src/lib/transforms/xorMultipleTransform.js +11 -5
  97. package/src/lib/transforms/xorMultipleTransform.js.map +1 -1
  98. package/src/lib/types/backend-id.d.ts +2 -0
  99. package/src/lib/types/backend-id.d.ts.map +1 -0
  100. package/src/lib/types/backend-id.js +3 -0
  101. package/src/lib/types/backend-id.js.map +1 -0
@@ -0,0 +1,491 @@
1
+ "use strict";
2
+ /**
3
+ * Secure Enclave Keyring - Key storage using Apple Secure Enclave via enclave-bridge-client
4
+ *
5
+ * This implementation uses the Enclave Bridge to encrypt keys with ECIES (secp256k1)
6
+ * before storing them on disk. The secp256k1 private key used for ECIES is stored
7
+ * in the macOS Keychain and protected by the Secure Enclave.
8
+ *
9
+ * Architecture:
10
+ * - Keys are encrypted using ECIES with the bridge's secp256k1 public key
11
+ * - Encrypted keys are stored locally on disk
12
+ * - Decryption requires the Enclave Bridge app to be running
13
+ * - An additional password-based encryption layer is applied for defense in depth
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SecureEnclaveKeyring = void 0;
17
+ const tslib_1 = require("tslib");
18
+ const crypto = tslib_1.__importStar(require("crypto"));
19
+ const fs = tslib_1.__importStar(require("fs/promises"));
20
+ const path = tslib_1.__importStar(require("path"));
21
+ /**
22
+ * Possible socket paths for the Enclave Bridge
23
+ * Ordered by preference (sandboxed app first, then non-sandboxed, then legacy)
24
+ */
25
+ const ENCLAVE_SOCKET_PATHS = [
26
+ // Sandboxed app path (Mac App Store version)
27
+ `${process.env['HOME']}/Library/Containers/com.JessicaMulein.EnclaveBridge/Data/.enclave/enclave-bridge.sock`,
28
+ // Non-sandboxed path (direct install)
29
+ `${process.env['HOME']}/.enclave/enclave-bridge.sock`,
30
+ // Legacy/default path
31
+ '/tmp/enclave-bridge.sock',
32
+ ];
33
+ /**
34
+ * Find the first available socket path
35
+ * @returns The socket path if found, null otherwise
36
+ */
37
+ async function findSocketPath() {
38
+ for (const socketPath of ENCLAVE_SOCKET_PATHS) {
39
+ try {
40
+ await fs.access(socketPath);
41
+ return socketPath;
42
+ }
43
+ catch {
44
+ // Try next path
45
+ }
46
+ }
47
+ return null;
48
+ }
49
+ let EnclaveBridgeClientClass = null;
50
+ /**
51
+ * Loads the EnclaveBridgeClient dynamically
52
+ * This is needed because the enclave-bridge-client is an ESM module
53
+ */
54
+ async function loadEnclaveBridgeClient() {
55
+ if (EnclaveBridgeClientClass) {
56
+ return EnclaveBridgeClientClass;
57
+ }
58
+ try {
59
+ const module = await Promise.resolve().then(() => tslib_1.__importStar(require('@digitaldefiance/enclave-bridge-client')));
60
+ EnclaveBridgeClientClass = module.EnclaveBridgeClient;
61
+ return EnclaveBridgeClientClass;
62
+ }
63
+ catch (error) {
64
+ throw new Error(`Failed to load enclave-bridge-client: ${error instanceof Error ? error.message : String(error)}`);
65
+ }
66
+ }
67
+ let eciesServiceInstance = null;
68
+ async function getEciesService() {
69
+ if (eciesServiceInstance) {
70
+ return eciesServiceInstance;
71
+ }
72
+ try {
73
+ const eciesLib = await Promise.resolve().then(() => tslib_1.__importStar(require('@digitaldefiance/node-ecies-lib')));
74
+ eciesServiceInstance = new eciesLib.ECIESService();
75
+ return eciesServiceInstance;
76
+ }
77
+ catch (error) {
78
+ throw new Error(`Failed to load node-ecies-lib: ${error instanceof Error ? error.message : String(error)}`);
79
+ }
80
+ }
81
+ /**
82
+ * SecureEnclaveKeyring: Secure key storage using Apple Secure Enclave
83
+ *
84
+ * Keys are encrypted with two layers:
85
+ * 1. Password-based encryption (AES-256-GCM with scrypt-derived key)
86
+ * 2. ECIES encryption with the Secure Enclave's secp256k1 key
87
+ *
88
+ * This provides defense in depth - even if an attacker obtains the encrypted
89
+ * key file, they need both the password AND access to the Secure Enclave.
90
+ */
91
+ class SecureEnclaveKeyring {
92
+ constructor() {
93
+ this.clientPublicKey = null;
94
+ this.initialized = false;
95
+ // Store keys in user home directory under .brightchain-enclave-keys
96
+ this.keyDir = path.join(process.env['HOME'] || process.env['USERPROFILE'] || '.', '.brightchain-enclave-keys');
97
+ }
98
+ static getInstance() {
99
+ if (!SecureEnclaveKeyring.instance) {
100
+ SecureEnclaveKeyring.instance = new SecureEnclaveKeyring();
101
+ }
102
+ return SecureEnclaveKeyring.instance;
103
+ }
104
+ /**
105
+ * Check if the Secure Enclave bridge is available and fully operational
106
+ *
107
+ * This performs a comprehensive check that:
108
+ * 1. Verifies we're on macOS Apple Silicon
109
+ * 2. Finds an available socket path
110
+ * 3. Connects to the Enclave Bridge socket
111
+ * 4. Pings the bridge to verify it's responsive
112
+ * 5. Retrieves the secp256k1 public key (verifies key handshake works)
113
+ * 6. Signs test data with the Secure Enclave (verifies enclave access)
114
+ *
115
+ * @param debug - Enable debug logging
116
+ * @throws Error if REQUIRE_SECURE_ENCLAVE=true and bridge is not available
117
+ * @returns true only if all checks pass
118
+ */
119
+ static async isAvailable(debug = false) {
120
+ const log = debug ? console.log.bind(console) : () => { };
121
+ const requireBridge = process.env['REQUIRE_SECURE_ENCLAVE'] === 'true';
122
+ // Only available on macOS Apple Silicon
123
+ if (process.platform !== 'darwin' || process.arch !== 'arm64') {
124
+ log('❌ Not macOS Apple Silicon');
125
+ if (requireBridge) {
126
+ throw new Error('REQUIRE_SECURE_ENCLAVE is set but not running on macOS Apple Silicon (darwin/arm64)');
127
+ }
128
+ return false;
129
+ }
130
+ log('✅ Platform check passed');
131
+ // Find an available socket
132
+ const socketPath = await findSocketPath();
133
+ if (!socketPath) {
134
+ log('❌ No socket found');
135
+ if (requireBridge) {
136
+ throw new Error(`REQUIRE_SECURE_ENCLAVE is set but Enclave Bridge socket not found. ` +
137
+ `Checked paths: ${ENCLAVE_SOCKET_PATHS.join(', ')}. ` +
138
+ `Please ensure the Enclave Bridge app is running.`);
139
+ }
140
+ return false;
141
+ }
142
+ log('✅ Socket found:', socketPath);
143
+ let client = null;
144
+ try {
145
+ const EnclaveBridgeClient = await loadEnclaveBridgeClient();
146
+ client = new EnclaveBridgeClient({ socketPath, timeout: 5000 });
147
+ // Step 1: Connect to the socket
148
+ await client.connect();
149
+ if (!client.isConnected) {
150
+ log('❌ Failed to connect');
151
+ return false;
152
+ }
153
+ log('✅ Connected');
154
+ // Step 2: Ping the bridge
155
+ const pingOk = await client.ping();
156
+ if (!pingOk) {
157
+ log('❌ Ping failed');
158
+ return false;
159
+ }
160
+ log('✅ Ping OK');
161
+ // Step 3: Get the secp256k1 public key (required for ECIES)
162
+ const publicKeyInfo = await client.getPublicKey();
163
+ log('📦 Public key info:', {
164
+ length: publicKeyInfo.buffer?.length,
165
+ firstByte: publicKeyInfo.buffer?.[0]?.toString(16),
166
+ });
167
+ if (!publicKeyInfo.buffer || publicKeyInfo.buffer.length === 0) {
168
+ log('❌ No public key returned');
169
+ return false; // Invalid or missing public key
170
+ }
171
+ // For compressed keys, verify prefix (0x02 or 0x03)
172
+ if (publicKeyInfo.buffer.length === 33) {
173
+ if (publicKeyInfo.buffer[0] !== 0x02 &&
174
+ publicKeyInfo.buffer[0] !== 0x03) {
175
+ log('❌ Invalid compressed key prefix');
176
+ return false;
177
+ }
178
+ }
179
+ log('✅ Public key OK');
180
+ // Step 4: Get the Secure Enclave public key (P-256)
181
+ const enclaveKey = await client.getEnclavePublicKey();
182
+ log('📦 Enclave key info:', { length: enclaveKey.buffer?.length });
183
+ if (!enclaveKey.buffer || enclaveKey.buffer.length === 0) {
184
+ log('❌ No enclave key returned');
185
+ return false; // Invalid P-256 key
186
+ }
187
+ log('✅ Enclave key OK');
188
+ // Step 5: Test signing with Secure Enclave
189
+ const testData = Buffer.from('enclave-availability-test');
190
+ const signature = await client.enclaveSign(testData);
191
+ log('📦 Signature info:', { length: signature.buffer?.length });
192
+ if (!signature.buffer || signature.buffer.length === 0) {
193
+ log('❌ No signature returned');
194
+ return false; // Invalid signature
195
+ }
196
+ log('✅ Signature OK');
197
+ return true;
198
+ }
199
+ catch (error) {
200
+ const errorMsg = error instanceof Error ? error.message : String(error);
201
+ log('❌ Error:', errorMsg);
202
+ if (requireBridge) {
203
+ throw new Error(`REQUIRE_SECURE_ENCLAVE is set but Enclave Bridge check failed: ${errorMsg}`);
204
+ }
205
+ return false;
206
+ }
207
+ finally {
208
+ if (client?.isConnected) {
209
+ try {
210
+ await client.disconnect();
211
+ }
212
+ catch {
213
+ // Ignore disconnect errors
214
+ }
215
+ }
216
+ }
217
+ }
218
+ /**
219
+ * Initialize the keyring
220
+ * - Creates the key storage directory
221
+ * - Connects to the Enclave Bridge to get the public key
222
+ *
223
+ * @throws Error if bridge is not available and REQUIRE_SECURE_ENCLAVE is set
224
+ */
225
+ async initialize() {
226
+ if (this.initialized) {
227
+ return;
228
+ }
229
+ // Check availability first if required
230
+ const requireBridge = process.env['REQUIRE_SECURE_ENCLAVE'] === 'true';
231
+ if (requireBridge) {
232
+ // This will throw if not available
233
+ await SecureEnclaveKeyring.isAvailable();
234
+ }
235
+ // Create key directory
236
+ await fs.mkdir(this.keyDir, { recursive: true, mode: 0o700 });
237
+ // Find the socket path
238
+ const socketPath = await findSocketPath();
239
+ if (!socketPath) {
240
+ const error = new Error('Enclave Bridge socket not found. Is the Enclave Bridge app running? ' +
241
+ `Checked paths: ${ENCLAVE_SOCKET_PATHS.join(', ')}`);
242
+ if (requireBridge) {
243
+ throw error;
244
+ }
245
+ throw error;
246
+ }
247
+ // Get the Enclave Bridge public key for ECIES encryption
248
+ const EnclaveBridgeClient = await loadEnclaveBridgeClient();
249
+ const client = new EnclaveBridgeClient({ socketPath });
250
+ try {
251
+ await client.connect();
252
+ const publicKeyInfo = await client.getPublicKey();
253
+ this.clientPublicKey = publicKeyInfo.buffer;
254
+ }
255
+ finally {
256
+ await client.disconnect();
257
+ }
258
+ this.initialized = true;
259
+ }
260
+ /**
261
+ * Store a key securely
262
+ *
263
+ * @param id - Unique identifier for the key
264
+ * @param data - The raw key data to store
265
+ * @param password - Password for additional encryption layer
266
+ */
267
+ async storeKey(id, data, password) {
268
+ await this.ensureInitialized();
269
+ // Step 1: Password-based encryption (inner layer)
270
+ const salt = crypto.randomBytes(32);
271
+ const iv = crypto.randomBytes(12);
272
+ const derivedKey = await this.deriveKey(password, salt);
273
+ const cipher = crypto.createCipheriv('aes-256-gcm', derivedKey, iv);
274
+ const passwordEncrypted = Buffer.concat([
275
+ cipher.update(Buffer.from(data)),
276
+ cipher.final(),
277
+ ]);
278
+ const authTag = cipher.getAuthTag();
279
+ // Combine password-encrypted data: salt || iv || authTag || ciphertext
280
+ const innerEncrypted = Buffer.concat([
281
+ salt,
282
+ iv,
283
+ authTag,
284
+ passwordEncrypted,
285
+ ]);
286
+ // Step 2: ECIES encryption with Secure Enclave key (outer layer)
287
+ const eciesService = await getEciesService();
288
+ const enclaveEncrypted = eciesService.encryptBasic(this.clientPublicKey, innerEncrypted);
289
+ // Store the double-encrypted data
290
+ await fs.writeFile(this.keyPath(id), enclaveEncrypted, { mode: 0o600 });
291
+ // Zero out sensitive data
292
+ this.zeroBuffer(derivedKey);
293
+ this.zeroBuffer(passwordEncrypted);
294
+ this.zeroBuffer(innerEncrypted);
295
+ }
296
+ /**
297
+ * Retrieve a key
298
+ *
299
+ * @param id - Unique identifier for the key
300
+ * @param password - Password for decryption
301
+ * @returns The decrypted key data
302
+ */
303
+ async retrieveKey(id, password) {
304
+ await this.ensureInitialized();
305
+ // Read the encrypted file
306
+ const enclaveEncrypted = await fs.readFile(this.keyPath(id));
307
+ // Find the socket path
308
+ const socketPath = await findSocketPath();
309
+ if (!socketPath) {
310
+ throw new Error('Enclave Bridge socket not found');
311
+ }
312
+ // Step 1: Decrypt with Secure Enclave (outer layer)
313
+ const EnclaveBridgeClient = await loadEnclaveBridgeClient();
314
+ const client = new EnclaveBridgeClient({ socketPath });
315
+ let innerEncrypted;
316
+ try {
317
+ await client.connect();
318
+ const decryptResult = await client.decrypt(enclaveEncrypted);
319
+ innerEncrypted = decryptResult.buffer;
320
+ }
321
+ finally {
322
+ await client.disconnect();
323
+ }
324
+ // Step 2: Decrypt with password (inner layer)
325
+ // Format: salt (32) || iv (12) || authTag (16) || ciphertext
326
+ const salt = innerEncrypted.subarray(0, 32);
327
+ const iv = innerEncrypted.subarray(32, 44);
328
+ const authTag = innerEncrypted.subarray(44, 60);
329
+ const passwordEncrypted = innerEncrypted.subarray(60);
330
+ const derivedKey = await this.deriveKey(password, salt);
331
+ const decipher = crypto.createDecipheriv('aes-256-gcm', derivedKey, iv);
332
+ decipher.setAuthTag(authTag);
333
+ try {
334
+ const decrypted = Buffer.concat([
335
+ decipher.update(passwordEncrypted),
336
+ decipher.final(),
337
+ ]);
338
+ // Zero out sensitive data
339
+ this.zeroBuffer(derivedKey);
340
+ this.zeroBuffer(innerEncrypted);
341
+ return decrypted;
342
+ }
343
+ catch {
344
+ this.zeroBuffer(derivedKey);
345
+ this.zeroBuffer(innerEncrypted);
346
+ throw new Error('Decryption failed: invalid password or corrupted data');
347
+ }
348
+ }
349
+ /**
350
+ * Rotate a key's password
351
+ *
352
+ * @param id - Unique identifier for the key
353
+ * @param oldPassword - Current password
354
+ * @param newPassword - New password to set
355
+ */
356
+ async rotateKey(id, oldPassword, newPassword) {
357
+ // Retrieve with old password, store with new password
358
+ const data = await this.retrieveKey(id, oldPassword);
359
+ try {
360
+ await this.storeKey(id, data, newPassword);
361
+ }
362
+ finally {
363
+ this.zeroBuffer(data);
364
+ }
365
+ }
366
+ /**
367
+ * Delete a key from storage
368
+ *
369
+ * @param id - Unique identifier for the key to delete
370
+ */
371
+ async deleteKey(id) {
372
+ const keyPath = this.keyPath(id);
373
+ try {
374
+ // Overwrite with random data before deletion for security
375
+ const stats = await fs.stat(keyPath);
376
+ await fs.writeFile(keyPath, crypto.randomBytes(stats.size));
377
+ await fs.unlink(keyPath);
378
+ }
379
+ catch (error) {
380
+ if (error.code !== 'ENOENT') {
381
+ throw error;
382
+ }
383
+ }
384
+ }
385
+ /**
386
+ * Check if a key exists
387
+ *
388
+ * @param id - Unique identifier for the key
389
+ * @returns true if the key exists in storage
390
+ */
391
+ async hasKey(id) {
392
+ try {
393
+ await fs.access(this.keyPath(id));
394
+ return true;
395
+ }
396
+ catch {
397
+ return false;
398
+ }
399
+ }
400
+ /**
401
+ * List all stored key IDs
402
+ *
403
+ * @returns Array of key IDs
404
+ */
405
+ async listKeys() {
406
+ await this.ensureInitialized();
407
+ const files = await fs.readdir(this.keyDir);
408
+ return files
409
+ .filter((f) => f.endsWith('.enclave'))
410
+ .map((f) => f.replace('.enclave', ''));
411
+ }
412
+ /**
413
+ * Sign data using the Secure Enclave's P-256 key
414
+ * This is a bonus feature - allows signing with hardware-backed keys
415
+ *
416
+ * @param data - Data to sign
417
+ * @returns Signature in DER format
418
+ */
419
+ async signWithEnclave(data) {
420
+ const socketPath = await findSocketPath();
421
+ if (!socketPath) {
422
+ throw new Error('Enclave Bridge socket not found');
423
+ }
424
+ const EnclaveBridgeClient = await loadEnclaveBridgeClient();
425
+ const client = new EnclaveBridgeClient({ socketPath });
426
+ try {
427
+ await client.connect();
428
+ const result = await client.enclaveSign(data);
429
+ return result.buffer;
430
+ }
431
+ finally {
432
+ await client.disconnect();
433
+ }
434
+ }
435
+ /**
436
+ * Get the Secure Enclave's P-256 public key
437
+ * Can be used for signature verification
438
+ *
439
+ * @returns The P-256 public key
440
+ */
441
+ async getEnclavePublicKey() {
442
+ const socketPath = await findSocketPath();
443
+ if (!socketPath) {
444
+ throw new Error('Enclave Bridge socket not found');
445
+ }
446
+ const EnclaveBridgeClient = await loadEnclaveBridgeClient();
447
+ const client = new EnclaveBridgeClient({ socketPath });
448
+ try {
449
+ await client.connect();
450
+ const result = await client.getEnclavePublicKey();
451
+ return result.buffer;
452
+ }
453
+ finally {
454
+ await client.disconnect();
455
+ }
456
+ }
457
+ // ============================================================================
458
+ // Private Helpers
459
+ // ============================================================================
460
+ async ensureInitialized() {
461
+ if (!this.initialized) {
462
+ await this.initialize();
463
+ }
464
+ }
465
+ keyPath(id) {
466
+ // Sanitize the ID to prevent path traversal
467
+ const safeId = id.replace(/[^a-zA-Z0-9_-]/g, '_');
468
+ return path.join(this.keyDir, `${safeId}.enclave`);
469
+ }
470
+ /**
471
+ * Derive an encryption key from a password using scrypt
472
+ */
473
+ async deriveKey(password, salt) {
474
+ return await new Promise((resolve, reject) => {
475
+ crypto.scrypt(password, salt, 32, { N: 2 ** 14, r: 8, p: 1 }, (err, derivedKey) => {
476
+ if (err)
477
+ reject(err);
478
+ else
479
+ resolve(derivedKey);
480
+ });
481
+ });
482
+ }
483
+ /**
484
+ * Securely zero a buffer to prevent sensitive data from lingering in memory
485
+ */
486
+ zeroBuffer(buf) {
487
+ buf.fill(0);
488
+ }
489
+ }
490
+ exports.SecureEnclaveKeyring = SecureEnclaveKeyring;
491
+ //# sourceMappingURL=secureEnclaveKeyring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secureEnclaveKeyring.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/secureEnclaveKeyring.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { BlockSize, IFecService, IQuorumMember, QuorumDocumentInfo, QuorumMemberMetadata, QuorumService, SealedDocumentResult } from '@brightchain/brightchain-lib';
2
- import { GuidV4, Member, ShortHexGuid } from '@digitaldefiance/ecies-lib';
2
+ import { Member, ShortHexGuid } from '@digitaldefiance/ecies-lib';
3
+ import type { GuidV4Buffer } from '@digitaldefiance/node-ecies-lib/src/types/guid-versions';
3
4
  import { DiskBlockAsyncStore } from '../stores/diskBlockAsyncStore';
4
5
  /**
5
6
  * DiskQuorumService extends QuorumService with disk-based persistence
@@ -11,16 +12,16 @@ import { DiskBlockAsyncStore } from '../stores/diskBlockAsyncStore';
11
12
  * The service can optionally be configured with an FEC service for
12
13
  * parity generation and recovery on the underlying block store.
13
14
  */
14
- export declare class DiskQuorumService extends QuorumService<GuidV4> {
15
+ export declare class DiskQuorumService extends QuorumService<GuidV4Buffer> {
15
16
  private readonly memberCollection;
16
17
  private readonly documentCollection;
17
18
  private readonly blockStore;
18
19
  constructor(storagePath: string, blockSize?: BlockSize, fecService?: IFecService);
19
- addMember(member: Member<GuidV4>, metadata: QuorumMemberMetadata): Promise<IQuorumMember<GuidV4>>;
20
+ addMember(member: Member<GuidV4Buffer>, metadata: QuorumMemberMetadata): Promise<IQuorumMember<GuidV4Buffer>>;
20
21
  removeMember(memberId: ShortHexGuid): Promise<void>;
21
- getMember(memberId: ShortHexGuid): Promise<IQuorumMember<GuidV4> | null>;
22
- listMembers(): Promise<IQuorumMember<GuidV4>[]>;
23
- sealDocument<T>(agent: Member<GuidV4>, document: T, memberIds: ShortHexGuid[], sharesRequired?: number): Promise<SealedDocumentResult<GuidV4>>;
22
+ getMember(memberId: ShortHexGuid): Promise<IQuorumMember<GuidV4Buffer> | null>;
23
+ listMembers(): Promise<IQuorumMember<GuidV4Buffer>[]>;
24
+ sealDocument<T>(agent: Member<GuidV4Buffer>, document: T, memberIds: ShortHexGuid[], sharesRequired?: number): Promise<SealedDocumentResult<GuidV4Buffer>>;
24
25
  /**
25
26
  * Serialize encrypted shares from QuorumDataRecord to storage format
26
27
  * Note: encryptedSharesByMemberId uses ShortHexGuid keys (already hex strings)
@@ -1 +1 @@
1
- {"version":3,"file":"diskQuorumService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EAEb,kBAAkB,EAGlB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,MAAM,EAEN,MAAM,EACN,YAAY,EAEb,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA8BpE;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,MAAM,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAG/C,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,SAA2B,EACtC,UAAU,CAAC,EAAE,WAAW;IA2BX,SAAS,CACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACtB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAmBlB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD,SAAS,CACtB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAuBzB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IAsB/C,YAAY,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EACrB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,YAAY,EAAE,EACzB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IA+BxC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBR,WAAW,CACxB,UAAU,EAAE,YAAY,GACvB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAwBtB,aAAa,CAC1B,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAyBjB,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,SAAS,CACtB,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC;QACT,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,YAAY,EAAE,CAAC;KAChC,CAAC;IAgCF;;;OAGG;IACG,qBAAqB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAInD;;;OAGG;IACH,aAAa,IAAI,mBAAmB;CAGrC"}
1
+ {"version":3,"file":"diskQuorumService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EAEb,kBAAkB,EAGlB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,MAAM,EACN,YAAY,EAEb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAM5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AA8BpE;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,YAAY,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAG/C,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,SAA2B,EACtC,UAAU,CAAC,EAAE,WAAW;IA2BX,SAAS,CACtB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,EAC5B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAmBxB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD,SAAS,CACtB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAuB/B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;IAsBrD,YAAY,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,EAC3B,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,YAAY,EAAE,EACzB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IA+B9C;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBR,WAAW,CACxB,UAAU,EAAE,YAAY,GACvB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAwBtB,aAAa,CAC1B,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAyBjB,cAAc,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,SAAS,CACtB,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC;QACT,SAAS,EAAE,OAAO,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,YAAY,EAAE,CAAC;KAChC,CAAC;IAgCF;;;OAGG;IACG,qBAAqB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAInD;;;OAGG;IACH,aAAa,IAAI,mBAAmB;CAGrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"diskQuorumService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diskQuorumService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":";;;AAAA,kEAWsC;AACtC,0DAKoC;AAEpC,4EAAuE;AAKvE,uEAAoE;AA8BpE;;;;;;;;;GASG;AACH,MAAa,iBAAkB,SAAQ,+BAA2B;IAKhE,YACE,WAAmB,EACnB,YAAuB,2BAAS,CAAC,KAAK,EACtC,UAAwB;QAExB,qDAAqD;QACrD,KAAK,EAAE,CAAC;QAER,uDAAuD;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,yCAAmB,CAAC;YACxC,SAAS,EAAE,WAAW;YACtB,SAAS;SACV,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,yCAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9D,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB;YACnB,aAAa,CAAC,UAAU,CAAuB,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB;YACrB,aAAa,CAAC,UAAU,CAAyB,kBAAkB,CAAC,CAAC;IACzE,CAAC;IAED,sCAAsC;IAE7B,KAAK,CAAC,SAAS,CACtB,MAA4B,EAC5B,QAA8B;QAE9B,yCAAyC;QACzC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE7D,kBAAkB;QAClB,MAAM,SAAS,GAAyB;YACtC,QAAQ,EAAE,YAAY,CAAC,EAAE;YACzB,SAAS,EAAE,IAAA,2BAAe,EAAC,MAAM,CAAC,SAAS,CAAC;YAC5C,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE;YAC/C,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE;SAChD,CAAC;QAEF,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,YAAY,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,QAAsB;QAChD,wCAAwC;QACxC,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEnC,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC3B,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACnC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,EACtB,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,QAAsB;QAEtB,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,EAAE,EAAE,SAAS,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAA,2BAAe,EAAC,SAAS,CAAC,SAAS,CAAC;YAC/C,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YACxC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,oCAAoC;QACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB;aAC3C,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACxB,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAyB,EAAE,EAAE,CAAC,CAAC;YACpD,EAAE,EAAE,GAAG,CAAC,QAAQ;YAChB,SAAS,EAAE,IAAA,2BAAe,EAAC,GAAG,CAAC,SAAS,CAAC;YACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;SACnC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,qCAAqC;IAE5B,KAAK,CAAC,YAAY,CACzB,KAA2B,EAC3B,QAAW,EACX,SAAyB,EACzB,cAAuB;QAEvB,0CAA0C;QAC1C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CACrC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;QAEF,wDAAwD;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAExD,kBAAkB;QAClB,MAAM,SAAS,GAA2B;YACxC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,IAAA,2BAAe,EAAC,KAAK,CAAC,OAAO,CAAiB;YACzD,aAAa,EAAE,IAAA,2BAAe,EAAC,SAAS,CAAC,aAAa,CAAC;YACvD,yBAAyB,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;YAC1D,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE;YACpC,SAAS,EAAE,IAAA,2BAAe,EAAC,SAAS,CAAC,SAAS,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE;YAChD,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE;SACjD,CAAC;QAEF,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,eAAe,CACrB,GAAmC;QAEnC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CACT,WAAW,EACX,KAAK,EACN,IAAI,GAAG,CAAC,yBAAyB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,2EAA2E;YAC3E,MAAM,CAAC,WAAW,CAAC,GAAG,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wCAAwC;IAE/B,KAAK,CAAC,WAAW,CACxB,UAAwB;QAExB,8BAA8B;QAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB;aAC5C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;aACvB,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,EAAE,EAAE,SAAS,CAAC,UAAU;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,aAAa,CAC1B,QAAuB;QAEvB,+BAA+B;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,gCAAgC;YAChC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,SAAS,CAAC,UAAU;oBACxB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;oBAC1C,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,UAAwB;QACpD,gDAAgD;QAChD,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEvC,mBAAmB;QACnB,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC;IAEQ,KAAK,CAAC,SAAS,CACtB,UAAwB,EACxB,SAAyB;QAOzB,sBAAsB;QACtB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB;aAC5C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;aACvB,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,6BAAW,CAAC,iCAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;QAEzC,2DAA2D;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAgB,EAAE,EAAE,CAC3D,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC1B,CAAC;QACF,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CACxC,CAAC,EAAgB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC9C,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,MAAM,IAAI,SAAS,CAAC,cAAc;YAC5D,cAAc,EAAE,cAAc,CAAC,MAAM;YACrC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAwB;QAClD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,oBAAoB;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB;aAC5C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;aACvB,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,6BAAW,CAAC,iCAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,8EAA8E;IAChF,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,UAA8B;QAC1C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AA9TD,8CA8TC"}
@@ -1,4 +1,3 @@
1
- import { GuidV4 } from '@digitaldefiance/ecies-lib';
2
1
  import type { IEmailTokenDocument } from './documents/email-token';
3
2
  import type { IMnemonicDocument } from './documents/mnemonic';
4
3
  import type { IRoleDocument } from './documents/role';
@@ -8,8 +7,10 @@ import type { IUserRoleDocument } from './documents/user-role';
8
7
  import { ModelName } from './enumerations/model-name';
9
8
  import { SchemaCollection } from './enumerations/schema-collection';
10
9
  export type { SignatureBuffer } from '@digitaldefiance/node-ecies-lib';
10
+ export type { GuidV4Buffer } from '@digitaldefiance/node-ecies-lib/src/types/guid-versions';
11
11
  export type ClientSession = any;
12
- export type DefaultBackendIdType = GuidV4;
12
+ import type { DefaultBackendIdType as DefaultBackendIdType_ } from './types/backend-id';
13
+ export type DefaultBackendIdType = DefaultBackendIdType_;
13
14
  /**
14
15
  * Block storage schema definition (replaces Mongoose Schema)
15
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/shared-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIvE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC;AAMhC,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"shared-types.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/shared-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAI5F,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC;AAKhC,OAAO,KAAK,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"diskCBLStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskCBLStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EAKT,QAAQ,EAER,yBAAyB,EACzB,cAAc,EAEd,SAAS,EAIV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAe,MAAM,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAU7E;;;;;GAKG;AACH,qBAAa,YAAY,CACvB,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,SAAS,CAAC,GAAG,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,WAAW,CAAC,CAAc;IAE3B,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;gBAI1B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAkC/D;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAW7C;;OAEG;IACU,GAAG,CACd,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC;IAgChB;;OAEG;IACU,GAAG,CACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAC7C,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IA4H1C;;OAEG;IACI,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAKvC;;OAEG;IACU,eAAe,CAC1B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GACjD,OAAO,CAAC,QAAQ,EAAE,CAAC;IAatB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,eAAe;CAYxB"}
1
+ {"version":3,"file":"diskCBLStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskCBLStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EAKT,QAAQ,EAER,yBAAyB,EACzB,cAAc,EAGd,SAAS,EAGV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAe,MAAM,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAU7E;;;;;GAKG;AACH,qBAAa,YAAY,CACvB,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,SAAS,CAAC,GAAG,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,WAAW,CAAC,CAAc;IAE3B,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;gBAI1B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAkC/D;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAW7C;;OAEG;IACU,GAAG,CACd,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC;IAgChB;;OAEG;IACU,GAAG,CACd,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAC7C,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IA4H1C;;OAEG;IACI,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAKvC;;OAEG;IACU,eAAe,CAC1B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GACjD,OAAO,CAAC,QAAQ,EAAE,CAAC;IAatB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,eAAe;CAYxB"}