@libp2p/interface-compliance-tests 0.0.0 → 0.2.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/LICENSE +4 -0
- package/README.md +25 -0
- package/dist/src/connection/connection.d.ts +5 -0
- package/dist/src/connection/connection.d.ts.map +1 -0
- package/dist/src/connection/connection.js +148 -0
- package/dist/src/connection/connection.js.map +1 -0
- package/dist/src/connection/index.d.ts +5 -0
- package/dist/src/connection/index.d.ts.map +1 -0
- package/dist/src/connection/index.js +5 -0
- package/dist/src/connection/index.js.map +1 -0
- package/dist/src/crypto/index.d.ts +5 -0
- package/dist/src/crypto/index.d.ts.map +1 -0
- package/dist/src/crypto/index.js +78 -0
- package/dist/src/crypto/index.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/peer-discovery/index.d.ts +6 -0
- package/dist/src/peer-discovery/index.d.ts.map +1 -0
- package/dist/src/peer-discovery/index.js +63 -0
- package/dist/src/peer-discovery/index.js.map +1 -0
- package/dist/src/pubsub/api.d.ts +6 -0
- package/dist/src/pubsub/api.d.ts.map +1 -0
- package/dist/src/pubsub/api.js +65 -0
- package/dist/src/pubsub/api.js.map +1 -0
- package/dist/src/pubsub/connection-handlers.d.ts +6 -0
- package/dist/src/pubsub/connection-handlers.d.ts.map +1 -0
- package/dist/src/pubsub/connection-handlers.js +279 -0
- package/dist/src/pubsub/connection-handlers.js.map +1 -0
- package/dist/src/pubsub/emit-self.d.ts +6 -0
- package/dist/src/pubsub/emit-self.d.ts.map +1 -0
- package/dist/src/pubsub/emit-self.js +51 -0
- package/dist/src/pubsub/emit-self.js.map +1 -0
- package/dist/src/pubsub/index.d.ts +6 -0
- package/dist/src/pubsub/index.d.ts.map +1 -0
- package/dist/src/pubsub/index.js +17 -0
- package/dist/src/pubsub/index.js.map +1 -0
- package/dist/src/pubsub/messages.d.ts +6 -0
- package/dist/src/pubsub/messages.d.ts.map +1 -0
- package/dist/src/pubsub/messages.js +93 -0
- package/dist/src/pubsub/messages.js.map +1 -0
- package/dist/src/pubsub/multiple-nodes.d.ts +6 -0
- package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -0
- package/dist/src/pubsub/multiple-nodes.js +283 -0
- package/dist/src/pubsub/multiple-nodes.js.map +1 -0
- package/dist/src/pubsub/two-nodes.d.ts +6 -0
- package/dist/src/pubsub/two-nodes.d.ts.map +1 -0
- package/dist/src/pubsub/two-nodes.js +127 -0
- package/dist/src/pubsub/two-nodes.js.map +1 -0
- package/dist/src/pubsub/utils.d.ts +3 -0
- package/dist/src/pubsub/utils.d.ts.map +1 -0
- package/dist/src/pubsub/utils.js +11 -0
- package/dist/src/pubsub/utils.js.map +1 -0
- package/dist/src/record/index.d.ts +5 -0
- package/dist/src/record/index.d.ts.map +1 -0
- package/dist/src/record/index.js +25 -0
- package/dist/src/record/index.js.map +1 -0
- package/dist/src/stream-muxer/base-test.d.ts +5 -0
- package/dist/src/stream-muxer/base-test.d.ts.map +1 -0
- package/dist/src/stream-muxer/base-test.js +123 -0
- package/dist/src/stream-muxer/base-test.js.map +1 -0
- package/dist/src/stream-muxer/close-test.d.ts +5 -0
- package/dist/src/stream-muxer/close-test.d.ts.map +1 -0
- package/dist/src/stream-muxer/close-test.js +103 -0
- package/dist/src/stream-muxer/close-test.js.map +1 -0
- package/dist/src/stream-muxer/index.d.ts +5 -0
- package/dist/src/stream-muxer/index.d.ts.map +1 -0
- package/dist/src/stream-muxer/index.js +13 -0
- package/dist/src/stream-muxer/index.js.map +1 -0
- package/dist/src/stream-muxer/mega-stress-test.d.ts +5 -0
- package/dist/src/stream-muxer/mega-stress-test.d.ts.map +1 -0
- package/dist/src/stream-muxer/mega-stress-test.js +8 -0
- package/dist/src/stream-muxer/mega-stress-test.js.map +1 -0
- package/dist/src/stream-muxer/spawner.d.ts +4 -0
- package/dist/src/stream-muxer/spawner.d.ts.map +1 -0
- package/dist/src/stream-muxer/spawner.js +32 -0
- package/dist/src/stream-muxer/spawner.js.map +1 -0
- package/dist/src/stream-muxer/stress-test.d.ts +5 -0
- package/dist/src/stream-muxer/stress-test.d.ts.map +1 -0
- package/dist/src/stream-muxer/stress-test.js +21 -0
- package/dist/src/stream-muxer/stress-test.js.map +1 -0
- package/dist/src/topology/multicodec-topology.d.ts +5 -0
- package/dist/src/topology/multicodec-topology.d.ts.map +1 -0
- package/dist/src/topology/multicodec-topology.js +109 -0
- package/dist/src/topology/multicodec-topology.js.map +1 -0
- package/dist/src/topology/topology.d.ts +5 -0
- package/dist/src/topology/topology.d.ts.map +1 -0
- package/dist/src/topology/topology.js +29 -0
- package/dist/src/topology/topology.js.map +1 -0
- package/dist/src/transport/dial-test.d.ts +5 -0
- package/dist/src/transport/dial-test.d.ts.map +1 -0
- package/dist/src/transport/dial-test.js +78 -0
- package/dist/src/transport/dial-test.js.map +1 -0
- package/dist/src/transport/filter-test.d.ts +5 -0
- package/dist/src/transport/filter-test.d.ts.map +1 -0
- package/dist/src/transport/filter-test.js +19 -0
- package/dist/src/transport/filter-test.js.map +1 -0
- package/dist/src/transport/index.d.ts +18 -0
- package/dist/src/transport/index.d.ts.map +1 -0
- package/dist/src/transport/index.js +11 -0
- package/dist/src/transport/index.js.map +1 -0
- package/dist/src/transport/listen-test.d.ts +5 -0
- package/dist/src/transport/listen-test.d.ts.map +1 -0
- package/dist/src/transport/listen-test.js +116 -0
- package/dist/src/transport/listen-test.js.map +1 -0
- package/dist/src/transport/utils/index.d.ts +8 -0
- package/dist/src/transport/utils/index.d.ts.map +1 -0
- package/dist/src/transport/utils/index.js +104 -0
- package/dist/src/transport/utils/index.js.map +1 -0
- package/dist/src/utils/peers.d.ts +7 -0
- package/dist/src/utils/peers.d.ts.map +1 -0
- package/dist/src/utils/peers.js +26 -0
- package/dist/src/utils/peers.js.map +1 -0
- package/dist/test/connection/index.spec.d.ts +2 -0
- package/dist/test/connection/index.spec.d.ts.map +1 -0
- package/dist/test/connection/index.spec.js +71 -0
- package/dist/test/connection/index.spec.js.map +1 -0
- package/dist/test/crypto/index.spec.d.ts +2 -0
- package/dist/test/crypto/index.spec.d.ts.map +1 -0
- package/dist/test/crypto/index.spec.js +11 -0
- package/dist/test/crypto/index.spec.js.map +1 -0
- package/dist/test/crypto/mock-crypto.d.ts +4 -0
- package/dist/test/crypto/mock-crypto.d.ts.map +1 -0
- package/dist/test/crypto/mock-crypto.js +93 -0
- package/dist/test/crypto/mock-crypto.js.map +1 -0
- package/dist/test/peer-discovery/index.spec.d.ts +2 -0
- package/dist/test/peer-discovery/index.spec.d.ts.map +1 -0
- package/dist/test/peer-discovery/index.spec.js +18 -0
- package/dist/test/peer-discovery/index.spec.js.map +1 -0
- package/dist/test/peer-discovery/mock-discovery.d.ts +20 -0
- package/dist/test/peer-discovery/mock-discovery.d.ts.map +1 -0
- package/dist/test/peer-discovery/mock-discovery.js +39 -0
- package/dist/test/peer-discovery/mock-discovery.js.map +1 -0
- package/dist/test/topology/mock-peer-store.d.ts +12 -0
- package/dist/test/topology/mock-peer-store.d.ts.map +1 -0
- package/dist/test/topology/mock-peer-store.js +18 -0
- package/dist/test/topology/mock-peer-store.js.map +1 -0
- package/dist/test/topology/multicodec-topology.spec.d.ts +2 -0
- package/dist/test/topology/multicodec-topology.spec.d.ts.map +1 -0
- package/dist/test/topology/multicodec-topology.spec.js +45 -0
- package/dist/test/topology/multicodec-topology.spec.js.map +1 -0
- package/dist/test/topology/topology.spec.d.ts +2 -0
- package/dist/test/topology/topology.spec.d.ts.map +1 -0
- package/dist/test/topology/topology.spec.js +21 -0
- package/dist/test/topology/topology.spec.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +120 -4
- package/src/connection/README.md +256 -0
- package/src/connection/connection.ts +178 -0
- package/src/connection/index.ts +7 -0
- package/src/crypto/index.ts +104 -0
- package/src/index.ts +5 -0
- package/src/peer-discovery/index.ts +87 -0
- package/src/pubsub/api.ts +89 -0
- package/src/pubsub/connection-handlers.ts +356 -0
- package/src/pubsub/emit-self.ts +67 -0
- package/src/pubsub/index.ts +20 -0
- package/src/pubsub/messages.ts +111 -0
- package/src/pubsub/multiple-nodes.ts +353 -0
- package/src/pubsub/two-nodes.ts +175 -0
- package/src/pubsub/utils.ts +13 -0
- package/src/record/index.ts +32 -0
- package/src/stream-muxer/base-test.ts +154 -0
- package/src/stream-muxer/close-test.ts +124 -0
- package/src/stream-muxer/index.ts +15 -0
- package/src/stream-muxer/mega-stress-test.ts +11 -0
- package/src/stream-muxer/spawner.ts +52 -0
- package/src/stream-muxer/stress-test.ts +24 -0
- package/src/topology/multicodec-topology.ts +136 -0
- package/src/topology/topology.ts +38 -0
- package/src/transport/dial-test.ts +98 -0
- package/src/transport/filter-test.ts +26 -0
- package/src/transport/index.ts +29 -0
- package/src/transport/listen-test.ts +152 -0
- package/src/transport/utils/index.ts +123 -0
- package/src/utils/peers.ts +25 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { PeerId } from '@libp2p/peer-id';
|
|
2
|
+
// @ts-expect-error no types
|
|
3
|
+
import handshake from 'it-handshake';
|
|
4
|
+
// @ts-expect-error no types
|
|
5
|
+
import duplexPair from 'it-pair/duplex.js';
|
|
6
|
+
import pipe from 'it-pipe';
|
|
7
|
+
import { UnexpectedPeerError } from '@libp2p/interfaces/crypto/errors';
|
|
8
|
+
import { Multiaddr } from '@multiformats/multiaddr';
|
|
9
|
+
// A basic transform that does nothing to the data
|
|
10
|
+
const transform = () => {
|
|
11
|
+
return (source) => (async function* () {
|
|
12
|
+
for await (const chunk of source) {
|
|
13
|
+
yield chunk;
|
|
14
|
+
}
|
|
15
|
+
})();
|
|
16
|
+
};
|
|
17
|
+
const crypto = {
|
|
18
|
+
protocol: 'insecure',
|
|
19
|
+
secureInbound: async (localPeer, duplex, expectedPeer) => {
|
|
20
|
+
// 1. Perform a basic handshake.
|
|
21
|
+
const shake = handshake(duplex);
|
|
22
|
+
shake.write(localPeer.toBytes());
|
|
23
|
+
const remoteId = await shake.read();
|
|
24
|
+
if (remoteId == null) {
|
|
25
|
+
throw new Error('Could not read remote ID');
|
|
26
|
+
}
|
|
27
|
+
const remotePeer = PeerId.fromBytes(remoteId.slice());
|
|
28
|
+
shake.rest();
|
|
29
|
+
if (expectedPeer != null && !expectedPeer.equals(remotePeer)) {
|
|
30
|
+
throw new UnexpectedPeerError();
|
|
31
|
+
}
|
|
32
|
+
// 2. Create your encryption box/unbox wrapper
|
|
33
|
+
const wrapper = duplexPair();
|
|
34
|
+
const encrypt = transform(); // Use transform iterables to modify data
|
|
35
|
+
const decrypt = transform();
|
|
36
|
+
pipe(wrapper[0], // We write to wrapper
|
|
37
|
+
encrypt, // The data is encrypted
|
|
38
|
+
shake.stream, // It goes to the remote peer
|
|
39
|
+
decrypt, // Decrypt the incoming data
|
|
40
|
+
wrapper[0] // Pipe to the wrapper
|
|
41
|
+
);
|
|
42
|
+
return {
|
|
43
|
+
conn: {
|
|
44
|
+
...wrapper[1],
|
|
45
|
+
close: async () => { },
|
|
46
|
+
localAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
|
|
47
|
+
remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4002'),
|
|
48
|
+
timeline: {
|
|
49
|
+
open: Date.now()
|
|
50
|
+
},
|
|
51
|
+
conn: true
|
|
52
|
+
},
|
|
53
|
+
remotePeer,
|
|
54
|
+
remoteEarlyData: new Uint8Array(0)
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
secureOutbound: async (localPeer, duplex, remotePeer) => {
|
|
58
|
+
// 1. Perform a basic handshake.
|
|
59
|
+
const shake = handshake(duplex);
|
|
60
|
+
shake.write(localPeer.toBytes());
|
|
61
|
+
const remoteId = await shake.read();
|
|
62
|
+
if (remoteId == null) {
|
|
63
|
+
throw new Error('Could not read remote ID');
|
|
64
|
+
}
|
|
65
|
+
shake.rest();
|
|
66
|
+
// 2. Create your encryption box/unbox wrapper
|
|
67
|
+
const wrapper = duplexPair();
|
|
68
|
+
const encrypt = transform();
|
|
69
|
+
const decrypt = transform();
|
|
70
|
+
pipe(wrapper[0], // We write to wrapper
|
|
71
|
+
encrypt, // The data is encrypted
|
|
72
|
+
shake.stream, // It goes to the remote peer
|
|
73
|
+
decrypt, // Decrypt the incoming data
|
|
74
|
+
wrapper[0] // Pipe to the wrapper
|
|
75
|
+
);
|
|
76
|
+
return {
|
|
77
|
+
conn: {
|
|
78
|
+
...wrapper[1],
|
|
79
|
+
close: async () => { },
|
|
80
|
+
localAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4001'),
|
|
81
|
+
remoteAddr: new Multiaddr('/ip4/127.0.0.1/tcp/4002'),
|
|
82
|
+
timeline: {
|
|
83
|
+
open: Date.now()
|
|
84
|
+
},
|
|
85
|
+
conn: true
|
|
86
|
+
},
|
|
87
|
+
remotePeer: PeerId.fromBytes(remoteId.slice()),
|
|
88
|
+
remoteEarlyData: new Uint8Array(0)
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
export default crypto;
|
|
93
|
+
//# sourceMappingURL=mock-crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-crypto.js","sourceRoot":"","sources":["../../../test/crypto/mock-crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../test/peer-discovery/index.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import tests from '../../src/peer-discovery/index.js';
|
|
2
|
+
import { MockDiscovery } from './mock-discovery.js';
|
|
3
|
+
describe('compliance tests', () => {
|
|
4
|
+
let intervalId;
|
|
5
|
+
tests({
|
|
6
|
+
async setup() {
|
|
7
|
+
const mockDiscovery = new MockDiscovery({
|
|
8
|
+
discoveryDelay: 1
|
|
9
|
+
});
|
|
10
|
+
intervalId = setInterval(mockDiscovery._discoverPeer, 1000);
|
|
11
|
+
return mockDiscovery;
|
|
12
|
+
},
|
|
13
|
+
async teardown() {
|
|
14
|
+
clearInterval(intervalId);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../test/peer-discovery/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mCAAmC,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,UAAe,CAAA;IAEnB,KAAK,CAAC;QACJ,KAAK,CAAC,KAAK;YACT,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;gBACtC,cAAc,EAAE,CAAC;aAClB,CAAC,CAAA;YAEF,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;YAE3D,OAAO,aAAa,CAAA;QACtB,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,aAAa,CAAC,UAAU,CAAC,CAAA;QAC3B,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
interface MockDiscoveryOptions {
|
|
4
|
+
discoveryDelay?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Emits 'peer' events on discovery.
|
|
8
|
+
*/
|
|
9
|
+
export declare class MockDiscovery extends EventEmitter {
|
|
10
|
+
readonly options: MockDiscoveryOptions;
|
|
11
|
+
private _isRunning;
|
|
12
|
+
private _timer;
|
|
13
|
+
constructor(options?: {});
|
|
14
|
+
start(): void;
|
|
15
|
+
stop(): void;
|
|
16
|
+
isStarted(): boolean;
|
|
17
|
+
_discoverPeer(): void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=mock-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-discovery.d.ts","sourceRoot":"","sources":["../../../test/peer-discovery/mock-discovery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAIrC,UAAU,oBAAoB;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,SAAgB,OAAO,EAAE,oBAAoB,CAAA;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAK;gBAEN,OAAO,KAAK;IAOzB,KAAK;IAKL,IAAI;IAKJ,SAAS;IAIT,aAAa;CAcd"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { Multiaddr } from '@multiformats/multiaddr';
|
|
3
|
+
import * as PeerIdFactory from '@libp2p/peer-id-factory';
|
|
4
|
+
/**
|
|
5
|
+
* Emits 'peer' events on discovery.
|
|
6
|
+
*/
|
|
7
|
+
export class MockDiscovery extends EventEmitter {
|
|
8
|
+
constructor(options = {}) {
|
|
9
|
+
super();
|
|
10
|
+
this.options = options;
|
|
11
|
+
this._isRunning = false;
|
|
12
|
+
}
|
|
13
|
+
start() {
|
|
14
|
+
this._isRunning = true;
|
|
15
|
+
this._discoverPeer();
|
|
16
|
+
}
|
|
17
|
+
stop() {
|
|
18
|
+
clearTimeout(this._timer);
|
|
19
|
+
this._isRunning = false;
|
|
20
|
+
}
|
|
21
|
+
isStarted() {
|
|
22
|
+
return this._isRunning;
|
|
23
|
+
}
|
|
24
|
+
_discoverPeer() {
|
|
25
|
+
if (!this._isRunning)
|
|
26
|
+
return;
|
|
27
|
+
PeerIdFactory.createEd25519PeerId()
|
|
28
|
+
.then(peerId => {
|
|
29
|
+
this._timer = setTimeout(() => {
|
|
30
|
+
this.emit('peer', {
|
|
31
|
+
id: peerId,
|
|
32
|
+
multiaddrs: [new Multiaddr('/ip4/127.0.0.1/tcp/8000')]
|
|
33
|
+
});
|
|
34
|
+
}, this.options.discoveryDelay ?? 1000);
|
|
35
|
+
})
|
|
36
|
+
.catch(() => { });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=mock-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-discovery.js","sourceRoot":"","sources":["../../../test/peer-discovery/mock-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AAMxD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAK7C,YAAa,OAAO,GAAG,EAAE;QACvB,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED,IAAI;QACF,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAE5B,aAAa,CAAC,mBAAmB,EAAE;aAChC,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,EAAE,EAAE,MAAM;oBACV,UAAU,EAAE,CAAC,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAC;iBACvD,CAAC,CAAA;YACJ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,CAAA;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
|
+
import type { PeerData } from '@libp2p/interfaces/peer-data';
|
|
5
|
+
import type { ProtoBook, PeerStore } from '@libp2p/interfaces/registrar';
|
|
6
|
+
export declare class MockPeerStore extends EventEmitter implements PeerStore {
|
|
7
|
+
readonly peers: Map<string, PeerData>;
|
|
8
|
+
protoBook: ProtoBook;
|
|
9
|
+
constructor(peers: Map<string, PeerData>);
|
|
10
|
+
get(peerId: PeerId): PeerData;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=mock-peer-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-peer-store.d.ts","sourceRoot":"","sources":["../../../test/topology/mock-peer-store.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAExE,qBAAa,aAAc,SAAQ,YAAa,YAAW,SAAS;IAClE,SAAgB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACrC,SAAS,EAAE,SAAS,CAAA;gBAEd,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAQzC,GAAG,CAAE,MAAM,EAAE,MAAM;CASpB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
export class MockPeerStore extends EventEmitter {
|
|
3
|
+
constructor(peers) {
|
|
4
|
+
super();
|
|
5
|
+
this.protoBook = {
|
|
6
|
+
get: () => ([])
|
|
7
|
+
};
|
|
8
|
+
this.peers = peers;
|
|
9
|
+
}
|
|
10
|
+
get(peerId) {
|
|
11
|
+
const peerData = this.peers.get(peerId.toString());
|
|
12
|
+
if (peerData == null) {
|
|
13
|
+
throw new Error('PeerData not found');
|
|
14
|
+
}
|
|
15
|
+
return peerData;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=mock-peer-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-peer-store.js","sourceRoot":"","sources":["../../../test/topology/mock-peer-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAKrC,MAAM,OAAO,aAAc,SAAQ,YAAY;IAI7C,YAAa,KAA4B;QACvC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;SAChB,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,GAAG,CAAE,MAAc;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAElD,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;SACtC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multicodec-topology.spec.d.ts","sourceRoot":"","sources":["../../../test/topology/multicodec-topology.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import tests from '../../src/topology/multicodec-topology.js';
|
|
3
|
+
import { MulticodecTopology } from '@libp2p/topology/multicodec-topology';
|
|
4
|
+
import { MockPeerStore } from './mock-peer-store.js';
|
|
5
|
+
describe('multicodec topology compliance tests', () => {
|
|
6
|
+
tests({
|
|
7
|
+
async setup(properties) {
|
|
8
|
+
const multicodecs = ['/echo/1.0.0'];
|
|
9
|
+
const handlers = {
|
|
10
|
+
onConnect: () => { },
|
|
11
|
+
onDisconnect: () => { }
|
|
12
|
+
};
|
|
13
|
+
const topology = new MulticodecTopology({
|
|
14
|
+
multicodecs,
|
|
15
|
+
handlers,
|
|
16
|
+
...properties
|
|
17
|
+
});
|
|
18
|
+
const peers = new Map();
|
|
19
|
+
const peerStore = new MockPeerStore(peers);
|
|
20
|
+
const connectionManager = new EventEmitter();
|
|
21
|
+
const registrar = {
|
|
22
|
+
peerStore,
|
|
23
|
+
connectionManager,
|
|
24
|
+
getConnection: () => {
|
|
25
|
+
return undefined;
|
|
26
|
+
},
|
|
27
|
+
handle: () => {
|
|
28
|
+
throw new Error('Not implemented');
|
|
29
|
+
},
|
|
30
|
+
register: () => {
|
|
31
|
+
throw new Error('Not implemented');
|
|
32
|
+
},
|
|
33
|
+
unregister: () => {
|
|
34
|
+
throw new Error('Not implemented');
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
topology.registrar = registrar;
|
|
38
|
+
return topology;
|
|
39
|
+
},
|
|
40
|
+
async teardown() {
|
|
41
|
+
// cleanup resources created by setup()
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=multicodec-topology.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multicodec-topology.spec.js","sourceRoot":"","sources":["../../../test/topology/multicodec-topology.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,MAAM,2CAA2C,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,KAAK,CAAC;QACJ,KAAK,CAAC,KAAK,CAAE,UAAU;YACrB,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,CAAA;YACnC,MAAM,QAAQ,GAAG;gBACf,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;gBACpB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC;aACxB,CAAA;YAED,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;gBACtC,WAAW;gBACX,QAAQ;gBACR,GAAG,UAAU;aACd,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;YACvB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;YAC1C,MAAM,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAA;YAE5C,MAAM,SAAS,GAAG;gBAChB,SAAS;gBACT,iBAAiB;gBACjB,aAAa,EAAE,GAAG,EAAE;oBAClB,OAAO,SAAS,CAAA;gBAClB,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBACpC,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBACpC,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBACpC,CAAC;aACF,CAAA;YAED,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAA;YAE9B,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,uCAAuC;QACzC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topology.spec.d.ts","sourceRoot":"","sources":["../../../test/topology/topology.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import tests from '../../src/topology/topology.js';
|
|
2
|
+
import { Topology } from '@libp2p/topology';
|
|
3
|
+
describe('topology compliance tests', () => {
|
|
4
|
+
tests({
|
|
5
|
+
async setup(properties) {
|
|
6
|
+
const handlers = {
|
|
7
|
+
onConnect: () => { },
|
|
8
|
+
onDisconnect: () => { }
|
|
9
|
+
};
|
|
10
|
+
const topology = new Topology({
|
|
11
|
+
handlers,
|
|
12
|
+
...properties
|
|
13
|
+
});
|
|
14
|
+
return topology;
|
|
15
|
+
},
|
|
16
|
+
async teardown() {
|
|
17
|
+
// cleanup resources created by setup()
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=topology.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topology.spec.js","sourceRoot":"","sources":["../../../test/topology/topology.spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gCAAgC,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,KAAK,CAAC;QACJ,KAAK,CAAC,KAAK,CAAE,UAAU;YACrB,MAAM,QAAQ,GAAG;gBACf,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC;gBACpB,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC;aACxB,CAAA;YAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;gBAC5B,QAAQ;gBACR,GAAG,UAAU;aACd,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,uCAAuC;QACzC,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/index.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/chai-parentheses/index.d.ts","../../../node_modules/@types/chai-subset/index.d.ts","../../../node_modules/chai-bites/index.d.ts","../../../node_modules/@types/chai-string/index.d.ts","../../../node_modules/aegir/dist/utils/chai.d.ts","../../../node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../../../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../../../node_modules/multiformats/types/bases/interface.d.ts","../../../node_modules/multiformats/types/hashes/interface.d.ts","../../../node_modules/multiformats/types/cid.d.ts","../../libp2p-interfaces/dist/src/peer-id/index.d.ts","../../libp2p-interfaces/dist/src/stream-muxer/index.d.ts","../../libp2p-interfaces/dist/src/connection/status.d.ts","../../libp2p-interfaces/dist/src/connection/index.d.ts","../src/connection/connection.ts","../src/connection/index.ts","../../../node_modules/it-pipe/index.d.ts","../../libp2p-interfaces/dist/src/keys/index.d.ts","../../libp2p-peer-id/dist/src/index.d.ts","../../libp2p-peer-id-factory/dist/src/index.d.ts","../../../node_modules/streaming-iterables/dist/index.d.ts","../../../node_modules/multiformats/types/bases/base.d.ts","../../../node_modules/uint8arrays/types/src/util/bases.d.ts","../../../node_modules/uint8arrays/types/src/from-string.d.ts","../src/utils/peers.ts","../../libp2p-interfaces/dist/src/crypto/errors.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../libp2p-interfaces/dist/src/index.d.ts","../../libp2p-interfaces/dist/src/transport/index.d.ts","../../libp2p-interfaces/dist/src/crypto/index.d.ts","../src/crypto/index.ts","../../../node_modules/delay/index.d.ts","../../../node_modules/p-defer/index.d.ts","../../libp2p-interfaces/dist/src/peer-data/index.d.ts","../../libp2p-interfaces/dist/src/peer-discovery/index.d.ts","../src/peer-discovery/index.ts","../../../node_modules/p-wait-for/node_modules/p-timeout/index.d.ts","../../../node_modules/p-wait-for/index.d.ts","../../../node_modules/it-pushable/index.d.ts","../../libp2p-interfaces/dist/src/registrar/index.d.ts","../../libp2p-interfaces/dist/src/pubsub/index.d.ts","../src/pubsub/api.ts","../../../node_modules/uint8arrays/types/src/to-string.d.ts","../src/pubsub/utils.ts","../src/pubsub/connection-handlers.ts","../src/pubsub/emit-self.ts","../../../node_modules/protobufjs/index.d.ts","../../libp2p-pubsub/dist/src/message/rpc.d.ts","../../../node_modules/multiformats/types/hashes/digest.d.ts","../../../node_modules/multiformats/types/hashes/hasher.d.ts","../../libp2p-pubsub/dist/src/utils.d.ts","../../libp2p-pubsub/dist/src/peer-streams.d.ts","../src/pubsub/messages.ts","../src/pubsub/two-nodes.ts","../src/pubsub/multiple-nodes.ts","../src/pubsub/index.ts","../../libp2p-interfaces/dist/src/record/index.d.ts","../src/record/index.ts","../src/transport/utils/index.ts","../src/stream-muxer/base-test.ts","../../../node_modules/abortable-iterator/index.d.ts","../../../node_modules/event-target-shim/index.d.ts","../../../node_modules/abort-controller/dist/abort-controller.d.ts","../src/stream-muxer/close-test.ts","../../../node_modules/p-limit/index.d.ts","../src/stream-muxer/spawner.ts","../src/stream-muxer/stress-test.ts","../src/stream-muxer/mega-stress-test.ts","../src/stream-muxer/index.ts","../../libp2p-interfaces/dist/src/topology/index.d.ts","../src/topology/multicodec-topology.ts","../src/topology/topology.ts","../../libp2p-interfaces/dist/src/errors.d.ts","../src/transport/listen-test.ts","../src/transport/filter-test.ts","../src/transport/index.ts","../src/transport/dial-test.ts","../../libp2p-connection/dist/src/index.d.ts","../test/connection/index.spec.ts","../test/crypto/mock-crypto.ts","../test/crypto/index.spec.ts","../test/peer-discovery/mock-discovery.ts","../test/peer-discovery/index.spec.ts","../test/topology/mock-peer-store.ts","../../libp2p-topology/dist/src/index.d.ts","../../libp2p-topology/dist/src/multicodec-topology.d.ts","../test/topology/multicodec-topology.spec.ts","../test/topology/topology.spec.ts","../../../node_modules/@types/bl/bufferlist.d.ts","../../../node_modules/safe-buffer/index.d.ts","../../../node_modules/@types/readable-stream/index.d.ts","../../../node_modules/@types/bl/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/long/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"e34eb9339171ec45da2801c1967e4d378bd61a1dceaa1b1b4e1b6d28cb9ca962","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"e46461f05ebcde51451b9368a6f6155cef310e5fd47a9cd9a57fc0dfd4879ece",{"version":"c8747693e5872ad5ef3aa016731a06915e1c34dae987829d9aa5bd40c7a2c54b","affectsGlobalScope":true},{"version":"f6ae17283c6912c202004178339d6d22f8c9edfe4e335f9f11b555c631633daf","affectsGlobalScope":true},{"version":"c1f79c6d85cd84518fd7349588b3c61bdc189f58e3866f925cbf4631c81e31f9","affectsGlobalScope":true},{"version":"f4c0db3a49cea9babd5d224ba14243a6a6119bf65a65198994033aaea3a60a71","affectsGlobalScope":true},{"version":"42f28f4cfca4a70bd89c1d55d76c7978275030b894f6793f36890265c11a83a4","affectsGlobalScope":true},{"version":"41071d2f1a39386d10bf36d1ba4712ad42a900047f16a109936df9e48f13673e","affectsGlobalScope":true},"61f705a779045717e1a18c75456c2a7ca52eb50e0694a3da86fddfe67503bff6","6b40029289530423f407a22755c85b81740f9acfd88d2b53564f8c1657c26660","50a5b297e6c91df4f6068d98467a5e7ba4eeb888b9376757734dd4b1dfcdacd4","dcaaf86cdcf77baf88172a23d27df51c284afd72935bd1d57c7a9edd2f4f6007","6a30d3048a516174263bd3b4d916ed87cd418a67226d08f5cb4e128819d047f4","930446bf32192f698b78f8ea4b309d8c2cfe02ab5ad78e4db907417405ebf5e7","a5de53bdfcdca7af39e735be7bbd736c38b1e34eeec36bd6a835a0e37ba23705","ef706b4970dd8bf7ab414bb981993d4f379845f3592622237bad1b3332fde794","254c3d289f204ba745b8353d4530566df1adcf7666ba29294f733a2e1b3cdf77","5fb8b088382f73d2ff63558d14494c5defd5fa783adbff4b72f3cfb02ee9fba6","6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","ecbf5c1c87fe17bc253621fee49d2378b947c1a5d6aaa726efebf9df099e0da5","e2b14009343687d1887925a39d3f429d397e254c62b46a10c8f433dad1df7d1c","2b9caa9d5e29f63517e59f3074be686e6e6c71d0830bb1f1617f67a098278ca7","b413b4ac5cc2c9ffeb8d6b9141abf53568e79751f705886a8c34a6ecf1814da1","0e4c4e3b7f9bddce2bfa2d4536da74ee8c9579ef0ef654e975d44ded342201a2","b507f8cf1c28bb4d42cd28fda5b450da2fd7a603e669ff16c9f334b5529aa32e","1b752a578f800c10001b02fc557efe5b98cf90513c7dd082b1d8e8463f594123","58749b35899549ee2e69d3d41c1fc31d878deef7a70520ec1cee312c24d1c57f","a9fa925f15fdd7529fefd4fb81c43dde5db0db2fd1694ef4709c193f01d78046","e47d9ea931ddade1deee3946884e8dc7aafbf4af74f9ecb85ef77c895100bd39","0841c3aed9354ad025302d5c7cde53916825047646e559d918b62a31500aebe7","d92c6644d4c8b6263ea6be1ec79888deabee3b6509632411f8d78c36021d9101","248f3a933aaaa95d8ee9a96d6932595423a14ce3c841c50646e3499cd5fdd197","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"2a801b0322994c3dd7f0ef30265d19b3dd3bae6d793596879166ed6219c3da68","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","bcc8caf03ee65fe8610d258752f255fbdddbb2e4de7b6c5628956a5a0d859ec8","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"c28e5baab1b53377c90d12970e207a2644bc3627840066449e37e2a59125d07e","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","fce6a1a1553ff7d54ffb8bb3ae488c9cb5f2f4f4e52212c1abe40f544819ef35","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"bd1a08e30569b0fb2f0b21035eb9b039871f68faa9b98accf847e9c878c5e0a9","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","1835259a20b9fa6b1882931375b69ae5978195f2b139b4e0db51ec8319261649","b52cd693219a63dd21282ac99a7bf55f77cbe8a91f097968856419cc2e05f017","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"267af67ea520cabd16402522756b19ac63d9e2c1c86e7c4d1ddeb991c32e12c9","ce76ac1c5c57e5c082967bd7734e32b4c30efd28c5ea828da241ad8059cef072","3d4abadc850c4e1c56b345c1c44d434134888c7cdd1b496e1d5c5bfbe5321356","4a6177a0a11839f0170157957f1890b8f833d90e49c24f72751d326d14fe63c2","ec18016955bb240e01153ca1023d2c6ae2c65bf3b33a642f8270eca467cacb57","4c7fb1f4c57f3cd9d571c5e4cae33503530273a45579fa0babaf36b64a776eaa","f1209fa8ff3b2305e69d2a35af81586883d16c6adcf42e5981a299cf0bf04987","bbdb6e600e97a92cac817097543d0c7e1b8fc8c29bc4eb22dc7299dbc3dcf3d9","e8a51779abdc9686428a4c7879571738b47266421fb35099426eb6612fa818f5","56b72bce728f8de6f96f12f68ead0ec0ffcb963dd84d98258e34e96b41ca5796","c2f2e0d6fd83e551d0203b770d250c7def6a64bdee7159445c2d259ba51ba826","f97c1b3e3466f02248c74ede5c3d5008017d5a1e045c5a2c466726af6e7635f8","f9c5e7bae060d2f1cb622b3d0192ca87fcbb29daf0f92d5ed62a63ce6f079354","d0f98ba0d85a72e83f6d613b5f5f98715aa8bc82303c562ac6aca2f04cd22933","e41f0fdc6e47f79d12f6b6f5d379824f553f510ca6079074b95bc5d10edface0","b951829bc0d2369f7a5a7ea7fce3e96366a710680c582de361da861f0c75c8f6","7c515715da56f17e695e2c3611cf073d2cebfd417497652b35f9042b7235d5b2","c0f5b39ee5edb68dcf6c24c37026a07e975106dbe64798da39b50fc836ded01f","e2044f6c68b651ae64914325260c3e8447f27c3358e9023fa9fa2312665f1def","40c645ea77edb102c18dd228a44a126e2e10d5947cda8d83bf38a8d26c3cc4f9","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","9f95c458c387b79111aad37f45dd1a704563bef59207ad2129cb14799a8183ea","853c5447ea8851049c1d008e130d23030d9fe3b5a8405a0ae7e55b00e173692d","fbb30441703cfccfe241fbdb604f01e1e5ac558eec5d3f04fd32281dc9b3cdb9","591074f834063b88abc2f06dc330a922b2863cbb0629960455bab8b7397cff8b","23b51fc5d3a7cb098287254ad06de2283335d20d5d9d63c38fa0ee77eabbd383","01bb8e970a2c7edb4ad969dd4418f2c963d9558acc441fd8c9f1d64f12ee65cc","ec49ed8a408e9d2e283c01e284d4b1feaf58797a5e5063f7436a246e73ee22b2","14dbebe6ca76403888809e41b0e787c9ac889092654e025d1b4e89732d557b68","8e72f83e696914cf77e33362f9ee36f102671664ffe6bcce3a51517eca4cad18","f1122567bc71cd785212c69c5023f4c5c214467f2f632d110d87ceba58eb4182","335b41d2d9444547e6eed5597e296b95e46041e7be1459c107bd8c8d88098ebb","c894e408d79971dd5c2034730cb5e50162deb21d02426ac9dbc5353c7c54dcd1","e0dd70aea6e5176230b90d9df6a98c7698216b90892f2d0fd962f47724e07d55","f1304f38533801f935674f1f096ccd8d12e98e1daeb7ad7582103e5d704c0a42","2859adaa4f2db3d4f0fc37ad86f056045341496b58fba0dbc16a222f9d5d55b1","655ed305e8f4cb95d3f578040301a4e4d6ace112b1bd8824cd32bda66c3677d1","77a46df7e5b27cbce6aeb4413c05c80ba4de3883dcd75cff2be4bd3b10553a2e","9f91eee81fda27d38d60963fe1de2f050a5cfb241af56b7e7ee6d9aa8522a058","958c14054a5025662571e98e098ebc90e04272fe9694c22846a4dc6edaae06a4","bc0ee756c3b98da7cec2950f0aefdc4422e0e69419c172dc4c33f6ea12128e01","dd1680fac1d258a62b446c1bcb17acc69f938f10f2feb6a3215c6e274d1c4221","3079158d5f4b8aed7232eb0b7c838adffe78a99a98610a5491582aae1fc917d2","2302819f22093fec391514218a8dc5ee75a51d9f39aff36f8853d1e038badadf","d88c65a2428049d351067befbb032d7e67d928f3ceea6187a174479d9ec589f7","db96185edbdb3a847099df06d8f0e2a8b55fa59fd87d45b397bf7dbb238120fc","4d9a3b5ccd5393998c424ad73259a5121a0890e7c209b45377fcacad5ad2dfe5","d6049904a87a5608bbfe1b65e10cfb24dece571eb03b3514be4b37b227b438a8","37c88b781aa02b38b2a35865e93edc23e707610807c4f9d0a8c5672b56d24375","4374e92f6c726b72d6f40a188025c2ebb43cbba3c2b2f8e497e293c1ea54c039","fb336a78e70466234ed6dfce41fbc3dbf0c01762d9a33f981feab725dc9ba1ec","1b60ef5ca7e93fabb4ab65c5d86de2ef89a20b22e30f54c995cb621287a7a84d","a5b871d973aaeb1ded88e5e942d90d4cf83b9c397b64b5dc041598b6aeb0d50b","8b010ead2e514d58b82d8d42f08dfaca96cdc90d25664678461cf6f5ad724f91","987eccb8cec9acd014dcc4b2d30de85fd850d7c1ac52ffca5a7e502bd35595ff","2ff57a04d2b3b4675228d301017edc415ac8cf4b54daf84657da43e164a04514","87c4abf783483efdfec2ce8b9f7c7999596be3b9604b49a75e40c5033ef02f15","5474fad112b7694ccdf782e30eb400d86b8db6bc9b24bbcb7ec9b7abcd06f9cf","a934c9796262f578e0f435fb90a556b98d31b762ef3c3f60c55dd832fc3e7cf9","323413273c64329a18044f4b68d885aadd597a66de7ceb38071896d31c16d83f","d672c6f67415682700ee5b75a1888dcc3241e4c0abf8f5c85288f5b6aeb1cdb0","e62e3436c06fc73cc446cf3b6e4e9db1f2bd6d624646af3d3fff1c905ab73c6e","9bba2209d41d622d34c30c36ea1f5ab13f10fc69dd7933918dce353dc4376703","5e379df3d61561c2ed7789b5995b9ba2143bbba21a905e2381e16efe7d1fa424","dd978a63c94ab731a6544f57b3bf105b191b613b46cea6d40adafdc7e99c2e71","e92e5257d413d87d2367f0ddc723c6d2d95ef47fee8ab3be5073542e0aa2e59b","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","e8465811693dfe4e96ef2b3dffda539d6edfe896961b7af37b44db2c0e48532b","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"e8bf92aabac2b11e1bf60a0161039cd6f5f0cd9713863ca2289dd7b10eddece8","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","45627c7d24633686b0274d9402652930ba2e4fe74df04f114393ae121d1e8afe","b2d70a269840a9528db473ac7565442434333a05c1f66801a7a672e82beb903e"],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"importsNotUsedAsValues":2,"module":6,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitReturns":false,"noUnusedLocals":true,"noUnusedParameters":false,"outDir":"./","removeComments":false,"skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":7},"fileIdsList":[[51,115],[115],[115,122],[115,122,184,186],[42,115],[115,188],[72,115],[75,115],[76,81,115],[77,87,88,95,104,114,115],[77,78,87,95,115],[79,115],[80,81,88,96,115],[81,104,111,115],[82,84,87,95,115],[83,115],[84,85,115],[86,87,115],[87,115],[87,88,89,104,114,115],[87,88,89,104,115],[90,95,104,114,115],[87,88,90,91,95,104,111,114,115],[90,92,104,111,114,115],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],[87,93,115],[94,114,115],[84,87,95,104,115],[96,115],[97,115],[75,98,115],[99,113,115,119],[100,115],[101,115],[87,102,115],[102,103,115,117],[87,104,105,106,115],[104,106,115],[104,105,115],[107,115],[108,115],[87,109,110,115],[109,110,115],[81,95,104,111,115],[112,115],[95,113,115],[76,90,101,114,115],[81,115],[104,115,116],[115,117],[115,118],[76,81,87,89,98,104,114,115,117,119],[104,115,120],[115,122,185],[49,115],[115,200],[87,104,115,122],[115,157],[42,43,44,45,46,47,115],[42,43,115],[53,115],[53,54,115],[54,115],[54,115,144],[115,132],[68,115],[53,67,115],[52,56,57,59,115],[41,48,50,59,115],[41,59,60,115],[41,48,56,62,65,66,69,70,71,115,125],[41,48,52,115,123,127,128,130],[41,48,50,69,115,123,128,133,136],[41,48,50,69,115,123,128,133,136,138,139],[41,48,50,69,115,123,136],[41,115,123,136,137,140,141,148,149,150],[41,48,50,65,69,115,123,136,146,147],[41,48,50,69,115,123,127,128,133,136,138,139],[48,115],[41,48,115,152],[41,48,57,62,66,115,128,154],[41,57,59,62,66,69,115,156,158],[41,57,115,155,159,162,163],[41,57,115,161],[48,57,62,66,115,160],[41,48,50,56,65,70,115,165],[41,48,50,52,62,66,115,124,154,158,168,171],[41,48,52,115,124,154,171],[41,52,115,124,169,170,172],[41,48,50,52,59,62,69,115,124,128,133,154,171],[48,57,59,64,65,115,124],[52,57,61,65,70,115,173],[115,126,175],[52,62,64,71,115,125],[115,131,177],[52,65,87,115],[56,87,115,129,135],[87,115,166,179,181],[115,167,180],[52,56,57,58,115],[56,115,124],[52,56,115],[87,115,122,129],[53,54,55,115],[56,87,115,122,134,135],[56,57,59,115,129],[56,59,115],[52,59,87,115,122,123],[63,64,115],[115,142],[56,57,87,115,122,134],[115,136,143,145],[56,115,135,165],[56,59,115,129,135,165,180]],"referencedMap":[[52,1],[51,2],[49,2],[184,3],[187,4],[43,5],[47,5],[45,5],[42,2],[189,6],[190,2],[191,2],[192,2],[193,2],[194,2],[195,2],[196,2],[188,2],[72,7],[73,7],[75,8],[76,9],[77,10],[78,11],[79,12],[80,13],[81,14],[82,15],[83,16],[84,17],[85,17],[86,18],[87,19],[88,20],[89,21],[74,2],[121,2],[90,22],[91,23],[92,24],[122,25],[93,26],[94,27],[95,28],[96,29],[97,30],[98,31],[99,32],[100,33],[101,34],[102,35],[103,36],[104,37],[106,38],[105,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,46],[114,47],[115,48],[116,49],[117,50],[118,51],[119,52],[120,53],[197,2],[198,2],[186,54],[199,2],[50,55],[200,2],[201,56],[202,57],[158,58],[156,2],[48,59],[46,5],[44,60],[127,2],[157,2],[62,2],[134,2],[67,61],[53,2],[55,62],[144,63],[145,64],[54,2],[128,2],[160,2],[133,65],[132,2],[142,2],[185,2],[66,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[1,2],[40,2],[69,66],[138,66],[68,67],[173,68],[60,69],[61,70],[126,71],[41,2],[131,72],[137,73],[140,74],[141,75],[151,76],[148,77],[150,78],[149,74],[139,79],[153,80],[155,81],[159,82],[164,83],[163,84],[161,85],[162,84],[166,86],[167,86],[172,87],[170,88],[171,89],[169,90],[154,91],[70,2],[174,92],[176,93],[175,94],[178,95],[177,96],[179,97],[182,98],[183,99],[59,100],[58,2],[71,2],[125,101],[168,2],[123,2],[63,2],[129,102],[130,103],[56,104],[136,105],[152,2],[135,106],[57,2],[165,107],[124,108],[65,109],[64,104],[143,110],[147,111],[146,112],[180,113],[181,114]],"exportedModulesMap":[[52,1],[51,2],[49,2],[184,3],[187,4],[43,5],[47,5],[45,5],[42,2],[189,6],[190,2],[191,2],[192,2],[193,2],[194,2],[195,2],[196,2],[188,2],[72,7],[73,7],[75,8],[76,9],[77,10],[78,11],[79,12],[80,13],[81,14],[82,15],[83,16],[84,17],[85,17],[86,18],[87,19],[88,20],[89,21],[74,2],[121,2],[90,22],[91,23],[92,24],[122,25],[93,26],[94,27],[95,28],[96,29],[97,30],[98,31],[99,32],[100,33],[101,34],[102,35],[103,36],[104,37],[106,38],[105,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,46],[114,47],[115,48],[116,49],[117,50],[118,51],[119,52],[120,53],[197,2],[198,2],[186,54],[199,2],[50,55],[200,2],[201,56],[202,57],[158,58],[156,2],[48,59],[46,5],[44,60],[127,2],[157,2],[62,2],[134,2],[67,61],[53,2],[55,62],[144,63],[145,64],[54,2],[128,2],[160,2],[133,65],[132,2],[142,2],[185,2],[66,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[1,2],[40,2],[69,66],[138,66],[68,67],[173,68],[60,69],[61,70],[126,71],[41,2],[131,72],[137,73],[140,74],[141,75],[151,76],[148,77],[150,78],[149,74],[139,79],[153,80],[155,81],[159,82],[164,83],[163,84],[161,85],[162,84],[166,86],[167,86],[172,87],[170,88],[171,89],[169,90],[154,91],[70,2],[174,92],[176,93],[175,94],[178,95],[177,96],[179,97],[182,98],[183,99],[59,100],[58,2],[71,2],[125,101],[168,2],[123,2],[63,2],[129,102],[130,103],[56,104],[136,105],[152,2],[135,106],[57,2],[165,107],[124,108],[65,109],[64,104],[143,110],[147,111],[146,112],[180,113],[181,114]],"semanticDiagnosticsPerFile":[52,51,49,184,187,43,47,45,42,189,190,191,192,193,194,195,196,188,72,73,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,74,121,90,91,92,122,93,94,95,96,97,98,99,100,101,102,103,104,106,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,197,198,186,199,50,200,201,202,158,156,48,46,44,127,157,62,134,67,53,55,144,145,54,128,160,133,132,142,185,66,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,39,35,36,37,38,1,40,69,138,68,173,60,61,126,41,131,137,140,141,151,148,150,149,139,153,155,159,164,163,161,162,166,167,172,170,171,169,154,70,174,176,175,178,177,179,182,183,59,58,71,125,168,123,63,129,130,56,136,152,135,57,165,124,65,64,143,147,146,180,181]},"version":"4.4.4"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,123 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/interface-compliance-tests",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Compliance tests for JS libp2p interfaces",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"src",
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"types": "dist/src/index.d.ts",
|
|
11
|
+
"typesVersions": {
|
|
12
|
+
"*": {
|
|
13
|
+
"*": [
|
|
14
|
+
"dist/src/*",
|
|
15
|
+
"dist/src/*/index"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"eslintConfig": {
|
|
20
|
+
"extends": "ipfs"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"lint": "aegir lint",
|
|
24
|
+
"dep-check": "aegir dep-check dist/src/**/*.js",
|
|
25
|
+
"build": "tsc",
|
|
26
|
+
"pretest": "npm run build",
|
|
27
|
+
"test": "aegir test -f ./dist/test/**/*.js",
|
|
28
|
+
"test:browser": "aegir test -t browser -f ./dist/test/**/*.js",
|
|
29
|
+
"test:node": "aegir test -t node -f ./dist/test/**/*.js",
|
|
30
|
+
"test:electron-main": "aegir test -t electron-main -f ./dist/test/**/*.js"
|
|
31
|
+
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/libp2p/js-libp2p-interfaces.git"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"libp2p",
|
|
38
|
+
"interface"
|
|
39
|
+
],
|
|
40
|
+
"author": "",
|
|
41
|
+
"license": "(Apache-2.0 OR MIT)",
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/libp2p/js-libp2p-interfaces/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces-compliance-tests#readme",
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@libp2p/connection": "^0.2.0",
|
|
48
|
+
"@libp2p/crypto": "^0.22.2",
|
|
49
|
+
"@libp2p/interfaces": "^0.2.0",
|
|
50
|
+
"@libp2p/peer-id": "^0.2.0",
|
|
51
|
+
"@libp2p/peer-id-factory": "^0.2.0",
|
|
52
|
+
"@libp2p/pubsub": "^0.2.0",
|
|
53
|
+
"@libp2p/topology": "^0.2.0",
|
|
54
|
+
"@multiformats/multiaddr": "^10.1.1",
|
|
55
|
+
"abort-controller": "^3.0.0",
|
|
56
|
+
"abortable-iterator": "^3.0.0",
|
|
57
|
+
"aegir": "^36.0.0",
|
|
58
|
+
"chai": "^4.3.4",
|
|
59
|
+
"chai-checkmark": "^1.0.1",
|
|
60
|
+
"delay": "^5.0.0",
|
|
61
|
+
"it-goodbye": "^3.0.0",
|
|
62
|
+
"it-pair": "^1.0.0",
|
|
63
|
+
"it-pipe": "^1.1.0",
|
|
64
|
+
"multiformats": "^9.4.10",
|
|
65
|
+
"p-defer": "^3.0.0",
|
|
66
|
+
"p-limit": "^3.1.0",
|
|
67
|
+
"p-wait-for": "^4.1.0",
|
|
68
|
+
"sinon": "^11.1.1",
|
|
69
|
+
"streaming-iterables": "^6.0.0",
|
|
70
|
+
"uint8arrays": "^3.0.0",
|
|
71
|
+
"util": "^0.12.4"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"it-handshake": "^2.0.0"
|
|
75
|
+
},
|
|
76
|
+
"exports": {
|
|
77
|
+
".": {
|
|
78
|
+
"import": "./dist/src/index.js",
|
|
79
|
+
"types": "./dist/src/index.d.ts"
|
|
80
|
+
},
|
|
81
|
+
"./connection": {
|
|
82
|
+
"import": "./dist/src/connection/index.js",
|
|
83
|
+
"types": "./dist/src/connection/index.d.ts"
|
|
84
|
+
},
|
|
85
|
+
"./crypto": {
|
|
86
|
+
"import": "./dist/src/crypto/index.js",
|
|
87
|
+
"types": "./dist/src/crypto/index.d.ts"
|
|
88
|
+
},
|
|
89
|
+
"./peer-discovery": {
|
|
90
|
+
"import": "./dist/src/peer-discovery/index.js",
|
|
91
|
+
"types": "./dist/src/peer-discovery/index.d.ts"
|
|
92
|
+
},
|
|
93
|
+
"./pubsub": {
|
|
94
|
+
"import": "./dist/src/pubsub/index.js",
|
|
95
|
+
"types": "./dist/src/pubsub/index.d.ts"
|
|
96
|
+
},
|
|
97
|
+
"./record": {
|
|
98
|
+
"import": "./dist/src/record/index.js",
|
|
99
|
+
"types": "./dist/src/record/index.d.ts"
|
|
100
|
+
},
|
|
101
|
+
"./stream-muxer": {
|
|
102
|
+
"import": "./dist/src/stream-muxer/index.js",
|
|
103
|
+
"types": "./dist/src/stream-muxer/index.d.ts"
|
|
104
|
+
},
|
|
105
|
+
"./topology": {
|
|
106
|
+
"import": "./dist/src/topology/index.js",
|
|
107
|
+
"types": "./dist/src/topology/index.d.ts"
|
|
108
|
+
},
|
|
109
|
+
"./transport": {
|
|
110
|
+
"import": "./dist/src/transport/index.js",
|
|
111
|
+
"types": "./dist/src/transport/index.d.ts"
|
|
112
|
+
},
|
|
113
|
+
"./transport/utils": {
|
|
114
|
+
"import": "./dist/src/transport/utils/index.js",
|
|
115
|
+
"types": "./dist/src/transport/utils/index.d.ts"
|
|
116
|
+
},
|
|
117
|
+
"./utils/peers": {
|
|
118
|
+
"import": "./dist/src/utils/peers.js",
|
|
119
|
+
"types": "./dist/src/utils/peers.d.ts"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"gitHead": "899cb6a9390c748bccf9b6404f104efb011a0c9c"
|
|
7
123
|
}
|