@brightchain/brightchain-api-lib 0.13.0 → 0.14.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 (34) hide show
  1. package/package.json +2 -2
  2. package/src/lib/availability/configValidation.d.ts.map +1 -1
  3. package/src/lib/availability/configValidation.js +20 -0
  4. package/src/lib/availability/configValidation.js.map +1 -1
  5. package/src/lib/availability/gossipService.d.ts +150 -7
  6. package/src/lib/availability/gossipService.d.ts.map +1 -1
  7. package/src/lib/availability/gossipService.js +297 -17
  8. package/src/lib/availability/gossipService.js.map +1 -1
  9. package/src/lib/interfaces/websocketMessages.d.ts +30 -1
  10. package/src/lib/interfaces/websocketMessages.d.ts.map +1 -1
  11. package/src/lib/services/index.d.ts +1 -0
  12. package/src/lib/services/index.d.ts.map +1 -1
  13. package/src/lib/services/index.js +1 -0
  14. package/src/lib/services/index.js.map +1 -1
  15. package/src/lib/services/messagePassingService.d.ts +95 -5
  16. package/src/lib/services/messagePassingService.d.ts.map +1 -1
  17. package/src/lib/services/messagePassingService.js +187 -28
  18. package/src/lib/services/messagePassingService.js.map +1 -1
  19. package/src/lib/services/webSocketMessageServer.d.ts +18 -23
  20. package/src/lib/services/webSocketMessageServer.d.ts.map +1 -1
  21. package/src/lib/services/webSocketMessageServer.js +30 -46
  22. package/src/lib/services/webSocketMessageServer.js.map +1 -1
  23. package/src/lib/services/webSocketPeerProvider.d.ts +49 -0
  24. package/src/lib/services/webSocketPeerProvider.d.ts.map +1 -0
  25. package/src/lib/services/webSocketPeerProvider.js +133 -0
  26. package/src/lib/services/webSocketPeerProvider.js.map +1 -0
  27. package/src/lib/services/websocketHandler.d.ts +11 -8
  28. package/src/lib/services/websocketHandler.d.ts.map +1 -1
  29. package/src/lib/services/websocketHandler.js +33 -40
  30. package/src/lib/services/websocketHandler.js.map +1 -1
  31. package/src/lib/stores/diskMessageMetadataStore.d.ts +2 -2
  32. package/src/lib/stores/diskMessageMetadataStore.d.ts.map +1 -1
  33. package/src/lib/stores/diskMessageMetadataStore.js +1 -1
  34. package/src/lib/stores/diskMessageMetadataStore.js.map +1 -1
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * WebSocket-based IPeerProvider implementation.
4
+ *
5
+ * Bridges the GossipService's IPeerProvider interface to real WebSocket
6
+ * connections between BrightChain nodes. Each peer is represented by an
7
+ * outbound WebSocket client connection to that peer's WebSocketMessageServer.
8
+ *
9
+ * Used for real cross-node gossip transport in both production and
10
+ * integration testing (multiple servers on different ports).
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.WebSocketPeerProvider = void 0;
14
+ const ws_1 = require("ws");
15
+ /**
16
+ * IPeerProvider implementation that sends gossip batches over WebSocket.
17
+ *
18
+ * For each peer, maintains an outbound WebSocket connection to that peer's
19
+ * WebSocketMessageServer. Announcement batches are serialized to JSON and
20
+ * sent as 'gossip_batch' messages.
21
+ */
22
+ class WebSocketPeerProvider {
23
+ constructor(localNodeId) {
24
+ this.localNodeId = localNodeId;
25
+ this.peers = new Map();
26
+ }
27
+ getLocalNodeId() {
28
+ return this.localNodeId;
29
+ }
30
+ getConnectedPeerIds() {
31
+ const connected = [];
32
+ for (const [peerId, peer] of this.peers) {
33
+ if (peer.ready && peer.ws.readyState === ws_1.WebSocket.OPEN) {
34
+ connected.push(peerId);
35
+ }
36
+ }
37
+ return connected;
38
+ }
39
+ /**
40
+ * Connect to a peer's WebSocketMessageServer.
41
+ *
42
+ * @param peerId - The peer's node ID
43
+ * @param url - WebSocket URL, e.g. ws://localhost:3001/{localNodeId}
44
+ * @returns Promise that resolves when the connection is open
45
+ */
46
+ async connectToPeer(peerId, url) {
47
+ return new Promise((resolve, reject) => {
48
+ const ws = new ws_1.WebSocket(url);
49
+ const peer = { ws, ready: false, publicKey: null };
50
+ this.peers.set(peerId, peer);
51
+ ws.on('open', () => {
52
+ peer.ready = true;
53
+ resolve();
54
+ });
55
+ ws.on('error', (err) => {
56
+ peer.ready = false;
57
+ if (!peer.ready) {
58
+ reject(err);
59
+ }
60
+ });
61
+ ws.on('close', () => {
62
+ peer.ready = false;
63
+ });
64
+ });
65
+ }
66
+ /**
67
+ * Register a peer's ECIES public key for encrypted gossip.
68
+ */
69
+ registerPeerPublicKey(peerId, publicKey) {
70
+ const peer = this.peers.get(peerId);
71
+ if (peer) {
72
+ peer.publicKey = publicKey;
73
+ }
74
+ }
75
+ async sendAnnouncementBatch(peerId, announcements, encrypted) {
76
+ const peer = this.peers.get(peerId);
77
+ if (!peer || !peer.ready || peer.ws.readyState !== ws_1.WebSocket.OPEN) {
78
+ throw new Error(`Peer ${peerId} not connected`);
79
+ }
80
+ const message = JSON.stringify({
81
+ type: 'gossip_batch',
82
+ announcements: announcements.map((a) => ({
83
+ type: a.type,
84
+ blockId: a.blockId,
85
+ nodeId: a.nodeId,
86
+ timestamp: a.timestamp,
87
+ ttl: a.ttl,
88
+ ...(a.messageDelivery ? { messageDelivery: a.messageDelivery } : {}),
89
+ ...(a.deliveryAck ? { deliveryAck: a.deliveryAck } : {}),
90
+ })),
91
+ ...(encrypted ? { encrypted } : {}),
92
+ });
93
+ return new Promise((resolve, reject) => {
94
+ peer.ws.send(message, (err) => {
95
+ if (err)
96
+ reject(err);
97
+ else
98
+ resolve();
99
+ });
100
+ });
101
+ }
102
+ async getPeerPublicKey(peerId) {
103
+ const peer = this.peers.get(peerId);
104
+ return peer?.publicKey ?? null;
105
+ }
106
+ /**
107
+ * Disconnect from all peers and close all WebSocket connections.
108
+ */
109
+ async disconnectAll() {
110
+ for (const [, peer] of this.peers) {
111
+ peer.ready = false;
112
+ if (peer.ws.readyState === ws_1.WebSocket.OPEN) {
113
+ peer.ws.close();
114
+ }
115
+ }
116
+ this.peers.clear();
117
+ }
118
+ /**
119
+ * Disconnect from a specific peer.
120
+ */
121
+ disconnectPeer(peerId) {
122
+ const peer = this.peers.get(peerId);
123
+ if (peer) {
124
+ peer.ready = false;
125
+ if (peer.ws.readyState === ws_1.WebSocket.OPEN) {
126
+ peer.ws.close();
127
+ }
128
+ this.peers.delete(peerId);
129
+ }
130
+ }
131
+ }
132
+ exports.WebSocketPeerProvider = WebSocketPeerProvider;
133
+ //# sourceMappingURL=webSocketPeerProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webSocketPeerProvider.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/webSocketPeerProvider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * WebSocket message handler for Block Availability and Discovery Protocol
3
3
  */
4
- import { IAvailabilityService, IBlockRegistry, IDiscoveryProtocol, IGossipService, IHeartbeatMonitor, IMessageRouter } from '@brightchain/brightchain-lib';
4
+ import { IAvailabilityService, IBlockRegistry, IDiscoveryProtocol, IGossipService, IHeartbeatMonitor } from '@brightchain/brightchain-lib';
5
+ import { ECIESService } from '@digitaldefiance/node-ecies-lib';
5
6
  import { WebSocketMessage } from '../interfaces/websocketMessages';
6
7
  /**
7
8
  * WebSocket connection interface
@@ -23,7 +24,10 @@ export interface IWebSocketHandlerConfig {
23
24
  gossipService: IGossipService;
24
25
  heartbeatMonitor: IHeartbeatMonitor;
25
26
  availabilityService: IAvailabilityService;
26
- messageRouter?: IMessageRouter;
27
+ /** Optional ECIES service for decrypting encrypted gossip payloads */
28
+ eciesService?: ECIESService;
29
+ /** Optional local node private key for ECIES decryption */
30
+ localPrivateKey?: Buffer;
27
31
  }
28
32
  /**
29
33
  * WebSocket message handler service
@@ -35,7 +39,8 @@ export declare class WebSocketHandler {
35
39
  private readonly gossipService;
36
40
  private readonly heartbeatMonitor;
37
41
  private readonly availabilityService;
38
- private readonly messageRouter?;
42
+ private readonly eciesService?;
43
+ private readonly localPrivateKey?;
39
44
  private readonly connections;
40
45
  constructor(config: IWebSocketHandlerConfig);
41
46
  /**
@@ -78,6 +83,9 @@ export declare class WebSocketHandler {
78
83
  * Handle block removal
79
84
  */
80
85
  private handleBlockRemoval;
86
+ /**
87
+ * Handle announcement batch
88
+ */
81
89
  /**
82
90
  * Handle announcement batch
83
91
  */
@@ -86,10 +94,5 @@ export declare class WebSocketHandler {
86
94
  * Handle ping message
87
95
  */
88
96
  private handlePing;
89
- private handleMessageSend;
90
- private handleMessageReceived;
91
- private handleMessageAck;
92
- private handleMessageQuery;
93
- private handleEventSubscribe;
94
97
  }
95
98
  //# sourceMappingURL=websocketHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocketHandler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/websocketHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAiBL,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,cAAc,CAAC;IAC9B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,cAAc,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,mBAAmB,EAAE,oBAAoB,CAAC;IAC1C,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgD;gBAEhE,MAAM,EAAE,uBAAuB;IAU3C;;OAEG;IACI,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAcjE;;OAEG;IACI,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIvD;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAMjD;;OAEG;IACI,gBAAgB,CACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,GACxB,IAAI;IAOP;;OAEG;YACW,aAAa;IAkF3B;;OAEG;YACW,wBAAwB;IAwBtC;;OAEG;YACW,gBAAgB;IAoB9B;;OAEG;YACW,qBAAqB;IAuBnC;;OAEG;YACW,uBAAuB;IAsBrC;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;YACW,uBAAuB;IA8BrC;;OAEG;YACW,UAAU;YAkBV,iBAAiB;YAWjB,qBAAqB;YAUrB,gBAAgB;YAIhB,kBAAkB;YAOlB,oBAAoB;CAMnC"}
1
+ {"version":3,"file":"websocketHandler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/websocketHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAM/D,OAAO,EAYL,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC1D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,cAAc,CAAC;IAC9B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,aAAa,EAAE,cAAc,CAAC;IAC9B,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,mBAAmB,EAAE,oBAAoB,CAAC;IAC1C,sEAAsE;IACtE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAC3D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgD;gBAEhE,MAAM,EAAE,uBAAuB;IAW3C;;OAEG;IACI,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAcjE;;OAEG;IACI,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIvD;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAMjD;;OAEG;IACI,gBAAgB,CACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,gBAAgB,GACxB,IAAI;IAOP;;OAEG;YACW,aAAa;IAwD3B;;OAEG;YACW,wBAAwB;IAwBtC;;OAEG;YACW,gBAAgB;IAoB9B;;OAEG;YACW,qBAAqB;IAuBnC;;OAEG;YACW,uBAAuB;IAsBrC;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;IACH;;OAEG;YACW,uBAAuB;IAoErC;;OAEG;YACW,UAAU;CAezB"}
@@ -17,7 +17,8 @@ class WebSocketHandler {
17
17
  this.gossipService = config.gossipService;
18
18
  this.heartbeatMonitor = config.heartbeatMonitor;
19
19
  this.availabilityService = config.availabilityService;
20
- this.messageRouter = config.messageRouter;
20
+ this.eciesService = config.eciesService;
21
+ this.localPrivateKey = config.localPrivateKey;
21
22
  }
22
23
  /**
23
24
  * Register a new WebSocket connection
@@ -86,22 +87,6 @@ class WebSocketHandler {
86
87
  case websocketMessageType_1.HeartbeatMessageType.PING:
87
88
  await this.handlePing(connection, message);
88
89
  break;
89
- // Message passing messages
90
- case websocketMessageType_1.MessagePassingType.MESSAGE_SEND:
91
- await this.handleMessageSend(connection, message);
92
- break;
93
- case websocketMessageType_1.MessagePassingType.MESSAGE_RECEIVED:
94
- await this.handleMessageReceived(message);
95
- break;
96
- case websocketMessageType_1.MessagePassingType.MESSAGE_ACK:
97
- await this.handleMessageAck(message);
98
- break;
99
- case websocketMessageType_1.MessagePassingType.MESSAGE_QUERY:
100
- await this.handleMessageQuery(connection, message);
101
- break;
102
- case websocketMessageType_1.MessagePassingType.EVENT_SUBSCRIBE:
103
- await this.handleEventSubscribe(connection, message);
104
- break;
105
90
  default:
106
91
  console.warn(`Unknown message type: ${message.type}`);
107
92
  }
@@ -204,11 +189,31 @@ class WebSocketHandler {
204
189
  ttl: message.payload.ttl,
205
190
  });
206
191
  }
192
+ /**
193
+ * Handle announcement batch
194
+ */
207
195
  /**
208
196
  * Handle announcement batch
209
197
  */
210
198
  async handleAnnouncementBatch(message) {
211
- for (const announcement of message.payload.announcements) {
199
+ let announcements = message.payload.announcements;
200
+ // Detect encrypted payload and attempt decryption
201
+ if (message.payload.encryptedPayload) {
202
+ if (!this.eciesService || !this.localPrivateKey) {
203
+ console.error(`Received encrypted gossip batch from ${message.payload.senderNodeId ?? 'unknown'} but no ECIES service or private key configured — discarding batch`);
204
+ return;
205
+ }
206
+ try {
207
+ const ciphertext = Buffer.from(message.payload.encryptedPayload, 'base64');
208
+ const decrypted = await this.eciesService.decryptWithLengthAndHeader(this.localPrivateKey, ciphertext);
209
+ announcements = JSON.parse(Buffer.from(decrypted).toString('utf-8'));
210
+ }
211
+ catch (error) {
212
+ console.error(`Failed to decrypt gossip batch from sender ${message.payload.senderNodeId ?? 'unknown'}:`, error);
213
+ return;
214
+ }
215
+ }
216
+ for (const announcement of announcements) {
212
217
  if (announcement.type === 'add') {
213
218
  await this.availabilityService.updateLocation(announcement.blockId, {
214
219
  nodeId: announcement.nodeId,
@@ -216,16 +221,24 @@ class WebSocketHandler {
216
221
  isAuthoritative: true,
217
222
  });
218
223
  }
219
- else {
224
+ else if (announcement.type === 'remove') {
220
225
  await this.availabilityService.removeLocation(announcement.blockId, announcement.nodeId);
221
226
  }
222
- // Forward to gossip service
227
+ // 'ack' type announcements are forwarded directly to gossip service
228
+ // without updating availability metadata
229
+ // Forward to gossip service for propagation
223
230
  await this.gossipService.handleAnnouncement({
224
231
  type: announcement.type,
225
232
  blockId: announcement.blockId,
226
233
  nodeId: announcement.nodeId,
227
234
  timestamp: new Date(message.timestamp),
228
235
  ttl: announcement.ttl,
236
+ ...(announcement.type === 'add' && announcement.messageDelivery
237
+ ? { messageDelivery: announcement.messageDelivery }
238
+ : {}),
239
+ ...(announcement.type === 'ack' && announcement.deliveryAck
240
+ ? { deliveryAck: announcement.deliveryAck }
241
+ : {}),
229
242
  });
230
243
  }
231
244
  }
@@ -244,26 +257,6 @@ class WebSocketHandler {
244
257
  };
245
258
  connection.send(response);
246
259
  }
247
- // ===== Message Passing Handlers =====
248
- async handleMessageSend(_connection, message) {
249
- if (!this.messageRouter)
250
- return;
251
- await this.messageRouter.routeMessage(message.payload.messageId, message.payload.recipients);
252
- }
253
- async handleMessageReceived(message) {
254
- if (!this.messageRouter)
255
- return;
256
- await this.messageRouter.handleIncomingMessage(message.payload.messageId, message.payload.recipientId);
257
- }
258
- async handleMessageAck(_message) {
259
- // ACK handled by MessagePassingService
260
- }
261
- async handleMessageQuery(_connection, _message) {
262
- // Query handled by MessagePassingService
263
- }
264
- async handleEventSubscribe(_connection, _message) {
265
- // Subscription handled by MessageEventsWebSocketHandler
266
- }
267
260
  }
268
261
  exports.WebSocketHandler = WebSocketHandler;
269
262
  //# sourceMappingURL=websocketHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocketHandler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/websocketHandler.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAUH,+EAK8C;AA6C9C;;GAEG;AACH,MAAa,gBAAgB;IAU3B,YAAY,MAA+B;QAF1B,gBAAW,GAAsC,IAAI,GAAG,EAAE,CAAC;QAG1E,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,UAAgC;QACxD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAEhD,yBAAyB;QACzB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAwB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,YAAoB;QAC9C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,OAAyB;QACxC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB,CACrB,YAAoB,EACpB,OAAyB;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACzB,UAAgC,EAChC,OAAyB;QAEzB,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,8BAA8B;gBAC9B,KAAK,2CAAoB,CAAC,oBAAoB;oBAC5C,MAAM,IAAI,CAAC,wBAAwB,CACjC,UAAU,EACV,OAA8B,CAC/B,CAAC;oBACF,MAAM;gBACR,KAAK,2CAAoB,CAAC,WAAW;oBACnC,MAAM,IAAI,CAAC,gBAAgB,CACzB,UAAU,EACV,OAA6B,CAC9B,CAAC;oBACF,MAAM;gBACR,KAAK,2CAAoB,CAAC,gBAAgB;oBACxC,MAAM,IAAI,CAAC,qBAAqB,CAC9B,UAAU,EACV,OAA2B,CAC5B,CAAC;oBACF,MAAM;gBAER,2BAA2B;gBAC3B,KAAK,wCAAiB,CAAC,kBAAkB;oBACvC,MAAM,IAAI,CAAC,uBAAuB,CAChC,OAAoC,CACrC,CAAC;oBACF,MAAM;gBACR,KAAK,wCAAiB,CAAC,aAAa;oBAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAA+B,CAAC,CAAC;oBAC/D,MAAM;gBACR,KAAK,wCAAiB,CAAC,kBAAkB;oBACvC,MAAM,IAAI,CAAC,uBAAuB,CAChC,OAAoC,CACrC,CAAC;oBACF,MAAM;gBAER,qBAAqB;gBACrB,KAAK,2CAAoB,CAAC,IAAI;oBAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAuB,CAAC,CAAC;oBAC3D,MAAM;gBAER,2BAA2B;gBAC3B,KAAK,yCAAkB,CAAC,YAAY;oBAClC,MAAM,IAAI,CAAC,iBAAiB,CAC1B,UAAU,EACV,OAA8B,CAC/B,CAAC;oBACF,MAAM;gBACR,KAAK,yCAAkB,CAAC,gBAAgB;oBACtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAkC,CAAC,CAAC;oBACrE,MAAM;gBACR,KAAK,yCAAkB,CAAC,WAAW;oBACjC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAA6B,CAAC,CAAC;oBAC3D,MAAM;gBACR,KAAK,yCAAkB,CAAC,aAAa;oBACnC,MAAM,IAAI,CAAC,kBAAkB,CAC3B,UAAU,EACV,OAA+B,CAChC,CAAC;oBACF,MAAM;gBACR,KAAK,yCAAkB,CAAC,eAAe;oBACrC,MAAM,IAAI,CAAC,oBAAoB,CAC7B,UAAU,EACV,OAAiC,CAClC,CAAC;oBACF,MAAM;gBAER;oBACE,OAAO,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,0CAA0C;IAE1C;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,UAAgC,EAChC,OAA4B;QAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAE3D,MAAM,QAAQ,GAAyB;YACrC,IAAI,EAAE,2CAAoB,CAAC,qBAAqB;YAChD,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,WAAW,EAAE;oBACX,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,yBAAyB;oBACjD,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;oBAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC;aACF;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,UAAgC,EAChC,OAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAwB;YACpC,IAAI,EAAE,2CAAoB,CAAC,oBAAoB;YAC/C,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;gBAChC,QAAQ;gBACR,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,UAAgC,EAChC,OAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAErD,MAAM,QAAQ,GAAsB;YAClC,IAAI,EAAE,2CAAoB,CAAC,iBAAiB;YAC5C,OAAO,EAAE;gBACP,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,uCAAuC;IAEvC;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAkC;QAElC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAE5C,2BAA2B;QAC3B,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE;YACrD,MAAM;YACN,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrC,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;YAC1C,IAAI,EAAE,KAAK;YACX,OAAO;YACP,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAA6B;QAE7B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAE5C,kBAAkB;QAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE/D,4CAA4C;QAC5C,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;YAC1C,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,OAAkC;QAElC,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YACzD,IAAI,YAAY,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE;oBAClE,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBACrC,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3C,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,MAAM,CACpB,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAC1C,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACtC,GAAG,EAAE,YAAY,CAAC,GAAG;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACK,KAAK,CAAC,UAAU,CACtB,UAAgC,EAChC,OAAqB;QAErB,MAAM,QAAQ,GAAiB;YAC7B,IAAI,EAAE,2CAAoB,CAAC,IAAI;YAC/B,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB;YACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,uCAAuC;IAE/B,KAAK,CAAC,iBAAiB,CAC7B,WAAiC,EACjC,OAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACnC,OAAO,CAAC,OAAO,CAAC,SAAS,EACzB,OAAO,CAAC,OAAO,CAAC,UAAU,CAC3B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAC5C,OAAO,CAAC,OAAO,CAAC,SAAS,EACzB,OAAO,CAAC,OAAO,CAAC,WAAW,CAC5B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAA4B;QACzD,uCAAuC;IACzC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,WAAiC,EACjC,QAA8B;QAE9B,yCAAyC;IAC3C,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,WAAiC,EACjC,QAAgC;QAEhC,wDAAwD;IAC1D,CAAC;CACF;AA7WD,4CA6WC"}
1
+ {"version":3,"file":"websocketHandler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/websocketHandler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BlockSize, IMessageMetadata, IMessageMetadataStore, MessageDeliveryStatus, MessageQuery, MessageQueryOptions } from '@brightchain/brightchain-lib';
1
+ import { BlockSize, DeliveryStatus, IMessageMetadata, IMessageMetadataStore, MessageQuery, MessageQueryOptions } from '@brightchain/brightchain-lib';
2
2
  import { DiskBlockMetadataStore } from './diskBlockMetadataStore';
3
3
  export declare class DiskMessageMetadataStore extends DiskBlockMetadataStore implements IMessageMetadataStore {
4
4
  constructor(storePath: string, blockSize: BlockSize);
@@ -7,7 +7,7 @@ export declare class DiskMessageMetadataStore extends DiskBlockMetadataStore imp
7
7
  private deserializeMessageMetadata;
8
8
  storeMessageMetadata(metadata: IMessageMetadata): Promise<void>;
9
9
  queryMessages(query: MessageQuery): Promise<IMessageMetadata[]>;
10
- updateDeliveryStatus(messageId: string, recipientId: string, status: MessageDeliveryStatus): Promise<void>;
10
+ updateDeliveryStatus(messageId: string, recipientId: string, status: DeliveryStatus): Promise<void>;
11
11
  recordAcknowledgment(messageId: string, recipientId: string, timestamp: Date): Promise<void>;
12
12
  getMessagesByRecipient(recipientId: string, options?: MessageQueryOptions): Promise<IMessageMetadata[]>;
13
13
  getMessagesBySender(senderId: string, options?: MessageQueryOptions): Promise<IMessageMetadata[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"diskMessageMetadataStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskMessageMetadataStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EAGrB,YAAY,EACZ,mBAAmB,EAGpB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA8BlE,qBAAa,wBACX,SAAQ,sBACR,YAAW,qBAAqB;gBAEpB,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;IAInD,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,wBAAwB;IA+BhC,OAAO,CAAC,0BAA0B;IAkC5B,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/D,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA2B/D,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAWV,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,IAAI,CAAC;IAYV,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuBxB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAuBhB,kBAAkB;YAelB,sBAAsB;CA0CrC"}
1
+ {"version":3,"file":"diskMessageMetadataStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskMessageMetadataStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EAGrB,YAAY,EACZ,mBAAmB,EAGpB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA8BlE,qBAAa,wBACX,SAAQ,sBACR,YAAW,qBAAqB;gBAEpB,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;IAInD,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,wBAAwB;IA+BhC,OAAO,CAAC,0BAA0B;IAkC5B,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/D,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA2B/D,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAWV,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,IAAI,CAAC;IAYV,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuBxB,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAuBhB,kBAAkB;YAelB,sBAAsB;CA0CrC"}
@@ -124,7 +124,7 @@ class DiskMessageMetadataStore extends diskBlockMetadataStore_1.DiskBlockMetadat
124
124
  });
125
125
  }
126
126
  meta.acknowledgments.set(recipientId, timestamp);
127
- meta.deliveryStatus.set(recipientId, brightchain_lib_1.MessageDeliveryStatus.DELIVERED);
127
+ meta.deliveryStatus.set(recipientId, brightchain_lib_1.DeliveryStatus.Delivered);
128
128
  await this.storeMessageMetadata(meta);
129
129
  }
130
130
  async getMessagesByRecipient(recipientId, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"diskMessageMetadataStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskMessageMetadataStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diskMessageMetadataStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskMessageMetadataStore.ts"],"names":[],"mappings":"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"}