@libp2p/interface-compliance-tests 2.0.1 → 3.0.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 (192) hide show
  1. package/README.md +19 -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 -88
  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 -277
  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 -32
  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 -204
  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 -393
  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 -50
  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,277 +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
- let muxers = 0;
12
- let streams = 0;
13
- class MuxedStream {
14
- constructor(init) {
15
- const { id, type, push, onEnd } = init;
16
- this.log = logger(`libp2p:mock-muxer:stream:${id}:${type}`);
17
- this.id = id;
18
- this.type = type;
19
- this.abortController = new AbortController();
20
- this.resetController = new AbortController();
21
- this.sourceEnded = false;
22
- this.sinkEnded = false;
23
- let endErr;
24
- const onSourceEnd = (err) => {
25
- if (this.sourceEnded) {
26
- return;
27
- }
28
- this.log('onSourceEnd sink ended? %s', this.sinkEnded);
29
- this.sourceEnded = true;
30
- if (err != null && endErr == null) {
31
- endErr = err;
32
- }
33
- if (this.sinkEnded) {
34
- this.stream.timeline.close = Date.now();
35
- if (onEnd != null) {
36
- onEnd(endErr);
37
- }
38
- }
39
- };
40
- const onSinkEnd = (err) => {
41
- if (this.sinkEnded) {
42
- return;
43
- }
44
- this.log('onSinkEnd source ended? %s', this.sourceEnded);
45
- this.sinkEnded = true;
46
- if (err != null && endErr == null) {
47
- endErr = err;
48
- }
49
- if (this.sourceEnded) {
50
- this.stream.timeline.close = Date.now();
51
- if (onEnd != null) {
52
- onEnd(endErr);
53
- }
54
- }
55
- };
56
- this.input = pushable({
57
- onEnd: onSourceEnd
58
- });
59
- this.stream = {
60
- id,
61
- sink: async (source) => {
62
- source = abortableSource(source, anySignal([
63
- this.abortController.signal,
64
- this.resetController.signal
65
- ]));
66
- try {
67
- if (this.type === 'initiator') {
68
- // If initiator, open a new stream
69
- const createMsg = {
70
- id: this.id,
71
- type: 'create',
72
- direction: this.type
73
- };
74
- push.push(createMsg);
75
- }
76
- for await (const chunk of source) {
77
- const dataMsg = {
78
- id,
79
- type: 'data',
80
- chunk: uint8ArrayToString(chunk, 'base64'),
81
- direction: this.type
82
- };
83
- push.push(dataMsg);
84
- }
85
- }
86
- catch (err) {
87
- if (err.type === 'aborted' && err.message === 'The operation was aborted') {
88
- if (this.resetController.signal.aborted) {
89
- err.message = 'stream reset';
90
- err.code = 'ERR_STREAM_RESET';
91
- }
92
- if (this.abortController.signal.aborted) {
93
- err.message = 'stream aborted';
94
- err.code = 'ERR_STREAM_ABORT';
95
- }
96
- }
97
- // Send no more data if this stream was remotely reset
98
- if (err.code !== 'ERR_STREAM_RESET') {
99
- const resetMsg = {
100
- id,
101
- type: 'reset',
102
- direction: this.type
103
- };
104
- push.push(resetMsg);
105
- }
106
- this.log('sink erred', err);
107
- this.input.end(err);
108
- onSinkEnd(err);
109
- return;
110
- }
111
- this.log('sink ended');
112
- onSinkEnd();
113
- const closeMsg = {
114
- id,
115
- type: 'close',
116
- direction: this.type
117
- };
118
- push.push(closeMsg);
119
- },
120
- source: this.input,
121
- // Close for reading
122
- close: () => {
123
- this.input.end();
124
- },
125
- closeRead: () => {
126
- this.input.end();
127
- },
128
- closeWrite: () => {
129
- this.input.end();
130
- },
131
- // Close for reading and writing (local error)
132
- abort: (err) => {
133
- // End the source with the passed error
134
- this.input.end(err);
135
- this.abortController.abort();
136
- onSinkEnd(err);
137
- },
138
- // Close immediately for reading and writing (remote error)
139
- reset: () => {
140
- const err = errCode(new Error('stream reset'), 'ERR_STREAM_RESET');
141
- this.resetController.abort();
142
- this.input.end(err);
143
- onSinkEnd(err);
144
- },
145
- timeline: {
146
- open: Date.now()
147
- }
148
- };
149
- }
150
- }
151
- class MockMuxer {
152
- constructor(init) {
153
- this.protocol = '/mock-muxer/1.0.0';
154
- this.name = `muxer:${muxers++}`;
155
- this.log = logger(`libp2p:mock-muxer:${this.name}`);
156
- this.registryInitiatorStreams = new Map();
157
- this.registryRecipientStreams = new Map();
158
- this.log('create muxer');
159
- this.options = init ?? {};
160
- // receives data from the muxer at the other end of the stream
161
- this.source = this.input = pushable({
162
- onEnd: (err) => {
163
- this.log('closing muxed streams');
164
- for (const stream of this.streams) {
165
- if (err == null) {
166
- stream.close();
167
- }
168
- else {
169
- stream.abort(err);
170
- }
171
- }
172
- }
173
- });
174
- // receives messages from all of the muxed streams
175
- this.streamInput = pushable();
176
- }
177
- // receive incoming messages
178
- async sink(source) {
179
- try {
180
- await pipe(source, (source) => map(source, buf => uint8ArrayToString(buf)), ndjson.parse, async (source) => {
181
- for await (const message of source) {
182
- this.log.trace('-> %s %s %s', message.type, message.direction, message.id);
183
- this.handleMessage(message);
184
- }
185
- });
186
- this.log('muxed stream ended');
187
- this.input.end();
188
- }
189
- catch (err) {
190
- this.log('muxed stream errored', err);
191
- this.input.end(err);
192
- }
193
- }
194
- handleMessage(message) {
195
- let muxedStream;
196
- const registry = message.direction === 'initiator' ? this.registryRecipientStreams : this.registryInitiatorStreams;
197
- if (message.type === 'create') {
198
- if (registry.has(message.id)) {
199
- throw new Error(`Already had stream for ${message.id}`);
200
- }
201
- muxedStream = this.createStream(message.id, 'recipient');
202
- registry.set(muxedStream.stream.id, muxedStream);
203
- if (this.options.onIncomingStream != null) {
204
- this.options.onIncomingStream(muxedStream.stream);
205
- }
206
- }
207
- muxedStream = registry.get(message.id);
208
- if (muxedStream == null) {
209
- this.log.error(`No stream found for ${message.id}`);
210
- return;
211
- }
212
- if (message.type === 'data') {
213
- muxedStream.input.push(uint8ArrayFromString(message.chunk, 'base64'));
214
- }
215
- else if (message.type === 'reset') {
216
- this.log('-> reset stream %s %s', muxedStream.type, muxedStream.stream.id);
217
- muxedStream.stream.reset();
218
- }
219
- else if (message.type === 'close') {
220
- this.log('-> closing stream %s %s', muxedStream.type, muxedStream.stream.id);
221
- void muxedStream.stream.close();
222
- }
223
- }
224
- get streams() {
225
- return Array.from(this.registryRecipientStreams.values())
226
- .concat(Array.from(this.registryInitiatorStreams.values()))
227
- .map(({ stream }) => stream);
228
- }
229
- newStream(name) {
230
- this.log('newStream %s', name);
231
- const storedStream = this.createStream(name, 'initiator');
232
- this.registryInitiatorStreams.set(storedStream.stream.id, storedStream);
233
- return storedStream.stream;
234
- }
235
- createStream(name, type = 'initiator') {
236
- const id = name ?? `${this.name}:stream:${streams++}`;
237
- this.log('createStream %s %s', type, id);
238
- const muxedStream = new MuxedStream({
239
- id,
240
- type,
241
- push: this.streamInput,
242
- onEnd: () => {
243
- this.log('stream ended %s %s', type, id);
244
- if (type === 'initiator') {
245
- this.registryInitiatorStreams.delete(id);
246
- }
247
- else {
248
- this.registryRecipientStreams.delete(id);
249
- }
250
- if (this.options.onStreamEnd != null) {
251
- this.options.onStreamEnd(muxedStream.stream);
252
- }
253
- }
254
- });
255
- return muxedStream;
256
- }
257
- }
258
- class MockMuxerFactory {
259
- constructor() {
260
- this.protocol = '/mock-muxer/1.0.0';
261
- }
262
- createStreamMuxer(c, init) {
263
- const mockMuxer = new MockMuxer(init);
264
- void Promise.resolve().then(async () => {
265
- void pipe(mockMuxer.streamInput, ndjson.stringify, (source) => map(source, str => uint8ArrayFromString(str)), async (source) => {
266
- for await (const buf of source) {
267
- mockMuxer.input.push(buf);
268
- }
269
- });
270
- });
271
- return mockMuxer;
272
- }
273
- }
274
- export function mockMuxer() {
275
- return new MockMuxerFactory();
276
- }
277
- //# 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"}
@@ -1,87 +0,0 @@
1
- import { expect } from 'aegir/chai';
2
- import sinon from 'sinon';
3
- import pDefer from 'p-defer';
4
- import pWaitFor from 'p-wait-for';
5
- import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
6
- import delay from 'delay';
7
- import { createComponents } from './utils.js';
8
- import { isStartable, start, stop } from '@libp2p/interfaces/startable';
9
- import { mockNetwork } from '../mocks/connection-manager.js';
10
- const topic = 'foo';
11
- const data = uint8ArrayFromString('bar');
12
- export default (common) => {
13
- describe('pubsub api', () => {
14
- let pubsub;
15
- let components;
16
- // Create pubsub router
17
- beforeEach(async () => {
18
- mockNetwork.reset();
19
- components = await createComponents();
20
- pubsub = components.setPubSub(await common.setup({
21
- components,
22
- init: {
23
- emitSelf: true
24
- }
25
- }));
26
- });
27
- afterEach(async () => {
28
- sinon.restore();
29
- await stop(components);
30
- await common.teardown();
31
- mockNetwork.reset();
32
- });
33
- it('can start correctly', async () => {
34
- if (!isStartable(pubsub)) {
35
- return;
36
- }
37
- sinon.spy(components.getRegistrar(), 'register');
38
- await start(components);
39
- expect(pubsub.isStarted()).to.equal(true);
40
- expect(components.getRegistrar().register).to.have.property('callCount', 1);
41
- });
42
- it('can stop correctly', async () => {
43
- if (!isStartable(pubsub)) {
44
- return;
45
- }
46
- sinon.spy(components.getRegistrar(), 'unregister');
47
- await start(components);
48
- await stop(components);
49
- expect(pubsub.isStarted()).to.equal(false);
50
- expect(components.getRegistrar().unregister).to.have.property('callCount', 1);
51
- });
52
- it('can subscribe and unsubscribe correctly', async () => {
53
- const handler = () => {
54
- throw new Error('a message should not be received');
55
- };
56
- await start(components);
57
- pubsub.subscribe(topic);
58
- pubsub.addEventListener('message', handler);
59
- await pWaitFor(() => {
60
- const topics = pubsub.getTopics();
61
- return topics.length === 1 && topics[0] === topic;
62
- });
63
- pubsub.removeEventListener('message', handler);
64
- pubsub.unsubscribe(topic);
65
- await pWaitFor(() => pubsub.getTopics().length === 0);
66
- // Publish to guarantee the handler is not called
67
- await pubsub.publish(topic, data);
68
- // handlers are called async
69
- await delay(100);
70
- await stop(components);
71
- });
72
- it('can subscribe and publish correctly', async () => {
73
- const defer = pDefer();
74
- await start(components);
75
- pubsub.subscribe(topic);
76
- pubsub.addEventListener('message', (evt) => {
77
- expect(evt).to.have.nested.property('detail.topic', topic);
78
- expect(evt).to.have.deep.nested.property('detail.data', data);
79
- defer.resolve();
80
- });
81
- await pubsub.publish(topic, data);
82
- await defer.promise;
83
- await stop(components);
84
- });
85
- });
86
- };
87
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/pubsub/api.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=connection-handlers.d.ts.map