@brightchain/brightchain-api-lib 0.25.0 → 0.27.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 (130) hide show
  1. package/package.json +4 -3
  2. package/src/lib/appConstants.d.ts +1 -1
  3. package/src/lib/appConstants.js +1 -1
  4. package/src/lib/application.d.ts +3 -14
  5. package/src/lib/application.d.ts.map +1 -1
  6. package/src/lib/application.js +91 -34
  7. package/src/lib/application.js.map +1 -1
  8. package/src/lib/constants.d.ts.map +1 -1
  9. package/src/lib/constants.js +1 -1
  10. package/src/lib/constants.js.map +1 -1
  11. package/src/lib/databaseInit.d.ts +7 -11
  12. package/src/lib/databaseInit.d.ts.map +1 -1
  13. package/src/lib/databaseInit.js +41 -107
  14. package/src/lib/databaseInit.js.map +1 -1
  15. package/src/lib/datastore/block-document-store-factory.d.ts +3 -0
  16. package/src/lib/datastore/block-document-store-factory.d.ts.map +1 -1
  17. package/src/lib/datastore/block-document-store-factory.js +15 -18
  18. package/src/lib/datastore/block-document-store-factory.js.map +1 -1
  19. package/src/lib/datastore/block-document-store.d.ts +2 -191
  20. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  21. package/src/lib/datastore/block-document-store.js +4 -628
  22. package/src/lib/datastore/block-document-store.js.map +1 -1
  23. package/src/lib/datastore/document-store.d.ts +1 -62
  24. package/src/lib/datastore/document-store.d.ts.map +1 -1
  25. package/src/lib/datastore/memory-document-store.d.ts +1 -8
  26. package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
  27. package/src/lib/datastore/memory-document-store.js +3 -214
  28. package/src/lib/datastore/memory-document-store.js.map +1 -1
  29. package/src/lib/environment.d.ts +4 -47
  30. package/src/lib/environment.d.ts.map +1 -1
  31. package/src/lib/environment.js +2 -136
  32. package/src/lib/environment.js.map +1 -1
  33. package/src/lib/interfaces/environment.d.ts +3 -25
  34. package/src/lib/interfaces/environment.d.ts.map +1 -1
  35. package/src/lib/interfaces/responses/emailGatewayResponses.d.ts +30 -0
  36. package/src/lib/interfaces/responses/emailGatewayResponses.d.ts.map +1 -0
  37. package/src/lib/interfaces/responses/emailGatewayResponses.js +3 -0
  38. package/src/lib/interfaces/responses/emailGatewayResponses.js.map +1 -0
  39. package/src/lib/interfaces/responses/index.d.ts +1 -0
  40. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  41. package/src/lib/middleware/index.d.ts +1 -1
  42. package/src/lib/middleware/index.d.ts.map +1 -1
  43. package/src/lib/middleware/index.js +3 -2
  44. package/src/lib/middleware/index.js.map +1 -1
  45. package/src/lib/middleware/validateBody.d.ts +1 -12
  46. package/src/lib/middleware/validateBody.d.ts.map +1 -1
  47. package/src/lib/middleware/validateBody.js +4 -32
  48. package/src/lib/middleware/validateBody.js.map +1 -1
  49. package/src/lib/middlewares.d.ts.map +1 -1
  50. package/src/lib/middlewares.js +7 -1
  51. package/src/lib/middlewares.js.map +1 -1
  52. package/src/lib/plugins/brightchain-database-plugin.d.ts +27 -79
  53. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  54. package/src/lib/plugins/brightchain-database-plugin.js +32 -103
  55. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  56. package/src/lib/routers/app.d.ts.map +1 -1
  57. package/src/lib/routers/app.js +1 -0
  58. package/src/lib/routers/app.js.map +1 -1
  59. package/src/lib/services/emailGateway/antiSpamFilter.d.ts +229 -0
  60. package/src/lib/services/emailGateway/antiSpamFilter.d.ts.map +1 -0
  61. package/src/lib/services/emailGateway/antiSpamFilter.js +325 -0
  62. package/src/lib/services/emailGateway/antiSpamFilter.js.map +1 -0
  63. package/src/lib/services/emailGateway/bounceProcessor.d.ts +182 -0
  64. package/src/lib/services/emailGateway/bounceProcessor.d.ts.map +1 -0
  65. package/src/lib/services/emailGateway/bounceProcessor.js +391 -0
  66. package/src/lib/services/emailGateway/bounceProcessor.js.map +1 -0
  67. package/src/lib/services/emailGateway/emailAuthVerifier.d.ts +99 -0
  68. package/src/lib/services/emailGateway/emailAuthVerifier.d.ts.map +1 -0
  69. package/src/lib/services/emailGateway/emailAuthVerifier.js +202 -0
  70. package/src/lib/services/emailGateway/emailAuthVerifier.js.map +1 -0
  71. package/src/lib/services/emailGateway/emailGatewayConfig.d.ts +74 -0
  72. package/src/lib/services/emailGateway/emailGatewayConfig.d.ts.map +1 -0
  73. package/src/lib/services/emailGateway/emailGatewayConfig.js +107 -0
  74. package/src/lib/services/emailGateway/emailGatewayConfig.js.map +1 -0
  75. package/src/lib/services/emailGateway/emailGatewayService.d.ts +209 -0
  76. package/src/lib/services/emailGateway/emailGatewayService.d.ts.map +1 -0
  77. package/src/lib/services/emailGateway/emailGatewayService.js +254 -0
  78. package/src/lib/services/emailGateway/emailGatewayService.js.map +1 -0
  79. package/src/lib/services/emailGateway/gatewayObservability.d.ts +123 -0
  80. package/src/lib/services/emailGateway/gatewayObservability.d.ts.map +1 -0
  81. package/src/lib/services/emailGateway/gatewayObservability.js +186 -0
  82. package/src/lib/services/emailGateway/gatewayObservability.js.map +1 -0
  83. package/src/lib/services/emailGateway/inboundProcessor.d.ts +113 -0
  84. package/src/lib/services/emailGateway/inboundProcessor.d.ts.map +1 -0
  85. package/src/lib/services/emailGateway/inboundProcessor.js +298 -0
  86. package/src/lib/services/emailGateway/inboundProcessor.js.map +1 -0
  87. package/src/lib/services/emailGateway/index.d.ts +23 -0
  88. package/src/lib/services/emailGateway/index.d.ts.map +1 -0
  89. package/src/lib/services/emailGateway/index.js +26 -0
  90. package/src/lib/services/emailGateway/index.js.map +1 -0
  91. package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts +122 -0
  92. package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts.map +1 -0
  93. package/src/lib/services/emailGateway/outboundDeliveryWorker.js +110 -0
  94. package/src/lib/services/emailGateway/outboundDeliveryWorker.js.map +1 -0
  95. package/src/lib/services/emailGateway/outboundQueue.d.ts +135 -0
  96. package/src/lib/services/emailGateway/outboundQueue.d.ts.map +1 -0
  97. package/src/lib/services/emailGateway/outboundQueue.js +227 -0
  98. package/src/lib/services/emailGateway/outboundQueue.js.map +1 -0
  99. package/src/lib/services/emailGateway/outboundQueueStore.d.ts +110 -0
  100. package/src/lib/services/emailGateway/outboundQueueStore.d.ts.map +1 -0
  101. package/src/lib/services/emailGateway/outboundQueueStore.js +131 -0
  102. package/src/lib/services/emailGateway/outboundQueueStore.js.map +1 -0
  103. package/src/lib/services/emailGateway/recipientLookupService.d.ts +146 -0
  104. package/src/lib/services/emailGateway/recipientLookupService.d.ts.map +1 -0
  105. package/src/lib/services/emailGateway/recipientLookupService.js +307 -0
  106. package/src/lib/services/emailGateway/recipientLookupService.js.map +1 -0
  107. package/src/lib/services/emailGateway/retryBackoff.d.ts +79 -0
  108. package/src/lib/services/emailGateway/retryBackoff.d.ts.map +1 -0
  109. package/src/lib/services/emailGateway/retryBackoff.js +77 -0
  110. package/src/lib/services/emailGateway/retryBackoff.js.map +1 -0
  111. package/src/lib/services/index.d.ts +1 -0
  112. package/src/lib/services/index.d.ts.map +1 -1
  113. package/src/lib/services/index.js +1 -0
  114. package/src/lib/services/index.js.map +1 -1
  115. package/src/lib/services/quorumDatabaseAdapter.d.ts +7 -1
  116. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
  117. package/src/lib/services/quorumDatabaseAdapter.js +83 -0
  118. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
  119. package/src/lib/services/sessionAdapter.d.ts +2 -61
  120. package/src/lib/services/sessionAdapter.d.ts.map +1 -1
  121. package/src/lib/services/sessionAdapter.js +2 -102
  122. package/src/lib/services/sessionAdapter.js.map +1 -1
  123. package/src/lib/shared-types.d.ts +7 -15
  124. package/src/lib/shared-types.d.ts.map +1 -1
  125. package/src/lib/types/backend-id.d.ts +1 -2
  126. package/src/lib/types/backend-id.d.ts.map +1 -1
  127. package/src/lib/validation/userValidation.d.ts +2 -43
  128. package/src/lib/validation/userValidation.d.ts.map +1 -1
  129. package/src/lib/validation/userValidation.js +6 -144
  130. package/src/lib/validation/userValidation.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-api-lib",
3
- "version": "0.25.0",
3
+ "version": "0.27.0",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "files": [
@@ -9,8 +9,9 @@
9
9
  ],
10
10
  "dependencies": {
11
11
  "@aws-sdk/client-ses": "^3.859.0",
12
- "@brightchain/brightchain-lib": "^0.25.0",
13
- "@brightchain/db": "^0.25.0",
12
+ "@brightchain/brightchain-lib": "^0.27.0",
13
+ "@brightchain/db": "^0.27.0",
14
+ "@brightchain/node-express-suite": "^0.27.0",
14
15
  "@digitaldefiance/branded-enum": "^0.0.7",
15
16
  "@digitaldefiance/ecies-lib": "^4.20.2",
16
17
  "@digitaldefiance/enclave-bridge-client": "^1.1.0",
@@ -10,7 +10,7 @@ import { LocalhostConstants } from '@digitaldefiance/node-express-suite';
10
10
  * - Validation regexes (PasswordRegex, UsernameRegex, MnemonicRegex, etc.)
11
11
  * - Token lengths and expirations (EmailTokenLength, EmailTokenExpiration, etc.)
12
12
  * - Cryptographic constants (ECIES, PBKDF2, BACKUP_CODES, etc.)
13
- * - Site configuration (Site, SiteHostname, SiteEmailDomain, etc.)
13
+ * - Site configuration (Site, etc.)
14
14
  */
15
15
  export declare const AppConstants: typeof LocalhostConstants & {
16
16
  HmacRegex: RegExp;
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "LocalhostConstants", { enumerable: true, get: fu
14
14
  * - Validation regexes (PasswordRegex, UsernameRegex, MnemonicRegex, etc.)
15
15
  * - Token lengths and expirations (EmailTokenLength, EmailTokenExpiration, etc.)
16
16
  * - Cryptographic constants (ECIES, PBKDF2, BACKUP_CODES, etc.)
17
- * - Site configuration (Site, SiteHostname, SiteEmailDomain, etc.)
17
+ * - Site configuration (Site, etc.)
18
18
  */
19
19
  exports.AppConstants = {
20
20
  ...node_express_suite_1.LocalhostConstants,
@@ -1,7 +1,7 @@
1
1
  import { IAvailabilityService, IDiscoveryProtocol, IReconciliationService } from '@brightchain/brightchain-lib';
2
+ import { BrightDbApplication } from '@brightchain/node-express-suite';
2
3
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
3
- import { IConstants, Application as UpstreamApplication } from '@digitaldefiance/node-express-suite';
4
- import { Server } from 'http';
4
+ import { IConstants } from '@digitaldefiance/node-express-suite';
5
5
  import { GossipService } from './availability/gossipService';
6
6
  import { PoolDiscoveryService } from './availability/poolDiscoveryService';
7
7
  import { DocumentCollection, DocumentRecord, DocumentStore } from './datastore/document-store';
@@ -25,7 +25,7 @@ import { WebSocketMessageServer } from './services/webSocketMessageServer';
25
25
  * Database integration is handled by the BrightChainDatabasePlugin, registered
26
26
  * via configureBrightChainApp() during construction.
27
27
  */
28
- export declare class App<TID extends PlatformID> extends UpstreamApplication<TID, Environment<TID>, IConstants, AppRouter<TID>> {
28
+ export declare class App<TID extends PlatformID> extends BrightDbApplication<TID, Environment<TID>, IConstants, AppRouter<TID>> {
29
29
  private controllers;
30
30
  private readonly keyStorage;
31
31
  private readonly _brightchainDocumentStore;
@@ -41,12 +41,6 @@ export declare class App<TID extends PlatformID> extends UpstreamApplication<TID
41
41
  private identityExpirationScheduler;
42
42
  private quorumGossipHandler;
43
43
  private contentAwareBlocksService;
44
- /**
45
- * Captured HTTP server reference for WebSocket attachment.
46
- * The upstream Application stores the server as a private field,
47
- * so we intercept expressApp.listen() to capture it here.
48
- */
49
- private _httpServer;
50
44
  constructor(environment: Environment<TID>);
51
45
  /**
52
46
  * Get the BrightChain document store.
@@ -66,11 +60,6 @@ export declare class App<TID extends PlatformID> extends UpstreamApplication<TID
66
60
  getModel<U extends DocumentRecord>(modelName: string): DocumentCollection<U>;
67
61
  start(dbUri?: string): Promise<void>;
68
62
  stop(): Promise<void>;
69
- /**
70
- * Get the underlying HTTP server instance.
71
- * Useful for tests that need to determine the bound port after start().
72
- */
73
- get httpServer(): Server | null;
74
63
  getController<T = unknown>(name: string): T;
75
64
  setController(name: string, controller: unknown): void;
76
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.App = void 0;
4
4
  const brightchain_lib_1 = require("@brightchain/brightchain-lib");
5
5
  const db_1 = require("@brightchain/db");
6
- const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
6
+ const node_express_suite_1 = require("@brightchain/node-express-suite");
7
+ const node_express_suite_2 = require("@digitaldefiance/node-express-suite");
7
8
  const quorumGossipHandler_1 = require("./availability/quorumGossipHandler");
8
9
  const constants_1 = require("./constants");
9
10
  const sessions_1 = require("./controllers/api/sessions");
@@ -19,6 +20,7 @@ const threadService_1 = require("./services/brighthub/threadService");
19
20
  const clientWebSocketServer_1 = require("./services/clientWebSocketServer");
20
21
  const eventNotificationSystem_1 = require("./services/eventNotificationSystem");
21
22
  const fakeEmailService_1 = require("./services/fakeEmailService");
23
+ const messagePassingService_1 = require("./services/messagePassingService");
22
24
  const webSocketMessageServer_1 = require("./services/webSocketMessageServer");
23
25
  /**
24
26
  * Application class for BrightChain.
@@ -33,7 +35,7 @@ const webSocketMessageServer_1 = require("./services/webSocketMessageServer");
33
35
  * Database integration is handled by the BrightChainDatabasePlugin, registered
34
36
  * via configureBrightChainApp() during construction.
35
37
  */
36
- class App extends node_express_suite_1.Application {
38
+ class App extends node_express_suite_1.BrightDbApplication {
37
39
  controllers = new Map();
38
40
  keyStorage;
39
41
  _brightchainDocumentStore;
@@ -50,12 +52,6 @@ class App extends node_express_suite_1.Application {
50
52
  identityExpirationScheduler = null;
51
53
  quorumGossipHandler = null;
52
54
  contentAwareBlocksService = null;
53
- /**
54
- * Captured HTTP server reference for WebSocket attachment.
55
- * The upstream Application stores the server as a private field,
56
- * so we intercept expressApp.listen() to capture it here.
57
- */
58
- _httpServer = null;
59
55
  constructor(environment) {
60
56
  super(environment,
61
57
  // apiRouterFactory — creates BrightChain's ApiRouter and captures the reference
@@ -168,7 +164,7 @@ class App extends node_express_suite_1.Application {
168
164
  : new services_1.EmailService(this);
169
165
  if (this.environment.disableEmailSend) {
170
166
  this.expressApp.use((0, testEmailRouter_1.createTestEmailRouter)());
171
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] FakeEmailService and TestEmailRouter mounted (DISABLE_EMAIL_SEND=true)');
167
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] FakeEmailService and TestEmailRouter mounted (DISABLE_EMAIL_SEND=true)');
172
168
  }
173
169
  const authProvider = this._plugin.authenticationProvider;
174
170
  const authService = new services_1.AuthService(this, memberStore, energyStore, emailService, this.environment.jwtSecret, authProvider);
@@ -183,7 +179,7 @@ class App extends node_express_suite_1.Application {
183
179
  // BrightChainBackupCodeService — singleton backed by MemberStore + crypto services
184
180
  const serviceProvider = brightchain_lib_1.ServiceProvider.getInstance();
185
181
  const eciesService = serviceProvider.eciesService;
186
- const keyWrappingService = new node_express_suite_1.KeyWrappingService();
182
+ const keyWrappingService = new node_express_suite_2.KeyWrappingService();
187
183
  const backupCodeService = new services_1.BrightChainBackupCodeService(memberStore,
188
184
  // Cast: ecies-lib ECIESService → node-ecies-lib ECIESService (structurally compatible at runtime)
189
185
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -194,7 +190,7 @@ class App extends node_express_suite_1.Application {
194
190
  // singleton (with encryptData/decryptData) that was initialized from
195
191
  // the SYSTEM_MNEMONIC env var during app startup.
196
192
  try {
197
- const systemUser = node_express_suite_1.SystemUserService.getSystemUser(
193
+ const systemUser = node_express_suite_2.SystemUserService.getSystemUser(
198
194
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
195
  this.environment, this.constants);
200
196
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -217,7 +213,7 @@ class App extends node_express_suite_1.Application {
217
213
  if (this._httpServer) {
218
214
  this.wsServer = new webSocketMessageServer_1.WebSocketMessageServer(this._httpServer, false);
219
215
  this.services.register('wsServer', () => this.wsServer);
220
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] WebSocket server initialized');
216
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] WebSocket server initialized');
221
217
  // Client-facing WebSocket server for Lumen protocol
222
218
  // @see Requirements 9.6, 11.3
223
219
  this.clientWsServer = new clientWebSocketServer_1.ClientWebSocketServer(this._httpServer, this.environment.jwtSecret);
@@ -225,12 +221,79 @@ class App extends node_express_suite_1.Application {
225
221
  // Wire EventNotificationSystem to broadcast through ClientWebSocketServer
226
222
  // This unifies all real-time event delivery through a single WebSocket connection
227
223
  this.eventSystem.setBroadcaster(this.clientWsServer);
228
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Client WebSocket server initialized (unified event delivery)');
224
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Client WebSocket server initialized (unified event delivery)');
229
225
  }
230
226
  // Wire EventNotificationSystem to SyncController via the apiRouter
231
227
  if (this.apiRouter) {
232
228
  this.apiRouter.setSyncEventSystem(this.eventSystem);
233
229
  }
230
+ // ── Email subsystem (MessagePassingService) initialization ──────
231
+ // The MessagePassingService is required by the EmailController to handle
232
+ // inbox queries, send/receive, thread views, etc. Without it, all email
233
+ // endpoints return SERVICE_UNAVAILABLE (503).
234
+ // We create a local instance with in-memory stores and a no-op gossip stub.
235
+ // When a real GossipService is wired later (via setPoolDiscoveryService),
236
+ // setMessagePassingService() can replace this with a fully-connected instance.
237
+ // @see Requirements 14.1, 14.2
238
+ try {
239
+ const messageCBL = {
240
+ createMessage: async () => ({
241
+ messageId: `msg-${Date.now()}-${Math.random().toString(36).slice(2)}`,
242
+ contentBlockIds: [],
243
+ magnetUrl: '',
244
+ }),
245
+ getMessageMetadata: async () => null,
246
+ getMessageContent: async () => null,
247
+ };
248
+ const messageMetadataStore = new brightchain_lib_1.MemoryMessageMetadataStore();
249
+ const emailMetadataStore = new brightchain_lib_1.InMemoryEmailMetadataStore();
250
+ // No-op gossip stub — real gossip is wired externally via setPoolDiscoveryService
251
+ const gossipStubForEmail = {
252
+ announceBlock: async () => { },
253
+ announceRemoval: async () => { },
254
+ announcePoolDeletion: async () => { },
255
+ announceCBLIndexUpdate: async () => { },
256
+ announceCBLIndexDelete: async () => { },
257
+ announceHeadUpdate: async () => { },
258
+ announceACLUpdate: async () => { },
259
+ handleAnnouncement: async () => { },
260
+ onAnnouncement: () => { },
261
+ offAnnouncement: () => { },
262
+ getPendingAnnouncements: () => [],
263
+ flushAnnouncements: async () => { },
264
+ start: () => { },
265
+ stop: async () => { },
266
+ getConfig: () => ({}),
267
+ announceMessage: async () => { },
268
+ sendDeliveryAck: async () => { },
269
+ onMessageDelivery: () => { },
270
+ offMessageDelivery: () => { },
271
+ onDeliveryAck: () => { },
272
+ offDeliveryAck: () => { },
273
+ announceQuorumProposal: async () => { },
274
+ announceQuorumVote: async () => { },
275
+ onQuorumProposal: () => { },
276
+ offQuorumProposal: () => { },
277
+ onQuorumVote: () => { },
278
+ offQuorumVote: () => { },
279
+ };
280
+ const mps = new messagePassingService_1.MessagePassingService(messageCBL, messageMetadataStore, this.eventSystem, gossipStubForEmail);
281
+ mps.configureEmail(emailMetadataStore, {
282
+ canonicalDomain: this.environment.emailDomain,
283
+ });
284
+ // Store on the App instance and register with the service container
285
+ this.messagePassingService = mps;
286
+ this.services.register('messagePassingService', () => mps);
287
+ // Wire to both the messages controller and the email controller
288
+ if (this.apiRouter) {
289
+ this.apiRouter.setMessagePassingService(mps);
290
+ this.apiRouter.setMessagePassingServiceForEmail(mps);
291
+ }
292
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] MessagePassingService initialized (email subsystem active)');
293
+ }
294
+ catch (emailSubsystemErr) {
295
+ console.warn('[ warning ] Email subsystem initialization failed, email endpoints will return 503:', emailSubsystemErr);
296
+ }
234
297
  // ── BrightHub social services initialization ────────────────────
235
298
  if (this.apiRouter) {
236
299
  // BrightHub services expect a Collection<T> interface with
@@ -273,7 +336,7 @@ class App extends node_express_suite_1.Application {
273
336
  this.apiRouter.setBrightHubConnectionService(connectionService);
274
337
  this.apiRouter.setBrightHubDiscoveryService(discoveryService);
275
338
  this.apiRouter.setBrightHubUserProfileService(userProfileService);
276
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] BrightHub social services initialized');
339
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] BrightHub social services initialized');
277
340
  }
278
341
  // ── Quorum subsystem initialization ─────────────────────────────
279
342
  // Task 23.1: Initialize QuorumDatabaseAdapter with pool ID "quorum-system"
@@ -284,7 +347,7 @@ class App extends node_express_suite_1.Application {
284
347
  });
285
348
  this.quorumDbAdapter = new services_1.QuorumDatabaseAdapter(quorumDb, brightchain_lib_1.ServiceProvider.getInstance().idProvider);
286
349
  this.services.register('quorumDbAdapter', () => this.quorumDbAdapter);
287
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum database adapter initialized (pool: quorum-system)');
350
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum database adapter initialized (pool: quorum-system)');
288
351
  // Task 23.2: Initialize QuorumStateMachine with dependencies
289
352
  const serviceProvider = brightchain_lib_1.ServiceProvider.getInstance();
290
353
  const sealingService = serviceProvider.sealingService;
@@ -324,12 +387,12 @@ class App extends node_express_suite_1.Application {
324
387
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
325
388
  gossipStub, auditLogService, aliasRegistry);
326
389
  this.services.register('quorumStateMachine', () => this.quorumStateMachine);
327
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum state machine initialized');
390
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum state machine initialized');
328
391
  // Task 23.3: Start IdentityExpirationScheduler
329
392
  this.identityExpirationScheduler = new services_1.IdentityExpirationScheduler(this.quorumDbAdapter, auditLogService);
330
393
  this.identityExpirationScheduler.start();
331
394
  this.services.register('identityExpirationScheduler', () => this.identityExpirationScheduler);
332
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Identity expiration scheduler started');
395
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Identity expiration scheduler started');
333
396
  // Task 23.4: Register gossip message handlers for quorum_proposal and quorum_vote
334
397
  // The QuorumGossipHandler is created here but gossip service binding
335
398
  // happens when setQuorumGossipService() is called externally.
@@ -338,7 +401,7 @@ class App extends node_express_suite_1.Application {
338
401
  this.quorumGossipHandler = new quorumGossipHandler_1.QuorumGossipHandler(gossipService, this.quorumStateMachine, this.quorumDbAdapter);
339
402
  this.quorumGossipHandler.start();
340
403
  this.services.register('quorumGossipHandler', () => this.quorumGossipHandler);
341
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum gossip handlers registered (quorum_proposal, quorum_vote)');
404
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum gossip handlers registered (quorum_proposal, quorum_vote)');
342
405
  });
343
406
  // Task 23.5: Wire content ingestion middleware (IdentityValidator + IdentitySealingPipeline)
344
407
  const membershipProofService = new brightchain_lib_1.MembershipProofService();
@@ -349,7 +412,7 @@ class App extends node_express_suite_1.Application {
349
412
  // CLIOperatorPrompt for interactive voting
350
413
  const operatorPrompt = new services_1.CLIOperatorPrompt();
351
414
  this.services.register('operatorPrompt', () => operatorPrompt);
352
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum subsystem fully initialized');
415
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] Quorum subsystem fully initialized');
353
416
  }
354
417
  catch (quorumErr) {
355
418
  console.warn('[ warning ] Quorum subsystem initialization failed, continuing without quorum:', quorumErr);
@@ -357,13 +420,13 @@ class App extends node_express_suite_1.Application {
357
420
  // UPnP port mapping (non-fatal on failure)
358
421
  try {
359
422
  if (this.environment.upnp?.enabled) {
360
- this.upnpManager = new node_express_suite_1.UpnpManager(this.environment.upnp);
423
+ this.upnpManager = new node_express_suite_2.UpnpManager(this.environment.upnp);
361
424
  await this.upnpManager.initialize();
362
425
  this.services.register('upnpManager', () => this.upnpManager);
363
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ ready ] UPnP port mapping initialized');
426
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ ready ] UPnP port mapping initialized');
364
427
  }
365
428
  else {
366
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ info ] UPnP port mapping disabled');
429
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ info ] UPnP port mapping disabled');
367
430
  }
368
431
  }
369
432
  catch (upnpErr) {
@@ -375,13 +438,13 @@ class App extends node_express_suite_1.Application {
375
438
  // ── Quorum subsystem shutdown ─────────────────────────────────────
376
439
  // Task 23.3: Stop ExpirationScheduler (graceful cleanup)
377
440
  if (this.identityExpirationScheduler) {
378
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] Identity expiration scheduler');
441
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] Identity expiration scheduler');
379
442
  this.identityExpirationScheduler.stop();
380
443
  this.identityExpirationScheduler = null;
381
444
  }
382
445
  // Task 23.4: Unregister gossip handlers
383
446
  if (this.quorumGossipHandler) {
384
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] Quorum gossip handlers');
447
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] Quorum gossip handlers');
385
448
  this.quorumGossipHandler.stop();
386
449
  this.quorumGossipHandler = null;
387
450
  }
@@ -391,13 +454,13 @@ class App extends node_express_suite_1.Application {
391
454
  this.contentAwareBlocksService = null;
392
455
  // Shutdown UPnP port mappings
393
456
  if (this.upnpManager) {
394
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] UPnP port mapping');
457
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] UPnP port mapping');
395
458
  await this.upnpManager.shutdown();
396
459
  this.upnpManager = null;
397
460
  }
398
461
  // Close WebSocket server
399
462
  if (this.wsServer) {
400
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] WebSocket server');
463
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] WebSocket server');
401
464
  await new Promise((resolve) => {
402
465
  this.wsServer.close(() => resolve());
403
466
  });
@@ -405,7 +468,7 @@ class App extends node_express_suite_1.Application {
405
468
  }
406
469
  // Close client WebSocket server
407
470
  if (this.clientWsServer) {
408
- (0, node_express_suite_1.debugLog)(this.environment.debug, 'log', '[ stopping ] Client WebSocket server');
471
+ (0, node_express_suite_2.debugLog)(this.environment.debug, 'log', '[ stopping ] Client WebSocket server');
409
472
  await new Promise((resolve) => {
410
473
  this.clientWsServer.close(() => resolve());
411
474
  });
@@ -419,13 +482,6 @@ class App extends node_express_suite_1.Application {
419
482
  // Upstream handles: greenlockManager.stop(), server.close(), db disconnect, _ready = false
420
483
  await super.stop();
421
484
  }
422
- /**
423
- * Get the underlying HTTP server instance.
424
- * Useful for tests that need to determine the bound port after start().
425
- */
426
- get httpServer() {
427
- return this._httpServer;
428
- }
429
485
  getController(name) {
430
486
  return this.controllers.get(name);
431
487
  }
@@ -472,6 +528,7 @@ class App extends node_express_suite_1.Application {
472
528
  this.services.register('messagePassingService', () => service);
473
529
  if (this.apiRouter) {
474
530
  this.apiRouter.setMessagePassingService(service);
531
+ this.apiRouter.setMessagePassingServiceForEmail(service);
475
532
  }
476
533
  }
477
534
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":";;;AAAA,kEAesC;AACtC,wCAA2C;AAE3C,4EAQ6C;AAI7C,4EAAyE;AACzE,2CAAwC;AACxC,yDAAgE;AAChE,2FAAoF;AAOpF,+CAA4C;AAE5C,mFAA8E;AAC9E,uCAA0C;AAC1C,uCAA0C;AAC1C,+DAAkE;AAClE,yCAkBoB;AAEpB,8EAAwE;AACxE,sEAAyE;AACzE,4EAAyE;AACzE,gFAA6E;AAC7E,kEAA+D;AAE/D,8EAA2E;AAE3E;;;;;;;;;;;;GAYG;AACH,MAAa,GAA4B,SAAQ,gCAKhD;IACS,WAAW,GAAyB,IAAI,GAAG,EAAE,CAAC;IACrC,UAAU,CAAmB;IAC7B,yBAAyB,CAAgB;IAClD,OAAO,CAAiC;IACxC,SAAS,GAA0B,IAAI,CAAC;IACxC,WAAW,GAAmC,IAAI,CAAC;IACnD,QAAQ,GAAkC,IAAI,CAAC;IAC/C,cAAc,GAAiC,IAAI,CAAC;IACpD,qBAAqB,GAAiC,IAAI,CAAC;IAC3D,WAAW,GAAuB,IAAI,CAAC;IAE/C,qEAAqE;IAC7D,eAAe,GAAsC,IAAI,CAAC;IAC1D,kBAAkB,GAAmC,IAAI,CAAC;IAC1D,2BAA2B,GACjC,IAAI,CAAC;IACC,mBAAmB,GAAoC,IAAI,CAAC;IAC5D,yBAAyB,GAC/B,IAAI,CAAC;IAEP;;;;OAIG;IACK,WAAW,GAAkB,IAAI,CAAC;IAE1C,YAAY,WAA6B;QACvC,KAAK,CACH,WAAW;QACX,gFAAgF;QAChF,CAAC,GAAsB,EAAE,EAAE;YACzB,MAAM,MAAM,GAAG,IAAI,eAAS,CAAM,GAAe,CAAC,CAAC;YACnD,kEAAkE;YAClE,mDAAmD;YAClD,GAAgB,CAAC,SAAS,GAAG,MAAM,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,oEAAoE;QACpE,SAAS;QACT,6EAA6E;QAC7E,qBAAS;QACT,4EAA4E;QAC5E,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,eAAS,CAAM,SAA2B,CAAC;QAC9D,2EAA2E;QAC3E,CAAC,GAA2C,EAAE,EAAE,CAAC,yBAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAEvE,CAAC;QAEF,gFAAgF;QAChF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mDAAuB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,UAAU,GAAG,2BAAgB,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,yBAAyB,GAAG,IAAA,uDAAwB,EAAC;YACxD,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,2BAAS,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,4EAA4E;IAC5E,IAAoB,EAAE;QACpB,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED;;;;;;;;OAQG;IACH,wFAAwF;IACxE,QAAQ,CACtB,SAAiB;QAEjB,2CAA2C;QAC3C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,gEAAgE;gBAChE,6DAA6D;gBAC7D,mEAAmE;gBACnE,8DAA8D;gBAC9D,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,CAAQ,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAI,SAAS,CAAC,CAAC;IACjE,CAAC;IAEe,KAAK,CAAC,KAAK,CAAC,KAAc;QACxC,oEAAoE;QACpE,kFAAkF;QAClF,qEAAqE;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAuC,EAAE,EAAE;YACvE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAkC,CAAC;QAEpC,gFAAgF;QAChF,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEzB,oEAAoE;QACpE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;QAExC,iEAAiE;QACjE,wEAAwE;QACxE,4EAA4E;QAC5E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,yBAAyB;YACrE,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,6BAA6B;QACzE,CAAC;QAED,oEAAoE;QACpE,yDAAyD;QACzD,iDAAiD;QACjD,iEAAiE;QACjE,qDAAqD;QACrD,yFAAyF;QAEzF,6EAA6E;QAC7E,0EAA0E;QAC1E,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;QAElD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAE7C,MAAM,YAAY,GAAG,IAAI,8BAAY,EAAE,CAAC;QAExC,uEAAuE;QACvE,uDAAuD;QACvD,8DAA8D;QAC9D,MAAM,YAAY,GAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB;YACzD,CAAC,CAAC,mCAAgB,CAAC,WAAW,EAAE;YAChC,CAAC,CAAC,IAAI,uBAAY,CAAM,IAAI,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAA,uCAAqB,GAAE,CAAC,CAAC;YAC7C,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,sBAErB,CAAC;QACd,MAAM,WAAW,GAAG,IAAI,sBAAW,CACjC,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,YAAY,CACb,CAAC;QAEF,+DAA+D;QAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAElD,mFAAmF;QACnF,MAAM,eAAe,GAAG,iCAAe,CAAC,WAAW,EAAO,CAAC;QAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QAClD,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,IAAI,uCAA4B,CACxD,WAA+B;QAC/B,kGAAkG;QAClG,8DAA8D;QAC9D,YAAmB,EACnB,kBAAkB,EAClB,qBAAS,CAAC,YAAoC,CAC/C,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAErE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,sCAAiB,CAAC,aAAa;YAChD,8DAA8D;YAC9D,IAAI,CAAC,WAAkB,EACvB,IAAI,CAAC,SAAS,CACf,CAAC;YACF,8DAA8D;YAC9D,iBAAiB,CAAC,aAAa,CAAC,UAAiB,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;YAChE,OAAO,CAAC,IAAI,CACV,kHAAkH,CACnH,CAAC;QACJ,CAAC;QAED,2DAA2D;QAC3D,MAAM,cAAc,GAAG,IAAI,oCAAyB,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;QAE/D,+EAA+E;QAC/E,MAAM,kBAAkB,GAAG,IAAI,6BAAkB,CAAM,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAEnD,+CAA+C;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,iDAAuB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9D,iDAAiD;QACjD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,wCAAwC,CACzC,CAAC;YAEF,oDAAoD;YACpD,8BAA8B;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,6CAAqB,CAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CAAC,SAAS,CAC3B,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEpE,0EAA0E;YAC1E,kFAAkF;YAClF,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAErD,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,wEAAwE,CACzE,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;QAED,mEAAmE;QACnE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,2DAA2D;YAC3D,iEAAiE;YACjE,gEAAgE;YAChE,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,OAAO,GAAG,IAAW,CAAC;YAC5B,MAAM,iBAAiB,GAAG;gBACxB,QAAQ,CAAI,IAAY;oBACtB,OAAO,IAAA,kCAAc,EAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,CAAC;aACF,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,iBAAiB,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,IAAA,mCAAmB,EAAC,iBAAiB,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,iBAAiB,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM,mBAAmB,GAAG,IAAI,8BAAmB,CAAC,iBAAiB,CAAC,CAAC;YACvE,MAAM,iBAAiB,GAAG,IAAI,4BAAiB,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,gBAAgB,GAAG,IAAI,2BAAgB,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM,kBAAkB,GAAG,IAAI,6BAAkB,CAAC,iBAAiB,CAAC,CAAC;YAErE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;YAEvE,oEAAoE;YACpE,WAAW,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;YACxD,kBAAkB,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;YAE/D,0EAA0E;YAC1E,kBAAkB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;YAE3D,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,mBAAmB,CAAC,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,CAAC;YAElE,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,iDAAiD,CAClD,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,2EAA2E;QAC3E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,aAAQ,CAAC,UAAU,EAAE;gBACxC,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAqB,CAC9C,QAAQ,EACR,iCAAe,CAAC,WAAW,EAAO,CAAC,UAAU,CAC9C,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtE,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,qEAAqE,CACtE,CAAC;YAEF,6DAA6D;YAC7D,MAAM,eAAe,GAAG,iCAAe,CAAC,WAAW,EAAO,CAAC;YAC3D,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;YACtD,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;YAElD,sEAAsE;YACtE,+DAA+D;YAC/D,iFAAiF;YACjF,MAAM,eAAe,GAAG,IAAI,iCAAe,CACzC,IAAI,CAAC,eAAe;YACpB,kEAAkE;YAClE,wEAAwE;YACxE,8DAA8D;YAC9D,IAAW;YACX,yEAAyE;YACzE,8DAA8D;YAC9D,8DAA8D;YAC9D,YAAmB,CACpB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;YAEjE,uDAAuD;YACvD,MAAM,uBAAuB,GAAG,IAAI,yCAAuB,CACzD,IAAI,CAAC,eAAe,EACpB,cAAc,EACd,YAAY,EACZ,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,EAAE,EAChD,GAAG,EAAE,CAAC,IAAI,CAAC,eAAgB,CAAC,gBAAgB,EAAE,CAC/C,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,yBAAyB,EACzB,GAAG,EAAE,CAAC,uBAAuB,CAC9B,CAAC;YAEF,uBAAuB;YACvB,MAAM,aAAa,GAAG,IAAI,+BAAa,CACrC,IAAI,CAAC,eAAe,EACpB,uBAAuB,EACvB,YAAY,EACZ,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,EAAE,CACjD,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YAE7D,sDAAsD;YACtD,iEAAiE;YACjE,mEAAmE;YACnE,sEAAsE;YACtE,MAAM,UAAU,GAAG;gBACjB,sBAAsB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;gBACtC,kBAAkB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;gBAClC,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;gBAC1B,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;gBAC3B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;gBACtB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;aACxB,CAAC;YACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,oCAAkB,CAC9C,IAAI,CAAC,eAAe,EACpB,cAAc;YACd,8DAA8D;YAC9D,UAAiB,EACjB,eAAe,EACf,aAAa,CACd,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,oBAAoB,EACpB,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAC9B,CAAC;YACF,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,4CAA4C,CAC7C,CAAC;YAEF,+CAA+C;YAC/C,IAAI,CAAC,2BAA2B,GAAG,IAAI,sCAA2B,CAChE,IAAI,CAAC,eAAe,EACpB,eAAe,CAChB,CAAC;YACF,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,6BAA6B,EAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,CACvC,CAAC;YACF,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,iDAAiD,CAClD,CAAC;YAEF,kFAAkF;YAClF,qEAAqE;YACrE,8DAA8D;YAC9D,uEAAuE;YACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,4BAA4B,EAC5B,GAAG,EAAE,CAAC,CAAC,aAA4B,EAAE,EAAE;gBACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,yCAAmB,CAChD,aAAa,EACb,IAAI,CAAC,kBAAmB,EACxB,IAAI,CAAC,eAAgB,CACtB,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,qBAAqB,EACrB,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAC/B,CAAC;gBACF,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,4EAA4E,CAC7E,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,6FAA6F;YAC7F,MAAM,sBAAsB,GAAG,IAAI,wCAAsB,EAAO,CAAC;YACjE,MAAM,iBAAiB,GAAG,IAAI,mCAAiB,CAC7C,IAAI,CAAC,eAAe,EACpB,YAAY,EACZ,sBAAsB,CACvB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;YAErE,MAAM,uBAAuB,GAAG,IAAI,kCAAuB,CACzD,iBAAiB,EACjB,uBAAuB,CACxB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,yBAAyB,EACzB,GAAG,EAAE,CAAC,uBAAuB,CAC9B,CAAC;YAEF,2CAA2C;YAC3C,MAAM,cAAc,GAAG,IAAI,4BAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;YAE/D,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CACV,gFAAgF,EAChF,SAAS,CACV,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9D,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,yCAAyC,CAC1C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,qCAAqC,CACtC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CACV,0EAA0E,EAC1E,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,IAAI;QACxB,gEAAgE;QAEhE,qEAAqE;QACrE,yDAAyD;QACzD,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACrC,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,4CAA4C,CAC7C,CAAC;YACF,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,qCAAqC,CACtC,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAEtC,8BAA8B;QAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAA,6BAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,gCAAgC,CAAC,CAAC;YAC1E,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAA,6BAAQ,EAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,+BAA+B,CAAC,CAAC;YACzE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,sCAAsC,CACvC,CAAC;YACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,cAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,2FAA2F;QAC3F,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAc,IAAY;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,UAAmB;QACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,wBAAwB;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,wBAAwB,CAAC,OAA8B;QAC5D,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,oBAAoB,CAAC,QAA4B;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,sBAAsB,CAAC,OAA6B;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,wBAAwB,CAAC,OAA+B;QAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,uBAAuB,CAC5B,oBAA0C,EAC1C,aAA4B;QAE5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAE3E,iDAAiD;QACjD,aAAa,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,EAAE;YAC5C,IAAI,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC1C,oBAAoB,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACtE,oBAAoB,CAAC,iBAAiB,CACpC,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,MAAM,CACpB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;YACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAE5C,4BAA4B,CAAC,CAAC;YAChC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,oCAAoC,CAAC,oBAAoB,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;CACF;AA5tBD,kBA4tBC"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAa3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,aAQvB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAS3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,aAQvB,CAAC"}
@@ -27,7 +27,7 @@ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
27
27
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
28
28
  const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
29
29
  const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
30
- const expressConsts = (0, node_express_suite_1.createExpressConstants)('brightchain.org', 'brightchain.org', {
30
+ const expressConsts = (0, node_express_suite_1.createExpressConstants)({
31
31
  Site: 'BrightChain',
32
32
  SiteTagline: 'Privacy. Participation. Power.',
33
33
  SiteDescription: 'Your files are broken into blocks and mixed with random data using XOR operations, making them appear completely random while maintaining perfect security. From homomorphic voting to brokered anonymity, from distributed file storage to quorum-based governance, BrightChain offers everything needed for the next generation of decentralized applications.',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,kEAA0E;AAC1E,0DAA4D;AAC5D,oEAA8D;AAC9D,4EAA6E;AAG7E,MAAM,aAAa,GAAG,IAAA,2CAAsB,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB;IACE,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,gCAAgC;IAC7C,eAAe,EACb,kWAAkW;CACrW,CACF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACU,QAAA,SAAS,GAAkB;IACtC,GAAG,2BAAa;IAChB,GAAG,aAAa;IAChB,eAAe,EAAE,aAAa,CAAC,eAAe;IAC9C,WAAW,EAAX,4BAAW;IACX,wEAAwE;IACxE,0EAA0E;IAC1E,UAAU,EAAE,IAAI,0BAAc,EAAE;CACjC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,kEAA0E;AAC1E,0DAA4D;AAC5D,oEAA8D;AAC9D,4EAA6E;AAG7E,MAAM,aAAa,GAAG,IAAA,2CAAsB,EAAC;IAC3C,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,gCAAgC;IAC7C,eAAe,EACb,kWAAkW;CACrW,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACU,QAAA,SAAS,GAAkB;IACtC,GAAG,2BAAa;IAChB,GAAG,aAAa;IAChB,eAAe,EAAE,aAAa,CAAC,eAAe;IAC9C,WAAW,EAAX,4BAAW;IACX,wEAAwE;IACxE,0EAA0E;IAC1E,UAAU,EAAE,IAAI,0BAAc,EAAE;CACjC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * @fileoverview BrightChain database initialization function.
3
3
  *
4
- * Replaces the no-op DatabaseInitFunction with a real implementation that
5
- * creates persistent (or ephemeral) stores based on environment configuration.
4
+ * Wraps the generic brightchainDatabaseInit from @brightchain/node-express-suite,
5
+ * passing domain-specific model registrations (energy account hydration schema)
6
+ * as a callback. Returns the full IBrightChainInitData including MemberStore
7
+ * and EnergyAccountStore.
6
8
  *
7
9
  * @module databaseInit
8
10
  */
@@ -12,15 +14,9 @@ import { Environment } from './environment';
12
14
  /**
13
15
  * Initialize the BrightChain database stack.
14
16
  *
15
- * Reads `blockStorePath` and `blockStoreBlockSizes` from the Environment:
16
- * - If `blockStorePath` is set: validates the path, creates a DiskBlockStore,
17
- * and creates a BrightDb with a PersistentHeadRegistry via `dataDir`.
18
- * - If `blockStorePath` is not set: creates a MemoryBlockStore, logs a warning,
19
- * and creates a BrightDb with an InMemoryHeadRegistry.
20
- *
21
- * Registers an `energy_accounts` Model on BrightDB with the energy account
22
- * hydration schema, then passes the Model (as ITypedCollection) directly to
23
- * EnergyAccountStore — no adapter needed.
17
+ * Delegates to the Suite's generic brightchainDatabaseInit for block store
18
+ * and BrightDb creation, then adds domain-specific stores (MemberStore,
19
+ * EnergyAccountStore) on top via the modelRegistrations callback.
24
20
  *
25
21
  * @returns An IInitResult containing the initialized stores on success,
26
22
  * or a failure result with a descriptive error message.
@@ -1 +1 @@
1
- {"version":3,"file":"databaseInit.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/databaseInit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EAEpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAStC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA0B5C;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,SAAS,UAAU,EAClE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CA8F5C"}
1
+ {"version":3,"file":"databaseInit.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/databaseInit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EAEpB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,SAAS,UAAU,EAClE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,GAC5B,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAgD5C"}