@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.
- package/README.md +1 -1
- package/dist/src/connection/index.d.ts +1 -1
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-encryption/index.d.ts +1 -1
- package/dist/src/connection-encryption/index.d.ts.map +1 -1
- package/dist/src/connection-encryption/index.js +4 -2
- package/dist/src/connection-encryption/index.js.map +1 -1
- package/dist/src/connection-encryption/utils/index.d.ts +1 -1
- package/dist/src/connection-encryption/utils/index.d.ts.map +1 -1
- package/dist/src/connection-encryption/utils/index.js +3 -1
- package/dist/src/connection-encryption/utils/index.js.map +1 -1
- package/dist/src/is-valid-tick.js.map +1 -1
- package/dist/src/mocks/connection-gater.d.ts +1 -1
- package/dist/src/mocks/connection-gater.d.ts.map +1 -1
- package/dist/src/mocks/connection-manager.d.ts +3 -6
- package/dist/src/mocks/connection-manager.d.ts.map +1 -1
- package/dist/src/mocks/connection-manager.js +2 -2
- package/dist/src/mocks/connection-manager.js.map +1 -1
- package/dist/src/mocks/connection.d.ts +3 -4
- package/dist/src/mocks/connection.d.ts.map +1 -1
- package/dist/src/mocks/connection.js +57 -13
- package/dist/src/mocks/connection.js.map +1 -1
- package/dist/src/mocks/duplex.d.ts +2 -1
- package/dist/src/mocks/duplex.d.ts.map +1 -1
- package/dist/src/mocks/duplex.js.map +1 -1
- package/dist/src/mocks/index.d.ts +0 -1
- package/dist/src/mocks/index.d.ts.map +1 -1
- package/dist/src/mocks/index.js +0 -1
- package/dist/src/mocks/index.js.map +1 -1
- package/dist/src/mocks/metrics.d.ts +1 -1
- package/dist/src/mocks/metrics.d.ts.map +1 -1
- package/dist/src/mocks/metrics.js.map +1 -1
- package/dist/src/mocks/multiaddr-connection.d.ts +3 -3
- package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -1
- package/dist/src/mocks/multiaddr-connection.js +6 -2
- package/dist/src/mocks/multiaddr-connection.js.map +1 -1
- package/dist/src/mocks/muxer.d.ts +2 -3
- package/dist/src/mocks/muxer.d.ts.map +1 -1
- package/dist/src/mocks/muxer.js +17 -5
- package/dist/src/mocks/muxer.js.map +1 -1
- package/dist/src/mocks/peer-discovery.d.ts +3 -4
- package/dist/src/mocks/peer-discovery.d.ts.map +1 -1
- package/dist/src/mocks/peer-discovery.js +3 -5
- package/dist/src/mocks/peer-discovery.js.map +1 -1
- package/dist/src/mocks/registrar.d.ts +2 -4
- package/dist/src/mocks/registrar.d.ts.map +1 -1
- package/dist/src/mocks/registrar.js.map +1 -1
- package/dist/src/mocks/upgrader.d.ts +2 -4
- package/dist/src/mocks/upgrader.d.ts.map +1 -1
- package/dist/src/mocks/upgrader.js.map +1 -1
- package/dist/src/peer-discovery/index.d.ts +1 -1
- package/dist/src/peer-discovery/index.d.ts.map +1 -1
- package/dist/src/peer-discovery/index.js +1 -1
- package/dist/src/peer-discovery/index.js.map +1 -1
- package/dist/src/pubsub/api.d.ts +1 -1
- package/dist/src/pubsub/api.d.ts.map +1 -1
- package/dist/src/pubsub/api.js +1 -3
- package/dist/src/pubsub/api.js.map +1 -1
- package/dist/src/pubsub/connection-handlers.d.ts +1 -1
- package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
- package/dist/src/pubsub/connection-handlers.js +1 -1
- package/dist/src/pubsub/connection-handlers.js.map +1 -1
- package/dist/src/pubsub/emit-self.d.ts +1 -1
- package/dist/src/pubsub/emit-self.d.ts.map +1 -1
- package/dist/src/pubsub/emit-self.js +1 -1
- package/dist/src/pubsub/emit-self.js.map +1 -1
- package/dist/src/pubsub/index.d.ts +3 -4
- package/dist/src/pubsub/index.d.ts.map +1 -1
- package/dist/src/pubsub/index.js.map +1 -1
- package/dist/src/pubsub/messages.d.ts +1 -1
- package/dist/src/pubsub/messages.d.ts.map +1 -1
- package/dist/src/pubsub/messages.js +1 -1
- package/dist/src/pubsub/messages.js.map +1 -1
- package/dist/src/pubsub/multiple-nodes.d.ts +1 -1
- package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/multiple-nodes.js +1 -1
- package/dist/src/pubsub/multiple-nodes.js.map +1 -1
- package/dist/src/pubsub/two-nodes.d.ts +1 -1
- package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
- package/dist/src/pubsub/two-nodes.js +4 -5
- package/dist/src/pubsub/two-nodes.js.map +1 -1
- package/dist/src/pubsub/utils.d.ts +1 -2
- package/dist/src/pubsub/utils.d.ts.map +1 -1
- package/dist/src/pubsub/utils.js +4 -2
- package/dist/src/pubsub/utils.js.map +1 -1
- package/dist/src/stream-muxer/base-test.d.ts +1 -1
- package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/base-test.js.map +1 -1
- package/dist/src/stream-muxer/close-test.d.ts +1 -1
- package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/close-test.js +44 -13
- package/dist/src/stream-muxer/close-test.js.map +1 -1
- package/dist/src/stream-muxer/fixtures/pb/message.js.map +1 -1
- package/dist/src/stream-muxer/index.d.ts +1 -1
- package/dist/src/stream-muxer/index.d.ts.map +1 -1
- package/dist/src/stream-muxer/mega-stress-test.d.ts +1 -1
- package/dist/src/stream-muxer/mega-stress-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/spawner.d.ts +1 -1
- package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
- package/dist/src/stream-muxer/spawner.js.map +1 -1
- package/dist/src/stream-muxer/stress-test.d.ts +1 -1
- package/dist/src/stream-muxer/stress-test.d.ts.map +1 -1
- package/dist/src/transport/dial-test.d.ts.map +1 -1
- package/dist/src/transport/dial-test.js +1 -2
- package/dist/src/transport/dial-test.js.map +1 -1
- package/dist/src/transport/index.d.ts +1 -1
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/src/transport/listen-test.d.ts.map +1 -1
- package/dist/src/transport/listen-test.js +1 -1
- package/dist/src/transport/listen-test.js.map +1 -1
- package/dist/typedoc-urls.json +0 -1
- package/package.json +15 -15
- package/src/connection/index.ts +1 -1
- package/src/connection-encryption/index.ts +5 -4
- package/src/connection-encryption/utils/index.ts +7 -4
- package/src/mocks/connection-gater.ts +1 -1
- package/src/mocks/connection-manager.ts +4 -9
- package/src/mocks/connection.ts +67 -20
- package/src/mocks/duplex.ts +2 -1
- package/src/mocks/index.ts +0 -1
- package/src/mocks/metrics.ts +1 -2
- package/src/mocks/multiaddr-connection.ts +10 -6
- package/src/mocks/muxer.ts +21 -10
- package/src/mocks/peer-discovery.ts +4 -7
- package/src/mocks/registrar.ts +2 -4
- package/src/mocks/upgrader.ts +2 -5
- package/src/peer-discovery/index.ts +2 -2
- package/src/pubsub/api.ts +2 -4
- package/src/pubsub/connection-handlers.ts +2 -2
- package/src/pubsub/emit-self.ts +2 -2
- package/src/pubsub/index.ts +3 -4
- package/src/pubsub/messages.ts +2 -2
- package/src/pubsub/multiple-nodes.ts +2 -2
- package/src/pubsub/two-nodes.ts +5 -6
- package/src/pubsub/utils.ts +5 -4
- package/src/stream-muxer/base-test.ts +5 -6
- package/src/stream-muxer/close-test.ts +57 -19
- package/src/stream-muxer/index.ts +1 -1
- package/src/stream-muxer/mega-stress-test.ts +1 -1
- package/src/stream-muxer/spawner.ts +2 -2
- package/src/stream-muxer/stress-test.ts +1 -1
- package/src/transport/dial-test.ts +3 -4
- package/src/transport/filter-test.ts +1 -1
- package/src/transport/index.ts +1 -1
- package/src/transport/listen-test.ts +3 -4
- package/dist/src/mocks/connection-encrypter.d.ts +0 -3
- package/dist/src/mocks/connection-encrypter.d.ts.map +0 -1
- package/dist/src/mocks/connection-encrypter.js +0 -98
- package/dist/src/mocks/connection-encrypter.js.map +0 -1
- 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
|
-
}
|