@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
@@ -38,10 +38,10 @@ class DiskCBLStore {
38
38
  if (!(0, fs_1.existsSync)(this._cblPath)) {
39
39
  (0, fs_1.mkdirSync)(this._cblPath, { recursive: true });
40
40
  }
41
- this._blockService = brightchain_lib_1.ServiceLocator.getServiceProvider().blockService;
42
- this._cblService = brightchain_lib_1.ServiceLocator.getServiceProvider().cblService;
41
+ this._blockService = (0, brightchain_lib_1.getGlobalServiceProvider)().blockService;
42
+ this._cblService = (0, brightchain_lib_1.getGlobalServiceProvider)().cblService;
43
43
  this._checksumService =
44
- brightchain_lib_1.ServiceLocator.getServiceProvider().checksumService;
44
+ (0, brightchain_lib_1.getGlobalServiceProvider)().checksumService;
45
45
  }
46
46
  /**
47
47
  * Check if the data is encrypted
@@ -49,8 +49,8 @@ class DiskCBLStore {
49
49
  * @returns True if the data is encrypted, false otherwise
50
50
  */
51
51
  isEncrypted(data) {
52
- return (brightchain_lib_1.ServiceLocator.getServiceProvider().blockService.isSingleRecipientEncrypted(data) ||
53
- brightchain_lib_1.ServiceLocator.getServiceProvider().blockService.isMultiRecipientEncrypted(data));
52
+ return ((0, brightchain_lib_1.getGlobalServiceProvider)().blockService.isSingleRecipientEncrypted(data) ||
53
+ (0, brightchain_lib_1.getGlobalServiceProvider)().blockService.isMultiRecipientEncrypted(data));
54
54
  }
55
55
  /**
56
56
  * Store a CBL block
@@ -100,10 +100,10 @@ class DiskCBLStore {
100
100
  const fileStat = (0, fs_1.statSync)(blockPath);
101
101
  const dateCreated = fileStat.mtime;
102
102
  // Check if it's multi-encrypted
103
- if (brightchain_lib_1.ServiceLocator.getServiceProvider().blockService.isMultiRecipientEncrypted(cblData)) {
103
+ if ((0, brightchain_lib_1.getGlobalServiceProvider)().blockService.isMultiRecipientEncrypted(cblData)) {
104
104
  // Handle multi-encrypted CBL
105
105
  const multiEncryptedCbl = new brightchain_lib_1.EncryptedBlock(brightchain_lib_1.BlockType.EncryptedConstituentBlockListBlock, brightchain_lib_1.BlockDataType.EncryptedData, cblData, checksum, new brightchain_lib_1.EncryptedBlockMetadata(this._blockSize, brightchain_lib_1.BlockType.EncryptedConstituentBlockListBlock, brightchain_lib_1.BlockDataType.EncryptedData, cblData.length, this._activeUser, brightchain_lib_1.BlockEncryptionType.MultiRecipient, 2, dateCreated), this._activeUser, true, true);
106
- const decryptedCbl = new brightchain_lib_1.ConstituentBlockListBlock((await brightchain_lib_1.ServiceLocator.getServiceProvider().blockService.decryptMultiple(this._activeUser, multiEncryptedCbl)).data, this._activeUser);
106
+ const decryptedCbl = new brightchain_lib_1.ConstituentBlockListBlock((await (0, brightchain_lib_1.getGlobalServiceProvider)().blockService.decryptMultiple(this._activeUser, multiEncryptedCbl)).data, this._activeUser);
107
107
  if (!decryptedCbl.validateSignature()) {
108
108
  throw new brightchain_lib_1.CblError(brightchain_lib_1.CblErrorType.InvalidSignature);
109
109
  }
@@ -112,7 +112,7 @@ class DiskCBLStore {
112
112
  else {
113
113
  // Handle single-recipient encrypted CBL
114
114
  const encryptedCbl = new brightchain_lib_1.EncryptedBlock(brightchain_lib_1.BlockType.EncryptedConstituentBlockListBlock, brightchain_lib_1.BlockDataType.EncryptedData, cblData, checksum, new brightchain_lib_1.EncryptedBlockMetadata(this._blockSize, brightchain_lib_1.BlockType.EncryptedConstituentBlockListBlock, brightchain_lib_1.BlockDataType.EncryptedData, cblData.length, this._activeUser, brightchain_lib_1.BlockEncryptionType.SingleRecipient, 1, dateCreated), this._activeUser);
115
- const decryptedCbl = new brightchain_lib_1.ConstituentBlockListBlock((await brightchain_lib_1.ServiceLocator.getServiceProvider().blockService.decrypt(this._activeUser, encryptedCbl, brightchain_lib_1.BlockType.ConstituentBlockList)).data, this._activeUser);
115
+ const decryptedCbl = new brightchain_lib_1.ConstituentBlockListBlock((await (0, brightchain_lib_1.getGlobalServiceProvider)().blockService.decrypt(this._activeUser, encryptedCbl, brightchain_lib_1.BlockType.ConstituentBlockList)).data, this._activeUser);
116
116
  if (!decryptedCbl.validateSignature()) {
117
117
  throw new brightchain_lib_1.CblError(brightchain_lib_1.CblErrorType.InvalidSignature);
118
118
  }
@@ -122,7 +122,7 @@ class DiskCBLStore {
122
122
  // Handle unencrypted CBL
123
123
  const cblInfo = this._cblService.parseHeader(cblData);
124
124
  // Hydrate the creator
125
- const idProvider = brightchain_lib_1.ServiceLocator.getServiceProvider().eciesService.constants
125
+ const idProvider = (0, brightchain_lib_1.getGlobalServiceProvider)().eciesService.constants
126
126
  .idProvider;
127
127
  const creator = this._activeUser &&
128
128
  (0, ecies_lib_1.arraysEqual)(idProvider.toBytes(this._activeUser.id), idProvider.toBytes(cblInfo.creatorId))
@@ -1 +1 @@
1
- {"version":3,"file":"diskCBLStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskCBLStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diskCBLStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskCBLStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { IKeyring } from './keyring.types';
2
+ /**
3
+ * Keyring type enumeration for identifying which backend is in use
4
+ */
5
+ export declare enum KeyringType {
6
+ Browser = "browser",
7
+ Node = "node",
8
+ SecureEnclave = "secure-enclave"
9
+ }
10
+ /**
11
+ * SystemKeyring delegates to the appropriate implementation based on environment
12
+ *
13
+ * Priority order:
14
+ * 1. SecureEnclaveKeyring - On macOS Apple Silicon with Enclave Bridge running
15
+ * 2. NodeKeyring - In Node.js environments
16
+ * 3. BrowserKeyring - In browser environments
17
+ */
18
+ export declare class SystemKeyring implements IKeyring {
19
+ private static instance;
20
+ private keyringImpl;
21
+ private keyringType;
22
+ private initPromise;
23
+ private useSecureEnclave;
24
+ private constructor();
25
+ static getInstance(): SystemKeyring;
26
+ /**
27
+ * Check if Secure Enclave is available and preferred
28
+ * This can be called to determine which keyring backend will be used
29
+ */
30
+ static isSecureEnclaveAvailable(): Promise<boolean>;
31
+ /**
32
+ * Get the current keyring type
33
+ * Returns null if keyring hasn't been initialized yet
34
+ */
35
+ getKeyringType(): KeyringType | null;
36
+ /**
37
+ * Force using (or not using) Secure Enclave
38
+ * Must be called before initialize() or any key operations
39
+ *
40
+ * @param use - true to force Secure Enclave, false to skip it
41
+ */
42
+ setUseSecureEnclave(use: boolean): void;
43
+ /**
44
+ * Initialize the keyring - detects and connects to the appropriate backend
45
+ */
46
+ initialize(): Promise<void>;
47
+ private doInitialize;
48
+ /**
49
+ * Detects and returns the appropriate keyring implementation
50
+ */
51
+ private detectKeyringImpl;
52
+ /**
53
+ * Ensures the keyring is initialized before use
54
+ */
55
+ private ensureInitialized;
56
+ storeKey(id: string, data: Uint8Array, password: string): Promise<void>;
57
+ retrieveKey(id: string, password: string): Promise<Uint8Array>;
58
+ rotateKey(id: string, oldPassword: string, newPassword: string): Promise<void>;
59
+ }
60
+ //# sourceMappingURL=systemKeyring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemKeyring.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/systemKeyring.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKhD;;GAEG;AACH,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,aAAa,mBAAmB;CACjC;AAED;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,gBAAgB,CAAwB;IAEhD,OAAO;WAIO,WAAW,IAAI,aAAa;IAO1C;;;OAGG;WACiB,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBhE;;;OAGG;IACI,cAAc,IAAI,WAAW,GAAG,IAAI;IAI3C;;;;;OAKG;IACI,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAS9C;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAS1B,YAAY;IAS1B;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;YACW,iBAAiB;IAOlB,QAAQ,CACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAKH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK9D,SAAS,CACpB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;CAIjB"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SystemKeyring = exports.KeyringType = void 0;
37
+ const browserKeyring_1 = require("./browserKeyring");
38
+ const nodeKeyring_1 = require("./nodeKeyring");
39
+ // IKeyring interface is defined in keyring.types.ts to avoid circular imports
40
+ /**
41
+ * Keyring type enumeration for identifying which backend is in use
42
+ */
43
+ var KeyringType;
44
+ (function (KeyringType) {
45
+ KeyringType["Browser"] = "browser";
46
+ KeyringType["Node"] = "node";
47
+ KeyringType["SecureEnclave"] = "secure-enclave";
48
+ })(KeyringType || (exports.KeyringType = KeyringType = {}));
49
+ /**
50
+ * SystemKeyring delegates to the appropriate implementation based on environment
51
+ *
52
+ * Priority order:
53
+ * 1. SecureEnclaveKeyring - On macOS Apple Silicon with Enclave Bridge running
54
+ * 2. NodeKeyring - In Node.js environments
55
+ * 3. BrowserKeyring - In browser environments
56
+ */
57
+ class SystemKeyring {
58
+ constructor() {
59
+ this.keyringImpl = null;
60
+ this.keyringType = null;
61
+ this.initPromise = null;
62
+ this.useSecureEnclave = null;
63
+ // Keyring implementation is initialized lazily
64
+ }
65
+ static getInstance() {
66
+ if (!SystemKeyring.instance) {
67
+ SystemKeyring.instance = new SystemKeyring();
68
+ }
69
+ return SystemKeyring.instance;
70
+ }
71
+ /**
72
+ * Check if Secure Enclave is available and preferred
73
+ * This can be called to determine which keyring backend will be used
74
+ */
75
+ static async isSecureEnclaveAvailable() {
76
+ // Only check on macOS Apple Silicon
77
+ if (typeof process === 'undefined' ||
78
+ process.platform !== 'darwin' ||
79
+ process.arch !== 'arm64') {
80
+ return false;
81
+ }
82
+ try {
83
+ const { SecureEnclaveKeyring } = await Promise.resolve().then(() => __importStar(require('./secureEnclaveKeyring')));
84
+ return await SecureEnclaveKeyring.isAvailable();
85
+ }
86
+ catch {
87
+ return false;
88
+ }
89
+ }
90
+ /**
91
+ * Get the current keyring type
92
+ * Returns null if keyring hasn't been initialized yet
93
+ */
94
+ getKeyringType() {
95
+ return this.keyringType;
96
+ }
97
+ /**
98
+ * Force using (or not using) Secure Enclave
99
+ * Must be called before initialize() or any key operations
100
+ *
101
+ * @param use - true to force Secure Enclave, false to skip it
102
+ */
103
+ setUseSecureEnclave(use) {
104
+ if (this.keyringImpl !== null) {
105
+ throw new Error('Cannot change Secure Enclave preference after keyring is initialized');
106
+ }
107
+ this.useSecureEnclave = use;
108
+ }
109
+ /**
110
+ * Initialize the keyring - detects and connects to the appropriate backend
111
+ */
112
+ async initialize() {
113
+ if (this.initPromise) {
114
+ return this.initPromise;
115
+ }
116
+ this.initPromise = this.doInitialize();
117
+ return this.initPromise;
118
+ }
119
+ async doInitialize() {
120
+ if (this.keyringImpl) {
121
+ return;
122
+ }
123
+ this.keyringImpl = await this.detectKeyringImpl();
124
+ await this.keyringImpl.initialize();
125
+ }
126
+ /**
127
+ * Detects and returns the appropriate keyring implementation
128
+ */
129
+ async detectKeyringImpl() {
130
+ // Node.js detection
131
+ const isNode = typeof process !== 'undefined' &&
132
+ process.versions &&
133
+ process.versions.node;
134
+ if (isNode) {
135
+ // Check for Apple Silicon macOS with Secure Enclave
136
+ const isMacOSAppleSilicon = process.platform === 'darwin' && process.arch === 'arm64';
137
+ if (isMacOSAppleSilicon && this.useSecureEnclave !== false) {
138
+ try {
139
+ const { SecureEnclaveKeyring } = await Promise.resolve().then(() => __importStar(require('./secureEnclaveKeyring')));
140
+ const isAvailable = await SecureEnclaveKeyring.isAvailable();
141
+ if (isAvailable) {
142
+ this.keyringType = KeyringType.SecureEnclave;
143
+ return SecureEnclaveKeyring.getInstance();
144
+ }
145
+ }
146
+ catch {
147
+ // Secure Enclave not available, fall through to NodeKeyring
148
+ }
149
+ }
150
+ // Fallback to NodeKeyring for Node.js
151
+ this.keyringType = KeyringType.Node;
152
+ return nodeKeyring_1.NodeKeyring.getInstance();
153
+ }
154
+ // Default to browser
155
+ this.keyringType = KeyringType.Browser;
156
+ return browserKeyring_1.BrowserKeyring.getInstance();
157
+ }
158
+ /**
159
+ * Ensures the keyring is initialized before use
160
+ */
161
+ async ensureInitialized() {
162
+ if (!this.keyringImpl) {
163
+ await this.initialize();
164
+ }
165
+ return this.keyringImpl;
166
+ }
167
+ async storeKey(id, data, password) {
168
+ const impl = await this.ensureInitialized();
169
+ return impl.storeKey(id, data, password);
170
+ }
171
+ async retrieveKey(id, password) {
172
+ const impl = await this.ensureInitialized();
173
+ return impl.retrieveKey(id, password);
174
+ }
175
+ async rotateKey(id, oldPassword, newPassword) {
176
+ const impl = await this.ensureInitialized();
177
+ return impl.rotateKey(id, oldPassword, newPassword);
178
+ }
179
+ }
180
+ exports.SystemKeyring = SystemKeyring;
181
+ //# sourceMappingURL=systemKeyring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemKeyring.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/systemKeyring.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xorMultipleTransform.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/transforms/xorMultipleTransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhE,qBAAa,0BAA2B,SAAQ,SAAS;IACvD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;gBAE5B,OAAO,EAAE,QAAQ,EAAE;IAmB/B,WAAW,IAAI,IAAI;IAoCnB,iBAAiB,IAAI,IAAI;IAMhB,UAAU,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,IAAI;IAKE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAGnD"}
1
+ {"version":3,"file":"xorMultipleTransform.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/transforms/xorMultipleTransform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhE,qBAAa,0BAA2B,SAAQ,SAAS;IACvD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;gBAE5B,OAAO,EAAE,QAAQ,EAAE;IAmB/B,WAAW,IAAI,IAAI;IAwCnB,iBAAiB,IAAI,IAAI;IAMhB,UAAU,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,IAAI;IAKE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CAGnD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.XorMultipleTransformStream = void 0;
4
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
4
5
  const stream_1 = require("stream");
5
6
  class XorMultipleTransformStream extends stream_1.Transform {
6
7
  constructor(sources) {
@@ -26,11 +27,16 @@ class XorMultipleTransformStream extends stream_1.Transform {
26
27
  this.end();
27
28
  return;
28
29
  }
29
- const xorResult = Buffer.alloc(minLength);
30
- for (let i = 0; i < minLength; i++) {
31
- xorResult[i] = this.buffers.reduce((acc, buffer, index) => this.streamEnded[index] ? acc : acc ^ buffer[i], 0);
32
- }
33
- this.push(xorResult);
30
+ // Extract active buffers (not ended streams) and slice to minLength
31
+ const activeBuffers = this.buffers
32
+ .map((buffer, index) => this.streamEnded[index] ? null : buffer.subarray(0, minLength))
33
+ .filter((buffer) => buffer !== null);
34
+ // Convert Buffers to Uint8Arrays for constant-time XOR
35
+ const uint8Arrays = activeBuffers.map((buffer) => new Uint8Array(buffer));
36
+ // Use constant-time XOR operation to prevent timing attacks
37
+ const xorResult = (0, brightchain_lib_1.constantTimeXorMultiple)(uint8Arrays);
38
+ // Convert result back to Buffer for streaming
39
+ this.push(Buffer.from(xorResult));
34
40
  // Update buffers
35
41
  this.buffers = this.buffers.map((buffer, index) => this.streamEnded[index] ? buffer : buffer.subarray(minLength));
36
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xorMultipleTransform.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/transforms/xorMultipleTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xorMultipleTransform.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/transforms/xorMultipleTransform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type DefaultBackendIdType = Buffer;
2
+ //# sourceMappingURL=backend-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-id.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/types/backend-id.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=backend-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-id.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/types/backend-id.ts"],"names":[],"mappings":""}