libp2p 0.35.8 → 0.36.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/dist/index.min.js +55 -0
- package/dist/src/circuit/auto-relay.d.ts +8 -10
- package/dist/src/circuit/auto-relay.d.ts.map +1 -1
- package/dist/src/config.d.ts +2 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.d.ts +1 -1
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/index.d.ts +1 -2
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/content-routing/utils.d.ts +3 -3
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/dialer/dial-request.d.ts.map +1 -1
- package/dist/src/dialer/index.d.ts +12 -7
- package/dist/src/dialer/index.d.ts.map +1 -1
- package/dist/src/errors.d.ts +2 -0
- package/dist/src/fetch/constants.d.ts +2 -0
- package/dist/src/fetch/constants.d.ts.map +1 -0
- package/dist/src/fetch/index.d.ts +76 -0
- package/dist/src/fetch/index.d.ts.map +1 -0
- package/dist/src/fetch/proto.d.ts +134 -0
- package/dist/src/identify/index.d.ts +4 -4
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +116 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/metrics/index.d.ts +9 -4
- package/dist/src/metrics/index.d.ts.map +1 -1
- package/dist/src/metrics/tracked-map.d.ts +6 -1
- package/dist/src/metrics/tracked-map.d.ts.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -1
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-store/address-book.d.ts +30 -84
- package/dist/src/peer-store/address-book.d.ts.map +1 -1
- package/dist/src/peer-store/index.d.ts +28 -94
- package/dist/src/peer-store/index.d.ts.map +1 -1
- package/dist/src/peer-store/key-book.d.ts +31 -15
- package/dist/src/peer-store/key-book.d.ts.map +1 -1
- package/dist/src/peer-store/metadata-book.d.ts +33 -29
- package/dist/src/peer-store/metadata-book.d.ts.map +1 -1
- package/dist/src/peer-store/pb/peer.d.ts +222 -0
- package/dist/src/peer-store/proto-book.d.ts +27 -28
- package/dist/src/peer-store/proto-book.d.ts.map +1 -1
- package/dist/src/peer-store/store.d.ts +73 -0
- package/dist/src/peer-store/store.d.ts.map +1 -0
- package/dist/src/peer-store/types.d.ts +202 -0
- package/dist/src/peer-store/types.d.ts.map +1 -0
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/record/peer-record/index.d.ts +2 -2
- package/dist/src/record/peer-record/index.d.ts.map +1 -1
- package/dist/src/registrar.d.ts +5 -5
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/types.d.ts +90 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/upgrader.d.ts +8 -2
- package/dist/src/upgrader.d.ts.map +1 -1
- package/package.json +23 -26
- package/src/circuit/auto-relay.js +52 -38
- package/src/config.js +2 -0
- package/src/connection-manager/auto-dialler.js +20 -8
- package/src/connection-manager/index.js +42 -22
- package/src/content-routing/utils.js +4 -4
- package/src/dialer/dial-request.js +4 -1
- package/src/dialer/index.js +38 -8
- package/src/errors.js +2 -0
- package/src/fetch/README.md +36 -0
- package/src/fetch/constants.js +6 -0
- package/src/fetch/index.js +159 -0
- package/src/fetch/proto.d.ts +134 -0
- package/src/fetch/proto.js +333 -0
- package/src/fetch/proto.proto +15 -0
- package/src/identify/index.js +47 -38
- package/src/index.js +72 -27
- package/src/metrics/index.js +15 -8
- package/src/metrics/tracked-map.js +40 -14
- package/src/peer-routing.js +4 -1
- package/src/peer-store/address-book.js +254 -226
- package/src/peer-store/index.js +79 -110
- package/src/peer-store/key-book.js +99 -54
- package/src/peer-store/metadata-book.js +171 -101
- package/src/peer-store/pb/peer.d.ts +222 -0
- package/src/peer-store/pb/peer.js +643 -0
- package/src/peer-store/pb/peer.proto +31 -0
- package/src/peer-store/proto-book.js +171 -105
- package/src/peer-store/store.js +263 -0
- package/src/peer-store/types.ts +245 -0
- package/src/ping/index.js +6 -0
- package/src/record/peer-record/index.js +1 -1
- package/src/record/utils.js +1 -1
- package/src/registrar.js +4 -4
- package/src/types.ts +98 -0
- package/src/upgrader.js +32 -2
- package/dist/src/peer-store/book.d.ts +0 -81
- package/dist/src/peer-store/book.d.ts.map +0 -1
- package/dist/src/peer-store/persistent/consts.d.ts +0 -6
- package/dist/src/peer-store/persistent/consts.d.ts.map +0 -1
- package/dist/src/peer-store/persistent/index.d.ts +0 -129
- package/dist/src/peer-store/persistent/index.d.ts.map +0 -1
- package/dist/src/peer-store/persistent/pb/address-book.d.ts +0 -198
- package/dist/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
- package/src/peer-store/book.js +0 -124
- package/src/peer-store/persistent/consts.js +0 -15
- package/src/peer-store/persistent/index.js +0 -408
- package/src/peer-store/persistent/pb/address-book.d.ts +0 -198
- package/src/peer-store/persistent/pb/address-book.js +0 -522
- package/src/peer-store/persistent/pb/address-book.proto +0 -27
- package/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
- package/src/peer-store/persistent/pb/proto-book.js +0 -157
- package/src/peer-store/persistent/pb/proto-book.proto +0 -5
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import type PeerId from 'peer-id';
|
|
2
|
+
import type { Multiaddr } from 'multiaddr';
|
|
3
|
+
import type Envelope from '../record/envelope';
|
|
4
|
+
import type { PublicKey } from 'libp2p-interfaces/src/keys/types';
|
|
5
|
+
export interface Address {
|
|
6
|
+
/**
|
|
7
|
+
* Peer multiaddr
|
|
8
|
+
*/
|
|
9
|
+
multiaddr: Multiaddr;
|
|
10
|
+
/**
|
|
11
|
+
* Obtained from a signed peer record
|
|
12
|
+
*/
|
|
13
|
+
isCertified: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface Peer {
|
|
16
|
+
/**
|
|
17
|
+
* Peer's peer-id instance
|
|
18
|
+
*/
|
|
19
|
+
id: PeerId;
|
|
20
|
+
/**
|
|
21
|
+
* Peer's addresses containing its multiaddrs and metadata
|
|
22
|
+
*/
|
|
23
|
+
addresses: Address[];
|
|
24
|
+
/**
|
|
25
|
+
* Peer's supported protocols
|
|
26
|
+
*/
|
|
27
|
+
protocols: string[];
|
|
28
|
+
/**
|
|
29
|
+
* Peer's metadata map
|
|
30
|
+
*/
|
|
31
|
+
metadata: Map<string, Uint8Array>;
|
|
32
|
+
/**
|
|
33
|
+
* May be set if the key that this Peer has is an RSA key
|
|
34
|
+
*/
|
|
35
|
+
pubKey?: PublicKey;
|
|
36
|
+
/**
|
|
37
|
+
* The last peer record envelope received
|
|
38
|
+
*/
|
|
39
|
+
peerRecordEnvelope?: Uint8Array;
|
|
40
|
+
}
|
|
41
|
+
export interface CertifiedRecord {
|
|
42
|
+
raw: Uint8Array;
|
|
43
|
+
seqNumber: number;
|
|
44
|
+
}
|
|
45
|
+
export interface AddressBookEntry {
|
|
46
|
+
addresses: Address[];
|
|
47
|
+
record: CertifiedRecord;
|
|
48
|
+
}
|
|
49
|
+
export interface Book<Type> {
|
|
50
|
+
/**
|
|
51
|
+
* Get the known data of a peer
|
|
52
|
+
*/
|
|
53
|
+
get: (peerId: PeerId) => Promise<Type>;
|
|
54
|
+
/**
|
|
55
|
+
* Set the known data of a peer
|
|
56
|
+
*/
|
|
57
|
+
set: (peerId: PeerId, data: Type) => Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Remove the known data of a peer
|
|
60
|
+
*/
|
|
61
|
+
delete: (peerId: PeerId) => Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* AddressBook containing a map of peerIdStr to Address.
|
|
65
|
+
*/
|
|
66
|
+
export interface AddressBook {
|
|
67
|
+
/**
|
|
68
|
+
* ConsumePeerRecord adds addresses from a signed peer record contained in a record envelope.
|
|
69
|
+
* This will return a boolean that indicates if the record was successfully processed and added
|
|
70
|
+
* into the AddressBook
|
|
71
|
+
*/
|
|
72
|
+
consumePeerRecord: (envelope: Envelope) => Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Get the raw Envelope for a peer. Returns
|
|
75
|
+
* undefined if no Envelope is found
|
|
76
|
+
*/
|
|
77
|
+
getRawEnvelope: (peerId: PeerId) => Promise<Uint8Array | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* Get an Envelope containing a PeerRecord for the given peer.
|
|
80
|
+
* Returns undefined if no record exists.
|
|
81
|
+
*/
|
|
82
|
+
getPeerRecord: (peerId: PeerId) => Promise<Envelope | undefined>;
|
|
83
|
+
/**
|
|
84
|
+
* Add known addresses of a provided peer.
|
|
85
|
+
* If the peer is not known, it is set with the given addresses.
|
|
86
|
+
*/
|
|
87
|
+
add: (peerId: PeerId, multiaddrs: Multiaddr[]) => Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Set the known addresses of a peer
|
|
90
|
+
*/
|
|
91
|
+
set: (peerId: PeerId, data: Multiaddr[]) => Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Return the known addresses of a peer
|
|
94
|
+
*/
|
|
95
|
+
get: (peerId: PeerId) => Promise<Address[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Get the known multiaddrs for a given peer. All returned multiaddrs
|
|
98
|
+
* will include the encapsulated `PeerId` of the peer.
|
|
99
|
+
*/
|
|
100
|
+
getMultiaddrsForPeer: (peerId: PeerId, addressSorter?: (ms: Address[]) => Address[]) => Promise<Multiaddr[]>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* KeyBook containing a map of peerIdStr to their PeerId with public keys.
|
|
104
|
+
*/
|
|
105
|
+
export interface KeyBook {
|
|
106
|
+
/**
|
|
107
|
+
* Get the known data of a peer
|
|
108
|
+
*/
|
|
109
|
+
get: (peerId: PeerId) => Promise<PublicKey | undefined>;
|
|
110
|
+
/**
|
|
111
|
+
* Set the known data of a peer
|
|
112
|
+
*/
|
|
113
|
+
set: (peerId: PeerId, data: PublicKey) => Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Remove the known data of a peer
|
|
116
|
+
*/
|
|
117
|
+
delete: (peerId: PeerId) => Promise<void>;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* MetadataBook containing a map of peerIdStr to their metadata Map.
|
|
121
|
+
*/
|
|
122
|
+
export interface MetadataBook extends Book<Map<string, Uint8Array>> {
|
|
123
|
+
/**
|
|
124
|
+
* Set a specific metadata value
|
|
125
|
+
*/
|
|
126
|
+
setValue: (peerId: PeerId, key: string, value: Uint8Array) => Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Get specific metadata value, if it exists
|
|
129
|
+
*/
|
|
130
|
+
getValue: (peerId: PeerId, key: string) => Promise<Uint8Array | undefined>;
|
|
131
|
+
/**
|
|
132
|
+
* Deletes the provided peer metadata key from the book
|
|
133
|
+
*/
|
|
134
|
+
deleteValue: (peerId: PeerId, key: string) => Promise<void>;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* ProtoBook containing a map of peerIdStr to supported protocols.
|
|
138
|
+
*/
|
|
139
|
+
export interface ProtoBook extends Book<string[]> {
|
|
140
|
+
/**
|
|
141
|
+
* Adds known protocols of a provided peer.
|
|
142
|
+
* If the peer was not known before, it will be added.
|
|
143
|
+
*/
|
|
144
|
+
add: (peerId: PeerId, protocols: string[]) => Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Removes known protocols of a provided peer.
|
|
147
|
+
* If the protocols did not exist before, nothing will be done.
|
|
148
|
+
*/
|
|
149
|
+
remove: (peerId: PeerId, protocols: string[]) => Promise<void>;
|
|
150
|
+
}
|
|
151
|
+
export interface PeerProtocolsChangeEvent {
|
|
152
|
+
peerId: PeerId;
|
|
153
|
+
protocols: string[];
|
|
154
|
+
}
|
|
155
|
+
export interface PeerMultiaddrsChangeEvent {
|
|
156
|
+
peerId: PeerId;
|
|
157
|
+
multiaddrs: Multiaddr[];
|
|
158
|
+
}
|
|
159
|
+
export interface PeerPublicKeyChangeEvent {
|
|
160
|
+
peerId: PeerId;
|
|
161
|
+
pubKey?: PublicKey;
|
|
162
|
+
}
|
|
163
|
+
export interface PeerMetadataChangeEvent {
|
|
164
|
+
peerId: PeerId;
|
|
165
|
+
metadata: Map<string, Uint8Array>;
|
|
166
|
+
}
|
|
167
|
+
export declare type EventName = 'peer' | 'change:protocols' | 'change:multiaddrs' | 'change:pubkey' | 'change:metadata';
|
|
168
|
+
export interface PeerStoreEvents {
|
|
169
|
+
'peer': (event: PeerId) => void;
|
|
170
|
+
'change:protocols': (event: PeerProtocolsChangeEvent) => void;
|
|
171
|
+
'change:multiaddrs': (event: PeerMultiaddrsChangeEvent) => void;
|
|
172
|
+
'change:pubkey': (event: PeerPublicKeyChangeEvent) => void;
|
|
173
|
+
'change:metadata': (event: PeerMetadataChangeEvent) => void;
|
|
174
|
+
}
|
|
175
|
+
export interface PeerStore {
|
|
176
|
+
addressBook: AddressBook;
|
|
177
|
+
keyBook: KeyBook;
|
|
178
|
+
metadataBook: MetadataBook;
|
|
179
|
+
protoBook: ProtoBook;
|
|
180
|
+
getPeers: () => AsyncIterable<Peer>;
|
|
181
|
+
delete: (peerId: PeerId) => Promise<void>;
|
|
182
|
+
has: (peerId: PeerId) => Promise<boolean>;
|
|
183
|
+
get: (peerId: PeerId) => Promise<Peer>;
|
|
184
|
+
on: <U extends keyof PeerStoreEvents>(event: U, listener: PeerStoreEvents[U]) => this;
|
|
185
|
+
once: <U extends keyof PeerStoreEvents>(event: U, listener: PeerStoreEvents[U]) => this;
|
|
186
|
+
emit: <U extends keyof PeerStoreEvents>(event: U, ...args: Parameters<PeerStoreEvents[U]>) => boolean;
|
|
187
|
+
}
|
|
188
|
+
export interface Store {
|
|
189
|
+
has: (peerId: PeerId) => Promise<boolean>;
|
|
190
|
+
save: (peer: Peer) => Promise<Peer>;
|
|
191
|
+
load: (peerId: PeerId) => Promise<Peer>;
|
|
192
|
+
merge: (peerId: PeerId, data: Partial<Peer>) => Promise<Peer>;
|
|
193
|
+
mergeOrCreate: (peerId: PeerId, data: Partial<Peer>) => Promise<Peer>;
|
|
194
|
+
patch: (peerId: PeerId, data: Partial<Peer>) => Promise<Peer>;
|
|
195
|
+
patchOrCreate: (peerId: PeerId, data: Partial<Peer>) => Promise<Peer>;
|
|
196
|
+
all: () => AsyncIterable<Peer>;
|
|
197
|
+
lock: {
|
|
198
|
+
readLock: () => Promise<() => void>;
|
|
199
|
+
writeLock: () => Promise<() => void>;
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/peer-store/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ping/index.js"],"names":[],"mappings":";AAiBA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,4BAJW,MAAM,QACN,MAAM,GAAC,SAAS,GACd,QAAQ,MAAM,CAAC,CA2B3B;;;;cAtCY,OAAO,KAAK,CAAC;cAEb,OAAO,SAAS,CAAC;iBADjB,OAAO,WAAW,EAAE,SAAS;AAuC1C;;;;GAIG;AACH,6BAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ping/index.js"],"names":[],"mappings":";AAiBA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,4BAJW,MAAM,QACN,MAAM,GAAC,SAAS,GACd,QAAQ,MAAM,CAAC,CA2B3B;;;;cAtCY,OAAO,KAAK,CAAC;cAEb,OAAO,SAAS,CAAC;iBADjB,OAAO,WAAW,EAAE,SAAS;AAuC1C;;;;GAIG;AACH,6BAFW,MAAM,QAOhB;AAED;;;;GAIG;AACH,+BAFW,MAAM,QAOhB;mBA3DY,OAAO,0CAA0C,EAAE,WAAW"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export = PeerRecord;
|
|
2
2
|
/**
|
|
3
|
-
* @typedef {import('../../peer-store/
|
|
3
|
+
* @typedef {import('../../peer-store/types').Address} Address
|
|
4
4
|
* @typedef {import('libp2p-interfaces/src/record/types').Record} Record
|
|
5
5
|
*/
|
|
6
6
|
/**
|
|
@@ -56,5 +56,5 @@ import { Multiaddr } from "multiaddr";
|
|
|
56
56
|
*/
|
|
57
57
|
declare function createFromProtobuf(buf: Uint8Array): PeerRecord;
|
|
58
58
|
import { ENVELOPE_DOMAIN_PEER_RECORD } from "./consts";
|
|
59
|
-
type Address = import('../../peer-store/
|
|
59
|
+
type Address = import('../../peer-store/types').Address;
|
|
60
60
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/record/peer-record/index.js"],"names":[],"mappings":";AAYA;;;GAGG;AAEH;;GAEG;AACH;IACE;;;;;;;;;OASG;IACH;QAJ0B,MAAM,EAArB,MAAM;QACc,UAAU,EAA9B,SAAS,EAAE;QACK,SAAS;OAYnC;IATC,eAAyC;IACzC,kBAA8C;IAE9C,eAAoB;IACpB,wBAA4B;IAC5B,kBAA0B;IAG1B,iCAAyB;IAG3B;;;;OAIG;IACH,WAFa,UAAU,CAgBtB;IAED;;;;;OAKG;IACH,cAHW,OAAO,GACL,OAAO,CAuBnB;CACF;;;;cA9EY,OAAO,oCAAoC,EAAE,MAAM;;;AAgFhE;;;;;GAKG;AACH,yCAHW,UAAU,GACR,UAAU,CAUtB;;eA/FY,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/record/peer-record/index.js"],"names":[],"mappings":";AAYA;;;GAGG;AAEH;;GAEG;AACH;IACE;;;;;;;;;OASG;IACH;QAJ0B,MAAM,EAArB,MAAM;QACc,UAAU,EAA9B,SAAS,EAAE;QACK,SAAS;OAYnC;IATC,eAAyC;IACzC,kBAA8C;IAE9C,eAAoB;IACpB,wBAA4B;IAC5B,kBAA0B;IAG1B,iCAAyB;IAG3B;;;;OAIG;IACH,WAFa,UAAU,CAgBtB;IAED;;;;;OAKG;IACH,cAHW,OAAO,GACL,OAAO,CAuBnB;CACF;;;;cA9EY,OAAO,oCAAoC,EAAE,MAAM;;;AAgFhE;;;;;GAKG;AACH,yCAHW,UAAU,GACR,UAAU,CAUtB;;eA/FY,OAAO,wBAAwB,EAAE,OAAO"}
|
package/dist/src/registrar.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export = Registrar;
|
|
2
2
|
/**
|
|
3
3
|
* @typedef {import('peer-id')} PeerId
|
|
4
|
-
* @typedef {import('./peer-store')} PeerStore
|
|
4
|
+
* @typedef {import('./peer-store/types').PeerStore} PeerStore
|
|
5
5
|
* @typedef {import('./connection-manager')} ConnectionManager
|
|
6
6
|
* @typedef {import('libp2p-interfaces/src/connection').Connection} Connection
|
|
7
7
|
* @typedef {import('./').HandlerProps} HandlerProps
|
|
@@ -23,7 +23,7 @@ declare class Registrar {
|
|
|
23
23
|
peerStore: PeerStore;
|
|
24
24
|
connectionManager: ConnectionManager;
|
|
25
25
|
});
|
|
26
|
-
peerStore: import("./peer-store");
|
|
26
|
+
peerStore: import("./peer-store/types").PeerStore;
|
|
27
27
|
connectionManager: import("./connection-manager");
|
|
28
28
|
/**
|
|
29
29
|
* Map of topologies
|
|
@@ -59,9 +59,9 @@ declare class Registrar {
|
|
|
59
59
|
* Register handlers for a set of multicodecs given
|
|
60
60
|
*
|
|
61
61
|
* @param {Topology} topology - protocol topology
|
|
62
|
-
* @returns {string} registrar identifier
|
|
62
|
+
* @returns {Promise<string>} registrar identifier
|
|
63
63
|
*/
|
|
64
|
-
register(topology: Topology): string
|
|
64
|
+
register(topology: Topology): Promise<string>;
|
|
65
65
|
/**
|
|
66
66
|
* Unregister topology.
|
|
67
67
|
*
|
|
@@ -76,7 +76,7 @@ declare namespace Registrar {
|
|
|
76
76
|
import Topology = require("libp2p-interfaces/src/topology");
|
|
77
77
|
type Connection = import("libp2p-interfaces/src/connection/connection");
|
|
78
78
|
type PeerId = import('peer-id');
|
|
79
|
-
type PeerStore = import('./peer-store');
|
|
79
|
+
type PeerStore = import('./peer-store/types').PeerStore;
|
|
80
80
|
type ConnectionManager = import('./connection-manager');
|
|
81
81
|
type HandlerProps = import('./').HandlerProps;
|
|
82
82
|
//# sourceMappingURL=registrar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/registrar.js"],"names":[],"mappings":";AAaA;;;;;;GAMG;AAEH;;GAEG;AAEH;;GAEG;AACH;IACE;;;;;OAKG;IACH;QAJ4B,SAAS,EAA1B,SAAS;QACgB,iBAAiB,EAA1C,iBAAiB;OAsB3B;IAjBC,
|
|
1
|
+
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/registrar.js"],"names":[],"mappings":";AAaA;;;;;;GAMG;AAEH;;GAEG;AAEH;;GAEG;AACH;IACE;;;;;OAKG;IACH;QAJ4B,SAAS,EAA1B,SAAS;QACgB,iBAAiB,EAA1C,iBAAiB;OAsB3B;IAjBC,kDAA0B;IAE1B,kDAA0C;IAE1C;;;;OAIG;IACH,YAFU,IAAI,MAAM,EAAE,QAAQ,CAAC,CAEJ;IAE3B,2FAA2F;IAE3F,qBAFuB,MAAM,EAAE,GAAC,MAAM,mBAAmB,YAAY,KAAK,IAAI,KAAK,IAAI,CAE/D;IA+D1B;;;;;OAKG;IACH,0BAHW,UAAU,GACR,IAAI,CAMhB;IA5DD;;OAEG;IACH,4BATyB,MAAM,EAAE,GAAC,MAAM,mBAAmB,YAAY,KAAK,IAAI,KAAK,IAAI,EAWxF;IAZD;;OAEG;IACH,0BAFyB,MAAM,EAAE,GAAC,MAAM,mBAAmB,YAAY,KAAK,IAAI,KAAK,IAAI,CAIxF;IASD;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,UAAU,GAAG,IAAI,CAI7B;IAED;;;;;OAKG;IACH,mBAHW,QAAQ,GACN,QAAQ,MAAM,CAAC,CAiB3B;IAED;;;;;OAKG;IACH,eAHW,MAAM,GACJ,OAAO,CAInB;CAaF;;;;;;cA9GY,OAAO,SAAS,CAAC;iBACjB,OAAO,oBAAoB,EAAE,SAAS;yBACtC,OAAO,sBAAsB,CAAC;oBAE9B,OAAO,IAAI,EAAE,YAAY"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type PeerId from 'peer-id';
|
|
2
|
+
import type { Multiaddr } from 'multiaddr';
|
|
3
|
+
import type { MultiaddrConnection } from 'libp2p-interfaces/src/transport/types';
|
|
4
|
+
export interface ConnectionGater {
|
|
5
|
+
/**
|
|
6
|
+
* denyDialMultiaddr tests whether we're permitted to Dial the
|
|
7
|
+
* specified peer.
|
|
8
|
+
*
|
|
9
|
+
* This is called by the dialer.connectToPeer implementation before
|
|
10
|
+
* dialling a peer.
|
|
11
|
+
*
|
|
12
|
+
* Return true to prevent dialing the passed peer.
|
|
13
|
+
*/
|
|
14
|
+
denyDialPeer: (peerId: PeerId) => Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* denyDialMultiaddr tests whether we're permitted to dial the specified
|
|
17
|
+
* multiaddr for the given peer.
|
|
18
|
+
*
|
|
19
|
+
* This is called by the dialer.connectToPeer implementation after it has
|
|
20
|
+
* resolved the peer's addrs, and prior to dialling each.
|
|
21
|
+
*
|
|
22
|
+
* Return true to prevent dialing the passed peer on the passed multiaddr.
|
|
23
|
+
*/
|
|
24
|
+
denyDialMultiaddr: (peerId: PeerId, multiaddr: Multiaddr) => Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* denyInboundConnection tests whether an incipient inbound connection is allowed.
|
|
27
|
+
*
|
|
28
|
+
* This is called by the upgrader, or by the transport directly (e.g. QUIC,
|
|
29
|
+
* Bluetooth), straight after it has accepted a connection from its socket.
|
|
30
|
+
*
|
|
31
|
+
* Return true to deny the incoming passed connection.
|
|
32
|
+
*/
|
|
33
|
+
denyInboundConnection: (maConn: MultiaddrConnection) => Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* denyOutboundConnection tests whether an incipient outbound connection is allowed.
|
|
36
|
+
*
|
|
37
|
+
* This is called by the upgrader, or by the transport directly (e.g. QUIC,
|
|
38
|
+
* Bluetooth), straight after it has created a connection with its socket.
|
|
39
|
+
*
|
|
40
|
+
* Return true to deny the incoming passed connection.
|
|
41
|
+
*/
|
|
42
|
+
denyOutboundConnection: (peerId: PeerId, maConn: MultiaddrConnection) => Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* denyInboundEncryptedConnection tests whether a given connection, now encrypted,
|
|
45
|
+
* is allowed.
|
|
46
|
+
*
|
|
47
|
+
* This is called by the upgrader, after it has performed the security
|
|
48
|
+
* handshake, and before it negotiates the muxer, or by the directly by the
|
|
49
|
+
* transport, at the exact same checkpoint.
|
|
50
|
+
*
|
|
51
|
+
* Return true to deny the passed secured connection.
|
|
52
|
+
*/
|
|
53
|
+
denyInboundEncryptedConnection: (peerId: PeerId, maConn: MultiaddrConnection) => Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* denyOutboundEncryptedConnection tests whether a given connection, now encrypted,
|
|
56
|
+
* is allowed.
|
|
57
|
+
*
|
|
58
|
+
* This is called by the upgrader, after it has performed the security
|
|
59
|
+
* handshake, and before it negotiates the muxer, or by the directly by the
|
|
60
|
+
* transport, at the exact same checkpoint.
|
|
61
|
+
*
|
|
62
|
+
* Return true to deny the passed secured connection.
|
|
63
|
+
*/
|
|
64
|
+
denyOutboundEncryptedConnection: (peerId: PeerId, maConn: MultiaddrConnection) => Promise<boolean>;
|
|
65
|
+
/**
|
|
66
|
+
* denyInboundUpgradedConnection tests whether a fully capable connection is allowed.
|
|
67
|
+
*
|
|
68
|
+
* This is called after encryption has been negotiated and the connection has been
|
|
69
|
+
* multiplexed, if a multiplexer is configured.
|
|
70
|
+
*
|
|
71
|
+
* Return true to deny the passed upgraded connection.
|
|
72
|
+
*/
|
|
73
|
+
denyInboundUpgradedConnection: (peerId: PeerId, maConn: MultiaddrConnection) => Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* denyOutboundUpgradedConnection tests whether a fully capable connection is allowed.
|
|
76
|
+
*
|
|
77
|
+
* This is called after encryption has been negotiated and the connection has been
|
|
78
|
+
* multiplexed, if a multiplexer is configured.
|
|
79
|
+
*
|
|
80
|
+
* Return true to deny the passed upgraded connection.
|
|
81
|
+
*/
|
|
82
|
+
denyOutboundUpgradedConnection: (peerId: PeerId, maConn: MultiaddrConnection) => Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* Used by the address book to filter passed addresses.
|
|
85
|
+
*
|
|
86
|
+
* Return true to allow storing the passed multiaddr for the passed peer.
|
|
87
|
+
*/
|
|
88
|
+
filterMultiaddrForPeer: (peer: PeerId, multiaddr: Multiaddr) => Promise<boolean>;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAEhF,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAElD;;;;;;;;OAQG;IACH,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7E;;;;;;;OAOG;IACH,qBAAqB,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAExE;;;;;;;OAOG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAEzF;;;;;;;;;OASG;IACH,8BAA8B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjG;;;;;;;;;OASG;IACH,+BAA+B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAElG;;;;;;;OAOG;IACH,6BAA6B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAEhG;;;;;;;OAOG;IACH,8BAA8B,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjG;;;;OAIG;IACH,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACjF"}
|
package/dist/src/upgrader.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export = Upgrader;
|
|
|
7
7
|
* @typedef {import('libp2p-interfaces/src/crypto/types').Crypto} Crypto
|
|
8
8
|
* @typedef {import('libp2p-interfaces/src/connection').Connection} Connection
|
|
9
9
|
* @typedef {import('multiaddr').Multiaddr} Multiaddr
|
|
10
|
+
* @typedef {import('./types').ConnectionGater} ConnectionGater
|
|
10
11
|
*/
|
|
11
12
|
/**
|
|
12
13
|
* @typedef CryptoResult
|
|
@@ -18,20 +19,24 @@ declare class Upgrader {
|
|
|
18
19
|
/**
|
|
19
20
|
* @param {object} options
|
|
20
21
|
* @param {PeerId} options.localPeer
|
|
22
|
+
* @param {ConnectionGater} options.connectionGater
|
|
23
|
+
*
|
|
21
24
|
* @param {import('./metrics')} [options.metrics]
|
|
22
25
|
* @param {Map<string, Crypto>} [options.cryptos]
|
|
23
26
|
* @param {Map<string, MuxerFactory>} [options.muxers]
|
|
24
27
|
* @param {(connection: Connection) => void} options.onConnection - Called when a connection is upgraded
|
|
25
28
|
* @param {(connection: Connection) => void} options.onConnectionEnd
|
|
26
29
|
*/
|
|
27
|
-
constructor({ localPeer, metrics, cryptos, muxers, onConnectionEnd, onConnection }: {
|
|
30
|
+
constructor({ localPeer, metrics, connectionGater, cryptos, muxers, onConnectionEnd, onConnection }: {
|
|
28
31
|
localPeer: PeerId;
|
|
32
|
+
connectionGater: ConnectionGater;
|
|
29
33
|
metrics?: import("./metrics") | undefined;
|
|
30
34
|
cryptos?: Map<string, import("libp2p-interfaces/src/crypto/types").Crypto> | undefined;
|
|
31
35
|
muxers?: Map<string, import("libp2p-interfaces/src/stream-muxer/types").MuxerFactory> | undefined;
|
|
32
36
|
onConnection: (connection: Connection) => void;
|
|
33
37
|
onConnectionEnd: (connection: Connection) => void;
|
|
34
38
|
});
|
|
39
|
+
connectionGater: import("./types").ConnectionGater;
|
|
35
40
|
localPeer: PeerId;
|
|
36
41
|
metrics: import("./metrics") | undefined;
|
|
37
42
|
cryptos: Map<string, import("libp2p-interfaces/src/crypto/types").Crypto>;
|
|
@@ -129,11 +134,12 @@ declare class Upgrader {
|
|
|
129
134
|
private _multiplexInbound;
|
|
130
135
|
}
|
|
131
136
|
declare namespace Upgrader {
|
|
132
|
-
export { MultiaddrConnection, MuxerFactory, Muxer, MuxedStream, Crypto, Connection, Multiaddr, CryptoResult };
|
|
137
|
+
export { MultiaddrConnection, MuxerFactory, Muxer, MuxedStream, Crypto, Connection, Multiaddr, ConnectionGater, CryptoResult };
|
|
133
138
|
}
|
|
134
139
|
import PeerId = require("peer-id");
|
|
135
140
|
type MultiaddrConnection = import('libp2p-interfaces/src/transport/types').MultiaddrConnection;
|
|
136
141
|
import { Connection } from "libp2p-interfaces/src/connection";
|
|
142
|
+
type ConnectionGater = import('./types').ConnectionGater;
|
|
137
143
|
type MuxerFactory = import('libp2p-interfaces/src/stream-muxer/types').MuxerFactory;
|
|
138
144
|
type Muxer = import('libp2p-interfaces/src/stream-muxer/types').Muxer;
|
|
139
145
|
type MuxedStream = import('libp2p-interfaces/src/stream-muxer/types').MuxedStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.js"],"names":[],"mappings":";AAgBA;;;;;;;;;GASG;AAEH;;;;;GAKG;AAEH;IACE;;;;;;;;;;OAUG;IACH;mBATW,MAAM;yBACN,eAAe;;;;mCAKF,UAAU,KAAK,IAAI;sCACnB,UAAU,KAAK,IAAI;OAqB1C;IAVC,mDAAsC;IACtC,kBAA0B;IAC1B,yCAAsB;IACtB,0EAAsB;IACtB,qFAAoB;IACpB,sCAAsC;IACtC,WADW,OAAO,QAAQ,CAAC,GAAG,IAAI,CACb;IACrB,yBAA0B;IAC1B,2BApBsB,UAAU,KAAK,IAAI,CAoBT;IAChC,8BApBsB,UAAU,KAAK,IAAI,CAoBH;IAGxC;;;;;;OAMG;IACH,uBAHW,mBAAmB,GACjB,QAAQ,UAAU,CAAC,CAyE/B;IAED;;;;;;OAMG;IACH,wBAHW,mBAAmB,GACjB,QAAQ,UAAU,CAAC,CAgF/B;IAED;;;;;;;;;;;;OAYG;IACH,0BAgHC;IAED;;;;;;;;OAQG;IACH,kBAGC;IAED;;;;;;;;;OASG;IACH,wBAqBC;IAED;;;;;;;;;;;OAWG;IACH,yBAqBC;IAED;;;;;;;;;OASG;IACH,2BAYC;IAED;;;;;;;;;OASG;IACH,0BAWC;CACF;;;;;2BAxdY,OAAO,uCAAuC,EAAE,mBAAmB;;uBAOnE,OAAO,SAAS,EAAE,eAAe;oBANjC,OAAO,0CAA0C,EAAE,YAAY;aAC/D,OAAO,0CAA0C,EAAE,KAAK;mBACxD,OAAO,0CAA0C,EAAE,WAAW;cAC9D,OAAO,oCAAoC,EAAE,MAAM;;iBAEnD,OAAO,WAAW,EAAE,SAAS;;;;;UAM5B,mBAAmB;gBACnB,MAAM;cACN,MAAM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libp2p",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
|
5
5
|
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -20,20 +20,20 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"lint": "aegir lint",
|
|
22
22
|
"build": "aegir build",
|
|
23
|
-
"build:proto": "npm run build:proto:circuit && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer-record && npm run build:proto:envelope",
|
|
23
|
+
"build:proto": "npm run build:proto:circuit && npm run build:proto:fetch && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer && npm run build:proto:peer-record && npm run build:proto:envelope",
|
|
24
24
|
"build:proto:circuit": "pbjs -t static-module -w commonjs -r libp2p-circuit --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/circuit/protocol/index.js ./src/circuit/protocol/index.proto",
|
|
25
|
+
"build:proto:fetch": "pbjs -t static-module -w commonjs -r libp2p-fetch --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/fetch/proto.js ./src/fetch/proto.proto",
|
|
25
26
|
"build:proto:identify": "pbjs -t static-module -w commonjs -r libp2p-identify --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/identify/message.js ./src/identify/message.proto",
|
|
26
27
|
"build:proto:plaintext": "pbjs -t static-module -w commonjs -r libp2p-plaintext --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/insecure/proto.js ./src/insecure/proto.proto",
|
|
27
|
-
"build:proto:
|
|
28
|
-
"build:proto:proto-book": "pbjs -t static-module -w commonjs -r libp2p-proto-book --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/persistent/pb/proto-book.js ./src/peer-store/persistent/pb/proto-book.proto",
|
|
28
|
+
"build:proto:peer": "pbjs -t static-module -w commonjs -r libp2p-peer --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/pb/peer.js ./src/peer-store/pb/peer.proto",
|
|
29
29
|
"build:proto:peer-record": "pbjs -t static-module -w commonjs -r libp2p-peer-record --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/peer-record/peer-record.js ./src/record/peer-record/peer-record.proto",
|
|
30
30
|
"build:proto:envelope": "pbjs -t static-module -w commonjs -r libp2p-envelope --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/envelope/envelope.js ./src/record/envelope/envelope.proto",
|
|
31
|
-
"build:proto-types": "npm run build:proto-types:circuit && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer-record && npm run build:proto-types:envelope",
|
|
31
|
+
"build:proto-types": "npm run build:proto-types:circuit && npm run build:proto-types:fetch && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer && npm run build:proto-types:peer-record && npm run build:proto-types:envelope",
|
|
32
32
|
"build:proto-types:circuit": "pbts -o src/circuit/protocol/index.d.ts src/circuit/protocol/index.js",
|
|
33
|
+
"build:proto-types:fetch": "pbts -o src/fetch/proto.d.ts src/fetch/proto.js",
|
|
33
34
|
"build:proto-types:identify": "pbts -o src/identify/message.d.ts src/identify/message.js",
|
|
34
35
|
"build:proto-types:plaintext": "pbts -o src/insecure/proto.d.ts src/insecure/proto.js",
|
|
35
|
-
"build:proto-types:
|
|
36
|
-
"build:proto-types:proto-book": "pbts -o src/peer-store/persistent/pb/proto-book.d.ts src/peer-store/persistent/pb/proto-book.js",
|
|
36
|
+
"build:proto-types:peer": "pbts -o src/peer-store/pb/peer.d.ts src/peer-store/pb/peer.js",
|
|
37
37
|
"build:proto-types:peer-record": "pbts -o src/record/peer-record/peer-record.d.ts src/record/peer-record/peer-record.js",
|
|
38
38
|
"build:proto-types:envelope": "pbts -o src/record/envelope/envelope.d.ts src/record/envelope/envelope.js",
|
|
39
39
|
"test": "aegir test",
|
|
@@ -42,10 +42,7 @@
|
|
|
42
42
|
"test:browser": "aegir test -t browser",
|
|
43
43
|
"test:examples": "cd examples && npm run test:all",
|
|
44
44
|
"test:interop": "LIBP2P_JS=$PWD npx aegir test -t node -f ./node_modules/libp2p-interop/test/*",
|
|
45
|
-
"prepare": "
|
|
46
|
-
"release": "aegir release -t node -t browser",
|
|
47
|
-
"release-minor": "aegir release --type minor -t node -t browser",
|
|
48
|
-
"release-major": "aegir release --type major -t node -t browser",
|
|
45
|
+
"prepare": "npm run build",
|
|
49
46
|
"coverage": "nyc --reporter=text --reporter=lcov npm run test:node"
|
|
50
47
|
},
|
|
51
48
|
"repository": {
|
|
@@ -81,12 +78,12 @@
|
|
|
81
78
|
},
|
|
82
79
|
"dependencies": {
|
|
83
80
|
"@vascosantos/moving-average": "^1.1.0",
|
|
84
|
-
"abort-controller": "^3.0.0",
|
|
85
81
|
"abortable-iterator": "^3.0.0",
|
|
86
82
|
"aggregate-error": "^3.1.0",
|
|
87
|
-
"any-signal": "^
|
|
83
|
+
"any-signal": "^3.0.0",
|
|
88
84
|
"bignumber.js": "^9.0.1",
|
|
89
85
|
"class-is": "^1.1.0",
|
|
86
|
+
"datastore-core": "^7.0.0",
|
|
90
87
|
"debug": "^4.3.1",
|
|
91
88
|
"err-code": "^3.0.0",
|
|
92
89
|
"es6-promisify": "^7.0.0",
|
|
@@ -98,23 +95,26 @@
|
|
|
98
95
|
"it-drain": "^1.0.3",
|
|
99
96
|
"it-filter": "^1.0.1",
|
|
100
97
|
"it-first": "^1.0.4",
|
|
98
|
+
"it-foreach": "^0.1.1",
|
|
101
99
|
"it-handshake": "^2.0.0",
|
|
102
100
|
"it-length-prefixed": "^5.0.2",
|
|
103
101
|
"it-map": "^1.0.4",
|
|
104
102
|
"it-merge": "^1.0.0",
|
|
105
103
|
"it-pipe": "^1.1.0",
|
|
104
|
+
"it-sort": "^1.0.1",
|
|
106
105
|
"it-take": "^1.0.0",
|
|
107
|
-
"libp2p-crypto": "^0.21.
|
|
108
|
-
"libp2p-interfaces": "^
|
|
106
|
+
"libp2p-crypto": "^0.21.2",
|
|
107
|
+
"libp2p-interfaces": "^4.0.0",
|
|
109
108
|
"libp2p-utils": "^0.4.0",
|
|
110
109
|
"mafmt": "^10.0.0",
|
|
111
110
|
"merge-options": "^3.0.4",
|
|
111
|
+
"mortice": "^2.0.1",
|
|
112
112
|
"multiaddr": "^10.0.0",
|
|
113
113
|
"multiformats": "^9.0.0",
|
|
114
|
-
"multistream-select": "^
|
|
114
|
+
"multistream-select": "^3.0.0",
|
|
115
115
|
"mutable-proxy": "^1.0.0",
|
|
116
116
|
"nat-api": "^0.3.1",
|
|
117
|
-
"node-forge": "^
|
|
117
|
+
"node-forge": "^1.2.1",
|
|
118
118
|
"p-any": "^3.0.0",
|
|
119
119
|
"p-fifo": "^1.0.0",
|
|
120
120
|
"p-retry": "^4.4.0",
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"sanitize-filename": "^1.6.3",
|
|
127
127
|
"set-delayed-interval": "^1.0.0",
|
|
128
128
|
"streaming-iterables": "^6.0.0",
|
|
129
|
-
"timeout-abort-controller": "^
|
|
129
|
+
"timeout-abort-controller": "^3.0.0",
|
|
130
130
|
"uint8arrays": "^3.0.0",
|
|
131
131
|
"varint": "^6.0.0",
|
|
132
132
|
"wherearewe": "^1.0.0",
|
|
@@ -137,11 +137,10 @@
|
|
|
137
137
|
"@nodeutils/defaults-deep": "^1.1.0",
|
|
138
138
|
"@types/es6-promisify": "^6.0.0",
|
|
139
139
|
"@types/node": "^16.0.1",
|
|
140
|
-
"@types/node-forge": "^0.
|
|
140
|
+
"@types/node-forge": "^1.0.0",
|
|
141
141
|
"@types/varint": "^6.0.0",
|
|
142
142
|
"aegir": "^36.0.0",
|
|
143
143
|
"buffer": "^6.0.3",
|
|
144
|
-
"datastore-core": "^6.0.7",
|
|
145
144
|
"delay": "^5.0.0",
|
|
146
145
|
"into-stream": "^6.0.0",
|
|
147
146
|
"ipfs-http-client": "^54.0.2",
|
|
@@ -152,13 +151,11 @@
|
|
|
152
151
|
"libp2p-bootstrap": "^0.14.0",
|
|
153
152
|
"libp2p-delegated-content-routing": "^0.11.0",
|
|
154
153
|
"libp2p-delegated-peer-routing": "^0.11.1",
|
|
155
|
-
"libp2p-
|
|
156
|
-
"libp2p-
|
|
157
|
-
"libp2p-
|
|
158
|
-
"libp2p-interop": "^0.5.0",
|
|
159
|
-
"libp2p-kad-dht": "^0.27.1",
|
|
154
|
+
"libp2p-interfaces-compliance-tests": "^4.0.8",
|
|
155
|
+
"libp2p-interop": "^0.7.1",
|
|
156
|
+
"libp2p-kad-dht": "^0.28.6",
|
|
160
157
|
"libp2p-mdns": "^0.18.0",
|
|
161
|
-
"libp2p-mplex": "^0.10.
|
|
158
|
+
"libp2p-mplex": "^0.10.4",
|
|
162
159
|
"libp2p-tcp": "^0.17.0",
|
|
163
160
|
"libp2p-webrtc-star": "^0.25.0",
|
|
164
161
|
"libp2p-websockets": "^0.16.0",
|