@libp2p/interface-compliance-tests 2.0.3 → 3.0.2

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 (192) hide show
  1. package/README.md +23 -11
  2. package/dist/src/{utils/is-valid-tick.d.ts → is-valid-tick.d.ts} +0 -0
  3. package/dist/src/is-valid-tick.d.ts.map +1 -0
  4. package/dist/src/{utils/is-valid-tick.js → is-valid-tick.js} +0 -0
  5. package/dist/src/is-valid-tick.js.map +1 -0
  6. package/dist/src/{utils/peers.d.ts → peers.d.ts} +0 -0
  7. package/dist/src/peers.d.ts.map +1 -0
  8. package/dist/src/{utils/peers.js → peers.js} +0 -0
  9. package/dist/src/peers.js.map +1 -0
  10. package/package.json +11 -89
  11. package/src/{utils/is-valid-tick.ts → is-valid-tick.ts} +0 -0
  12. package/src/{utils/peers.ts → peers.ts} +0 -0
  13. package/dist/src/connection/connection.d.ts +0 -5
  14. package/dist/src/connection/connection.d.ts.map +0 -1
  15. package/dist/src/connection/connection.js +0 -146
  16. package/dist/src/connection/connection.js.map +0 -1
  17. package/dist/src/connection/index.d.ts +0 -5
  18. package/dist/src/connection/index.d.ts.map +0 -1
  19. package/dist/src/connection/index.js +0 -5
  20. package/dist/src/connection/index.js.map +0 -1
  21. package/dist/src/connection-encrypter/index.d.ts +0 -5
  22. package/dist/src/connection-encrypter/index.d.ts.map +0 -1
  23. package/dist/src/connection-encrypter/index.js +0 -77
  24. package/dist/src/connection-encrypter/index.js.map +0 -1
  25. package/dist/src/connection-encrypter/utils/index.d.ts +0 -3
  26. package/dist/src/connection-encrypter/utils/index.d.ts.map +0 -1
  27. package/dist/src/connection-encrypter/utils/index.js +0 -18
  28. package/dist/src/connection-encrypter/utils/index.js.map +0 -1
  29. package/dist/src/mocks/connection-encrypter.d.ts +0 -3
  30. package/dist/src/mocks/connection-encrypter.d.ts.map +0 -1
  31. package/dist/src/mocks/connection-encrypter.js +0 -93
  32. package/dist/src/mocks/connection-encrypter.js.map +0 -1
  33. package/dist/src/mocks/connection-gater.d.ts +0 -12
  34. package/dist/src/mocks/connection-gater.d.ts.map +0 -1
  35. package/dist/src/mocks/connection-gater.js +0 -14
  36. package/dist/src/mocks/connection-gater.js.map +0 -1
  37. package/dist/src/mocks/connection-manager.d.ts +0 -28
  38. package/dist/src/mocks/connection-manager.d.ts.map +0 -1
  39. package/dist/src/mocks/connection-manager.js +0 -107
  40. package/dist/src/mocks/connection-manager.js.map +0 -1
  41. package/dist/src/mocks/connection.d.ts +0 -18
  42. package/dist/src/mocks/connection.d.ts.map +0 -1
  43. package/dist/src/mocks/connection.js +0 -138
  44. package/dist/src/mocks/connection.js.map +0 -1
  45. package/dist/src/mocks/duplex.d.ts +0 -3
  46. package/dist/src/mocks/duplex.d.ts.map +0 -1
  47. package/dist/src/mocks/duplex.js +0 -7
  48. package/dist/src/mocks/duplex.js.map +0 -1
  49. package/dist/src/mocks/index.d.ts +0 -10
  50. package/dist/src/mocks/index.d.ts.map +0 -1
  51. package/dist/src/mocks/index.js +0 -9
  52. package/dist/src/mocks/index.js.map +0 -1
  53. package/dist/src/mocks/multiaddr-connection.d.ts +0 -17
  54. package/dist/src/mocks/multiaddr-connection.d.ts.map +0 -1
  55. package/dist/src/mocks/multiaddr-connection.js +0 -51
  56. package/dist/src/mocks/multiaddr-connection.js.map +0 -1
  57. package/dist/src/mocks/muxer.d.ts +0 -9
  58. package/dist/src/mocks/muxer.d.ts.map +0 -1
  59. package/dist/src/mocks/muxer.js +0 -302
  60. package/dist/src/mocks/muxer.js.map +0 -1
  61. package/dist/src/mocks/registrar.d.ts +0 -18
  62. package/dist/src/mocks/registrar.d.ts.map +0 -1
  63. package/dist/src/mocks/registrar.js +0 -73
  64. package/dist/src/mocks/registrar.js.map +0 -1
  65. package/dist/src/mocks/upgrader.d.ts +0 -15
  66. package/dist/src/mocks/upgrader.d.ts.map +0 -1
  67. package/dist/src/mocks/upgrader.js +0 -33
  68. package/dist/src/mocks/upgrader.js.map +0 -1
  69. package/dist/src/peer-discovery/index.d.ts +0 -6
  70. package/dist/src/peer-discovery/index.d.ts.map +0 -1
  71. package/dist/src/peer-discovery/index.js +0 -64
  72. package/dist/src/peer-discovery/index.js.map +0 -1
  73. package/dist/src/pubsub/api.d.ts +0 -6
  74. package/dist/src/pubsub/api.d.ts.map +0 -1
  75. package/dist/src/pubsub/api.js +0 -87
  76. package/dist/src/pubsub/api.js.map +0 -1
  77. package/dist/src/pubsub/connection-handlers.d.ts +0 -6
  78. package/dist/src/pubsub/connection-handlers.d.ts.map +0 -1
  79. package/dist/src/pubsub/connection-handlers.js +0 -329
  80. package/dist/src/pubsub/connection-handlers.js.map +0 -1
  81. package/dist/src/pubsub/emit-self.d.ts +0 -6
  82. package/dist/src/pubsub/emit-self.d.ts.map +0 -1
  83. package/dist/src/pubsub/emit-self.js +0 -86
  84. package/dist/src/pubsub/emit-self.js.map +0 -1
  85. package/dist/src/pubsub/index.d.ts +0 -10
  86. package/dist/src/pubsub/index.d.ts.map +0 -1
  87. package/dist/src/pubsub/index.js +0 -17
  88. package/dist/src/pubsub/index.js.map +0 -1
  89. package/dist/src/pubsub/messages.d.ts +0 -6
  90. package/dist/src/pubsub/messages.d.ts.map +0 -1
  91. package/dist/src/pubsub/messages.js +0 -46
  92. package/dist/src/pubsub/messages.js.map +0 -1
  93. package/dist/src/pubsub/multiple-nodes.d.ts +0 -6
  94. package/dist/src/pubsub/multiple-nodes.d.ts.map +0 -1
  95. package/dist/src/pubsub/multiple-nodes.js +0 -350
  96. package/dist/src/pubsub/multiple-nodes.js.map +0 -1
  97. package/dist/src/pubsub/two-nodes.d.ts +0 -6
  98. package/dist/src/pubsub/two-nodes.d.ts.map +0 -1
  99. package/dist/src/pubsub/two-nodes.js +0 -185
  100. package/dist/src/pubsub/two-nodes.js.map +0 -1
  101. package/dist/src/pubsub/utils.d.ts +0 -6
  102. package/dist/src/pubsub/utils.d.ts.map +0 -1
  103. package/dist/src/pubsub/utils.js +0 -22
  104. package/dist/src/pubsub/utils.js.map +0 -1
  105. package/dist/src/record/index.d.ts +0 -5
  106. package/dist/src/record/index.d.ts.map +0 -1
  107. package/dist/src/record/index.js +0 -25
  108. package/dist/src/record/index.js.map +0 -1
  109. package/dist/src/stream-muxer/base-test.d.ts +0 -5
  110. package/dist/src/stream-muxer/base-test.d.ts.map +0 -1
  111. package/dist/src/stream-muxer/base-test.js +0 -147
  112. package/dist/src/stream-muxer/base-test.js.map +0 -1
  113. package/dist/src/stream-muxer/close-test.d.ts +0 -5
  114. package/dist/src/stream-muxer/close-test.d.ts.map +0 -1
  115. package/dist/src/stream-muxer/close-test.js +0 -180
  116. package/dist/src/stream-muxer/close-test.js.map +0 -1
  117. package/dist/src/stream-muxer/index.d.ts +0 -5
  118. package/dist/src/stream-muxer/index.d.ts.map +0 -1
  119. package/dist/src/stream-muxer/index.js +0 -13
  120. package/dist/src/stream-muxer/index.js.map +0 -1
  121. package/dist/src/stream-muxer/mega-stress-test.d.ts +0 -5
  122. package/dist/src/stream-muxer/mega-stress-test.d.ts.map +0 -1
  123. package/dist/src/stream-muxer/mega-stress-test.js +0 -12
  124. package/dist/src/stream-muxer/mega-stress-test.js.map +0 -1
  125. package/dist/src/stream-muxer/spawner.d.ts +0 -4
  126. package/dist/src/stream-muxer/spawner.d.ts.map +0 -1
  127. package/dist/src/stream-muxer/spawner.js +0 -34
  128. package/dist/src/stream-muxer/spawner.js.map +0 -1
  129. package/dist/src/stream-muxer/stress-test.d.ts +0 -5
  130. package/dist/src/stream-muxer/stress-test.d.ts.map +0 -1
  131. package/dist/src/stream-muxer/stress-test.js +0 -26
  132. package/dist/src/stream-muxer/stress-test.js.map +0 -1
  133. package/dist/src/topology/topology.d.ts +0 -5
  134. package/dist/src/topology/topology.d.ts.map +0 -1
  135. package/dist/src/topology/topology.js +0 -20
  136. package/dist/src/topology/topology.js.map +0 -1
  137. package/dist/src/transport/dial-test.d.ts +0 -5
  138. package/dist/src/transport/dial-test.d.ts.map +0 -1
  139. package/dist/src/transport/dial-test.js +0 -97
  140. package/dist/src/transport/dial-test.js.map +0 -1
  141. package/dist/src/transport/filter-test.d.ts +0 -5
  142. package/dist/src/transport/filter-test.d.ts.map +0 -1
  143. package/dist/src/transport/filter-test.js +0 -18
  144. package/dist/src/transport/filter-test.js.map +0 -1
  145. package/dist/src/transport/index.d.ts +0 -15
  146. package/dist/src/transport/index.d.ts.map +0 -1
  147. package/dist/src/transport/index.js +0 -11
  148. package/dist/src/transport/index.js.map +0 -1
  149. package/dist/src/transport/listen-test.d.ts +0 -5
  150. package/dist/src/transport/listen-test.d.ts.map +0 -1
  151. package/dist/src/transport/listen-test.js +0 -152
  152. package/dist/src/transport/listen-test.js.map +0 -1
  153. package/dist/src/utils/is-valid-tick.d.ts.map +0 -1
  154. package/dist/src/utils/is-valid-tick.js.map +0 -1
  155. package/dist/src/utils/peers.d.ts.map +0 -1
  156. package/dist/src/utils/peers.js.map +0 -1
  157. package/src/connection/README.md +0 -256
  158. package/src/connection/connection.ts +0 -176
  159. package/src/connection/index.ts +0 -7
  160. package/src/connection-encrypter/index.ts +0 -104
  161. package/src/connection-encrypter/utils/index.ts +0 -23
  162. package/src/mocks/connection-encrypter.ts +0 -110
  163. package/src/mocks/connection-gater.ts +0 -14
  164. package/src/mocks/connection-manager.ts +0 -141
  165. package/src/mocks/connection.ts +0 -205
  166. package/src/mocks/duplex.ts +0 -8
  167. package/src/mocks/index.ts +0 -10
  168. package/src/mocks/multiaddr-connection.ts +0 -66
  169. package/src/mocks/muxer.ts +0 -424
  170. package/src/mocks/registrar.ts +0 -96
  171. package/src/mocks/upgrader.ts +0 -46
  172. package/src/peer-discovery/index.ts +0 -89
  173. package/src/pubsub/api.ts +0 -115
  174. package/src/pubsub/connection-handlers.ts +0 -413
  175. package/src/pubsub/emit-self.ts +0 -105
  176. package/src/pubsub/index.ts +0 -25
  177. package/src/pubsub/messages.ts +0 -58
  178. package/src/pubsub/multiple-nodes.ts +0 -429
  179. package/src/pubsub/two-nodes.ts +0 -235
  180. package/src/pubsub/utils.ts +0 -28
  181. package/src/record/index.ts +0 -32
  182. package/src/stream-muxer/base-test.ts +0 -190
  183. package/src/stream-muxer/close-test.ts +0 -227
  184. package/src/stream-muxer/index.ts +0 -15
  185. package/src/stream-muxer/mega-stress-test.ts +0 -15
  186. package/src/stream-muxer/spawner.ts +0 -52
  187. package/src/stream-muxer/stress-test.ts +0 -29
  188. package/src/topology/topology.ts +0 -25
  189. package/src/transport/dial-test.ts +0 -123
  190. package/src/transport/filter-test.ts +0 -25
  191. package/src/transport/index.ts +0 -25
  192. package/src/transport/listen-test.ts +0 -191
@@ -1,302 +0,0 @@
1
- import { pushable } from 'it-pushable';
2
- import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
3
- import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
4
- import { abortableSource } from 'abortable-iterator';
5
- import { anySignal } from 'any-signal';
6
- import errCode from 'err-code';
7
- import { logger } from '@libp2p/logger';
8
- import * as ndjson from 'it-ndjson';
9
- import { pipe } from 'it-pipe';
10
- import map from 'it-map';
11
- import { Uint8ArrayList } from 'uint8arraylist';
12
- let muxers = 0;
13
- let streams = 0;
14
- const MAX_MESSAGE_SIZE = 1024 * 1024;
15
- class MuxedStream {
16
- constructor(init) {
17
- const { id, type, push, onEnd } = init;
18
- this.log = logger(`libp2p:mock-muxer:stream:${id}:${type}`);
19
- this.id = id;
20
- this.type = type;
21
- this.abortController = new AbortController();
22
- this.resetController = new AbortController();
23
- this.closeController = new AbortController();
24
- this.sourceEnded = false;
25
- this.sinkEnded = false;
26
- let endErr;
27
- const onSourceEnd = (err) => {
28
- if (this.sourceEnded) {
29
- return;
30
- }
31
- this.log('onSourceEnd sink ended? %s', this.sinkEnded);
32
- this.sourceEnded = true;
33
- if (err != null && endErr == null) {
34
- endErr = err;
35
- }
36
- if (this.sinkEnded) {
37
- this.stream.timeline.close = Date.now();
38
- if (onEnd != null) {
39
- onEnd(endErr);
40
- }
41
- }
42
- };
43
- const onSinkEnd = (err) => {
44
- if (this.sinkEnded) {
45
- return;
46
- }
47
- this.log('onSinkEnd source ended? %s', this.sourceEnded);
48
- this.sinkEnded = true;
49
- if (err != null && endErr == null) {
50
- endErr = err;
51
- }
52
- if (this.sourceEnded) {
53
- this.stream.timeline.close = Date.now();
54
- if (onEnd != null) {
55
- onEnd(endErr);
56
- }
57
- }
58
- };
59
- this.input = pushable({
60
- onEnd: onSourceEnd
61
- });
62
- this.stream = {
63
- id,
64
- sink: async (source) => {
65
- if (this.sinkEnded) {
66
- throw errCode(new Error('stream closed for writing'), 'ERR_SINK_ENDED');
67
- }
68
- source = abortableSource(source, anySignal([
69
- this.abortController.signal,
70
- this.resetController.signal,
71
- this.closeController.signal
72
- ]));
73
- try {
74
- if (this.type === 'initiator') {
75
- // If initiator, open a new stream
76
- const createMsg = {
77
- id: this.id,
78
- type: 'create',
79
- direction: this.type
80
- };
81
- push.push(createMsg);
82
- }
83
- const list = new Uint8ArrayList();
84
- for await (const chunk of source) {
85
- list.append(chunk);
86
- while (list.length > 0) {
87
- const available = Math.min(list.length, MAX_MESSAGE_SIZE);
88
- const subList = list.subarray(0, available);
89
- const dataMsg = {
90
- id,
91
- type: 'data',
92
- chunk: uint8ArrayToString(subList.slice(), 'base64'),
93
- direction: this.type
94
- };
95
- push.push(dataMsg);
96
- list.consume(available);
97
- }
98
- }
99
- }
100
- catch (err) {
101
- if (err.type === 'aborted' && err.message === 'The operation was aborted') {
102
- if (this.closeController.signal.aborted) {
103
- return;
104
- }
105
- if (this.resetController.signal.aborted) {
106
- err.message = 'stream reset';
107
- err.code = 'ERR_STREAM_RESET';
108
- }
109
- if (this.abortController.signal.aborted) {
110
- err.message = 'stream aborted';
111
- err.code = 'ERR_STREAM_ABORT';
112
- }
113
- }
114
- // Send no more data if this stream was remotely reset
115
- if (err.code !== 'ERR_STREAM_RESET') {
116
- const resetMsg = {
117
- id,
118
- type: 'reset',
119
- direction: this.type
120
- };
121
- push.push(resetMsg);
122
- }
123
- this.log('sink erred', err);
124
- this.input.end(err);
125
- onSinkEnd(err);
126
- return;
127
- }
128
- this.log('sink ended');
129
- onSinkEnd();
130
- const closeMsg = {
131
- id,
132
- type: 'close',
133
- direction: this.type
134
- };
135
- push.push(closeMsg);
136
- },
137
- source: this.input,
138
- // Close for reading
139
- close: () => {
140
- this.stream.closeRead();
141
- this.stream.closeWrite();
142
- },
143
- closeRead: () => {
144
- this.input.end();
145
- },
146
- closeWrite: () => {
147
- this.closeController.abort();
148
- const closeMsg = {
149
- id,
150
- type: 'close',
151
- direction: this.type
152
- };
153
- push.push(closeMsg);
154
- onSinkEnd();
155
- },
156
- // Close for reading and writing (local error)
157
- abort: (err) => {
158
- // End the source with the passed error
159
- this.input.end(err);
160
- this.abortController.abort();
161
- onSinkEnd(err);
162
- },
163
- // Close immediately for reading and writing (remote error)
164
- reset: () => {
165
- const err = errCode(new Error('stream reset'), 'ERR_STREAM_RESET');
166
- this.resetController.abort();
167
- this.input.end(err);
168
- onSinkEnd(err);
169
- },
170
- timeline: {
171
- open: Date.now()
172
- }
173
- };
174
- }
175
- }
176
- class MockMuxer {
177
- constructor(init) {
178
- this.protocol = '/mock-muxer/1.0.0';
179
- this.name = `muxer:${muxers++}`;
180
- this.log = logger(`libp2p:mock-muxer:${this.name}`);
181
- this.registryInitiatorStreams = new Map();
182
- this.registryRecipientStreams = new Map();
183
- this.log('create muxer');
184
- this.options = init ?? {};
185
- // receives data from the muxer at the other end of the stream
186
- this.source = this.input = pushable({
187
- onEnd: (err) => {
188
- this.log('closing muxed streams');
189
- for (const stream of this.streams) {
190
- if (err == null) {
191
- stream.close();
192
- }
193
- else {
194
- stream.abort(err);
195
- }
196
- }
197
- }
198
- });
199
- // receives messages from all of the muxed streams
200
- this.streamInput = pushable();
201
- }
202
- // receive incoming messages
203
- async sink(source) {
204
- try {
205
- await pipe(source, (source) => map(source, buf => uint8ArrayToString(buf)), ndjson.parse, async (source) => {
206
- for await (const message of source) {
207
- this.log.trace('-> %s %s %s', message.type, message.direction, message.id);
208
- this.handleMessage(message);
209
- }
210
- });
211
- this.log('muxed stream ended');
212
- this.input.end();
213
- }
214
- catch (err) {
215
- this.log('muxed stream errored', err);
216
- this.input.end(err);
217
- }
218
- }
219
- handleMessage(message) {
220
- let muxedStream;
221
- const registry = message.direction === 'initiator' ? this.registryRecipientStreams : this.registryInitiatorStreams;
222
- if (message.type === 'create') {
223
- if (registry.has(message.id)) {
224
- throw new Error(`Already had stream for ${message.id}`);
225
- }
226
- muxedStream = this.createStream(message.id, 'recipient');
227
- registry.set(muxedStream.stream.id, muxedStream);
228
- if (this.options.onIncomingStream != null) {
229
- this.options.onIncomingStream(muxedStream.stream);
230
- }
231
- }
232
- muxedStream = registry.get(message.id);
233
- if (muxedStream == null) {
234
- this.log.error(`No stream found for ${message.id}`);
235
- return;
236
- }
237
- if (message.type === 'data') {
238
- muxedStream.input.push(uint8ArrayFromString(message.chunk, 'base64'));
239
- }
240
- else if (message.type === 'reset') {
241
- this.log('-> reset stream %s %s', muxedStream.type, muxedStream.stream.id);
242
- muxedStream.stream.reset();
243
- }
244
- else if (message.type === 'close') {
245
- this.log('-> closing stream %s %s', muxedStream.type, muxedStream.stream.id);
246
- void muxedStream.stream.closeRead();
247
- }
248
- }
249
- get streams() {
250
- return Array.from(this.registryRecipientStreams.values())
251
- .concat(Array.from(this.registryInitiatorStreams.values()))
252
- .map(({ stream }) => stream);
253
- }
254
- newStream(name) {
255
- this.log('newStream %s', name);
256
- const storedStream = this.createStream(name, 'initiator');
257
- this.registryInitiatorStreams.set(storedStream.stream.id, storedStream);
258
- return storedStream.stream;
259
- }
260
- createStream(name, type = 'initiator') {
261
- const id = name ?? `${this.name}:stream:${streams++}`;
262
- this.log('createStream %s %s', type, id);
263
- const muxedStream = new MuxedStream({
264
- id,
265
- type,
266
- push: this.streamInput,
267
- onEnd: () => {
268
- this.log('stream ended %s %s', type, id);
269
- if (type === 'initiator') {
270
- this.registryInitiatorStreams.delete(id);
271
- }
272
- else {
273
- this.registryRecipientStreams.delete(id);
274
- }
275
- if (this.options.onStreamEnd != null) {
276
- this.options.onStreamEnd(muxedStream.stream);
277
- }
278
- }
279
- });
280
- return muxedStream;
281
- }
282
- }
283
- class MockMuxerFactory {
284
- constructor() {
285
- this.protocol = '/mock-muxer/1.0.0';
286
- }
287
- createStreamMuxer(c, init) {
288
- const mockMuxer = new MockMuxer(init);
289
- void Promise.resolve().then(async () => {
290
- void pipe(mockMuxer.streamInput, ndjson.stringify, (source) => map(source, str => uint8ArrayFromString(str)), async (source) => {
291
- for await (const buf of source) {
292
- mockMuxer.input.push(buf);
293
- }
294
- });
295
- });
296
- return mockMuxer;
297
- }
298
- }
299
- export function mockMuxer() {
300
- return new MockMuxerFactory();
301
- }
302
- //# sourceMappingURL=muxer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import type { IncomingStreamData, Registrar, StreamHandler } from '@libp2p/interfaces/registrar';
2
- import type { Connection } from '@libp2p/interfaces/connection';
3
- import type { PeerId } from '@libp2p/interfaces/peer-id';
4
- import type { Topology } from '@libp2p/interfaces/topology';
5
- export declare class MockRegistrar implements Registrar {
6
- private readonly topologies;
7
- private readonly handlers;
8
- getProtocols(): string[];
9
- handle(protocols: string | string[], handler: StreamHandler): Promise<void>;
10
- unhandle(protocols: string | string[]): Promise<void>;
11
- getHandler(protocol: string): StreamHandler;
12
- register(protocols: string | string[], topology: Topology): Promise<string>;
13
- unregister(id: string | string[]): void;
14
- getTopologies(protocol: string): Topology[];
15
- }
16
- export declare function mockRegistrar(): MockRegistrar;
17
- export declare function mockIncomingStreamEvent(protocol: string, conn: Connection, remotePeer: PeerId): Promise<IncomingStreamData>;
18
- //# sourceMappingURL=registrar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../../src/mocks/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsE;IACjG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IAEjE,YAAY;IAIN,MAAM,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5E,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ5C,UAAU,CAAE,QAAQ,EAAE,MAAM;IAUtB,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ;IAehE,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAQjC,aAAa,CAAE,QAAQ,EAAE,MAAM;CAehC;AAED,wBAAgB,aAAa,kBAE5B;AAED,wBAAsB,uBAAuB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQlI"}
@@ -1,73 +0,0 @@
1
- export class MockRegistrar {
2
- constructor() {
3
- this.topologies = new Map();
4
- this.handlers = new Map();
5
- }
6
- getProtocols() {
7
- return Array.from(this.handlers.keys()).sort();
8
- }
9
- async handle(protocols, handler) {
10
- const protocolList = Array.isArray(protocols) ? protocols : [protocols];
11
- for (const protocol of protocolList) {
12
- if (this.handlers.has(protocol)) {
13
- throw new Error(`Handler already registered for protocol ${protocol}`);
14
- }
15
- this.handlers.set(protocol, handler);
16
- }
17
- }
18
- async unhandle(protocols) {
19
- const protocolList = Array.isArray(protocols) ? protocols : [protocols];
20
- protocolList.forEach(protocol => {
21
- this.handlers.delete(protocol);
22
- });
23
- }
24
- getHandler(protocol) {
25
- const handler = this.handlers.get(protocol);
26
- if (handler == null) {
27
- throw new Error(`No handler registered for protocol ${protocol}`);
28
- }
29
- return handler;
30
- }
31
- async register(protocols, topology) {
32
- if (!Array.isArray(protocols)) {
33
- protocols = [protocols];
34
- }
35
- const id = `topology-id-${Math.random()}`;
36
- this.topologies.set(id, {
37
- topology,
38
- protocols
39
- });
40
- return id;
41
- }
42
- unregister(id) {
43
- if (!Array.isArray(id)) {
44
- id = [id];
45
- }
46
- id.forEach(id => this.topologies.delete(id));
47
- }
48
- getTopologies(protocol) {
49
- const output = [];
50
- for (const { topology, protocols } of this.topologies.values()) {
51
- if (protocols.includes(protocol)) {
52
- output.push(topology);
53
- }
54
- }
55
- if (output.length > 0) {
56
- return output;
57
- }
58
- return [];
59
- }
60
- }
61
- export function mockRegistrar() {
62
- return new MockRegistrar();
63
- }
64
- export async function mockIncomingStreamEvent(protocol, conn, remotePeer) {
65
- return {
66
- ...await conn.newStream([protocol]),
67
- // @ts-expect-error incomplete implementation
68
- connection: {
69
- remotePeer
70
- }
71
- };
72
- }
73
- //# sourceMappingURL=registrar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../../src/mocks/registrar.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { Upgrader, MultiaddrConnection, UpgraderEvents } from '@libp2p/interfaces/transport';
2
- import type { Registrar } from '@libp2p/interfaces/registrar';
3
- import { EventEmitter } from '@libp2p/interfaces/events';
4
- export interface MockUpgraderInit {
5
- registrar?: Registrar;
6
- }
7
- declare class MockUpgrader extends EventEmitter<UpgraderEvents> implements Upgrader {
8
- private readonly registrar?;
9
- constructor(init?: MockUpgraderInit);
10
- upgradeOutbound(multiaddrConnection: MultiaddrConnection): Promise<import("@libp2p/interfaces/dist/src/connection").Connection>;
11
- upgradeInbound(multiaddrConnection: MultiaddrConnection): Promise<import("@libp2p/interfaces/dist/src/connection").Connection>;
12
- }
13
- export declare function mockUpgrader(init?: MockUpgraderInit): MockUpgrader;
14
- export {};
15
- //# sourceMappingURL=upgrader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AACjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AASD,cAAM,YAAa,SAAQ,YAAY,CAAC,cAAc,CAAE,YAAW,QAAQ;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAW;gBAEzB,IAAI,GAAE,gBAAqB;IAMlC,eAAe,CAAE,mBAAmB,EAAE,mBAAmB;IAQzD,cAAc,CAAE,mBAAmB,EAAE,mBAAmB;CAO/D;AAED,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,gBAExD"}
@@ -1,33 +0,0 @@
1
- import { expect } from 'aegir/chai';
2
- import { mockConnection } from './connection.js';
3
- import { EventEmitter } from '@libp2p/interfaces/events';
4
- function ensureProps(multiaddrConnection) {
5
- ['sink', 'source', 'remoteAddr', 'timeline', 'close'].forEach(prop => {
6
- expect(multiaddrConnection).to.have.property(prop);
7
- });
8
- return multiaddrConnection;
9
- }
10
- class MockUpgrader extends EventEmitter {
11
- constructor(init = {}) {
12
- super();
13
- this.registrar = init.registrar;
14
- }
15
- async upgradeOutbound(multiaddrConnection) {
16
- ensureProps(multiaddrConnection);
17
- return mockConnection(multiaddrConnection, {
18
- direction: 'outbound',
19
- registrar: this.registrar
20
- });
21
- }
22
- async upgradeInbound(multiaddrConnection) {
23
- ensureProps(multiaddrConnection);
24
- return mockConnection(multiaddrConnection, {
25
- direction: 'inbound',
26
- registrar: this.registrar
27
- });
28
- }
29
- }
30
- export function mockUpgrader(init = {}) {
31
- return new MockUpgrader(init);
32
- }
33
- //# sourceMappingURL=upgrader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMxD,SAAS,WAAW,CAAE,mBAAwC;IAC5D,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IACF,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,MAAM,YAAa,SAAQ,YAA4B;IAGrD,YAAa,OAAyB,EAAE;QACtC,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,mBAAwC;QAC7D,WAAW,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAO,cAAc,CAAC,mBAAmB,EAAE;YACzC,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,mBAAwC;QAC5D,WAAW,CAAC,mBAAmB,CAAC,CAAA;QAChC,OAAO,cAAc,CAAC,mBAAmB,EAAE;YACzC,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAE,OAAyB,EAAE;IACvD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { TestSetup } from '../index.js';
2
- import type { PeerDiscovery } from '@libp2p/interfaces/peer-discovery';
3
- import type { Startable } from '@libp2p/interfaces/startable';
4
- declare const _default: (common: TestSetup<PeerDiscovery & Startable>) => void;
5
- export default _default;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer-discovery/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;iCAErC,UAAU,aAAa,GAAG,SAAS,CAAC;AAA5D,wBA+EC"}
@@ -1,64 +0,0 @@
1
- import { expect } from 'aegir/chai';
2
- import { Multiaddr } from '@multiformats/multiaddr';
3
- import delay from 'delay';
4
- import pDefer from 'p-defer';
5
- import { start, stop } from '@libp2p/interfaces/startable';
6
- export default (common) => {
7
- describe('interface-peer-discovery compliance tests', () => {
8
- let discovery;
9
- beforeEach(async () => {
10
- discovery = await common.setup();
11
- });
12
- afterEach('ensure discovery was stopped', async () => {
13
- await stop(discovery);
14
- await common.teardown();
15
- });
16
- it('can start the service', async () => {
17
- await start(discovery);
18
- });
19
- it('can start and stop the service', async () => {
20
- await start(discovery);
21
- await stop(discovery);
22
- });
23
- it('should not fail to stop the service if it was not started', async () => {
24
- await stop(discovery);
25
- });
26
- it('should not fail to start the service if it is already started', async () => {
27
- await start(discovery);
28
- await start(discovery);
29
- });
30
- it('should emit a peer event after start', async () => {
31
- const defer = pDefer();
32
- await start(discovery);
33
- discovery.addEventListener('peer', (evt) => {
34
- const { id, multiaddrs } = evt.detail;
35
- expect(id).to.exist();
36
- expect(id).to.have.property('type').that.is.oneOf(['RSA', 'Ed25519', 'secp256k1']);
37
- expect(multiaddrs).to.exist();
38
- multiaddrs.forEach((m) => expect(Multiaddr.isMultiaddr(m)).to.eql(true));
39
- defer.resolve();
40
- });
41
- await defer.promise;
42
- });
43
- it('should not receive a peer event before start', async () => {
44
- discovery.addEventListener('peer', () => {
45
- throw new Error('should not receive a peer event before start');
46
- });
47
- await delay(2000);
48
- });
49
- it('should not receive a peer event after stop', async () => {
50
- const deferStart = pDefer();
51
- await start(discovery);
52
- discovery.addEventListener('peer', () => {
53
- deferStart.resolve();
54
- });
55
- await deferStart.promise;
56
- await stop(discovery);
57
- discovery.addEventListener('peer', () => {
58
- throw new Error('should not receive a peer event after stop');
59
- });
60
- await delay(2000);
61
- });
62
- });
63
- };
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/peer-discovery/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { TestSetup } from '../index.js';
2
- import type { PubSub } from '@libp2p/interfaces/pubsub';
3
- import type { PubSubArgs } from './index.js';
4
- declare const _default: (common: TestSetup<PubSub, PubSubArgs>) => void;
5
- export default _default;
6
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/pubsub/api.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;iCASpB,UAAU,MAAM,EAAE,UAAU,CAAC;AAArD,wBAiGC"}