@waku/core 0.0.34-c41b319.0 → 0.0.34-c43cec2.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 (60) hide show
  1. package/bundle/{base_protocol-CCK9RCtH.js → base_protocol-DxFKDXX2.js} +20 -19
  2. package/bundle/{index-Db7LxDrL.js → index-yLOEQnIE.js} +39 -75
  3. package/bundle/index.js +133 -1815
  4. package/bundle/lib/base_protocol.js +2 -2
  5. package/bundle/lib/message/version_0.js +2 -2
  6. package/bundle/{version_0-ANFNAdFD.js → version_0-Che4t3mN.js} +42 -163
  7. package/dist/.tsbuildinfo +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/base_protocol.d.ts +2 -2
  12. package/dist/lib/base_protocol.js +2 -2
  13. package/dist/lib/base_protocol.js.map +1 -1
  14. package/dist/lib/connection_manager/connection_manager.d.ts +3 -56
  15. package/dist/lib/connection_manager/connection_manager.js +13 -96
  16. package/dist/lib/connection_manager/connection_manager.js.map +1 -1
  17. package/dist/lib/filter/index.d.ts +18 -1
  18. package/dist/lib/filter/index.js +208 -1
  19. package/dist/lib/filter/index.js.map +1 -1
  20. package/dist/lib/health_manager.d.ts +14 -0
  21. package/dist/lib/health_manager.js +70 -0
  22. package/dist/lib/health_manager.js.map +1 -0
  23. package/dist/lib/light_push/index.d.ts +15 -1
  24. package/dist/lib/light_push/index.js +144 -1
  25. package/dist/lib/light_push/index.js.map +1 -1
  26. package/dist/lib/metadata/index.d.ts +3 -1
  27. package/dist/lib/metadata/index.js +118 -1
  28. package/dist/lib/metadata/index.js.map +1 -1
  29. package/dist/lib/store/index.d.ts +9 -1
  30. package/dist/lib/store/index.js +82 -1
  31. package/dist/lib/store/index.js.map +1 -1
  32. package/dist/lib/stream_manager/stream_manager.d.ts +2 -2
  33. package/dist/lib/stream_manager/stream_manager.js +17 -16
  34. package/dist/lib/stream_manager/stream_manager.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/index.ts +2 -0
  37. package/src/lib/base_protocol.ts +3 -3
  38. package/src/lib/connection_manager/connection_manager.ts +20 -114
  39. package/src/lib/filter/index.ts +315 -1
  40. package/src/lib/health_manager.ts +90 -0
  41. package/src/lib/light_push/index.ts +189 -1
  42. package/src/lib/metadata/index.ts +182 -1
  43. package/src/lib/store/index.ts +136 -1
  44. package/src/lib/stream_manager/stream_manager.ts +18 -16
  45. package/dist/lib/filter/filter.d.ts +0 -18
  46. package/dist/lib/filter/filter.js +0 -209
  47. package/dist/lib/filter/filter.js.map +0 -1
  48. package/dist/lib/light_push/light_push.d.ts +0 -15
  49. package/dist/lib/light_push/light_push.js +0 -144
  50. package/dist/lib/light_push/light_push.js.map +0 -1
  51. package/dist/lib/metadata/metadata.d.ts +0 -3
  52. package/dist/lib/metadata/metadata.js +0 -119
  53. package/dist/lib/metadata/metadata.js.map +0 -1
  54. package/dist/lib/store/store.d.ts +0 -9
  55. package/dist/lib/store/store.js +0 -83
  56. package/dist/lib/store/store.js.map +0 -1
  57. package/src/lib/filter/filter.ts +0 -315
  58. package/src/lib/light_push/light_push.ts +0 -188
  59. package/src/lib/metadata/metadata.ts +0 -182
  60. package/src/lib/store/store.ts +0 -136
@@ -1,5 +1,4 @@
1
- import { isPeerId, TypedEventEmitter } from "@libp2p/interface";
2
- import { multiaddr } from "@multiformats/multiaddr";
1
+ import { TypedEventEmitter } from "@libp2p/interface";
3
2
  import { DNS_DISCOVERY_TAG, EConnectionStateEvents, EPeersByDiscoveryEvents } from "@waku/interfaces";
4
3
  import { Tags } from "@waku/interfaces";
5
4
  import { decodeRelayShard, shardInfoToPubsubTopics } from "@waku/utils";
@@ -162,59 +161,13 @@ export class ConnectionManager extends TypedEventEmitter {
162
161
  this.startPeerDisconnectionListener();
163
162
  this.startNetworkStatusListener();
164
163
  }
165
- /**
166
- * Attempts to establish a connection with a peer and set up specified protocols.
167
- * The method handles both PeerId and Multiaddr inputs, manages connection attempts,
168
- * and maintains the connection state.
169
- *
170
- * The dialing process includes:
171
- * 1. Converting input to dialable peer info
172
- * 2. Managing parallel dial attempts
173
- * 3. Attempting to establish protocol-specific connections
174
- * 4. Handling connection failures and retries
175
- * 5. Updating the peer store and connection state
176
- *
177
- * @param {PeerId | MultiaddrInput} peer - The peer to connect to, either as a PeerId or multiaddr
178
- * @param {string[]} [protocolCodecs] - Optional array of protocol-specific codec strings to establish
179
- * (e.g., for LightPush, Filter, Store protocols)
180
- *
181
- * @throws {Error} If the multiaddr is missing a peer ID
182
- * @throws {Error} If the maximum dial attempts are reached and the peer cannot be dialed
183
- * @throws {Error} If there's an error deleting an undialable peer from the peer store
184
- *
185
- * @example
186
- * ```typescript
187
- * // Dial using PeerId
188
- * await connectionManager.dialPeer(peerId);
189
- *
190
- * // Dial using multiaddr with specific protocols
191
- * await connectionManager.dialPeer(multiaddr, [
192
- * "/vac/waku/relay/2.0.0",
193
- * "/vac/waku/lightpush/2.0.0-beta1"
194
- * ]);
195
- * ```
196
- *
197
- * @remarks
198
- * - The method implements exponential backoff through multiple dial attempts
199
- * - Maintains a queue for parallel dial attempts (limited by maxParallelDials)
200
- * - Integrates with the KeepAliveManager for connection maintenance
201
- * - Updates the peer store and connection state after successful/failed attempts
202
- * - If all dial attempts fail, triggers DNS discovery as a fallback
203
- */
204
- async dialPeer(peer) {
205
- let connection;
206
- let peerId;
207
- const peerDialInfo = this.getDialablePeerInfo(peer);
208
- const peerIdStr = isPeerId(peerDialInfo)
209
- ? peerDialInfo.toString()
210
- : peerDialInfo.getPeerId();
164
+ async dialPeer(peerId) {
211
165
  this.currentActiveParallelDialCount += 1;
212
166
  let dialAttempt = 0;
213
167
  while (dialAttempt < this.options.maxDialAttemptsForPeer) {
214
168
  try {
215
- log.info(`Dialing peer ${peerDialInfo} on attempt ${dialAttempt + 1}`);
216
- connection = await this.libp2p.dial(peerDialInfo);
217
- peerId = connection.remotePeer;
169
+ log.info(`Dialing peer ${peerId.toString()} on attempt ${dialAttempt + 1}`);
170
+ await this.libp2p.dial(peerId);
218
171
  const tags = await this.getTagNamesForPeer(peerId);
219
172
  // add tag to connection describing discovery mechanism
220
173
  // don't add duplicate tags
@@ -231,15 +184,15 @@ export class ConnectionManager extends TypedEventEmitter {
231
184
  catch (error) {
232
185
  if (error instanceof AggregateError) {
233
186
  // Handle AggregateError
234
- log.error(`Error dialing peer ${peerIdStr} - ${error.errors}`);
187
+ log.error(`Error dialing peer ${peerId.toString()} - ${error.errors}`);
235
188
  }
236
189
  else {
237
190
  // Handle generic error
238
- log.error(`Error dialing peer ${peerIdStr} - ${error.message}`);
191
+ log.error(`Error dialing peer ${peerId.toString()} - ${error.message}`);
239
192
  }
240
- this.dialErrorsForPeer.set(peerIdStr, error);
193
+ this.dialErrorsForPeer.set(peerId.toString(), error);
241
194
  dialAttempt++;
242
- this.dialAttemptsForPeer.set(peerIdStr, dialAttempt);
195
+ this.dialAttemptsForPeer.set(peerId.toString(), dialAttempt);
243
196
  }
244
197
  }
245
198
  // Always decrease the active dial count and process the dial queue
@@ -248,7 +201,7 @@ export class ConnectionManager extends TypedEventEmitter {
248
201
  // If max dial attempts reached and dialing failed, delete the peer
249
202
  if (dialAttempt === this.options.maxDialAttemptsForPeer) {
250
203
  try {
251
- const error = this.dialErrorsForPeer.get(peerIdStr);
204
+ const error = this.dialErrorsForPeer.get(peerId.toString());
252
205
  if (error) {
253
206
  let errorMessage;
254
207
  if (error instanceof AggregateError) {
@@ -265,52 +218,16 @@ export class ConnectionManager extends TypedEventEmitter {
265
218
  else {
266
219
  errorMessage = error.message;
267
220
  }
268
- log.info(`Deleting undialable peer ${peerIdStr} from peer store. Reason: ${errorMessage}`);
269
- }
270
- this.dialErrorsForPeer.delete(peerIdStr);
271
- if (peerId) {
272
- await this.libp2p.peerStore.delete(peerId);
221
+ log.info(`Deleting undialable peer ${peerId.toString()} from peer store. Reason: ${errorMessage}`);
273
222
  }
223
+ this.dialErrorsForPeer.delete(peerId.toString());
224
+ await this.libp2p.peerStore.delete(peerId);
274
225
  // if it was last available peer - attempt DNS discovery
275
226
  await this.attemptDnsDiscovery();
276
227
  }
277
228
  catch (error) {
278
- throw new Error(`Error deleting undialable peer ${peerIdStr} from peer store - ${error}`);
279
- }
280
- }
281
- if (!connection) {
282
- throw new Error(`Failed to dial peer ${peerDialInfo}`);
283
- }
284
- return connection;
285
- }
286
- /**
287
- * Dial a peer with specific protocols.
288
- * This method is a raw proxy to the libp2p dialProtocol method.
289
- * @param peer - The peer to connect to, either as a PeerId or multiaddr
290
- * @param protocolCodecs - Optional array of protocol-specific codec strings to establish
291
- * @returns A stream to the peer
292
- */
293
- async rawDialPeerWithProtocols(peer, protocolCodecs) {
294
- const peerDialInfo = this.getDialablePeerInfo(peer);
295
- return await this.libp2p.dialProtocol(peerDialInfo, protocolCodecs);
296
- }
297
- /**
298
- * Internal utility to extract a PeerId or Multiaddr from a peer input.
299
- * This is used internally by the connection manager to handle different peer input formats.
300
- * @internal
301
- */
302
- getDialablePeerInfo(peer) {
303
- if (isPeerId(peer)) {
304
- return peer;
305
- }
306
- else {
307
- // peer is of MultiaddrInput type
308
- const ma = multiaddr(peer);
309
- const peerIdStr = ma.getPeerId();
310
- if (!peerIdStr) {
311
- throw new Error("Failed to dial multiaddr: missing peer ID");
229
+ throw new Error(`Error deleting undialable peer ${peerId.toString()} from peer store - ${error}`);
312
230
  }
313
- return ma;
314
231
  }
315
232
  }
316
233
  async attemptDnsDiscovery() {
@@ -1 +1 @@
1
- {"version":3,"file":"connection_manager.js","sourceRoot":"","sources":["../../../src/lib/connection_manager/connection_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAMR,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAa,SAAS,EAAkB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAGL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EAQxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAU,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE7C,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAC9C,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAC7C,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,CAAC;AAC3C,MAAM,4BAA4B,GAAG,CAAC,GAAG,EAAE,CAAC;AAS5C,MAAM,OAAO,iBACX,SAAQ,iBAAmE;IAG3E,gCAAgC;IAChB,YAAY,CAAgB;IAEpC,gBAAgB,CAAmB;IACnC,OAAO,CAA2B;IAClC,MAAM,CAAS;IACf,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IACrD,iBAAiB,GAAqB,IAAI,GAAG,EAAE,CAAC;IAEhD,8BAA8B,GAAG,CAAC,CAAC;IACnC,oBAAoB,GAAkB,EAAE,CAAC;IAEzC,qBAAqB,GAAY,KAAK,CAAC;IAExC,WAAW;QAChB,IAAI,UAAU,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAC7B,cAAc,EACd,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CACrC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAC7B,iBAAiB,EACjB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAC7B,gBAAgB,EAChB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACvC,CAAC;QACF,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,MAAc;QACxC,IAAI,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CACP,uCAAuC,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,EAAE,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC9B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM;aAC/B,cAAc,EAAE;aAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,0BAA0B,GAAW,EAAE,CAAC;QAC9C,MAAM,6BAA6B,GAAW,EAAE,CAAC;QACjD,MAAM,sBAAsB,GAAW,EAAE,CAAC;QAE1C,MAAM,yBAAyB,GAAW,EAAE,CAAC;QAC7C,MAAM,4BAA4B,GAAW,EAAE,CAAC;QAChD,MAAM,qBAAqB,GAAW,EAAE,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7C,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEnD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7C,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE;gBACV,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,0BAA0B;gBAC5C,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,6BAA6B;gBACnD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,sBAAsB;aACrC;YACD,SAAS,EAAE;gBACT,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,yBAAyB;gBAC3C,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,4BAA4B;gBAClD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,qBAAqB;aACpC;SACF,CAAC;IACJ,CAAC;IAED,YAAmB,OAA4C;QAC7D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG;YACb,sBAAsB,EAAE,kCAAkC;YAC1D,wBAAwB,EAAE,mCAAmC;YAC7D,gBAAgB,EAAE,0BAA0B;YAC5C,aAAa,EAAE,2BAA2B;YAC1C,cAAc,EAAE,4BAA4B;YAC5C,GAAG,OAAO,CAAC,MAAM;SAClB,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACzC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;aAC5C;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE;aACvB,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;aACzD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACf,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAC3D,CAAC;QAEJ,iEAAiE;QACjE,oGAAoG;QACpG,iIAAiI;QACjI,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACxC,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CACpE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,KAAc;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACvB,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAW,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IACE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAEtE,SAAS;YAEX,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACnC,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEtC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACI,KAAK,CAAC,QAAQ,CAAC,IAA6B;QACjD,IAAI,UAAkC,CAAC;QACvC,IAAI,MAA0B,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC;YACtC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE;YACzB,CAAC,CAAC,YAAY,CAAC,SAAS,EAAG,CAAC;QAE9B,IAAI,CAAC,8BAA8B,IAAI,CAAC,CAAC;QACzC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,OAAO,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,gBAAgB,YAAY,eAAe,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvE,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;gBAE/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBACnD,uDAAuD;gBACvD,2BAA2B;gBAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAClD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,kFAAkF;gBAClF,iEAAiE;gBACjE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEpD,oCAAoC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;oBACpC,wBAAwB;oBACxB,GAAG,CAAC,KAAK,CAAC,sBAAsB,SAAS,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,GAAG,CAAC,KAAK,CACP,sBAAsB,SAAS,MAAO,KAAa,CAAC,OAAO,EAAE,CAC9D,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAE7C,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,mEAAmE;QACnE,IAAI,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACxD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEpD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,YAAY,CAAC;oBACjB,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;wBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;4BAClB,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;wBACvD,CAAC;6BAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACrC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;wBACvD,CAAC;6BAAM,CAAC;4BACN,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC/B,CAAC;oBAED,GAAG,CAAC,IAAI,CACN,4BAA4B,SAAS,6BAA6B,YAAY,EAAE,CACjF,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBAED,wDAAwD;gBACxD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,kCAAkC,SAAS,sBAAsB,KAAK,EAAE,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,wBAAwB,CACnC,IAA6B,EAC7B,cAAwB;QAExB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACzB,IAA6B;QAE7B,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QACpD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAE3D,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CACxE,CAAC,CAAU,EAAE,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CACkB,CAAC;QAEtB,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAEO,gBAAgB;QACtB,IACE,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;YACpC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EACnE,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,gBAAgB,EAChB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,cAAc,EACd,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CACrC,CAAC;IACJ,CAAC;IAEO,8BAA8B;QACpC,qEAAqE;QACrE;;;;;;;;;;WAUG;QACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,iBAAiB,EACjB,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAc;QACrC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO;QAEjD,IAAI,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACzE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,eAAe,GAAG;QACxB,gBAAgB,EAAE,CAAC,GAA0B,EAAQ,EAAE;YACrD,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;gBAElC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAE1C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,cAAc,EAAE,CAAC,GAAwB,EAAQ,EAAE;YACjD,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAEvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;gBAE1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEpC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAClE,IAAI,CAAC,SAAS,CACf,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM;yBACrC,cAAc,EAAE;yBAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAExD,sDAAsD;oBACtD,IACE,oBAAoB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EACnE,CAAC;wBACD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACb,uBAAuB,CAAC,sBAAsB,EAC9C;4BACE,MAAM,EAAE,MAAM;yBACf,CACF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACb,uBAAuB,CAAC,0BAA0B,EAClD;wBACE,MAAM,EAAE,MAAM;qBACf,CACF,CACF,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,iBAAiB,EAAE,CAAC,GAAwB,EAAQ,EAAE;YACpD,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,iBAAiB,EAAE,GAAS,EAAE;YAC5B,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC;KACF,CAAC;IAEF;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc,CAAC,MAAc;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAClE,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAC;YAEF,GAAG,CAAC,IAAI,CACN,mBAAmB,MAAM,CAAC,QAAQ,EAAE,mBAAmB,SAAS,wDAC9D,IAAI,CAAC,YACP;yBACiB,CAClB,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,2BAA2B,GAC/B,MAAM,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CACN,QAAQ,MAAM,CAAC,QAAQ,EAAE,0DAA0D,CACpF,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,aAAa,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CACN,QAAQ,MAAM,CAAC,QAAQ,EAAE,mGAAmG,CAC7H,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,oCAAoC,CAChD,MAAc;QAEd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM;aAC5C,cAAc,EAAE;aAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,MAAM,CAAC;QAEZ,OAAO,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACjD,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAClE,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CACb,WAAW;YACT,CAAC,CAAC,uBAAuB,CAAC,wBAAwB;YAClD,CAAC,CAAC,uBAAuB,CAAC,4BAA4B,EACxD;YACE,MAAM,EAAE,MAAM;SACf,CACF,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,sBAAsB,MAAM,YAAY,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,MAAc;QAChD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC3C,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAC;QAEF,sDAAsD;QACtD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAExD,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAClC,CAAC;QACF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,MAAc,EACd,SAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAEO,0BAA0B;QAChC,IAAI,CAAC;YACH,UAAU,CAAC,gBAAgB,CACzB,QAAQ,EACR,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;YACF,UAAU,CAAC,gBAAgB,CACzB,SAAS,EACT,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC;YACH,UAAU,CAAC,mBAAmB,CAC5B,QAAQ,EACR,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;YACF,UAAU,CAAC,mBAAmB,CAC5B,SAAS,EACT,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,yBAAyB;QAC/B,IACE,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;YACD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,2BAA2B;QACjC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAU,sBAAsB,CAAC,iBAAiB,EAAE;YACjE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"connection_manager.js","sourceRoot":"","sources":["../../../src/lib/connection_manager/connection_manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1,18 @@
1
- export { FilterCodecs, FilterCore } from "./filter.js";
1
+ import type { Peer } from "@libp2p/interface";
2
+ import { type ContentTopic, type CoreProtocolResult, type IBaseProtocolCore, type Libp2p, type PubsubTopic } from "@waku/interfaces";
3
+ import { WakuMessage } from "@waku/proto";
4
+ import { BaseProtocol } from "../base_protocol.js";
5
+ export declare const FilterCodecs: {
6
+ SUBSCRIBE: string;
7
+ PUSH: string;
8
+ };
9
+ export declare class FilterCore extends BaseProtocol implements IBaseProtocolCore {
10
+ private handleIncomingMessage;
11
+ readonly pubsubTopics: PubsubTopic[];
12
+ constructor(handleIncomingMessage: (pubsubTopic: PubsubTopic, wakuMessage: WakuMessage, peerIdStr: string) => Promise<void>, pubsubTopics: PubsubTopic[], libp2p: Libp2p);
13
+ subscribe(pubsubTopic: PubsubTopic, peer: Peer, contentTopics: ContentTopic[]): Promise<CoreProtocolResult>;
14
+ unsubscribe(pubsubTopic: PubsubTopic, peer: Peer, contentTopics: ContentTopic[]): Promise<CoreProtocolResult>;
15
+ unsubscribeAll(pubsubTopic: PubsubTopic, peer: Peer): Promise<CoreProtocolResult>;
16
+ ping(peer: Peer): Promise<CoreProtocolResult>;
17
+ private onRequest;
18
+ }
@@ -1,2 +1,209 @@
1
- export { FilterCodecs, FilterCore } from "./filter.js";
1
+ import { ProtocolError } from "@waku/interfaces";
2
+ import { Logger } from "@waku/utils";
3
+ import all from "it-all";
4
+ import * as lp from "it-length-prefixed";
5
+ import { pipe } from "it-pipe";
6
+ import { BaseProtocol } from "../base_protocol.js";
7
+ import { FilterPushRpc, FilterSubscribeResponse, FilterSubscribeRpc } from "./filter_rpc.js";
8
+ const log = new Logger("filter:v2");
9
+ export const FilterCodecs = {
10
+ SUBSCRIBE: "/vac/waku/filter-subscribe/2.0.0-beta1",
11
+ PUSH: "/vac/waku/filter-push/2.0.0-beta1"
12
+ };
13
+ export class FilterCore extends BaseProtocol {
14
+ handleIncomingMessage;
15
+ pubsubTopics;
16
+ constructor(handleIncomingMessage, pubsubTopics, libp2p) {
17
+ super(FilterCodecs.SUBSCRIBE, libp2p.components, pubsubTopics);
18
+ this.handleIncomingMessage = handleIncomingMessage;
19
+ this.pubsubTopics = pubsubTopics;
20
+ libp2p
21
+ .handle(FilterCodecs.PUSH, this.onRequest.bind(this), {
22
+ maxInboundStreams: 100
23
+ })
24
+ .catch((e) => {
25
+ log.error("Failed to register ", FilterCodecs.PUSH, e);
26
+ });
27
+ }
28
+ async subscribe(pubsubTopic, peer, contentTopics) {
29
+ const stream = await this.getStream(peer);
30
+ const request = FilterSubscribeRpc.createSubscribeRequest(pubsubTopic, contentTopics);
31
+ let res;
32
+ try {
33
+ res = await pipe([request.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
34
+ }
35
+ catch (error) {
36
+ log.error("Failed to send subscribe request", error);
37
+ return {
38
+ success: null,
39
+ failure: {
40
+ error: ProtocolError.GENERIC_FAIL,
41
+ peerId: peer.id
42
+ }
43
+ };
44
+ }
45
+ const { statusCode, requestId, statusDesc } = FilterSubscribeResponse.decode(res[0].slice());
46
+ if (statusCode < 200 || statusCode >= 300) {
47
+ log.error(`Filter subscribe request ${requestId} failed with status code ${statusCode}: ${statusDesc}`);
48
+ return {
49
+ failure: {
50
+ error: ProtocolError.REMOTE_PEER_REJECTED,
51
+ peerId: peer.id
52
+ },
53
+ success: null
54
+ };
55
+ }
56
+ return {
57
+ failure: null,
58
+ success: peer.id
59
+ };
60
+ }
61
+ async unsubscribe(pubsubTopic, peer, contentTopics) {
62
+ let stream;
63
+ try {
64
+ stream = await this.getStream(peer);
65
+ }
66
+ catch (error) {
67
+ log.error(`Failed to get a stream for remote peer${peer.id.toString()}`, error);
68
+ return {
69
+ success: null,
70
+ failure: {
71
+ error: ProtocolError.NO_STREAM_AVAILABLE,
72
+ peerId: peer.id
73
+ }
74
+ };
75
+ }
76
+ const unsubscribeRequest = FilterSubscribeRpc.createUnsubscribeRequest(pubsubTopic, contentTopics);
77
+ try {
78
+ await pipe([unsubscribeRequest.encode()], lp.encode, stream.sink);
79
+ }
80
+ catch (error) {
81
+ log.error("Failed to send unsubscribe request", error);
82
+ return {
83
+ success: null,
84
+ failure: {
85
+ error: ProtocolError.GENERIC_FAIL,
86
+ peerId: peer.id
87
+ }
88
+ };
89
+ }
90
+ return {
91
+ success: peer.id,
92
+ failure: null
93
+ };
94
+ }
95
+ async unsubscribeAll(pubsubTopic, peer) {
96
+ const stream = await this.getStream(peer);
97
+ const request = FilterSubscribeRpc.createUnsubscribeAllRequest(pubsubTopic);
98
+ const res = await pipe([request.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
99
+ if (!res || !res.length) {
100
+ return {
101
+ failure: {
102
+ error: ProtocolError.NO_RESPONSE,
103
+ peerId: peer.id
104
+ },
105
+ success: null
106
+ };
107
+ }
108
+ const { statusCode, requestId, statusDesc } = FilterSubscribeResponse.decode(res[0].slice());
109
+ if (statusCode < 200 || statusCode >= 300) {
110
+ log.error(`Filter unsubscribe all request ${requestId} failed with status code ${statusCode}: ${statusDesc}`);
111
+ return {
112
+ failure: {
113
+ error: ProtocolError.REMOTE_PEER_REJECTED,
114
+ peerId: peer.id
115
+ },
116
+ success: null
117
+ };
118
+ }
119
+ return {
120
+ failure: null,
121
+ success: peer.id
122
+ };
123
+ }
124
+ async ping(peer) {
125
+ let stream;
126
+ try {
127
+ stream = await this.getStream(peer);
128
+ }
129
+ catch (error) {
130
+ log.error(`Failed to get a stream for remote peer${peer.id.toString()}`, error);
131
+ return {
132
+ success: null,
133
+ failure: {
134
+ error: ProtocolError.NO_STREAM_AVAILABLE,
135
+ peerId: peer.id
136
+ }
137
+ };
138
+ }
139
+ const request = FilterSubscribeRpc.createSubscriberPingRequest();
140
+ let res;
141
+ try {
142
+ res = await pipe([request.encode()], lp.encode, stream, lp.decode, async (source) => await all(source));
143
+ }
144
+ catch (error) {
145
+ log.error("Failed to send ping request", error);
146
+ return {
147
+ success: null,
148
+ failure: {
149
+ error: ProtocolError.GENERIC_FAIL,
150
+ peerId: peer.id
151
+ }
152
+ };
153
+ }
154
+ if (!res || !res.length) {
155
+ return {
156
+ success: null,
157
+ failure: {
158
+ error: ProtocolError.NO_RESPONSE,
159
+ peerId: peer.id
160
+ }
161
+ };
162
+ }
163
+ const { statusCode, requestId, statusDesc } = FilterSubscribeResponse.decode(res[0].slice());
164
+ if (statusCode < 200 || statusCode >= 300) {
165
+ log.error(`Filter ping request ${requestId} failed with status code ${statusCode}: ${statusDesc}`);
166
+ return {
167
+ success: null,
168
+ failure: {
169
+ error: ProtocolError.REMOTE_PEER_REJECTED,
170
+ peerId: peer.id
171
+ }
172
+ };
173
+ }
174
+ return {
175
+ success: peer.id,
176
+ failure: null
177
+ };
178
+ }
179
+ onRequest(streamData) {
180
+ const { connection, stream } = streamData;
181
+ const { remotePeer } = connection;
182
+ log.info(`Received message from ${remotePeer.toString()}`);
183
+ try {
184
+ pipe(stream, lp.decode, async (source) => {
185
+ for await (const bytes of source) {
186
+ const response = FilterPushRpc.decode(bytes.slice());
187
+ const { pubsubTopic, wakuMessage } = response;
188
+ if (!wakuMessage) {
189
+ log.error("Received empty message");
190
+ return;
191
+ }
192
+ if (!pubsubTopic) {
193
+ log.error("Pubsub topic missing from push message");
194
+ return;
195
+ }
196
+ await this.handleIncomingMessage(pubsubTopic, wakuMessage, connection.remotePeer.toString());
197
+ }
198
+ }).then(() => {
199
+ log.info("Receiving pipe closed.");
200
+ }, async (e) => {
201
+ log.error(`Error with receiving pipe on peer:${connection.remotePeer.toString()} -- stream:${stream.id} -- protocol:${stream.protocol}: `, e);
202
+ });
203
+ }
204
+ catch (e) {
205
+ log.error("Error decoding message", e);
206
+ }
207
+ }
208
+ }
2
209
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/filter/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { HealthStatus, type IHealthManager, type ProtocolHealth, Protocols } from "@waku/interfaces";
2
+ declare class HealthManager implements IHealthManager {
3
+ static instance: HealthManager;
4
+ private readonly health;
5
+ private constructor();
6
+ static getInstance(): HealthManager;
7
+ getHealthStatus(): HealthStatus;
8
+ getProtocolStatus(protocol: Protocols): ProtocolHealth | undefined;
9
+ updateProtocolHealth(multicodec: string, connectedPeers: number): void;
10
+ private getNameFromMulticodec;
11
+ private updateOverallHealth;
12
+ }
13
+ export declare const getHealthManager: () => HealthManager;
14
+ export {};
@@ -0,0 +1,70 @@
1
+ import { HealthStatus, Protocols } from "@waku/interfaces";
2
+ class HealthManager {
3
+ static instance;
4
+ health;
5
+ constructor() {
6
+ this.health = {
7
+ overallStatus: HealthStatus.Unhealthy,
8
+ protocolStatuses: new Map()
9
+ };
10
+ }
11
+ static getInstance() {
12
+ if (!HealthManager.instance) {
13
+ HealthManager.instance = new HealthManager();
14
+ }
15
+ return HealthManager.instance;
16
+ }
17
+ getHealthStatus() {
18
+ return this.health.overallStatus;
19
+ }
20
+ getProtocolStatus(protocol) {
21
+ return this.health.protocolStatuses.get(protocol);
22
+ }
23
+ updateProtocolHealth(multicodec, connectedPeers) {
24
+ const protocol = this.getNameFromMulticodec(multicodec);
25
+ let status = HealthStatus.Unhealthy;
26
+ if (connectedPeers == 1) {
27
+ status = HealthStatus.MinimallyHealthy;
28
+ }
29
+ else if (connectedPeers >= 2) {
30
+ status = HealthStatus.SufficientlyHealthy;
31
+ }
32
+ this.health.protocolStatuses.set(protocol, {
33
+ name: protocol,
34
+ status: status,
35
+ lastUpdate: new Date()
36
+ });
37
+ this.updateOverallHealth();
38
+ }
39
+ getNameFromMulticodec(multicodec) {
40
+ let name;
41
+ if (multicodec.includes("filter")) {
42
+ name = Protocols.Filter;
43
+ }
44
+ else if (multicodec.includes("lightpush")) {
45
+ name = Protocols.LightPush;
46
+ }
47
+ else if (multicodec.includes("store")) {
48
+ name = Protocols.Store;
49
+ }
50
+ else {
51
+ throw new Error(`Unknown protocol: ${multicodec}`);
52
+ }
53
+ return name;
54
+ }
55
+ updateOverallHealth() {
56
+ const relevantProtocols = [Protocols.LightPush, Protocols.Filter];
57
+ const statuses = relevantProtocols.map((p) => this.getProtocolStatus(p)?.status);
58
+ if (statuses.some((status) => status === HealthStatus.Unhealthy)) {
59
+ this.health.overallStatus = HealthStatus.Unhealthy;
60
+ }
61
+ else if (statuses.some((status) => status === HealthStatus.MinimallyHealthy)) {
62
+ this.health.overallStatus = HealthStatus.MinimallyHealthy;
63
+ }
64
+ else {
65
+ this.health.overallStatus = HealthStatus.SufficientlyHealthy;
66
+ }
67
+ }
68
+ }
69
+ export const getHealthManager = () => HealthManager.getInstance();
70
+ //# sourceMappingURL=health_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health_manager.js","sourceRoot":"","sources":["../../src/lib/health_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B,MAAM,aAAa;IACV,MAAM,CAAC,QAAQ,CAAgB;IACrB,MAAM,CAAa;IAEpC;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,YAAY,CAAC,SAAS;YACrC,gBAAgB,EAAE,IAAI,GAAG,EAAE;SAC5B,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;IACnC,CAAC;IAEM,iBAAiB,CAAC,QAAmB;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,oBAAoB,CACzB,UAAkB,EAClB,cAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,MAAM,GAAiB,YAAY,CAAC,SAAS,CAAC;QAClD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC;QACzC,CAAC;aAAM,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,IAAI,IAAI,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,UAAkB;QAC9C,IAAI,IAAe,CAAC;QACpB,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;QAC1B,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;QAC7B,CAAC;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB;QACzB,MAAM,iBAAiB,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,CACzC,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC;QACrD,CAAC;aAAM,IACL,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,YAAY,CAAC,gBAAgB,CAAC,EACnE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,mBAAmB,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAkB,EAAE,CAClD,aAAa,CAAC,WAAW,EAAE,CAAC"}
@@ -1 +1,15 @@
1
- export { LightPushCore, LightPushCodec, PushResponse } from "./light_push.js";
1
+ import type { Peer } from "@libp2p/interface";
2
+ import { type CoreProtocolResult, type IBaseProtocolCore, type IEncoder, type IMessage, type Libp2p, PubsubTopic } from "@waku/interfaces";
3
+ import { PushResponse } from "@waku/proto";
4
+ import { BaseProtocol } from "../base_protocol.js";
5
+ export declare const LightPushCodec = "/vac/waku/lightpush/2.0.0-beta1";
6
+ export { PushResponse };
7
+ /**
8
+ * Implements the [Waku v2 Light Push protocol](https://rfc.vac.dev/spec/19/).
9
+ */
10
+ export declare class LightPushCore extends BaseProtocol implements IBaseProtocolCore {
11
+ readonly pubsubTopics: PubsubTopic[];
12
+ constructor(pubsubTopics: PubsubTopic[], libp2p: Libp2p);
13
+ private preparePushMessage;
14
+ send(encoder: IEncoder, message: IMessage, peer: Peer): Promise<CoreProtocolResult>;
15
+ }