@aztec/p2p 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.75.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 (216) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +38 -0
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -0
  3. package/dest/bootstrap/bootstrap.js +29 -41
  4. package/dest/client/factory.d.ts +19 -0
  5. package/dest/client/factory.d.ts.map +1 -0
  6. package/dest/client/factory.js +10 -8
  7. package/dest/client/index.d.ts +3 -0
  8. package/dest/client/index.d.ts.map +1 -0
  9. package/dest/client/index.js +1 -0
  10. package/dest/client/p2p_client.d.ts +332 -0
  11. package/dest/client/p2p_client.d.ts.map +1 -0
  12. package/dest/client/p2p_client.js +535 -513
  13. package/dest/config.d.ts +171 -0
  14. package/dest/config.d.ts.map +1 -0
  15. package/dest/config.js +39 -44
  16. package/dest/errors/reqresp.error.d.ts +28 -0
  17. package/dest/errors/reqresp.error.d.ts.map +1 -0
  18. package/dest/errors/reqresp.error.js +10 -6
  19. package/dest/index.d.ts +9 -0
  20. package/dest/index.d.ts.map +1 -0
  21. package/dest/index.js +1 -0
  22. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +57 -0
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
  24. package/dest/mem_pools/attestation_pool/attestation_pool.js +2 -6
  25. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +3 -0
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -0
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +32 -64
  28. package/dest/mem_pools/attestation_pool/index.d.ts +3 -0
  29. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
  30. package/dest/mem_pools/attestation_pool/index.js +1 -0
  31. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +22 -0
  32. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -0
  33. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +19 -22
  34. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +17 -0
  35. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
  36. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +26 -22
  37. package/dest/mem_pools/attestation_pool/mocks.d.ts +18 -0
  38. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
  39. package/dest/mem_pools/attestation_pool/mocks.js +6 -10
  40. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
  41. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
  42. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -1
  43. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
  44. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
  45. package/dest/mem_pools/epoch_proof_quote_pool/index.js +1 -0
  46. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
  47. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
  48. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +4 -5
  49. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
  50. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
  51. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +3 -2
  52. package/dest/mem_pools/index.d.ts +5 -0
  53. package/dest/mem_pools/index.d.ts.map +1 -0
  54. package/dest/mem_pools/index.js +2 -1
  55. package/dest/mem_pools/instrumentation.d.ts +31 -0
  56. package/dest/mem_pools/instrumentation.d.ts.map +1 -0
  57. package/dest/mem_pools/instrumentation.js +42 -37
  58. package/dest/mem_pools/interface.d.ts +13 -0
  59. package/dest/mem_pools/interface.d.ts.map +1 -0
  60. package/dest/mem_pools/interface.js +2 -3
  61. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +66 -0
  62. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
  63. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +134 -127
  64. package/dest/mem_pools/tx_pool/index.d.ts +4 -0
  65. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
  66. package/dest/mem_pools/tx_pool/index.js +1 -0
  67. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +56 -0
  68. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
  69. package/dest/mem_pools/tx_pool/memory_tx_pool.js +43 -45
  70. package/dest/mem_pools/tx_pool/priority.d.ts +8 -0
  71. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -0
  72. package/dest/mem_pools/tx_pool/priority.js +3 -1
  73. package/dest/mem_pools/tx_pool/tx_pool.d.ts +66 -0
  74. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
  75. package/dest/mem_pools/tx_pool/tx_pool.js +2 -3
  76. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +7 -0
  77. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
  78. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +37 -107
  79. package/dest/mocks/index.d.ts +54 -0
  80. package/dest/mocks/index.d.ts.map +1 -0
  81. package/dest/mocks/index.js +38 -47
  82. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +8 -0
  83. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -0
  84. package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -3
  85. package/dest/msg_validators/attestation_validator/index.d.ts +2 -0
  86. package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -0
  87. package/dest/msg_validators/attestation_validator/index.js +1 -0
  88. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +8 -0
  89. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -0
  90. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +2 -2
  91. package/dest/msg_validators/block_proposal_validator/index.d.ts +2 -0
  92. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +1 -0
  93. package/dest/msg_validators/block_proposal_validator/index.js +1 -0
  94. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts +8 -0
  95. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts.map +1 -0
  96. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.js +2 -2
  97. package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts +2 -0
  98. package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts.map +1 -0
  99. package/dest/msg_validators/epoch_proof_quote_validator/index.js +1 -0
  100. package/dest/msg_validators/index.d.ts +4 -0
  101. package/dest/msg_validators/index.d.ts.map +1 -0
  102. package/dest/msg_validators/index.js +1 -0
  103. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +7 -0
  104. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -0
  105. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -9
  106. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +11 -0
  107. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -0
  108. package/dest/msg_validators/tx_validator/block_header_validator.js +12 -17
  109. package/dest/msg_validators/tx_validator/data_validator.d.ts +6 -0
  110. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -0
  111. package/dest/msg_validators/tx_validator/data_validator.js +32 -41
  112. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +12 -0
  113. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -0
  114. package/dest/msg_validators/tx_validator/double_spend_validator.js +14 -22
  115. package/dest/msg_validators/tx_validator/index.d.ts +7 -0
  116. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -0
  117. package/dest/msg_validators/tx_validator/index.js +1 -0
  118. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -0
  119. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -0
  120. package/dest/msg_validators/tx_validator/metadata_validator.js +26 -29
  121. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +8 -0
  122. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -0
  123. package/dest/msg_validators/tx_validator/tx_proof_validator.js +12 -17
  124. package/dest/services/data_store.d.ts +27 -0
  125. package/dest/services/data_store.d.ts.map +1 -0
  126. package/dest/services/data_store.js +57 -57
  127. package/dest/services/discv5/discV5_service.d.ts +36 -0
  128. package/dest/services/discv5/discV5_service.d.ts.map +1 -0
  129. package/dest/services/discv5/discV5_service.js +23 -31
  130. package/dest/services/dummy_service.d.ts +82 -0
  131. package/dest/services/dummy_service.d.ts.map +1 -0
  132. package/dest/services/dummy_service.js +58 -40
  133. package/dest/services/encoding.d.ts +31 -0
  134. package/dest/services/encoding.d.ts.map +1 -0
  135. package/dest/services/encoding.js +9 -10
  136. package/dest/services/index.d.ts +3 -0
  137. package/dest/services/index.d.ts.map +1 -0
  138. package/dest/services/index.js +1 -0
  139. package/dest/services/libp2p/libp2p_service.d.ts +225 -0
  140. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
  141. package/dest/services/libp2p/libp2p_service.js +695 -709
  142. package/dest/services/peer-manager/metrics.d.ts +12 -0
  143. package/dest/services/peer-manager/metrics.d.ts.map +1 -0
  144. package/dest/services/peer-manager/metrics.js +7 -14
  145. package/dest/services/peer-manager/peer_manager.d.ts +76 -0
  146. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -0
  147. package/dest/services/peer-manager/peer_manager.js +342 -340
  148. package/dest/services/peer-manager/peer_scoring.d.ts +28 -0
  149. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -0
  150. package/dest/services/peer-manager/peer_scoring.js +18 -20
  151. package/dest/services/reqresp/config.d.ts +16 -0
  152. package/dest/services/reqresp/config.d.ts.map +1 -0
  153. package/dest/services/reqresp/config.js +5 -4
  154. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +45 -0
  155. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -0
  156. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +28 -35
  157. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +61 -0
  158. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -0
  159. package/dest/services/reqresp/connection-sampler/connection_sampler.js +59 -60
  160. package/dest/services/reqresp/index.d.ts +6 -0
  161. package/dest/services/reqresp/index.d.ts.map +1 -0
  162. package/dest/services/reqresp/index.js +3 -1
  163. package/dest/services/reqresp/interface.d.ts +107 -0
  164. package/dest/services/reqresp/interface.d.ts.map +1 -0
  165. package/dest/services/reqresp/interface.js +30 -25
  166. package/dest/services/reqresp/metrics.d.ts +15 -0
  167. package/dest/services/reqresp/metrics.d.ts.map +1 -0
  168. package/dest/services/reqresp/metrics.js +10 -23
  169. package/dest/services/reqresp/protocols/block.d.ts +4 -0
  170. package/dest/services/reqresp/protocols/block.d.ts.map +1 -0
  171. package/dest/services/reqresp/protocols/block.js +2 -1
  172. package/dest/services/reqresp/protocols/goodbye.d.ts +51 -0
  173. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -0
  174. package/dest/services/reqresp/protocols/goodbye.js +40 -35
  175. package/dest/services/reqresp/protocols/index.d.ts +9 -0
  176. package/dest/services/reqresp/protocols/index.d.ts.map +1 -0
  177. package/dest/services/reqresp/protocols/index.js +3 -1
  178. package/dest/services/reqresp/protocols/ping.d.ts +9 -0
  179. package/dest/services/reqresp/protocols/ping.d.ts.map +1 -0
  180. package/dest/services/reqresp/protocols/ping.js +3 -1
  181. package/dest/services/reqresp/protocols/status.d.ts +9 -0
  182. package/dest/services/reqresp/protocols/status.d.ts.map +1 -0
  183. package/dest/services/reqresp/protocols/status.js +3 -1
  184. package/dest/services/reqresp/protocols/tx.d.ts +13 -0
  185. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -0
  186. package/dest/services/reqresp/protocols/tx.js +8 -5
  187. package/dest/services/reqresp/rate-limiter/index.d.ts +2 -0
  188. package/dest/services/reqresp/rate-limiter/index.d.ts.map +1 -0
  189. package/dest/services/reqresp/rate-limiter/index.js +1 -0
  190. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +102 -0
  191. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -0
  192. package/dest/services/reqresp/rate-limiter/rate_limiter.js +36 -42
  193. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +3 -0
  194. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -0
  195. package/dest/services/reqresp/rate-limiter/rate_limits.js +17 -16
  196. package/dest/services/reqresp/reqresp.d.ts +161 -0
  197. package/dest/services/reqresp/reqresp.d.ts.map +1 -0
  198. package/dest/services/reqresp/reqresp.js +395 -461
  199. package/dest/services/service.d.ts +85 -0
  200. package/dest/services/service.d.ts.map +1 -0
  201. package/dest/services/service.js +4 -3
  202. package/dest/services/types.d.ts +38 -0
  203. package/dest/services/types.d.ts.map +1 -0
  204. package/dest/services/types.js +23 -16
  205. package/dest/util.d.ts +53 -0
  206. package/dest/util.d.ts.map +1 -0
  207. package/dest/util.js +34 -23
  208. package/package.json +8 -8
  209. package/src/mem_pools/index.ts +3 -3
  210. package/src/mem_pools/instrumentation.ts +2 -3
  211. package/src/services/reqresp/interface.ts +0 -11
  212. package/src/services/reqresp/rate-limiter/rate_limiter.ts +1 -3
  213. package/src/services/reqresp/rate-limiter/rate_limits.ts +2 -2
  214. package/src/services/reqresp/reqresp.ts +24 -111
  215. package/dest/services/reqresp/status.js +0 -51
  216. package/src/services/reqresp/status.ts +0 -59
@@ -11,26 +11,21 @@ import { AZTEC_ENR_KEY, AZTEC_NET, Discv5Event, PeerEvent } from '../types.js';
11
11
  const delayBeforeStart = 2000; // 2sec
12
12
  /**
13
13
  * Peer discovery service using Discv5.
14
- */ export class DiscV5Service extends EventEmitter {
15
- peerId;
16
- logger;
17
- /** The Discv5 instance */ discv5;
18
- /** This instance's ENR */ enr;
19
- /** UDP listen addr */ listenMultiAddrUdp;
20
- currentState;
21
- bootstrapNodes;
22
- bootstrapNodePeerIds;
23
- startTime;
24
- constructor(peerId, config, telemetry = getTelemetryClient(), logger = createLogger('p2p:discv5_service')){
25
- super(), this.peerId = peerId, this.logger = logger, this.currentState = PeerDiscoveryState.STOPPED, this.bootstrapNodePeerIds = [], this.startTime = 0;
14
+ */
15
+ export class DiscV5Service extends EventEmitter {
16
+ constructor(peerId, config, telemetry = getTelemetryClient(), logger = createLogger('p2p:discv5_service')) {
17
+ super();
18
+ this.peerId = peerId;
19
+ this.logger = logger;
20
+ this.currentState = PeerDiscoveryState.STOPPED;
21
+ this.bootstrapNodePeerIds = [];
22
+ this.startTime = 0;
26
23
  const { tcpAnnounceAddress, udpAnnounceAddress, udpListenAddress, bootstrapNodes } = config;
27
24
  this.bootstrapNodes = bootstrapNodes;
28
25
  // create ENR from PeerId
29
26
  this.enr = SignableENR.createFromPeerId(peerId);
30
27
  // Add aztec identification to ENR
31
- this.enr.set(AZTEC_ENR_KEY, Uint8Array.from([
32
- AZTEC_NET
33
- ]));
28
+ this.enr.set(AZTEC_ENR_KEY, Uint8Array.from([AZTEC_NET]));
34
29
  if (!tcpAnnounceAddress) {
35
30
  throw new Error('You need to provide at least a TCP announce address.');
36
31
  }
@@ -45,15 +40,13 @@ const delayBeforeStart = 2000; // 2sec
45
40
  this.discv5 = Discv5.create({
46
41
  enr: this.enr,
47
42
  peerId,
48
- bindAddrs: {
49
- ip4: this.listenMultiAddrUdp
50
- },
43
+ bindAddrs: { ip4: this.listenMultiAddrUdp },
51
44
  config: {
52
45
  lookupTimeout: 2000,
53
46
  requestTimeout: 2000,
54
- allowUnverifiedSessions: true
47
+ allowUnverifiedSessions: true,
55
48
  },
56
- metricsRegistry
49
+ metricsRegistry,
57
50
  });
58
51
  this.discv5.on(Discv5Event.DISCOVERED, this.onDiscovered.bind(this));
59
52
  this.discv5.on(Discv5Event.ENR_ADDED, this.onEnrAdded.bind(this));
@@ -69,19 +62,20 @@ const delayBeforeStart = 2000; // 2sec
69
62
  nodeId: this.enr.nodeId,
70
63
  peerId: this.peerId,
71
64
  enrUdp: await this.enr.getFullMultiaddr('udp'),
72
- enrTcp: await this.enr.getFullMultiaddr('tcp')
65
+ enrTcp: await this.enr.getFullMultiaddr('tcp'),
73
66
  });
74
67
  this.currentState = PeerDiscoveryState.RUNNING;
75
68
  // Add bootnode ENR if provided
76
69
  if (this.bootstrapNodes?.length) {
77
70
  // Do this conversion once since it involves an async function call
78
- this.bootstrapNodePeerIds = await Promise.all(this.bootstrapNodes.map((enr)=>ENR.decodeTxt(enr).peerId()));
71
+ this.bootstrapNodePeerIds = await Promise.all(this.bootstrapNodes.map(enr => ENR.decodeTxt(enr).peerId()));
79
72
  this.logger.info(`Adding bootstrap nodes ENRs: ${this.bootstrapNodes.join(', ')}`);
80
73
  try {
81
- this.bootstrapNodes.forEach((enr)=>{
74
+ this.bootstrapNodes.forEach(enr => {
82
75
  this.discv5.addEnr(enr);
83
76
  });
84
- } catch (e) {
77
+ }
78
+ catch (e) {
85
79
  this.logger.error(`Error adding bootnode ENRs: ${e}`);
86
80
  }
87
81
  }
@@ -98,7 +92,8 @@ const delayBeforeStart = 2000; // 2sec
98
92
  }
99
93
  try {
100
94
  await this.discv5.findRandomNode();
101
- } catch (err) {
95
+ }
96
+ catch (err) {
102
97
  this.logger.error(`Error running discV5 random node query: ${err}`);
103
98
  }
104
99
  }
@@ -115,7 +110,7 @@ const delayBeforeStart = 2000; // 2sec
115
110
  return this.currentState;
116
111
  }
117
112
  isBootstrapPeer(peerId) {
118
- return this.bootstrapNodePeerIds.some((node)=>node.equals(peerId));
113
+ return this.bootstrapNodePeerIds.some(node => node.equals(peerId));
119
114
  }
120
115
  async stop() {
121
116
  await this.discv5.off(Discv5Event.DISCOVERED, this.onDiscovered);
@@ -126,11 +121,7 @@ const delayBeforeStart = 2000; // 2sec
126
121
  async onEnrAdded(enr) {
127
122
  const multiAddrTcp = await enr.getFullMultiaddr('tcp');
128
123
  const multiAddrUdp = await enr.getFullMultiaddr('udp');
129
- this.logger.debug(`Added ENR ${enr.encodeTxt()}`, {
130
- multiAddrTcp,
131
- multiAddrUdp,
132
- nodeId: enr.nodeId
133
- });
124
+ this.logger.debug(`Added ENR ${enr.encodeTxt()}`, { multiAddrTcp, multiAddrUdp, nodeId: enr.nodeId });
134
125
  this.onDiscovered(enr);
135
126
  }
136
127
  onDiscovered(enr) {
@@ -145,3 +136,4 @@ const delayBeforeStart = 2000; // 2sec
145
136
  }
146
137
  }
147
138
  }
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY1Y1X3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZGlzY3Y1L2Rpc2NWNV9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZHLE9BQU8sRUFBRSxNQUFNLEVBQTJCLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUdsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUE2QixrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9FLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTztBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsWUFBWTtJQWlCN0MsWUFDVSxNQUFjLEVBQ3RCLE1BQWlCLEVBQ2pCLFlBQTZCLGtCQUFrQixFQUFFLEVBQ3pDLFNBQVMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBTEEsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUdkLFdBQU0sR0FBTixNQUFNLENBQXFDO1FBWDdDLGlCQUFZLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1FBRzFD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
@@ -0,0 +1,82 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type { BlockAttestation, BlockProposal, Gossipable, PeerInfo, TxHash } from '@aztec/circuit-types';
3
+ import type { PeerId } from '@libp2p/interface';
4
+ import EventEmitter from 'events';
5
+ import { type ReqRespSubProtocol, type SubProtocolMap } from './reqresp/interface.js';
6
+ import { type P2PService, type PeerDiscoveryService, PeerDiscoveryState } from './service.js';
7
+ /**
8
+ * A dummy implementation of the P2P Service.
9
+ */
10
+ export declare class DummyP2PService implements P2PService {
11
+ /** Returns an empty array for peers. */
12
+ getPeers(): PeerInfo[];
13
+ /**
14
+ * Starts the dummy implementation.
15
+ * @returns A resolved promise.
16
+ */
17
+ start(): Promise<void>;
18
+ /**
19
+ * Stops the dummy implementation.
20
+ * @returns A resolved promise.
21
+ */
22
+ stop(): Promise<void>;
23
+ /**
24
+ * Called to have the given message propagated through the P2P network.
25
+ * @param _ - The message to be propagated.
26
+ */
27
+ propagate<T extends Gossipable>(_: T): void;
28
+ /**
29
+ * Called upon receipt of settled transactions.
30
+ * @param _ - The hashes of the settled transactions.
31
+ */
32
+ settledTxs(_: TxHash[]): void;
33
+ /**
34
+ * Register a callback into the validator client for when a block proposal is received
35
+ */
36
+ registerBlockReceivedCallback(_: (block: BlockProposal) => Promise<BlockAttestation>): void;
37
+ /**
38
+ * Sends a request to a peer.
39
+ * @param _protocol - The protocol to send the request on.
40
+ * @param _request - The request to send.
41
+ * @returns The response from the peer, otherwise undefined.
42
+ */
43
+ sendRequest<Protocol extends ReqRespSubProtocol>(_protocol: Protocol, _request: InstanceType<SubProtocolMap[Protocol]['request']>): Promise<InstanceType<SubProtocolMap[Protocol]['response']> | undefined>;
44
+ /**
45
+ * Sends a batch request to a peer.
46
+ * @param _protocol - The protocol to send the request on.
47
+ * @param _requests - The requests to send.
48
+ * @returns The responses from the peer, otherwise undefined.
49
+ */
50
+ sendBatchRequest<Protocol extends ReqRespSubProtocol>(_protocol: Protocol, _requests: InstanceType<SubProtocolMap[Protocol]['request']>[]): Promise<InstanceType<SubProtocolMap[Protocol]['response']>[]>;
51
+ /**
52
+ * Returns the ENR of the peer.
53
+ * @returns The ENR of the peer, otherwise undefined.
54
+ */
55
+ getEnr(): undefined;
56
+ }
57
+ /**
58
+ * A dummy implementation of the Peer Discovery Service.
59
+ */
60
+ export declare class DummyPeerDiscoveryService extends EventEmitter implements PeerDiscoveryService {
61
+ private currentState;
62
+ /**
63
+ * Starts the dummy implementation.
64
+ * @returns A resolved promise.
65
+ */
66
+ start(): Promise<void>;
67
+ /**
68
+ * Stops the dummy implementation.
69
+ * @returns A resolved promise.
70
+ */
71
+ stop(): Promise<void>;
72
+ /**
73
+ * Called to discover peers in the network.
74
+ * @returns An array of discovered peer addresses.
75
+ */
76
+ getAllPeers(): never[];
77
+ runRandomNodesQuery(): Promise<void>;
78
+ isBootstrapPeer(_: PeerId): boolean;
79
+ getStatus(): PeerDiscoveryState;
80
+ getEnr(): undefined;
81
+ }
82
+ //# sourceMappingURL=dummy_service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummy_service.d.ts","sourceRoot":"","sources":["../../src/services/dummy_service.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE1G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE9F;;GAEG;AACH,qBAAa,eAAgB,YAAW,UAAU;IAChD,wCAAwC;IACxC,QAAQ,IAAI,QAAQ,EAAE;IAItB;;;OAGG;IACI,KAAK;IAIZ;;;OAGG;IACI,IAAI;IAIX;;;OAGG;IACI,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,EAAE,CAAC;IAE3C;;;OAGG;IACI,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE;IAE7B;;OAEG;IACI,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,gBAAgB,CAAC;IAE3F;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,SAAS,kBAAkB,EACpD,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GAC1D,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1E;;;;;OAKG;IACI,gBAAgB,CAAC,QAAQ,SAAS,kBAAkB,EACzD,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAC7D,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;IAIhE;;;OAGG;IACI,MAAM,IAAI,SAAS;CAG3B;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,YAAa,YAAW,oBAAoB;IACzF,OAAO,CAAC,YAAY,CAA8B;IAClD;;;OAGG;IACI,KAAK;IAIZ;;;OAGG;IACI,IAAI;IAIX;;;OAGG;IACI,WAAW;IAIX,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAInC,SAAS,IAAI,kBAAkB;IAI/B,MAAM,IAAI,SAAS;CAG3B"}
@@ -2,78 +2,95 @@ import EventEmitter from 'events';
2
2
  import { PeerDiscoveryState } from './service.js';
3
3
  /**
4
4
  * A dummy implementation of the P2P Service.
5
- */ export class DummyP2PService {
6
- /** Returns an empty array for peers. */ getPeers() {
5
+ */
6
+ export class DummyP2PService {
7
+ /** Returns an empty array for peers. */
8
+ getPeers() {
7
9
  return [];
8
10
  }
9
11
  /**
10
- * Starts the dummy implementation.
11
- * @returns A resolved promise.
12
- */ start() {
12
+ * Starts the dummy implementation.
13
+ * @returns A resolved promise.
14
+ */
15
+ start() {
13
16
  return Promise.resolve();
14
17
  }
15
18
  /**
16
- * Stops the dummy implementation.
17
- * @returns A resolved promise.
18
- */ stop() {
19
+ * Stops the dummy implementation.
20
+ * @returns A resolved promise.
21
+ */
22
+ stop() {
19
23
  return Promise.resolve();
20
24
  }
21
25
  /**
22
- * Called to have the given message propagated through the P2P network.
23
- * @param _ - The message to be propagated.
24
- */ propagate(_) {}
26
+ * Called to have the given message propagated through the P2P network.
27
+ * @param _ - The message to be propagated.
28
+ */
29
+ propagate(_) { }
25
30
  /**
26
- * Called upon receipt of settled transactions.
27
- * @param _ - The hashes of the settled transactions.
28
- */ settledTxs(_) {}
31
+ * Called upon receipt of settled transactions.
32
+ * @param _ - The hashes of the settled transactions.
33
+ */
34
+ settledTxs(_) { }
29
35
  /**
30
- * Register a callback into the validator client for when a block proposal is received
31
- */ registerBlockReceivedCallback(_) {}
36
+ * Register a callback into the validator client for when a block proposal is received
37
+ */
38
+ registerBlockReceivedCallback(_) { }
32
39
  /**
33
- * Sends a request to a peer.
34
- * @param _protocol - The protocol to send the request on.
35
- * @param _request - The request to send.
36
- * @returns The response from the peer, otherwise undefined.
37
- */ sendRequest(_protocol, _request) {
40
+ * Sends a request to a peer.
41
+ * @param _protocol - The protocol to send the request on.
42
+ * @param _request - The request to send.
43
+ * @returns The response from the peer, otherwise undefined.
44
+ */
45
+ sendRequest(_protocol, _request) {
38
46
  return Promise.resolve(undefined);
39
47
  }
40
48
  /**
41
- * Sends a batch request to a peer.
42
- * @param _protocol - The protocol to send the request on.
43
- * @param _requests - The requests to send.
44
- * @returns The responses from the peer, otherwise undefined.
45
- */ sendBatchRequest(_protocol, _requests) {
49
+ * Sends a batch request to a peer.
50
+ * @param _protocol - The protocol to send the request on.
51
+ * @param _requests - The requests to send.
52
+ * @returns The responses from the peer, otherwise undefined.
53
+ */
54
+ sendBatchRequest(_protocol, _requests) {
46
55
  return Promise.resolve([]);
47
56
  }
48
57
  /**
49
- * Returns the ENR of the peer.
50
- * @returns The ENR of the peer, otherwise undefined.
51
- */ getEnr() {
58
+ * Returns the ENR of the peer.
59
+ * @returns The ENR of the peer, otherwise undefined.
60
+ */
61
+ getEnr() {
52
62
  return undefined;
53
63
  }
54
64
  }
55
65
  /**
56
66
  * A dummy implementation of the Peer Discovery Service.
57
- */ export class DummyPeerDiscoveryService extends EventEmitter {
58
- currentState = PeerDiscoveryState.STOPPED;
67
+ */
68
+ export class DummyPeerDiscoveryService extends EventEmitter {
69
+ constructor() {
70
+ super(...arguments);
71
+ this.currentState = PeerDiscoveryState.STOPPED;
72
+ }
59
73
  /**
60
- * Starts the dummy implementation.
61
- * @returns A resolved promise.
62
- */ start() {
74
+ * Starts the dummy implementation.
75
+ * @returns A resolved promise.
76
+ */
77
+ start() {
63
78
  this.currentState = PeerDiscoveryState.RUNNING;
64
79
  return Promise.resolve();
65
80
  }
66
81
  /**
67
- * Stops the dummy implementation.
68
- * @returns A resolved promise.
69
- */ stop() {
82
+ * Stops the dummy implementation.
83
+ * @returns A resolved promise.
84
+ */
85
+ stop() {
70
86
  this.currentState = PeerDiscoveryState.STOPPED;
71
87
  return Promise.resolve();
72
88
  }
73
89
  /**
74
- * Called to discover peers in the network.
75
- * @returns An array of discovered peer addresses.
76
- */ getAllPeers() {
90
+ * Called to discover peers in the network.
91
+ * @returns An array of discovered peer addresses.
92
+ */
93
+ getAllPeers() {
77
94
  return [];
78
95
  }
79
96
  runRandomNodesQuery() {
@@ -89,3 +106,4 @@ import { PeerDiscoveryState } from './service.js';
89
106
  return undefined;
90
107
  }
91
108
  }
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9kdW1teV9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUdsQyxPQUFPLEVBQThDLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsd0NBQXdDO0lBQ3hDLFFBQVE7UUFDTixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUk7UUFDVCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUyxDQUF1QixDQUFJLElBQUcsQ0FBQztJQUUvQzs7O09BR0c7SUFDSSxVQUFVLENBQUMsQ0FBVyxJQUFHLENBQUM7SUFFakM7O09BRUc7SUFDSSw2QkFBNkIsQ0FBQyxDQUFzRCxJQUFHLENBQUM7SUFFL0Y7Ozs7O09BS0c7SUFDSSxXQUFXLENBQ2hCLFNBQW1CLEVBQ25CLFFBQTJEO1FBRTNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFBZ0IsQ0FDckIsU0FBbUIsRUFDbkIsU0FBOEQ7UUFFOUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTtJQUEzRDs7UUFDVSxpQkFBWSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztJQXdDcEQsQ0FBQztJQXZDQzs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7UUFDL0MsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNEOzs7T0FHRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUMvQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ksV0FBVztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGVBQWUsQ0FBQyxDQUFTO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
@@ -0,0 +1,31 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { type RPC } from '@chainsafe/libp2p-gossipsub/message';
4
+ import { type DataTransform } from '@chainsafe/libp2p-gossipsub/types';
5
+ import { type Message } from '@libp2p/interface';
6
+ /**
7
+ * The function used to generate a gossipsub message id
8
+ * We use the first 8 bytes of SHA256(data) for content addressing
9
+ */
10
+ export declare function fastMsgIdFn(rpcMsg: RPC.Message): string;
11
+ export declare function msgIdToStrFn(msgId: Uint8Array): string;
12
+ /**
13
+ * Get the message identifier from a libp2p message
14
+ *
15
+ * Follows similarly to:
16
+ * https://github.com/ethereum/consensus-specs/blob/v1.1.0-alpha.7/specs/altair/p2p-interface.md#topics-and-messages
17
+ *
18
+ * @param message - The libp2p message
19
+ * @returns The message identifier
20
+ */
21
+ export declare function getMsgIdFn(message: Message): Buffer;
22
+ /**
23
+ * Snappy transform for libp2p gossipsub
24
+ */
25
+ export declare class SnappyTransform implements DataTransform {
26
+ inboundTransform(_topicStr: string, data: Uint8Array): Uint8Array;
27
+ inboundTransformNoTopic(data: Buffer): Buffer;
28
+ outboundTransform(_topicStr: string, data: Uint8Array): Uint8Array;
29
+ outboundTransformNoTopic(data: Buffer): Buffer;
30
+ }
31
+ //# sourceMappingURL=encoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAajD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAKvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,UAK1C;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,aAAa;IAEnD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAI1D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQpD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAI3D,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAMtD"}
@@ -11,7 +11,8 @@ const sharedMsgIdBuf = Buffer.alloc(20);
11
11
  /**
12
12
  * The function used to generate a gossipsub message id
13
13
  * We use the first 8 bytes of SHA256(data) for content addressing
14
- */ export function fastMsgIdFn(rpcMsg) {
14
+ */
15
+ export function fastMsgIdFn(rpcMsg) {
15
16
  if (rpcMsg.data) {
16
17
  return xxhash.h64Raw(rpcMsg.data, h64Seed).toString(16);
17
18
  }
@@ -30,17 +31,16 @@ export function msgIdToStrFn(msgId) {
30
31
  *
31
32
  * @param message - The libp2p message
32
33
  * @returns The message identifier
33
- */ export function getMsgIdFn(message) {
34
+ */
35
+ export function getMsgIdFn(message) {
34
36
  const { topic } = message;
35
- const vec = [
36
- Buffer.from(topic),
37
- message.data
38
- ];
37
+ const vec = [Buffer.from(topic), message.data];
39
38
  return sha256(Buffer.concat(vec)).subarray(0, 20);
40
39
  }
41
40
  /**
42
41
  * Snappy transform for libp2p gossipsub
43
- */ export class SnappyTransform {
42
+ */
43
+ export class SnappyTransform {
44
44
  // Topic string included to satisfy DataTransform interface
45
45
  inboundTransform(_topicStr, data) {
46
46
  return this.inboundTransformNoTopic(Buffer.from(data));
@@ -49,9 +49,7 @@ export function msgIdToStrFn(msgId) {
49
49
  if (data.length === 0) {
50
50
  return data;
51
51
  }
52
- return Buffer.from(uncompressSync(data, {
53
- asBuffer: true
54
- }));
52
+ return Buffer.from(uncompressSync(data, { asBuffer: true }));
55
53
  }
56
54
  // Topic string included to satisfy DataTransform interface
57
55
  outboundTransform(_topicStr, data) {
@@ -64,3 +62,4 @@ export function msgIdToStrFn(msgId) {
64
62
  return Buffer.from(compressSync(data));
65
63
  }
66
64
  }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvZW5jb2RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUtsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0RCxPQUFPLGFBQWEsTUFBTSxhQUFhLENBQUM7QUFFeEMsWUFBWTtBQUNaLE1BQU0sTUFBTSxHQUFHLE1BQU0sYUFBYSxFQUFFLENBQUM7QUFFckMsNERBQTREO0FBQzVELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRXhELDJDQUEyQztBQUMzQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBRXhDOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBbUI7SUFDN0MsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWlCO0lBQzVDLDBEQUEwRDtJQUMxRCxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLE9BQU8sS0FBSyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDL0MsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFnQjtJQUN6QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRTFCLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsMkRBQTJEO0lBQzNELGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsSUFBZ0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxJQUFZO1FBQ3pDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLElBQWdCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sd0JBQXdCLENBQUMsSUFBWTtRQUMxQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
@@ -0,0 +1,3 @@
1
+ export * from './service.js';
2
+ export * from './libp2p/libp2p_service.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './service.js';
2
2
  export * from './libp2p/libp2p_service.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw0QkFBNEIsQ0FBQyJ9