@libp2p/interface-compliance-tests 1.1.3 → 1.1.4

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 (68) hide show
  1. package/dist/src/{utils/mock-connection-gater.d.ts → mocks/connection-gater.d.ts} +1 -1
  2. package/dist/src/mocks/connection-gater.d.ts.map +1 -0
  3. package/dist/src/{utils/mock-connection-gater.js → mocks/connection-gater.js} +1 -1
  4. package/dist/src/mocks/connection-gater.js.map +1 -0
  5. package/dist/src/{utils/mock-connection-manager.d.ts → mocks/connection-manager.d.ts} +1 -1
  6. package/dist/src/mocks/connection-manager.d.ts.map +1 -0
  7. package/dist/src/{utils/mock-connection-manager.js → mocks/connection-manager.js} +1 -1
  8. package/dist/src/mocks/connection-manager.js.map +1 -0
  9. package/dist/src/mocks/connection.d.ts +8 -0
  10. package/dist/src/mocks/connection.d.ts.map +1 -0
  11. package/dist/src/{utils/mock-connection.js → mocks/connection.js} +36 -3
  12. package/dist/src/mocks/connection.js.map +1 -0
  13. package/dist/src/mocks/index.d.ts +9 -0
  14. package/dist/src/mocks/index.d.ts.map +1 -0
  15. package/dist/src/mocks/index.js +8 -0
  16. package/dist/src/mocks/index.js.map +1 -0
  17. package/dist/src/{utils/mock-multiaddr-connection.d.ts → mocks/multiaddr-connection.d.ts} +2 -2
  18. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -0
  19. package/dist/src/{utils/mock-multiaddr-connection.js → mocks/multiaddr-connection.js} +3 -3
  20. package/dist/src/mocks/multiaddr-connection.js.map +1 -0
  21. package/dist/src/{utils/mock-muxer.d.ts → mocks/muxer.d.ts} +1 -1
  22. package/dist/src/mocks/muxer.d.ts.map +1 -0
  23. package/dist/src/{utils/mock-muxer.js → mocks/muxer.js} +1 -1
  24. package/dist/src/mocks/muxer.js.map +1 -0
  25. package/dist/src/mocks/registrar.d.ts +14 -0
  26. package/dist/src/mocks/registrar.d.ts.map +1 -0
  27. package/dist/src/mocks/registrar.js +54 -0
  28. package/dist/src/mocks/registrar.js.map +1 -0
  29. package/dist/src/{utils/mock-upgrader.d.ts → mocks/upgrader.d.ts} +1 -1
  30. package/dist/src/mocks/upgrader.d.ts.map +1 -0
  31. package/dist/src/{utils/mock-upgrader.js → mocks/upgrader.js} +3 -3
  32. package/dist/src/mocks/upgrader.js.map +1 -0
  33. package/dist/src/topology/topology.d.ts.map +1 -1
  34. package/dist/src/topology/topology.js +1 -10
  35. package/dist/src/topology/topology.js.map +1 -1
  36. package/package.json +5 -32
  37. package/src/{utils/mock-connection-gater.ts → mocks/connection-gater.ts} +0 -0
  38. package/src/{utils/mock-connection-manager.ts → mocks/connection-manager.ts} +0 -0
  39. package/src/{utils/mock-connection.ts → mocks/connection.ts} +39 -4
  40. package/src/mocks/index.ts +9 -0
  41. package/src/{utils/mock-multiaddr-connection.ts → mocks/multiaddr-connection.ts} +3 -3
  42. package/src/{utils/mock-muxer.ts → mocks/muxer.ts} +0 -0
  43. package/src/mocks/registrar.ts +71 -0
  44. package/src/{utils/mock-upgrader.ts → mocks/upgrader.ts} +2 -2
  45. package/src/topology/topology.ts +1 -14
  46. package/dist/src/topology/multicodec-topology.d.ts +0 -5
  47. package/dist/src/topology/multicodec-topology.d.ts.map +0 -1
  48. package/dist/src/topology/multicodec-topology.js +0 -109
  49. package/dist/src/topology/multicodec-topology.js.map +0 -1
  50. package/dist/src/utils/mock-connection-gater.d.ts.map +0 -1
  51. package/dist/src/utils/mock-connection-gater.js.map +0 -1
  52. package/dist/src/utils/mock-connection-manager.d.ts.map +0 -1
  53. package/dist/src/utils/mock-connection-manager.js.map +0 -1
  54. package/dist/src/utils/mock-connection.d.ts +0 -5
  55. package/dist/src/utils/mock-connection.d.ts.map +0 -1
  56. package/dist/src/utils/mock-connection.js.map +0 -1
  57. package/dist/src/utils/mock-multiaddr-connection.d.ts.map +0 -1
  58. package/dist/src/utils/mock-multiaddr-connection.js.map +0 -1
  59. package/dist/src/utils/mock-muxer.d.ts.map +0 -1
  60. package/dist/src/utils/mock-muxer.js.map +0 -1
  61. package/dist/src/utils/mock-registrar.d.ts +0 -12
  62. package/dist/src/utils/mock-registrar.d.ts.map +0 -1
  63. package/dist/src/utils/mock-registrar.js +0 -27
  64. package/dist/src/utils/mock-registrar.js.map +0 -1
  65. package/dist/src/utils/mock-upgrader.d.ts.map +0 -1
  66. package/dist/src/utils/mock-upgrader.js.map +0 -1
  67. package/src/topology/multicodec-topology.ts +0 -136
  68. package/src/utils/mock-registrar.ts +0 -35
@@ -9,4 +9,4 @@ export declare function mockConnectionGater(): {
9
9
  denyOutboundUpgradedConnection: () => Promise<boolean>;
10
10
  filterMultiaddrForPeer: () => Promise<boolean>;
11
11
  };
12
- //# sourceMappingURL=mock-connection-gater.d.ts.map
12
+ //# sourceMappingURL=connection-gater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-gater.ts"],"names":[],"mappings":"AACA,wBAAgB,mBAAmB;;;;;;;;;;EAYlC"}
@@ -11,4 +11,4 @@ export function mockConnectionGater() {
11
11
  filterMultiaddrForPeer: async () => await Promise.resolve(true)
12
12
  };
13
13
  }
14
- //# sourceMappingURL=mock-connection-gater.js.map
14
+ //# sourceMappingURL=connection-gater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.js","sourceRoot":"","sources":["../../../src/mocks/connection-gater.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACtD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAChE,CAAA;AACH,CAAC"}
@@ -15,4 +15,4 @@ declare class MockConnectionManager extends EventEmitter<ConnectionManagerEvents
15
15
  }
16
16
  export declare function mockConnectionManager(): MockConnectionManager;
17
17
  export {};
18
- //# sourceMappingURL=mock-connection-manager.d.ts.map
18
+ //# sourceMappingURL=connection-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAElG,cAAM,qBAAsB,SAAQ,YAAY,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACpG,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAItD,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAIjO,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAI/O,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO;CAGtC;AAED,wBAAgB,qBAAqB,0BAEpC"}
@@ -19,4 +19,4 @@ class MockConnectionManager extends EventEmitter {
19
19
  export function mockConnectionManager() {
20
20
  return new MockConnectionManager();
21
21
  }
22
- //# sourceMappingURL=mock-connection-manager.js.map
22
+ //# sourceMappingURL=connection-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../../src/mocks/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,YAAqC;IACvE,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,IAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAA2B,IAAO,EAAE,QAAyH,EAAE,OAA2C;QACxN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,mBAAmB,CAA2B,IAAO,EAAE,QAAuI,EAAE,OAAwC;QACtO,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,qBAAqB,EAAE,CAAA;AACpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
+ import type { Connection, Stream } from '@libp2p/interfaces/connection';
3
+ import type { Muxer } from '@libp2p/interfaces/stream-muxer';
4
+ import type { Duplex } from 'it-stream-types';
5
+ export declare function mockConnection(maConn: MultiaddrConnection, direction?: 'inbound' | 'outbound', muxer?: Muxer): Promise<Connection>;
6
+ export declare function mockStream(stream: Duplex<Uint8Array>): Stream;
7
+ export declare function connectionPair(): [Connection, Connection];
8
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAA4B,MAAM,+BAA+B,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAG7C,wBAAsB,cAAc,CAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,GAAE,SAAS,GAAG,UAAsB,EAAE,KAAK,GAAE,KAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDjK;AAED,wBAAgB,UAAU,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAW9D;AAED,wBAAgB,cAAc,IAAK,CAAE,UAAU,EAAE,UAAU,CAAE,CAmB5D"}
@@ -1,13 +1,15 @@
1
1
  import { PeerId } from '@libp2p/peer-id';
2
2
  import { createEd25519PeerId } from '@libp2p/peer-id-factory';
3
3
  import { pipe } from 'it-pipe';
4
- export async function mockConnection(maConn, direction, muxer) {
4
+ import { duplexPair } from 'it-pair/duplex';
5
+ import { mockMuxer } from './muxer.js';
6
+ export async function mockConnection(maConn, direction = 'inbound', muxer = mockMuxer()) {
5
7
  const remoteAddr = maConn.remoteAddr;
6
8
  const remotePeerIdStr = remoteAddr.getPeerId();
7
9
  const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await createEd25519PeerId();
10
+ const registry = new Map();
8
11
  const streams = [];
9
12
  let streamId = 0;
10
- const registry = new Map();
11
13
  void pipe(maConn, muxer, maConn);
12
14
  return {
13
15
  id: 'mock-connection',
@@ -49,4 +51,35 @@ export async function mockConnection(maConn, direction, muxer) {
49
51
  }
50
52
  };
51
53
  }
52
- //# sourceMappingURL=mock-connection.js.map
54
+ export function mockStream(stream) {
55
+ return {
56
+ ...stream,
57
+ close: () => { },
58
+ abort: () => { },
59
+ reset: () => { },
60
+ timeline: {
61
+ open: Date.now()
62
+ },
63
+ id: `stream-${Date.now()}`
64
+ };
65
+ }
66
+ export function connectionPair() {
67
+ const [d0, d1] = duplexPair();
68
+ return [
69
+ // @ts-expect-error not a complete implementation
70
+ {
71
+ newStream: async (multicodecs) => await Promise.resolve({
72
+ stream: mockStream(d0),
73
+ protocol: multicodecs[0]
74
+ })
75
+ },
76
+ // @ts-expect-error not a complete implementation
77
+ {
78
+ newStream: async (multicodecs) => await Promise.resolve({
79
+ stream: mockStream(d1),
80
+ protocol: multicodecs[0]
81
+ })
82
+ }
83
+ ];
84
+ }
85
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/mocks/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAK3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,MAA2B,EAAE,YAAoC,SAAS,EAAE,QAAe,SAAS,EAAE;IAC1I,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACpC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IAC9C,MAAM,UAAU,GAAG,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAA;IAC7G,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,KAAK,IAAI,CACP,MAAM,EAAE,KAAK,EAAE,MAAM,CACtB,CAAA;IAED,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,UAAU;QACV,UAAU;QACV,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,qBAAqB;SAClC;QACD,QAAQ;QACR,IAAI,EAAE,EAAE;QACR,OAAO;QACP,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;aACxB;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YAED,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1C,MAAM,UAAU,GAAmB;gBACjC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtB,MAAM;aACP,CAAA;YAED,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YAE5B,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,SAAS,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,EAAE;QAElD,CAAC;QACD,YAAY,EAAE,CAAC,EAAU,EAAE,EAAE;YAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAE,MAA0B;IACpD,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;KAC3B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,EAAc,CAAA;IAEzC,OAAO;QACL,iDAAiD;QACjD;YACE,SAAS,EAAE,KAAK,EAAE,WAAqB,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC;gBAChE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;gBACtB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;aACzB,CAAC;SACH;QACD,iDAAiD;QACjD;YACE,SAAS,EAAE,KAAK,EAAE,WAAqB,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC;gBAChE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;gBACtB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;aACzB,CAAC;SACH;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { mockConnectionGater } from './connection-gater.js';
2
+ export { mockConnectionManager } from './connection-manager.js';
3
+ export { mockConnection, mockStream, connectionPair } from './connection.js';
4
+ export { mockMultiaddrConnection } from './multiaddr-connection.js';
5
+ export { mockMuxer } from './muxer.js';
6
+ export { mockRegistrar } from './registrar.js';
7
+ export { mockUpgrader } from './upgrader.js';
8
+ export type { MockUpgraderOptions } from './upgrader.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { mockConnectionGater } from './connection-gater.js';
2
+ export { mockConnectionManager } from './connection-manager.js';
3
+ export { mockConnection, mockStream, connectionPair } from './connection.js';
4
+ export { mockMultiaddrConnection } from './multiaddr-connection.js';
5
+ export { mockMuxer } from './muxer.js';
6
+ export { mockRegistrar } from './registrar.js';
7
+ export { mockUpgrader } from './upgrader.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
2
  import type { Duplex } from 'it-stream-types';
3
- export declare function mockMultiaddrConnection(source: Duplex<Uint8Array>): MultiaddrConnection;
4
- //# sourceMappingURL=mock-multiaddr-connection.d.ts.map
3
+ export declare function mockMultiaddrConnection(source: Duplex<Uint8Array> & Partial<MultiaddrConnection>): MultiaddrConnection;
4
+ //# sourceMappingURL=multiaddr-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiaddr-connection.d.ts","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAavH"}
@@ -1,14 +1,14 @@
1
1
  import { Multiaddr } from '@multiformats/multiaddr';
2
2
  export function mockMultiaddrConnection(source) {
3
3
  const maConn = {
4
- ...source,
5
4
  async close() {
6
5
  },
7
6
  timeline: {
8
7
  open: Date.now()
9
8
  },
10
- remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001')
9
+ remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
10
+ ...source
11
11
  };
12
12
  return maConn;
13
13
  }
14
- //# sourceMappingURL=mock-multiaddr-connection.js.map
14
+ //# sourceMappingURL=multiaddr-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiaddr-connection.js","sourceRoot":"","sources":["../../../src/mocks/multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,MAAM,UAAU,uBAAuB,CAAE,MAAyD;IAChG,MAAM,MAAM,GAAwB;QAClC,KAAK,CAAC,KAAK;QAEX,CAAC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,UAAU,EAAE,IAAI,SAAS,CAAC,yBAAyB,CAAC;QACpD,GAAG,MAAM;KACV,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { Muxer } from '@libp2p/interfaces/stream-muxer';
2
2
  export declare function mockMuxer(): Muxer;
3
- //# sourceMappingURL=mock-muxer.d.ts.map
3
+ //# sourceMappingURL=muxer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAgB,SAAS,IAAK,KAAK,CAoClC"}
@@ -34,4 +34,4 @@ export function mockMuxer() {
34
34
  };
35
35
  return muxer;
36
36
  }
37
- //# sourceMappingURL=mock-muxer.js.map
37
+ //# sourceMappingURL=muxer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,MAAM,UAAU,CAAA;AAI5B,MAAM,UAAU,SAAS;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,QAAQ,EAAc,CAAA;IAEhC,MAAM,KAAK,GAAU;QACnB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,EAAc,CAAA;YAE/B,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW;gBACrB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAC;iBACR;aACF,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { Registrar, StreamHandler } from '@libp2p/interfaces/registrar';
2
+ import type { Topology } from '@libp2p/interfaces/topology';
3
+ export declare class MockRegistrar implements Registrar {
4
+ private readonly topologies;
5
+ private readonly handlers;
6
+ handle(protocols: string | string[], handler: StreamHandler): Promise<string>;
7
+ unhandle(id: string): Promise<void>;
8
+ getHandlers(protocol: string): StreamHandler[];
9
+ register(protocols: string | string[], topology: Topology): string;
10
+ unregister(id: string | string[]): void;
11
+ getTopologies(protocol: string): Topology[];
12
+ }
13
+ export declare function mockRegistrar(): MockRegistrar;
14
+ //# sourceMappingURL=registrar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../../src/mocks/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5E,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,CAA0E;IAE7F,MAAM,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa;IAe5D,QAAQ,CAAE,EAAE,EAAE,MAAM;IAI1B,WAAW,CAAE,QAAQ,EAAE,MAAM;IAY7B,QAAQ,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ;IAe1D,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAQjC,aAAa,CAAE,QAAQ,EAAE,MAAM;CAKhC;AAED,wBAAgB,aAAa,kBAE5B"}
@@ -0,0 +1,54 @@
1
+ export class MockRegistrar {
2
+ constructor() {
3
+ this.topologies = new Map();
4
+ this.handlers = new Map();
5
+ }
6
+ async handle(protocols, handler) {
7
+ if (!Array.isArray(protocols)) {
8
+ protocols = [protocols];
9
+ }
10
+ const id = `handler-id-${Math.random()}`;
11
+ this.handlers.set(id, {
12
+ handler,
13
+ protocols
14
+ });
15
+ return id;
16
+ }
17
+ async unhandle(id) {
18
+ this.handlers.delete(id);
19
+ }
20
+ getHandlers(protocol) {
21
+ const output = [];
22
+ for (const { handler, protocols } of this.handlers.values()) {
23
+ if (protocols.includes(protocol)) {
24
+ output.push(handler);
25
+ }
26
+ }
27
+ return output;
28
+ }
29
+ register(protocols, topology) {
30
+ if (!Array.isArray(protocols)) {
31
+ protocols = [protocols];
32
+ }
33
+ const id = `topology-id-${Math.random()}`;
34
+ this.topologies.set(id, {
35
+ topology,
36
+ protocols
37
+ });
38
+ return id;
39
+ }
40
+ unregister(id) {
41
+ if (!Array.isArray(id)) {
42
+ id = [id];
43
+ }
44
+ id.forEach(id => this.topologies.delete(id));
45
+ }
46
+ getTopologies(protocol) {
47
+ const output = [];
48
+ return output;
49
+ }
50
+ }
51
+ export function mockRegistrar() {
52
+ return new MockRegistrar();
53
+ }
54
+ //# sourceMappingURL=registrar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../../src/mocks/registrar.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAA1B;QACmB,eAAU,GAA6D,IAAI,GAAG,EAAE,CAAA;QAChF,aAAQ,GAAiE,IAAI,GAAG,EAAE,CAAA;IA6DrG,CAAC;IA3DC,KAAK,CAAC,MAAM,CAAE,SAA4B,EAAE,OAAsB;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;SACxB;QAED,MAAM,EAAE,GAAG,cAAc,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QAExC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;YACpB,OAAO;YACP,SAAS;SACV,CAAC,CAAA;QAEF,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,EAAU;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,WAAW,CAAE,QAAgB;QAC3B,MAAM,MAAM,GAAoB,EAAE,CAAA;QAElC,KAAK,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;YAC3D,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aACrB;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,QAAQ,CAAE,SAA4B,EAAE,QAAkB;QACxD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;SACxB;QAED,MAAM,EAAE,GAAG,eAAe,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QAEzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;YACtB,QAAQ;YACR,SAAS;SACV,CAAC,CAAA;QAEF,OAAO,EAAE,CAAA;IACX,CAAC;IAED,UAAU,CAAE,EAAqB;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACtB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;SACV;QAED,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,aAAa,CAAE,QAAgB;QAC7B,MAAM,MAAM,GAAe,EAAE,CAAA;QAE7B,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC"}
@@ -4,4 +4,4 @@ export interface MockUpgraderOptions {
4
4
  muxer?: Muxer;
5
5
  }
6
6
  export declare function mockUpgrader(options?: MockUpgraderOptions): Upgrader;
7
- //# sourceMappingURL=mock-upgrader.d.ts.map
7
+ //# sourceMappingURL=upgrader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,YAAY,CAAE,OAAO,GAAE,mBAAwB,YAsB9D"}
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
- import { mockMuxer } from './mock-muxer.js';
3
- import { mockConnection } from './mock-connection.js';
2
+ import { mockMuxer } from './muxer.js';
3
+ import { mockConnection } from './connection.js';
4
4
  export function mockUpgrader(options = {}) {
5
5
  const ensureProps = (multiaddrConnection) => {
6
6
  ['sink', 'source', 'remoteAddr', 'timeline', 'close'].forEach(prop => {
@@ -21,4 +21,4 @@ export function mockUpgrader(options = {}) {
21
21
  };
22
22
  return upgrader;
23
23
  }
24
- //# sourceMappingURL=mock-upgrader.js.map
24
+ //# sourceMappingURL=upgrader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAQhD,MAAM,UAAU,YAAY,CAAE,UAA+B,EAAE;IAC7D,MAAM,WAAW,GAAG,CAAC,mBAAwC,EAAE,EAAE;QAC/D,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAa;QACzB,KAAK,CAAC,eAAe,CAAE,mBAAmB;YACxC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,mBAAmB;YACvC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;KACF,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;+BAGrC,UAAU,QAAQ,CAAC;AAAzC,wBA6BC"}
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;+BAErC,UAAU,QAAQ,CAAC;AAAzC,wBAmBC"}
@@ -1,13 +1,10 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
2
  import sinon from 'sinon';
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory';
4
- import peers from '../utils/peers.js';
5
3
  export default (test) => {
6
4
  describe('topology', () => {
7
- let topology, id;
5
+ let topology;
8
6
  beforeEach(async () => {
9
7
  topology = await test.setup();
10
- id = await PeerIdFactory.createFromJSON(peers[0]);
11
8
  });
12
9
  afterEach(async () => {
13
10
  sinon.restore();
@@ -18,12 +15,6 @@ export default (test) => {
18
15
  expect(topology.max).to.exist();
19
16
  expect(topology.peers).to.exist();
20
17
  });
21
- it('should trigger "onDisconnect" on peer disconnected', () => {
22
- // @ts-expect-error protected property
23
- sinon.spy(topology, '_onDisconnect');
24
- topology.disconnect(id);
25
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1);
26
- });
27
18
  });
28
19
  };
29
20
  //# sourceMappingURL=topology.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topology.js","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AAKrC,eAAe,CAAC,IAAyB,EAAE,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,QAAkB,EAAE,EAAU,CAAA;QAElC,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAE7B,EAAE,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;YACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAEvB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"topology.js","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,eAAe,CAAC,IAAyB,EAAE,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,IAAI,QAAkB,CAAA;QAEtB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/interface-compliance-tests",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "Compliance tests for JS libp2p interfaces",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interface-compliance-tests#readme",
@@ -88,37 +88,9 @@
88
88
  "import": "./dist/src/transport/utils/index.js",
89
89
  "types": "./dist/src/transport/utils/index.d.ts"
90
90
  },
91
- "./utils/mock-connection": {
92
- "import": "./dist/src/utils/mock-connection.js",
93
- "types": "./dist/src/utils/mock-connection.d.ts"
94
- },
95
- "./utils/mock-connection-gater": {
96
- "import": "./dist/src/utils/mock-connection-gater.js",
97
- "types": "./dist/src/utils/mock-connection-gater.d.ts"
98
- },
99
- "./utils/mock-connection-manager": {
100
- "import": "./dist/src/utils/mock-connection-manager.js",
101
- "types": "./dist/src/utils/mock-connection-manager.d.ts"
102
- },
103
- "./utils/mock-multiaddr-connection": {
104
- "import": "./dist/src/utils/mock-multiaddr-connection.js",
105
- "types": "./dist/src/utils/mock-multiaddr-connection.d.ts"
106
- },
107
- "./utils/mock-muxer": {
108
- "import": "./dist/src/utils/mock-muxer.js",
109
- "types": "./dist/src/utils/mock-muxer.d.ts"
110
- },
111
- "./utils/mock-peer-store": {
112
- "import": "./dist/src/utils/mock-peer-store.js",
113
- "types": "./dist/src/utils/mock-peer-store.d.ts"
114
- },
115
- "./utils/mock-registrar": {
116
- "import": "./dist/src/utils/mock-registrar.js",
117
- "types": "./dist/src/utils/mock-registrar.d.ts"
118
- },
119
- "./utils/mock-upgrader": {
120
- "import": "./dist/src/utils/mock-upgrader.js",
121
- "types": "./dist/src/utils/mock-upgrader.d.ts"
91
+ "./mocks": {
92
+ "import": "./dist/src/mocks/index.js",
93
+ "types": "./dist/src/mocks/index.d.ts"
122
94
  },
123
95
  "./utils/peers": {
124
96
  "import": "./dist/src/utils/peers.js",
@@ -242,6 +214,7 @@
242
214
  "it-pair": "^2.0.0",
243
215
  "it-pipe": "^2.0.2",
244
216
  "it-pushable": "^2.0.1",
217
+ "it-stream-types": "^1.0.4",
245
218
  "multiformats": "^9.4.10",
246
219
  "p-defer": "^4.0.0",
247
220
  "p-limit": "^4.0.0",
@@ -1,20 +1,21 @@
1
1
  import { PeerId } from '@libp2p/peer-id'
2
2
  import { createEd25519PeerId } from '@libp2p/peer-id-factory'
3
3
  import { pipe } from 'it-pipe'
4
+ import { duplexPair } from 'it-pair/duplex'
4
5
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
5
6
  import type { Connection, Stream, Metadata, ProtocolStream } from '@libp2p/interfaces/connection'
6
7
  import type { Muxer } from '@libp2p/interfaces/stream-muxer'
8
+ import type { Duplex } from 'it-stream-types'
9
+ import { mockMuxer } from './muxer.js'
7
10
 
8
- export async function mockConnection (maConn: MultiaddrConnection, direction: 'inbound' | 'outbound', muxer: Muxer): Promise<Connection> {
11
+ export async function mockConnection (maConn: MultiaddrConnection, direction: 'inbound' | 'outbound' = 'inbound', muxer: Muxer = mockMuxer()): Promise<Connection> {
9
12
  const remoteAddr = maConn.remoteAddr
10
13
  const remotePeerIdStr = remoteAddr.getPeerId()
11
14
  const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await createEd25519PeerId()
12
-
15
+ const registry = new Map()
13
16
  const streams: Stream[] = []
14
17
  let streamId = 0
15
18
 
16
- const registry = new Map()
17
-
18
19
  void pipe(
19
20
  maConn, muxer, maConn
20
21
  )
@@ -64,3 +65,37 @@ export async function mockConnection (maConn: MultiaddrConnection, direction: 'i
64
65
  }
65
66
  }
66
67
  }
68
+
69
+ export function mockStream (stream: Duplex<Uint8Array>): Stream {
70
+ return {
71
+ ...stream,
72
+ close: () => {},
73
+ abort: () => {},
74
+ reset: () => {},
75
+ timeline: {
76
+ open: Date.now()
77
+ },
78
+ id: `stream-${Date.now()}`
79
+ }
80
+ }
81
+
82
+ export function connectionPair (): [ Connection, Connection ] {
83
+ const [d0, d1] = duplexPair<Uint8Array>()
84
+
85
+ return [
86
+ // @ts-expect-error not a complete implementation
87
+ {
88
+ newStream: async (multicodecs: string[]) => await Promise.resolve({
89
+ stream: mockStream(d0),
90
+ protocol: multicodecs[0]
91
+ })
92
+ },
93
+ // @ts-expect-error not a complete implementation
94
+ {
95
+ newStream: async (multicodecs: string[]) => await Promise.resolve({
96
+ stream: mockStream(d1),
97
+ protocol: multicodecs[0]
98
+ })
99
+ }
100
+ ]
101
+ }
@@ -0,0 +1,9 @@
1
+
2
+ export { mockConnectionGater } from './connection-gater.js'
3
+ export { mockConnectionManager } from './connection-manager.js'
4
+ export { mockConnection, mockStream, connectionPair } from './connection.js'
5
+ export { mockMultiaddrConnection } from './multiaddr-connection.js'
6
+ export { mockMuxer } from './muxer.js'
7
+ export { mockRegistrar } from './registrar.js'
8
+ export { mockUpgrader } from './upgrader.js'
9
+ export type { MockUpgraderOptions } from './upgrader.js'
@@ -2,16 +2,16 @@ import { Multiaddr } from '@multiformats/multiaddr'
2
2
  import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
3
3
  import type { Duplex } from 'it-stream-types'
4
4
 
5
- export function mockMultiaddrConnection (source: Duplex<Uint8Array>): MultiaddrConnection {
5
+ export function mockMultiaddrConnection (source: Duplex<Uint8Array> & Partial<MultiaddrConnection>): MultiaddrConnection {
6
6
  const maConn: MultiaddrConnection = {
7
- ...source,
8
7
  async close () {
9
8
 
10
9
  },
11
10
  timeline: {
12
11
  open: Date.now()
13
12
  },
14
- remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001')
13
+ remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
14
+ ...source
15
15
  }
16
16
 
17
17
  return maConn
File without changes
@@ -0,0 +1,71 @@
1
+ import type { Registrar, StreamHandler } from '@libp2p/interfaces/registrar'
2
+ import type { Topology } from '@libp2p/interfaces/topology'
3
+
4
+ export class MockRegistrar implements Registrar {
5
+ private readonly topologies: Map<string, { topology: Topology, protocols: string[] }> = new Map()
6
+ private readonly handlers: Map<string, { handler: StreamHandler, protocols: string[] }> = new Map()
7
+
8
+ async handle (protocols: string | string[], handler: StreamHandler) {
9
+ if (!Array.isArray(protocols)) {
10
+ protocols = [protocols]
11
+ }
12
+
13
+ const id = `handler-id-${Math.random()}`
14
+
15
+ this.handlers.set(id, {
16
+ handler,
17
+ protocols
18
+ })
19
+
20
+ return id
21
+ }
22
+
23
+ async unhandle (id: string) {
24
+ this.handlers.delete(id)
25
+ }
26
+
27
+ getHandlers (protocol: string) {
28
+ const output: StreamHandler[] = []
29
+
30
+ for (const { handler, protocols } of this.handlers.values()) {
31
+ if (protocols.includes(protocol)) {
32
+ output.push(handler)
33
+ }
34
+ }
35
+
36
+ return output
37
+ }
38
+
39
+ register (protocols: string | string[], topology: Topology) {
40
+ if (!Array.isArray(protocols)) {
41
+ protocols = [protocols]
42
+ }
43
+
44
+ const id = `topology-id-${Math.random()}`
45
+
46
+ this.topologies.set(id, {
47
+ topology,
48
+ protocols
49
+ })
50
+
51
+ return id
52
+ }
53
+
54
+ unregister (id: string | string[]) {
55
+ if (!Array.isArray(id)) {
56
+ id = [id]
57
+ }
58
+
59
+ id.forEach(id => this.topologies.delete(id))
60
+ }
61
+
62
+ getTopologies (protocol: string) {
63
+ const output: Topology[] = []
64
+
65
+ return output
66
+ }
67
+ }
68
+
69
+ export function mockRegistrar () {
70
+ return new MockRegistrar()
71
+ }
@@ -1,6 +1,6 @@
1
1
  import { expect } from 'aegir/utils/chai.js'
2
- import { mockMuxer } from './mock-muxer.js'
3
- import { mockConnection } from './mock-connection.js'
2
+ import { mockMuxer } from './muxer.js'
3
+ import { mockConnection } from './connection.js'
4
4
  import type { Upgrader, MultiaddrConnection } from '@libp2p/interfaces/transport'
5
5
  import type { Muxer } from '@libp2p/interfaces/stream-muxer'
6
6
 
@@ -1,19 +1,14 @@
1
1
  import { expect } from 'aegir/utils/chai.js'
2
2
  import sinon from 'sinon'
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory'
4
- import peers from '../utils/peers.js'
5
3
  import type { TestSetup } from '../index.js'
6
4
  import type { Topology } from '@libp2p/interfaces/topology'
7
- import type { PeerId } from '@libp2p/interfaces/peer-id'
8
5
 
9
6
  export default (test: TestSetup<Topology>) => {
10
7
  describe('topology', () => {
11
- let topology: Topology, id: PeerId
8
+ let topology: Topology
12
9
 
13
10
  beforeEach(async () => {
14
11
  topology = await test.setup()
15
-
16
- id = await PeerIdFactory.createFromJSON(peers[0])
17
12
  })
18
13
 
19
14
  afterEach(async () => {
@@ -26,13 +21,5 @@ export default (test: TestSetup<Topology>) => {
26
21
  expect(topology.max).to.exist()
27
22
  expect(topology.peers).to.exist()
28
23
  })
29
-
30
- it('should trigger "onDisconnect" on peer disconnected', () => {
31
- // @ts-expect-error protected property
32
- sinon.spy(topology, '_onDisconnect')
33
- topology.disconnect(id)
34
-
35
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
36
- })
37
24
  })
38
25
  }
@@ -1,5 +0,0 @@
1
- import type { TestSetup } from '../index.js';
2
- import type { MulticodecTopology } from '@libp2p/interfaces/topology';
3
- declare const _default: (test: TestSetup<MulticodecTopology>) => void;
4
- export default _default;
5
- //# sourceMappingURL=multicodec-topology.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multicodec-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/multicodec-topology.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;+BAG/C,UAAU,kBAAkB,CAAC;AAAnD,wBA+HC"}
@@ -1,109 +0,0 @@
1
- import { expect } from 'aegir/utils/chai.js';
2
- import sinon from 'sinon';
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory';
4
- import peers from '../utils/peers.js';
5
- export default (test) => {
6
- describe('multicodec topology', () => {
7
- let topology, id;
8
- beforeEach(async () => {
9
- topology = await test.setup();
10
- id = await PeerIdFactory.createFromJSON(peers[0]);
11
- });
12
- afterEach(async () => {
13
- sinon.restore();
14
- await test.teardown();
15
- });
16
- it('should have properties set', () => {
17
- expect(topology.multicodecs).to.exist();
18
- expect(topology.peers).to.exist();
19
- });
20
- it('should trigger "onDisconnect" on peer disconnected', () => {
21
- // @ts-expect-error protected property
22
- sinon.spy(topology, '_onDisconnect');
23
- topology.disconnect(id);
24
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1);
25
- });
26
- it('should update peers on protocol change', async () => {
27
- // @ts-expect-error protected property
28
- sinon.spy(topology, '_updatePeers');
29
- expect(topology.peers.size).to.eql(0);
30
- // @ts-expect-error protected property
31
- const peerStore = topology._registrar.peerStore;
32
- const id2 = await PeerIdFactory.createFromJSON(peers[1]);
33
- peerStore.peers.set(id2.toString(), {
34
- id: id2,
35
- protocols: Array.from(topology.multicodecs)
36
- });
37
- peerStore.emit('change:protocols', {
38
- peerId: id2,
39
- protocols: Array.from(topology.multicodecs)
40
- });
41
- expect(topology).to.have.nested.property('_updatePeers.callCount', 1);
42
- expect(topology.peers.size).to.eql(1);
43
- });
44
- it('should disconnect if peer no longer supports a protocol', async () => {
45
- // @ts-expect-error protected property
46
- sinon.spy(topology, '_onDisconnect');
47
- expect(topology.peers.size).to.eql(0);
48
- // @ts-expect-error protected property
49
- const peerStore = topology._registrar.peerStore;
50
- const id2 = await PeerIdFactory.createFromJSON(peers[1]);
51
- peerStore.peers.set(id2.toString(), {
52
- id: id2,
53
- protocols: Array.from(topology.multicodecs)
54
- });
55
- peerStore.emit('change:protocols', {
56
- peerId: id2,
57
- protocols: Array.from(topology.multicodecs)
58
- });
59
- expect(topology.peers.size).to.eql(1);
60
- peerStore.peers.set(id2.toString(), {
61
- id: id2,
62
- protocols: []
63
- });
64
- // Peer does not support the protocol anymore
65
- peerStore.emit('change:protocols', {
66
- peerId: id2,
67
- protocols: []
68
- });
69
- expect(topology.peers.size).to.eql(1);
70
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1);
71
- // @ts-expect-error protected property
72
- expect(topology._onDisconnect.calledWith(id2)).to.equal(true);
73
- });
74
- it('should trigger "onConnect" when a peer connects and has one of the topology multicodecs in its known protocols', () => {
75
- // @ts-expect-error protected property
76
- sinon.spy(topology, '_onConnect');
77
- // @ts-expect-error protected property
78
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(topology.multicodecs);
79
- // @ts-expect-error protected property
80
- topology._registrar.connectionManager.emit('peer:connect', {
81
- remotePeer: id
82
- });
83
- expect(topology).to.have.nested.property('_onConnect.callCount', 1);
84
- });
85
- it('should not trigger "onConnect" when a peer connects and has none of the topology multicodecs in its known protocols', () => {
86
- // @ts-expect-error protected property
87
- sinon.spy(topology, '_onConnect');
88
- // @ts-expect-error protected property
89
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns([]);
90
- // @ts-expect-error protected property
91
- topology._registrar.connectionManager.emit('peer:connect', {
92
- remotePeer: id
93
- });
94
- expect(topology).to.have.nested.property('_onConnect.callCount', 0);
95
- });
96
- it('should not trigger "onConnect" when a peer connects and its protocols are not known', () => {
97
- // @ts-expect-error protected property
98
- sinon.spy(topology, '_onConnect');
99
- // @ts-expect-error protected property
100
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(undefined);
101
- // @ts-expect-error protected property
102
- topology._registrar.connectionManager.emit('peer:connect', {
103
- remotePeer: id
104
- });
105
- expect(topology).to.have.nested.property('_onConnect.callCount', 0);
106
- });
107
- });
108
- };
109
- //# sourceMappingURL=multicodec-topology.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multicodec-topology.js","sourceRoot":"","sources":["../../../src/topology/multicodec-topology.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,mBAAmB,CAAA;AAKrC,eAAe,CAAC,IAAmC,EAAE,EAAE;IACrD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,QAA4B,EAAE,EAAU,CAAA;QAE5C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAE7B,EAAE,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,KAAK,CAAC,OAAO,EAAE,CAAA;YACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;YACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAEvB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;YACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAErC,sCAAsC;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAA;YAE/C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACxD,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAClC,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAA;YAEF,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACjC,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;YACrE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;YACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAErC,sCAAsC;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAA;YAE/C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACxD,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAClC,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAA;YAEF,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACjC,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAErC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAClC,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;YACF,6CAA6C;YAC7C,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBACjC,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;YACtE,sCAAsC;YACtC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gHAAgH,EAAE,GAAG,EAAE;YACxH,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACjC,sCAAsC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YACxF,sCAAsC;YACtC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACzD,UAAU,EAAE,EAAE;aACf,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qHAAqH,EAAE,GAAG,EAAE;YAC7H,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACjC,sCAAsC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACtE,sCAAsC;YACtC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACzD,UAAU,EAAE,EAAE;aACf,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;YAC7F,sCAAsC;YACtC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACjC,sCAAsC;YACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC7E,sCAAsC;YACtC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACzD,UAAU,EAAE,EAAE;aACf,CAAC,CAAA;YAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-gater.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection-gater.ts"],"names":[],"mappings":"AACA,wBAAgB,mBAAmB;;;;;;;;;;EAYlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-gater.js","sourceRoot":"","sources":["../../../src/utils/mock-connection-gater.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACtD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC3D,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/D,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxE,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAChE,CAAA;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAElG,cAAM,qBAAsB,SAAQ,YAAY,CAAC,uBAAuB,CAAE,YAAW,iBAAiB;IACpG,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAItD,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI;IAIjO,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,WAAW,EAAE,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAI/O,aAAa,CAAE,KAAK,EAAE,KAAK,GAAG,OAAO;CAGtC;AAED,wBAAgB,qBAAqB,0BAEpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection-manager.js","sourceRoot":"","sources":["../../../src/utils/mock-connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD,MAAM,qBAAsB,SAAQ,YAAqC;IACvE,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,IAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB,CAA2B,IAAO,EAAE,QAAyH,EAAE,OAA2C;QACxN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,mBAAmB,CAA2B,IAAO,EAAE,QAAuI,EAAE,OAAwC;QACtO,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,aAAa,CAAE,KAAY;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,IAAI,qBAAqB,EAAE,CAAA;AACpC,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
2
- import type { Connection } from '@libp2p/interfaces/connection';
3
- import type { Muxer } from '@libp2p/interfaces/stream-muxer';
4
- export declare function mockConnection(maConn: MultiaddrConnection, direction: 'inbound' | 'outbound', muxer: Muxer): Promise<Connection>;
5
- //# sourceMappingURL=mock-connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAoC,MAAM,+BAA+B,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAsB,cAAc,CAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CA0DvI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-connection.js","sourceRoot":"","sources":["../../../src/utils/mock-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAK9B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,MAA2B,EAAE,SAAiC,EAAE,KAAY;IAChH,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACpC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,EAAE,CAAA;IAC9C,MAAM,UAAU,GAAG,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAA;IAE7G,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;IAE1B,KAAK,IAAI,CACP,MAAM,EAAE,KAAK,EAAE,MAAM,CACtB,CAAA;IAED,OAAO;QACL,EAAE,EAAE,iBAAiB;QACrB,UAAU;QACV,UAAU;QACV,IAAI,EAAE;YACJ,MAAM,EAAE,MAAM;YACd,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,qBAAqB;SAClC;QACD,QAAQ;QACR,IAAI,EAAE,EAAE;QACR,OAAO;QACP,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAA;aACxB;YAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YAED,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC1C,MAAM,UAAU,GAAmB;gBACjC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtB,MAAM;aACP,CAAA;YAED,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;YAE5B,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,SAAS,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,EAAE;QAElD,CAAC;QACD,YAAY,EAAE,CAAC,EAAU,EAAE,EAAE;YAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-multiaddr-connection.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-multiaddr-connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAaxF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-multiaddr-connection.js","sourceRoot":"","sources":["../../../src/utils/mock-multiaddr-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,MAAM,UAAU,uBAAuB,CAAE,MAA0B;IACjE,MAAM,MAAM,GAAwB;QAClC,GAAG,MAAM;QACT,KAAK,CAAC,KAAK;QAEX,CAAC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB;QACD,UAAU,EAAE,IAAI,SAAS,CAAC,yBAAyB,CAAC;KACrD,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-muxer.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-muxer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAgB,SAAS,IAAK,KAAK,CAoClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-muxer.js","sourceRoot":"","sources":["../../../src/utils/mock-muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,MAAM,UAAU,CAAA;AAI5B,MAAM,UAAU,SAAS;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,QAAQ,EAAc,CAAA;IAEhC,MAAM,KAAK,GAAU;QACnB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,EAAc,CAAA;YAE/B,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW;gBACrB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAC;iBACR;aACF,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { Registrar, StreamHandler } from '@libp2p/interfaces/registrar';
2
- import type { MulticodecTopology } from '../../../libp2p-topology/src/multicodec-topology';
3
- export declare class MockRegistrar implements Registrar {
4
- readonly topologies: Map<string, MulticodecTopology>;
5
- readonly streamHandlers: Map<string, StreamHandler>;
6
- handle(multicodecs: string | string[], handler: StreamHandler): Promise<void>;
7
- unhandle(multicodec: string): Promise<void>;
8
- register(topology: MulticodecTopology): string;
9
- unregister(id: string): void;
10
- }
11
- export declare function mockRegistrar(): MockRegistrar;
12
- //# sourceMappingURL=mock-registrar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-registrar.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAA;AAE1F,qBAAa,aAAc,YAAW,SAAS;IAC7C,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAY;IACvE,SAAgB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAY;IAEhE,MAAM,CAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa;IAQ9D,QAAQ,CAAE,UAAU,EAAE,MAAM;IAIlC,QAAQ,CAAE,QAAQ,EAAE,kBAAkB;IAQtC,UAAU,CAAE,EAAE,EAAE,MAAM;CAGvB;AAED,wBAAgB,aAAa,kBAE5B"}
@@ -1,27 +0,0 @@
1
- export class MockRegistrar {
2
- constructor() {
3
- this.topologies = new Map();
4
- this.streamHandlers = new Map();
5
- }
6
- async handle(multicodecs, handler) {
7
- if (!Array.isArray(multicodecs)) {
8
- multicodecs = [multicodecs];
9
- }
10
- this.streamHandlers.set(multicodecs[0], handler);
11
- }
12
- async unhandle(multicodec) {
13
- this.streamHandlers.delete(multicodec);
14
- }
15
- register(topology) {
16
- const { multicodecs } = topology;
17
- this.topologies.set(multicodecs[0], topology);
18
- return multicodecs[0];
19
- }
20
- unregister(id) {
21
- this.topologies.delete(id);
22
- }
23
- }
24
- export function mockRegistrar() {
25
- return new MockRegistrar();
26
- }
27
- //# sourceMappingURL=mock-registrar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-registrar.js","sourceRoot":"","sources":["../../../src/utils/mock-registrar.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAA1B;QACkB,eAAU,GAAoC,IAAI,GAAG,EAAE,CAAA;QACvD,mBAAc,GAA+B,IAAI,GAAG,EAAE,CAAA;IAyBxE,CAAC;IAvBC,KAAK,CAAC,MAAM,CAAE,WAA8B,EAAE,OAAsB;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC/B,WAAW,GAAG,CAAC,WAAW,CAAC,CAAA;SAC5B;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,UAAkB;QAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACxC,CAAC;IAED,QAAQ,CAAE,QAA4B;QACpC,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAA;QAEhC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QAE7C,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,UAAU,CAAE,EAAU;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-upgrader.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-upgrader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,YAAY,CAAE,OAAO,GAAE,mBAAwB,YAsB9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-upgrader.js","sourceRoot":"","sources":["../../../src/utils/mock-upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQrD,MAAM,UAAU,YAAY,CAAE,UAA+B,EAAE;IAC7D,MAAM,WAAW,GAAG,CAAC,mBAAwC,EAAE,EAAE;QAC/D,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAa;QACzB,KAAK,CAAC,eAAe,CAAE,mBAAmB;YACxC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,mBAAmB;YACvC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;KACF,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,136 +0,0 @@
1
- import { expect } from 'aegir/utils/chai.js'
2
- import sinon from 'sinon'
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory'
4
- import peers from '../utils/peers.js'
5
- import type { TestSetup } from '../index.js'
6
- import type { MulticodecTopology } from '@libp2p/interfaces/topology'
7
- import type { PeerId } from '@libp2p/interfaces/peer-id'
8
-
9
- export default (test: TestSetup<MulticodecTopology>) => {
10
- describe('multicodec topology', () => {
11
- let topology: MulticodecTopology, id: PeerId
12
-
13
- beforeEach(async () => {
14
- topology = await test.setup()
15
-
16
- id = await PeerIdFactory.createFromJSON(peers[0])
17
- })
18
-
19
- afterEach(async () => {
20
- sinon.restore()
21
- await test.teardown()
22
- })
23
-
24
- it('should have properties set', () => {
25
- expect(topology.multicodecs).to.exist()
26
- expect(topology.peers).to.exist()
27
- })
28
-
29
- it('should trigger "onDisconnect" on peer disconnected', () => {
30
- // @ts-expect-error protected property
31
- sinon.spy(topology, '_onDisconnect')
32
- topology.disconnect(id)
33
-
34
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
35
- })
36
-
37
- it('should update peers on protocol change', async () => {
38
- // @ts-expect-error protected property
39
- sinon.spy(topology, '_updatePeers')
40
- expect(topology.peers.size).to.eql(0)
41
-
42
- // @ts-expect-error protected property
43
- const peerStore = topology._registrar.peerStore
44
-
45
- const id2 = await PeerIdFactory.createFromJSON(peers[1])
46
- peerStore.peers.set(id2.toString(), {
47
- id: id2,
48
- protocols: Array.from(topology.multicodecs)
49
- })
50
-
51
- peerStore.emit('change:protocols', {
52
- peerId: id2,
53
- protocols: Array.from(topology.multicodecs)
54
- })
55
-
56
- expect(topology).to.have.nested.property('_updatePeers.callCount', 1)
57
- expect(topology.peers.size).to.eql(1)
58
- })
59
-
60
- it('should disconnect if peer no longer supports a protocol', async () => {
61
- // @ts-expect-error protected property
62
- sinon.spy(topology, '_onDisconnect')
63
- expect(topology.peers.size).to.eql(0)
64
-
65
- // @ts-expect-error protected property
66
- const peerStore = topology._registrar.peerStore
67
-
68
- const id2 = await PeerIdFactory.createFromJSON(peers[1])
69
- peerStore.peers.set(id2.toString(), {
70
- id: id2,
71
- protocols: Array.from(topology.multicodecs)
72
- })
73
-
74
- peerStore.emit('change:protocols', {
75
- peerId: id2,
76
- protocols: Array.from(topology.multicodecs)
77
- })
78
-
79
- expect(topology.peers.size).to.eql(1)
80
-
81
- peerStore.peers.set(id2.toString(), {
82
- id: id2,
83
- protocols: []
84
- })
85
- // Peer does not support the protocol anymore
86
- peerStore.emit('change:protocols', {
87
- peerId: id2,
88
- protocols: []
89
- })
90
-
91
- expect(topology.peers.size).to.eql(1)
92
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
93
- // @ts-expect-error protected property
94
- expect(topology._onDisconnect.calledWith(id2)).to.equal(true)
95
- })
96
-
97
- it('should trigger "onConnect" when a peer connects and has one of the topology multicodecs in its known protocols', () => {
98
- // @ts-expect-error protected property
99
- sinon.spy(topology, '_onConnect')
100
- // @ts-expect-error protected property
101
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(topology.multicodecs)
102
- // @ts-expect-error protected property
103
- topology._registrar.connectionManager.emit('peer:connect', {
104
- remotePeer: id
105
- })
106
-
107
- expect(topology).to.have.nested.property('_onConnect.callCount', 1)
108
- })
109
-
110
- it('should not trigger "onConnect" when a peer connects and has none of the topology multicodecs in its known protocols', () => {
111
- // @ts-expect-error protected property
112
- sinon.spy(topology, '_onConnect')
113
- // @ts-expect-error protected property
114
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns([])
115
- // @ts-expect-error protected property
116
- topology._registrar.connectionManager.emit('peer:connect', {
117
- remotePeer: id
118
- })
119
-
120
- expect(topology).to.have.nested.property('_onConnect.callCount', 0)
121
- })
122
-
123
- it('should not trigger "onConnect" when a peer connects and its protocols are not known', () => {
124
- // @ts-expect-error protected property
125
- sinon.spy(topology, '_onConnect')
126
- // @ts-expect-error protected property
127
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(undefined)
128
- // @ts-expect-error protected property
129
- topology._registrar.connectionManager.emit('peer:connect', {
130
- remotePeer: id
131
- })
132
-
133
- expect(topology).to.have.nested.property('_onConnect.callCount', 0)
134
- })
135
- })
136
- }
@@ -1,35 +0,0 @@
1
- import type { Registrar, StreamHandler } from '@libp2p/interfaces/registrar'
2
- import type { MulticodecTopology } from '../../../libp2p-topology/src/multicodec-topology'
3
-
4
- export class MockRegistrar implements Registrar {
5
- public readonly topologies: Map<string, MulticodecTopology> = new Map()
6
- public readonly streamHandlers: Map<string, StreamHandler> = new Map()
7
-
8
- async handle (multicodecs: string | string[], handler: StreamHandler) {
9
- if (!Array.isArray(multicodecs)) {
10
- multicodecs = [multicodecs]
11
- }
12
-
13
- this.streamHandlers.set(multicodecs[0], handler)
14
- }
15
-
16
- async unhandle (multicodec: string) {
17
- this.streamHandlers.delete(multicodec)
18
- }
19
-
20
- register (topology: MulticodecTopology) {
21
- const { multicodecs } = topology
22
-
23
- this.topologies.set(multicodecs[0], topology)
24
-
25
- return multicodecs[0]
26
- }
27
-
28
- unregister (id: string) {
29
- this.topologies.delete(id)
30
- }
31
- }
32
-
33
- export function mockRegistrar () {
34
- return new MockRegistrar()
35
- }