@libp2p/interface-compliance-tests 4.1.5 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +1 -1
  2. package/dist/src/connection/index.d.ts +1 -1
  3. package/dist/src/connection/index.d.ts.map +1 -1
  4. package/dist/src/connection/index.js.map +1 -1
  5. package/dist/src/connection-encryption/index.d.ts +1 -1
  6. package/dist/src/connection-encryption/index.d.ts.map +1 -1
  7. package/dist/src/connection-encryption/index.js +4 -2
  8. package/dist/src/connection-encryption/index.js.map +1 -1
  9. package/dist/src/connection-encryption/utils/index.d.ts +1 -1
  10. package/dist/src/connection-encryption/utils/index.d.ts.map +1 -1
  11. package/dist/src/connection-encryption/utils/index.js +3 -1
  12. package/dist/src/connection-encryption/utils/index.js.map +1 -1
  13. package/dist/src/is-valid-tick.js.map +1 -1
  14. package/dist/src/mocks/connection-gater.d.ts +1 -1
  15. package/dist/src/mocks/connection-gater.d.ts.map +1 -1
  16. package/dist/src/mocks/connection-manager.d.ts +3 -6
  17. package/dist/src/mocks/connection-manager.d.ts.map +1 -1
  18. package/dist/src/mocks/connection-manager.js +2 -2
  19. package/dist/src/mocks/connection-manager.js.map +1 -1
  20. package/dist/src/mocks/connection.d.ts +3 -4
  21. package/dist/src/mocks/connection.d.ts.map +1 -1
  22. package/dist/src/mocks/connection.js +57 -13
  23. package/dist/src/mocks/connection.js.map +1 -1
  24. package/dist/src/mocks/duplex.d.ts +2 -1
  25. package/dist/src/mocks/duplex.d.ts.map +1 -1
  26. package/dist/src/mocks/duplex.js.map +1 -1
  27. package/dist/src/mocks/index.d.ts +0 -1
  28. package/dist/src/mocks/index.d.ts.map +1 -1
  29. package/dist/src/mocks/index.js +0 -1
  30. package/dist/src/mocks/index.js.map +1 -1
  31. package/dist/src/mocks/metrics.d.ts +1 -1
  32. package/dist/src/mocks/metrics.d.ts.map +1 -1
  33. package/dist/src/mocks/metrics.js.map +1 -1
  34. package/dist/src/mocks/multiaddr-connection.d.ts +3 -3
  35. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -1
  36. package/dist/src/mocks/multiaddr-connection.js +6 -2
  37. package/dist/src/mocks/multiaddr-connection.js.map +1 -1
  38. package/dist/src/mocks/muxer.d.ts +2 -3
  39. package/dist/src/mocks/muxer.d.ts.map +1 -1
  40. package/dist/src/mocks/muxer.js +17 -5
  41. package/dist/src/mocks/muxer.js.map +1 -1
  42. package/dist/src/mocks/peer-discovery.d.ts +3 -4
  43. package/dist/src/mocks/peer-discovery.d.ts.map +1 -1
  44. package/dist/src/mocks/peer-discovery.js +3 -5
  45. package/dist/src/mocks/peer-discovery.js.map +1 -1
  46. package/dist/src/mocks/registrar.d.ts +2 -4
  47. package/dist/src/mocks/registrar.d.ts.map +1 -1
  48. package/dist/src/mocks/registrar.js.map +1 -1
  49. package/dist/src/mocks/upgrader.d.ts +2 -4
  50. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  51. package/dist/src/mocks/upgrader.js.map +1 -1
  52. package/dist/src/peer-discovery/index.d.ts +1 -1
  53. package/dist/src/peer-discovery/index.d.ts.map +1 -1
  54. package/dist/src/peer-discovery/index.js +1 -1
  55. package/dist/src/peer-discovery/index.js.map +1 -1
  56. package/dist/src/pubsub/api.d.ts +1 -1
  57. package/dist/src/pubsub/api.d.ts.map +1 -1
  58. package/dist/src/pubsub/api.js +1 -3
  59. package/dist/src/pubsub/api.js.map +1 -1
  60. package/dist/src/pubsub/connection-handlers.d.ts +1 -1
  61. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
  62. package/dist/src/pubsub/connection-handlers.js +1 -1
  63. package/dist/src/pubsub/connection-handlers.js.map +1 -1
  64. package/dist/src/pubsub/emit-self.d.ts +1 -1
  65. package/dist/src/pubsub/emit-self.d.ts.map +1 -1
  66. package/dist/src/pubsub/emit-self.js +1 -1
  67. package/dist/src/pubsub/emit-self.js.map +1 -1
  68. package/dist/src/pubsub/index.d.ts +3 -4
  69. package/dist/src/pubsub/index.d.ts.map +1 -1
  70. package/dist/src/pubsub/index.js.map +1 -1
  71. package/dist/src/pubsub/messages.d.ts +1 -1
  72. package/dist/src/pubsub/messages.d.ts.map +1 -1
  73. package/dist/src/pubsub/messages.js +1 -1
  74. package/dist/src/pubsub/messages.js.map +1 -1
  75. package/dist/src/pubsub/multiple-nodes.d.ts +1 -1
  76. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
  77. package/dist/src/pubsub/multiple-nodes.js +1 -1
  78. package/dist/src/pubsub/multiple-nodes.js.map +1 -1
  79. package/dist/src/pubsub/two-nodes.d.ts +1 -1
  80. package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
  81. package/dist/src/pubsub/two-nodes.js +4 -5
  82. package/dist/src/pubsub/two-nodes.js.map +1 -1
  83. package/dist/src/pubsub/utils.d.ts +1 -2
  84. package/dist/src/pubsub/utils.d.ts.map +1 -1
  85. package/dist/src/pubsub/utils.js +4 -2
  86. package/dist/src/pubsub/utils.js.map +1 -1
  87. package/dist/src/stream-muxer/base-test.d.ts +1 -1
  88. package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
  89. package/dist/src/stream-muxer/base-test.js.map +1 -1
  90. package/dist/src/stream-muxer/close-test.d.ts +1 -1
  91. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  92. package/dist/src/stream-muxer/close-test.js +44 -13
  93. package/dist/src/stream-muxer/close-test.js.map +1 -1
  94. package/dist/src/stream-muxer/fixtures/pb/message.js.map +1 -1
  95. package/dist/src/stream-muxer/index.d.ts +1 -1
  96. package/dist/src/stream-muxer/index.d.ts.map +1 -1
  97. package/dist/src/stream-muxer/mega-stress-test.d.ts +1 -1
  98. package/dist/src/stream-muxer/mega-stress-test.d.ts.map +1 -1
  99. package/dist/src/stream-muxer/spawner.d.ts +1 -1
  100. package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
  101. package/dist/src/stream-muxer/spawner.js.map +1 -1
  102. package/dist/src/stream-muxer/stress-test.d.ts +1 -1
  103. package/dist/src/stream-muxer/stress-test.d.ts.map +1 -1
  104. package/dist/src/transport/dial-test.d.ts.map +1 -1
  105. package/dist/src/transport/dial-test.js +1 -2
  106. package/dist/src/transport/dial-test.js.map +1 -1
  107. package/dist/src/transport/index.d.ts +1 -1
  108. package/dist/src/transport/index.d.ts.map +1 -1
  109. package/dist/src/transport/listen-test.d.ts.map +1 -1
  110. package/dist/src/transport/listen-test.js +1 -1
  111. package/dist/src/transport/listen-test.js.map +1 -1
  112. package/dist/typedoc-urls.json +0 -1
  113. package/package.json +15 -15
  114. package/src/connection/index.ts +1 -1
  115. package/src/connection-encryption/index.ts +5 -4
  116. package/src/connection-encryption/utils/index.ts +7 -4
  117. package/src/mocks/connection-gater.ts +1 -1
  118. package/src/mocks/connection-manager.ts +4 -9
  119. package/src/mocks/connection.ts +67 -20
  120. package/src/mocks/duplex.ts +2 -1
  121. package/src/mocks/index.ts +0 -1
  122. package/src/mocks/metrics.ts +1 -2
  123. package/src/mocks/multiaddr-connection.ts +10 -6
  124. package/src/mocks/muxer.ts +21 -10
  125. package/src/mocks/peer-discovery.ts +4 -7
  126. package/src/mocks/registrar.ts +2 -4
  127. package/src/mocks/upgrader.ts +2 -5
  128. package/src/peer-discovery/index.ts +2 -2
  129. package/src/pubsub/api.ts +2 -4
  130. package/src/pubsub/connection-handlers.ts +2 -2
  131. package/src/pubsub/emit-self.ts +2 -2
  132. package/src/pubsub/index.ts +3 -4
  133. package/src/pubsub/messages.ts +2 -2
  134. package/src/pubsub/multiple-nodes.ts +2 -2
  135. package/src/pubsub/two-nodes.ts +5 -6
  136. package/src/pubsub/utils.ts +5 -4
  137. package/src/stream-muxer/base-test.ts +5 -6
  138. package/src/stream-muxer/close-test.ts +57 -19
  139. package/src/stream-muxer/index.ts +1 -1
  140. package/src/stream-muxer/mega-stress-test.ts +1 -1
  141. package/src/stream-muxer/spawner.ts +2 -2
  142. package/src/stream-muxer/stress-test.ts +1 -1
  143. package/src/transport/dial-test.ts +3 -4
  144. package/src/transport/filter-test.ts +1 -1
  145. package/src/transport/index.ts +1 -1
  146. package/src/transport/listen-test.ts +3 -4
  147. package/dist/src/mocks/connection-encrypter.d.ts +0 -3
  148. package/dist/src/mocks/connection-encrypter.d.ts.map +0 -1
  149. package/dist/src/mocks/connection-encrypter.js +0 -98
  150. package/dist/src/mocks/connection-encrypter.js.map +0 -1
  151. package/src/mocks/connection-encrypter.ts +0 -113
@@ -1,113 +0,0 @@
1
- import { UnexpectedPeerError } from '@libp2p/interface/errors'
2
- import { peerIdFromBytes } from '@libp2p/peer-id'
3
- import { multiaddr } from '@multiformats/multiaddr'
4
- import { handshake } from 'it-handshake'
5
- import map from 'it-map'
6
- import { duplexPair } from 'it-pair/duplex'
7
- import { pipe } from 'it-pipe'
8
- import type { ConnectionEncrypter } from '@libp2p/interface/connection-encrypter'
9
- import type { Transform, Source } from 'it-stream-types'
10
-
11
- // A basic transform that does nothing to the data
12
- const transform = <T>(): Transform<Source<T>, AsyncGenerator<T>> => {
13
- return (source: Source<T>) => (async function * () {
14
- for await (const chunk of source) {
15
- yield chunk
16
- }
17
- })()
18
- }
19
-
20
- export function mockConnectionEncrypter (): ConnectionEncrypter {
21
- const encrypter: ConnectionEncrypter = {
22
- protocol: 'insecure',
23
- secureInbound: async (localPeer, duplex, expectedPeer) => {
24
- // 1. Perform a basic handshake.
25
- const shake = handshake<Uint8Array>(duplex)
26
- shake.write(localPeer.toBytes())
27
- const remoteId = await shake.read()
28
-
29
- if (remoteId == null) {
30
- throw new Error('Could not read remote ID')
31
- }
32
-
33
- const remotePeer = peerIdFromBytes(remoteId.slice())
34
- shake.rest()
35
-
36
- if (expectedPeer?.equals(remotePeer) === false) {
37
- throw new UnexpectedPeerError()
38
- }
39
-
40
- // 2. Create your encryption box/unbox wrapper
41
- const wrapper = duplexPair<Uint8Array>()
42
- const encrypt = transform<Uint8Array>() // Use transform iterables to modify data
43
- const decrypt = transform<Uint8Array>()
44
-
45
- void pipe(
46
- wrapper[0], // We write to wrapper
47
- encrypt, // The data is encrypted
48
- shake.stream, // It goes to the remote peer
49
- source => map(source, (list) => list.subarray()), // turn lists into arrays
50
- decrypt, // Decrypt the incoming data
51
- wrapper[0] // Pipe to the wrapper
52
- )
53
-
54
- return {
55
- conn: {
56
- ...wrapper[1],
57
- close: async () => { },
58
- localAddr: multiaddr('/ip4/127.0.0.1/tcp/4001'),
59
- remoteAddr: multiaddr('/ip4/127.0.0.1/tcp/4002'),
60
- timeline: {
61
- open: Date.now()
62
- },
63
- conn: true
64
- },
65
- remotePeer,
66
- remoteExtensions: {}
67
- }
68
- },
69
- secureOutbound: async (localPeer, duplex, remotePeer) => {
70
- // 1. Perform a basic handshake.
71
- const shake = handshake<Uint8Array>(duplex)
72
- shake.write(localPeer.toBytes())
73
- const remoteId = await shake.read()
74
-
75
- if (remoteId == null) {
76
- throw new Error('Could not read remote ID')
77
- }
78
-
79
- shake.rest()
80
-
81
- // 2. Create your encryption box/unbox wrapper
82
- const wrapper = duplexPair<Uint8Array>()
83
- const encrypt = transform<Uint8Array>()
84
- const decrypt = transform<Uint8Array>()
85
-
86
- void pipe(
87
- wrapper[0], // We write to wrapper
88
- encrypt, // The data is encrypted
89
- shake.stream, // It goes to the remote peer
90
- source => map(source, (list) => list.subarray()), // turn lists into arrays
91
- decrypt, // Decrypt the incoming data
92
- wrapper[0] // Pipe to the wrapper
93
- )
94
-
95
- return {
96
- conn: {
97
- ...wrapper[1],
98
- close: async () => { },
99
- localAddr: multiaddr('/ip4/127.0.0.1/tcp/4001'),
100
- remoteAddr: multiaddr('/ip4/127.0.0.1/tcp/4002'),
101
- timeline: {
102
- open: Date.now()
103
- },
104
- conn: true
105
- },
106
- remotePeer: peerIdFromBytes(remoteId.slice()),
107
- remoteExtensions: {}
108
- }
109
- }
110
- }
111
-
112
- return encrypter
113
- }