@libp2p/interface-compliance-tests 1.0.6 → 1.1.1

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 (103) hide show
  1. package/dist/src/peer-discovery/index.d.ts.map +1 -1
  2. package/dist/src/peer-discovery/index.js +5 -5
  3. package/dist/src/peer-discovery/index.js.map +1 -1
  4. package/dist/src/pubsub/api.d.ts +2 -2
  5. package/dist/src/pubsub/api.d.ts.map +1 -1
  6. package/dist/src/pubsub/api.js +6 -6
  7. package/dist/src/pubsub/api.js.map +1 -1
  8. package/dist/src/pubsub/connection-handlers.d.ts +2 -2
  9. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
  10. package/dist/src/pubsub/connection-handlers.js +18 -9
  11. package/dist/src/pubsub/connection-handlers.js.map +1 -1
  12. package/dist/src/pubsub/emit-self.d.ts +2 -2
  13. package/dist/src/pubsub/emit-self.d.ts.map +1 -1
  14. package/dist/src/pubsub/emit-self.js +6 -2
  15. package/dist/src/pubsub/emit-self.js.map +1 -1
  16. package/dist/src/pubsub/index.d.ts +9 -3
  17. package/dist/src/pubsub/index.d.ts.map +1 -1
  18. package/dist/src/pubsub/index.js.map +1 -1
  19. package/dist/src/pubsub/messages.d.ts +2 -2
  20. package/dist/src/pubsub/messages.d.ts.map +1 -1
  21. package/dist/src/pubsub/messages.js.map +1 -1
  22. package/dist/src/pubsub/multiple-nodes.d.ts +2 -2
  23. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
  24. package/dist/src/pubsub/multiple-nodes.js +58 -35
  25. package/dist/src/pubsub/multiple-nodes.js.map +1 -1
  26. package/dist/src/pubsub/two-nodes.d.ts +2 -2
  27. package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
  28. package/dist/src/pubsub/two-nodes.js +44 -19
  29. package/dist/src/pubsub/two-nodes.js.map +1 -1
  30. package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
  31. package/dist/src/stream-muxer/base-test.js +23 -17
  32. package/dist/src/stream-muxer/base-test.js.map +1 -1
  33. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  34. package/dist/src/stream-muxer/close-test.js +14 -26
  35. package/dist/src/stream-muxer/close-test.js.map +1 -1
  36. package/dist/src/stream-muxer/index.d.ts +2 -2
  37. package/dist/src/stream-muxer/index.d.ts.map +1 -1
  38. package/dist/src/stream-muxer/index.js.map +1 -1
  39. package/dist/src/stream-muxer/mega-stress-test.js +1 -1
  40. package/dist/src/stream-muxer/mega-stress-test.js.map +1 -1
  41. package/dist/src/stream-muxer/spawner.js +2 -2
  42. package/dist/src/stream-muxer/spawner.js.map +1 -1
  43. package/dist/src/stream-muxer/stress-test.js +1 -1
  44. package/dist/src/stream-muxer/stress-test.js.map +1 -1
  45. package/dist/src/transport/listen-test.d.ts.map +1 -1
  46. package/dist/src/transport/listen-test.js +10 -7
  47. package/dist/src/transport/listen-test.js.map +1 -1
  48. package/dist/src/transport/utils/index.d.ts +9 -2
  49. package/dist/src/transport/utils/index.d.ts.map +1 -1
  50. package/dist/src/transport/utils/index.js +60 -17
  51. package/dist/src/transport/utils/index.js.map +1 -1
  52. package/dist/src/utils/mock-connection-gater.d.ts +12 -0
  53. package/dist/src/utils/mock-connection-gater.d.ts.map +1 -0
  54. package/dist/src/utils/mock-connection-gater.js +14 -0
  55. package/dist/src/utils/mock-connection-gater.js.map +1 -0
  56. package/dist/src/utils/mock-connection-manager.d.ts +18 -0
  57. package/dist/src/utils/mock-connection-manager.d.ts.map +1 -0
  58. package/dist/src/utils/mock-connection-manager.js +22 -0
  59. package/dist/src/utils/mock-connection-manager.js.map +1 -0
  60. package/dist/src/utils/mock-connection.d.ts +5 -0
  61. package/dist/src/utils/mock-connection.d.ts.map +1 -0
  62. package/dist/src/utils/mock-connection.js +52 -0
  63. package/dist/src/utils/mock-connection.js.map +1 -0
  64. package/dist/src/utils/mock-multiaddr-connection.d.ts +4 -0
  65. package/dist/src/utils/mock-multiaddr-connection.d.ts.map +1 -0
  66. package/dist/src/utils/mock-multiaddr-connection.js +14 -0
  67. package/dist/src/utils/mock-multiaddr-connection.js.map +1 -0
  68. package/dist/src/utils/mock-muxer.d.ts +3 -0
  69. package/dist/src/utils/mock-muxer.d.ts.map +1 -0
  70. package/dist/src/utils/mock-muxer.js +37 -0
  71. package/dist/src/utils/mock-muxer.js.map +1 -0
  72. package/dist/src/utils/mock-registrar.d.ts +14 -0
  73. package/dist/src/utils/mock-registrar.d.ts.map +1 -0
  74. package/dist/src/utils/mock-registrar.js +38 -0
  75. package/dist/src/utils/mock-registrar.js.map +1 -0
  76. package/dist/src/utils/mock-upgrader.d.ts +7 -0
  77. package/dist/src/utils/mock-upgrader.d.ts.map +1 -0
  78. package/dist/src/utils/mock-upgrader.js +24 -0
  79. package/dist/src/utils/mock-upgrader.js.map +1 -0
  80. package/package.json +44 -9
  81. package/src/peer-discovery/index.ts +5 -7
  82. package/src/pubsub/api.ts +10 -11
  83. package/src/pubsub/connection-handlers.ts +22 -13
  84. package/src/pubsub/emit-self.ts +9 -5
  85. package/src/pubsub/index.ts +10 -3
  86. package/src/pubsub/messages.ts +3 -3
  87. package/src/pubsub/multiple-nodes.ts +68 -45
  88. package/src/pubsub/two-nodes.ts +48 -23
  89. package/src/stream-muxer/base-test.ts +37 -26
  90. package/src/stream-muxer/close-test.ts +14 -28
  91. package/src/stream-muxer/index.ts +2 -2
  92. package/src/stream-muxer/mega-stress-test.ts +1 -1
  93. package/src/stream-muxer/spawner.ts +2 -2
  94. package/src/stream-muxer/stress-test.ts +1 -1
  95. package/src/transport/listen-test.ts +10 -7
  96. package/src/transport/utils/index.ts +85 -24
  97. package/src/utils/mock-connection-gater.ts +14 -0
  98. package/src/utils/mock-connection-manager.ts +30 -0
  99. package/src/utils/mock-connection.ts +66 -0
  100. package/src/utils/mock-multiaddr-connection.ts +18 -0
  101. package/src/utils/mock-muxer.ts +43 -0
  102. package/src/utils/mock-registrar.ts +49 -0
  103. package/src/utils/mock-upgrader.ts +33 -0
@@ -1 +1 @@
1
- {"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listen-test.js","sourceRoot":"","sources":["../../../src/transport/listen-test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,15 @@
1
- import type { Upgrader } from '@libp2p/interfaces/transport';
1
+ import type { Upgrader, MultiaddrConnection } from '@libp2p/interfaces/transport';
2
+ import type { Muxer } from '@libp2p/interfaces/stream-muxer';
3
+ import type { Duplex } from 'it-stream-types';
2
4
  /**
3
5
  * A tick is considered valid if it happened between now
4
6
  * and `ms` milliseconds ago
5
7
  */
6
8
  export declare function isValidTick(date?: number, ms?: number): boolean;
7
- export declare function mockUpgrader(): Upgrader;
9
+ export declare function mockMultiaddrConnection(source: Duplex<Uint8Array>): MultiaddrConnection;
10
+ export declare function mockMuxer(): Muxer;
11
+ export interface MockUpgraderOptions {
12
+ muxer?: Muxer;
13
+ }
14
+ export declare function mockUpgrader(options?: MockUpgraderOptions): Upgrader;
8
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,8BAA8B,CAAA;AAMjF;;;GAGG;AACH,wBAAgB,WAAW,CAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAE,MAAa,WAY5D;AAED,wBAAgB,YAAY,aAoB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/utils/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAEjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C;;;GAGG;AACH,wBAAgB,WAAW,CAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAE,MAAa,WAY5D;AAED,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAaxF;AAED,wBAAgB,SAAS,IAAK,KAAK,CAoClC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,YAAY,CAAE,OAAO,GAAE,mBAAwB,YAuB9D"}
@@ -2,6 +2,10 @@ import { expect } from 'aegir/utils/chai.js';
2
2
  import { pair } from 'it-pair';
3
3
  import { PeerId } from '@libp2p/peer-id';
4
4
  import * as PeerIdFactory from '@libp2p/peer-id-factory';
5
+ import { pushable } from 'it-pushable';
6
+ import drain from 'it-drain';
7
+ import { Multiaddr } from '@multiformats/multiaddr';
8
+ import { pipe } from 'it-pipe';
5
9
  /**
6
10
  * A tick is considered valid if it happened between now
7
11
  * and `ms` milliseconds ago
@@ -16,7 +20,52 @@ export function isValidTick(date, ms = 5000) {
16
20
  }
17
21
  return false;
18
22
  }
19
- export function mockUpgrader() {
23
+ export function mockMultiaddrConnection(source) {
24
+ const maConn = {
25
+ ...source,
26
+ async close() {
27
+ },
28
+ timeline: {
29
+ open: Date.now()
30
+ },
31
+ remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001')
32
+ };
33
+ return maConn;
34
+ }
35
+ export function mockMuxer() {
36
+ let streamId = 0;
37
+ let streams = [];
38
+ const p = pushable();
39
+ const muxer = {
40
+ source: p,
41
+ sink: async (source) => {
42
+ await drain(source);
43
+ },
44
+ get streams() {
45
+ return streams;
46
+ },
47
+ newStream: (name) => {
48
+ const echo = pair();
49
+ const id = `${streamId++}`;
50
+ const stream = {
51
+ id,
52
+ sink: echo.sink,
53
+ source: echo.source,
54
+ close: () => {
55
+ streams = streams.filter(s => s !== stream);
56
+ },
57
+ abort: () => { },
58
+ reset: () => { },
59
+ timeline: {
60
+ open: 0
61
+ }
62
+ };
63
+ return stream;
64
+ }
65
+ };
66
+ return muxer;
67
+ }
68
+ export function mockUpgrader(options = {}) {
20
69
  const ensureProps = (multiaddrConnection) => {
21
70
  ['sink', 'source', 'remoteAddr', 'timeline', 'close'].forEach(prop => {
22
71
  expect(multiaddrConnection).to.have.property(prop);
@@ -24,25 +73,27 @@ export function mockUpgrader() {
24
73
  expect(isValidTick(multiaddrConnection.timeline.open)).to.equal(true);
25
74
  return multiaddrConnection;
26
75
  };
76
+ const muxer = options.muxer ?? mockMuxer();
27
77
  const upgrader = {
28
78
  async upgradeOutbound(multiaddrConnection) {
29
79
  ensureProps(multiaddrConnection);
30
- return await createConnection(multiaddrConnection, 'outbound');
80
+ return await createConnection(multiaddrConnection, 'outbound', muxer);
31
81
  },
32
82
  async upgradeInbound(multiaddrConnection) {
33
83
  ensureProps(multiaddrConnection);
34
- return await createConnection(multiaddrConnection, 'inbound');
84
+ return await createConnection(multiaddrConnection, 'inbound', muxer);
35
85
  }
36
86
  };
37
87
  return upgrader;
38
88
  }
39
- async function createConnection(maConn, direction) {
89
+ async function createConnection(maConn, direction, muxer) {
40
90
  const remoteAddr = maConn.remoteAddr;
41
91
  const remotePeerIdStr = remoteAddr.getPeerId();
42
92
  const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await PeerIdFactory.createEd25519PeerId();
43
93
  const streams = [];
44
94
  let streamId = 0;
45
95
  const registry = new Map();
96
+ void pipe(maConn, muxer, maConn);
46
97
  return {
47
98
  id: 'mock-connection',
48
99
  remoteAddr,
@@ -58,22 +109,14 @@ async function createConnection(maConn, direction) {
58
109
  tags: [],
59
110
  streams,
60
111
  newStream: async (protocols) => {
112
+ if (!Array.isArray(protocols)) {
113
+ protocols = [protocols];
114
+ }
61
115
  if (protocols.length === 0) {
62
116
  throw new Error('protocols must have a length');
63
117
  }
64
- const echo = pair();
65
118
  const id = `${streamId++}`;
66
- const stream = {
67
- id,
68
- sink: echo.sink,
69
- source: echo.source,
70
- close: () => { },
71
- abort: () => { },
72
- reset: () => { },
73
- timeline: {
74
- open: 0
75
- }
76
- };
119
+ const stream = muxer.newStream(id);
77
120
  const streamData = {
78
121
  protocol: protocols[0],
79
122
  stream
@@ -81,7 +124,7 @@ async function createConnection(maConn, direction) {
81
124
  registry.set(id, streamData);
82
125
  return streamData;
83
126
  },
84
- addStream: (muxedStream, streamData) => {
127
+ addStream: (stream, metadata) => {
85
128
  },
86
129
  removeStream: (id) => {
87
130
  registry.delete(id);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAM9B;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAE,IAAa,EAAE,KAAa,IAAI;IAC3D,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;KACzC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAEtB,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE;QAClC,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,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;AAED,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;AAMD,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,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrE,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,gBAAgB,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACvE,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,mBAAmB;YACvC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACtE,CAAC;KACF,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAE,MAA2B,EAAE,SAAiC,EAAE,KAAY;IAC3G,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,aAAa,CAAC,mBAAmB,EAAE,CAAA;IAE3H,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"}
@@ -0,0 +1,12 @@
1
+ export declare function mockConnectionGater(): {
2
+ denyDialPeer: () => Promise<boolean>;
3
+ denyDialMultiaddr: () => Promise<boolean>;
4
+ denyInboundConnection: () => Promise<boolean>;
5
+ denyOutboundConnection: () => Promise<boolean>;
6
+ denyInboundEncryptedConnection: () => Promise<boolean>;
7
+ denyOutboundEncryptedConnection: () => Promise<boolean>;
8
+ denyInboundUpgradedConnection: () => Promise<boolean>;
9
+ denyOutboundUpgradedConnection: () => Promise<boolean>;
10
+ filterMultiaddrForPeer: () => Promise<boolean>;
11
+ };
12
+ //# sourceMappingURL=mock-connection-gater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-connection-gater.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-connection-gater.ts"],"names":[],"mappings":"AACA,wBAAgB,mBAAmB;;;;;;;;;;EAYlC"}
@@ -0,0 +1,14 @@
1
+ export function mockConnectionGater() {
2
+ return {
3
+ denyDialPeer: async () => await Promise.resolve(false),
4
+ denyDialMultiaddr: async () => await Promise.resolve(false),
5
+ denyInboundConnection: async () => await Promise.resolve(false),
6
+ denyOutboundConnection: async () => await Promise.resolve(false),
7
+ denyInboundEncryptedConnection: async () => await Promise.resolve(false),
8
+ denyOutboundEncryptedConnection: async () => await Promise.resolve(false),
9
+ denyInboundUpgradedConnection: async () => await Promise.resolve(false),
10
+ denyOutboundUpgradedConnection: async () => await Promise.resolve(false),
11
+ filterMultiaddrForPeer: async () => await Promise.resolve(true)
12
+ };
13
+ }
14
+ //# sourceMappingURL=mock-connection-gater.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
1
+ import { EventEmitter } from '@libp2p/interfaces';
2
+ import type { Connection } from '@libp2p/interfaces/src/connection';
3
+ import type { PeerId } from '@libp2p/interfaces/src/peer-id';
4
+ import type { ConnectionManager, ConnectionManagerEvents } from '@libp2p/interfaces/src/registrar';
5
+ declare class MockConnectionManager extends EventEmitter<ConnectionManagerEvents> implements ConnectionManager {
6
+ getConnection(peerId: PeerId): Connection | undefined;
7
+ listenerCount(type: string): number;
8
+ addEventListener<U extends 'peer:connect'>(type: U, callback: ((evt: ConnectionManagerEvents[U]) => void) | {
9
+ handleEvent: (evt: ConnectionManagerEvents[U]) => void;
10
+ } | null, options?: boolean | AddEventListenerOptions): void;
11
+ removeEventListener<U extends 'peer:connect'>(type: U, callback: (((evt: ConnectionManagerEvents[U]) => void) | {
12
+ handleEvent: (evt: ConnectionManagerEvents[U]) => void;
13
+ } | null) | undefined, options?: boolean | EventListenerOptions): void;
14
+ dispatchEvent(event: Event): boolean;
15
+ }
16
+ export declare function mockConnectionManager(): MockConnectionManager;
17
+ export {};
18
+ //# sourceMappingURL=mock-connection-manager.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,22 @@
1
+ import { EventEmitter } from '@libp2p/interfaces';
2
+ class MockConnectionManager extends EventEmitter {
3
+ getConnection(peerId) {
4
+ throw new Error('Method not implemented.');
5
+ }
6
+ listenerCount(type) {
7
+ throw new Error('Method not implemented.');
8
+ }
9
+ addEventListener(type, callback, options) {
10
+ throw new Error('Method not implemented.');
11
+ }
12
+ removeEventListener(type, callback, options) {
13
+ throw new Error('Method not implemented.');
14
+ }
15
+ dispatchEvent(event) {
16
+ throw new Error('Method not implemented.');
17
+ }
18
+ }
19
+ export function mockConnectionManager() {
20
+ return new MockConnectionManager();
21
+ }
22
+ //# sourceMappingURL=mock-connection-manager.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,5 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,52 @@
1
+ import { PeerId } from '@libp2p/peer-id';
2
+ import { createEd25519PeerId } from '@libp2p/peer-id-factory';
3
+ import { pipe } from 'it-pipe';
4
+ export async function mockConnection(maConn, direction, muxer) {
5
+ const remoteAddr = maConn.remoteAddr;
6
+ const remotePeerIdStr = remoteAddr.getPeerId();
7
+ const remotePeer = remotePeerIdStr != null ? PeerId.fromString(remotePeerIdStr) : await createEd25519PeerId();
8
+ const streams = [];
9
+ let streamId = 0;
10
+ const registry = new Map();
11
+ void pipe(maConn, muxer, maConn);
12
+ return {
13
+ id: 'mock-connection',
14
+ remoteAddr,
15
+ remotePeer,
16
+ stat: {
17
+ status: 'OPEN',
18
+ direction,
19
+ timeline: maConn.timeline,
20
+ multiplexer: 'test-multiplexer',
21
+ encryption: 'yes-yes-very-secure'
22
+ },
23
+ registry,
24
+ tags: [],
25
+ streams,
26
+ newStream: async (protocols) => {
27
+ if (!Array.isArray(protocols)) {
28
+ protocols = [protocols];
29
+ }
30
+ if (protocols.length === 0) {
31
+ throw new Error('protocols must have a length');
32
+ }
33
+ const id = `${streamId++}`;
34
+ const stream = muxer.newStream(id);
35
+ const streamData = {
36
+ protocol: protocols[0],
37
+ stream
38
+ };
39
+ registry.set(id, streamData);
40
+ return streamData;
41
+ },
42
+ addStream: (stream, metadata) => {
43
+ },
44
+ removeStream: (id) => {
45
+ registry.delete(id);
46
+ },
47
+ close: async () => {
48
+ await maConn.close();
49
+ }
50
+ };
51
+ }
52
+ //# sourceMappingURL=mock-connection.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
1
+ import type { MultiaddrConnection } from '@libp2p/interfaces/transport';
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
1
+ import { Multiaddr } from '@multiformats/multiaddr';
2
+ export function mockMultiaddrConnection(source) {
3
+ const maConn = {
4
+ ...source,
5
+ async close() {
6
+ },
7
+ timeline: {
8
+ open: Date.now()
9
+ },
10
+ remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001')
11
+ };
12
+ return maConn;
13
+ }
14
+ //# sourceMappingURL=mock-multiaddr-connection.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ import type { Muxer } from '@libp2p/interfaces/stream-muxer';
2
+ export declare function mockMuxer(): Muxer;
3
+ //# sourceMappingURL=mock-muxer.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,37 @@
1
+ import { pair } from 'it-pair';
2
+ import { pushable } from 'it-pushable';
3
+ import drain from 'it-drain';
4
+ export function mockMuxer() {
5
+ let streamId = 0;
6
+ let streams = [];
7
+ const p = pushable();
8
+ const muxer = {
9
+ source: p,
10
+ sink: async (source) => {
11
+ await drain(source);
12
+ },
13
+ get streams() {
14
+ return streams;
15
+ },
16
+ newStream: (name) => {
17
+ const echo = pair();
18
+ const id = `${streamId++}`;
19
+ const stream = {
20
+ id,
21
+ sink: echo.sink,
22
+ source: echo.source,
23
+ close: () => {
24
+ streams = streams.filter(s => s !== stream);
25
+ },
26
+ abort: () => { },
27
+ reset: () => { },
28
+ timeline: {
29
+ open: 0
30
+ }
31
+ };
32
+ return stream;
33
+ }
34
+ };
35
+ return muxer;
36
+ }
37
+ //# sourceMappingURL=mock-muxer.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
1
+ import type { IncomingStreamEvent, Registrar } from '@libp2p/interfaces/registrar';
2
+ import type { PeerId } from '@libp2p/interfaces/peer-id';
3
+ import type { Connection } from '@libp2p/interfaces/connection';
4
+ declare class MockRegistrar implements Registrar {
5
+ private readonly registrarRecord;
6
+ handle(multicodecs: string | string[], handler: (event: IncomingStreamEvent) => void): void;
7
+ unhandle(multicodec: string): void;
8
+ register(topology: any): any;
9
+ unregister(id: string): void;
10
+ getConnection(peerId: PeerId): Connection | undefined;
11
+ }
12
+ export declare function mockRegistrar(): MockRegistrar;
13
+ export {};
14
+ //# sourceMappingURL=mock-registrar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-registrar.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,cAAM,aAAc,YAAW,SAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8C;IAE9E,MAAM,CAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI;IAarF,QAAQ,CAAE,UAAU,EAAE,MAAM;IAI5B,QAAQ,CAAE,QAAQ,EAAE,GAAG;IAavB,UAAU,CAAE,EAAE,EAAE,MAAM;IAItB,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAGvD;AAED,wBAAgB,aAAa,kBAE5B"}
@@ -0,0 +1,38 @@
1
+ class MockRegistrar {
2
+ constructor() {
3
+ this.registrarRecord = new Map();
4
+ }
5
+ handle(multicodecs, handler) {
6
+ if (!Array.isArray(multicodecs)) {
7
+ multicodecs = [multicodecs];
8
+ }
9
+ const rec = this.registrarRecord.get(multicodecs[0]) ?? {};
10
+ this.registrarRecord.set(multicodecs[0], {
11
+ ...rec,
12
+ handler
13
+ });
14
+ }
15
+ unhandle(multicodec) {
16
+ this.registrarRecord.delete(multicodec);
17
+ }
18
+ register(topology) {
19
+ const { multicodecs } = topology;
20
+ const rec = this.registrarRecord.get(multicodecs[0]) ?? {};
21
+ this.registrarRecord.set(multicodecs[0], {
22
+ ...rec,
23
+ onConnect: topology._onConnect,
24
+ onDisconnect: topology._onDisconnect
25
+ });
26
+ return multicodecs[0];
27
+ }
28
+ unregister(id) {
29
+ this.registrarRecord.delete(id);
30
+ }
31
+ getConnection(peerId) {
32
+ throw new Error('Not implemented');
33
+ }
34
+ }
35
+ export function mockRegistrar() {
36
+ return new MockRegistrar();
37
+ }
38
+ //# sourceMappingURL=mock-registrar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-registrar.js","sourceRoot":"","sources":["../../../src/utils/mock-registrar.ts"],"names":[],"mappings":"AAIA,MAAM,aAAa;IAAnB;QACmB,oBAAe,GAAqC,IAAI,GAAG,EAAE,CAAA;IAuChF,CAAC;IArCC,MAAM,CAAE,WAA8B,EAAE,OAA6C;QACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC/B,WAAW,GAAG,CAAC,WAAW,CAAC,CAAA;SAC5B;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACvC,GAAG,GAAG;YACN,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAE,UAAkB;QAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAED,QAAQ,CAAE,QAAa;QACrB,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAA;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACvC,GAAG,GAAG;YACN,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa;SACrC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,UAAU,CAAE,EAAU;QACpB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,aAAa,CAAE,MAAc;QAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Upgrader } from '@libp2p/interfaces/transport';
2
+ import type { Muxer } from '@libp2p/interfaces/stream-muxer';
3
+ export interface MockUpgraderOptions {
4
+ muxer?: Muxer;
5
+ }
6
+ export declare function mockUpgrader(options?: MockUpgraderOptions): Upgrader;
7
+ //# sourceMappingURL=mock-upgrader.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,24 @@
1
+ import { expect } from 'aegir/utils/chai.js';
2
+ import { mockMuxer } from './mock-muxer.js';
3
+ import { mockConnection } from './mock-connection.js';
4
+ export function mockUpgrader(options = {}) {
5
+ const ensureProps = (multiaddrConnection) => {
6
+ ['sink', 'source', 'remoteAddr', 'timeline', 'close'].forEach(prop => {
7
+ expect(multiaddrConnection).to.have.property(prop);
8
+ });
9
+ return multiaddrConnection;
10
+ };
11
+ const muxer = options.muxer ?? mockMuxer();
12
+ const upgrader = {
13
+ async upgradeOutbound(multiaddrConnection) {
14
+ ensureProps(multiaddrConnection);
15
+ return await mockConnection(multiaddrConnection, 'outbound', muxer);
16
+ },
17
+ async upgradeInbound(multiaddrConnection) {
18
+ ensureProps(multiaddrConnection);
19
+ return await mockConnection(multiaddrConnection, 'inbound', muxer);
20
+ }
21
+ };
22
+ return upgrader;
23
+ }
24
+ //# sourceMappingURL=mock-upgrader.js.map
@@ -0,0 +1 @@
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"}