@libp2p/identify 3.0.39-8484de8a2 → 3.0.39-87bc8d4fb
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 +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/identify-push.d.ts +2 -2
- package/dist/src/identify-push.d.ts.map +1 -1
- package/dist/src/identify-push.js +33 -24
- package/dist/src/identify-push.js.map +1 -1
- package/dist/src/identify.d.ts +2 -2
- package/dist/src/identify.d.ts.map +1 -1
- package/dist/src/identify.js +58 -52
- package/dist/src/identify.js.map +1 -1
- package/dist/src/utils.d.ts +9 -3
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +19 -6
- package/dist/src/utils.js.map +1 -1
- package/package.json +18 -15
- package/src/identify-push.ts +34 -26
- package/src/identify.ts +66 -59
- package/src/utils.ts +22 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { serviceCapabilities } from '@libp2p/interface';
|
|
2
2
|
import { AbstractIdentify } from './utils.js';
|
|
3
3
|
import type { IdentifyPush as IdentifyPushInterface, IdentifyPushComponents, IdentifyPushInit } from './index.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { Startable, IncomingStreamData } from '@libp2p/interface';
|
|
5
5
|
export declare class IdentifyPush extends AbstractIdentify implements Startable, IdentifyPushInterface {
|
|
6
6
|
private readonly connectionManager;
|
|
7
7
|
private readonly concurrency;
|
|
@@ -16,6 +16,6 @@ export declare class IdentifyPush extends AbstractIdentify implements Startable,
|
|
|
16
16
|
/**
|
|
17
17
|
* Reads the Identify Push message from the given `connection`
|
|
18
18
|
*/
|
|
19
|
-
handleProtocol(
|
|
19
|
+
handleProtocol(data: IncomingStreamData): Promise<void>;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=identify-push.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identify-push.d.ts","sourceRoot":"","sources":["../../src/identify-push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"identify-push.d.ts","sourceRoot":"","sources":["../../src/identify-push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAgBvD,OAAO,EAAE,gBAAgB,EAAyC,MAAM,YAAY,CAAA;AACpF,OAAO,KAAK,EAAE,YAAY,IAAI,qBAAqB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjH,OAAO,KAAK,EAAU,SAAS,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAG9E,qBAAa,YAAa,SAAQ,gBAAiB,YAAW,SAAS,EAAE,qBAAqB;IAC5F,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,KAAK,CAAY;gBAEZ,UAAU,EAAE,sBAAsB,EAAE,IAAI,GAAE,gBAAqB;IAsB5E,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAE9B;IAED;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;YAId,eAAe;IA0E7B;;OAEG;IACG,cAAc,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B/D"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { serviceCapabilities } from '@libp2p/interface';
|
|
2
2
|
import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record';
|
|
3
|
-
import { debounce
|
|
4
|
-
import {
|
|
3
|
+
import { debounce } from '@libp2p/utils/debounce';
|
|
4
|
+
import { protocols } from '@multiformats/multiaddr';
|
|
5
5
|
import drain from 'it-drain';
|
|
6
6
|
import parallel from 'it-parallel';
|
|
7
|
+
import { pbStream } from 'it-protobuf-stream';
|
|
7
8
|
import { setMaxListeners } from 'main-event';
|
|
8
9
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
9
10
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
@@ -47,20 +48,21 @@ export class IdentifyPush extends AbstractIdentify {
|
|
|
47
48
|
return;
|
|
48
49
|
}
|
|
49
50
|
try {
|
|
50
|
-
const listenAddresses = this.
|
|
51
|
+
const listenAddresses = this.addressManager.getAddresses().map(ma => ma.decapsulateCode(protocols('p2p').code));
|
|
51
52
|
const peerRecord = new PeerRecord({
|
|
52
|
-
peerId: this.
|
|
53
|
+
peerId: this.peerId,
|
|
53
54
|
multiaddrs: listenAddresses
|
|
54
55
|
});
|
|
55
|
-
const signedPeerRecord = await RecordEnvelope.seal(peerRecord, this.
|
|
56
|
-
const supportedProtocols = this.
|
|
57
|
-
const peer = await this.
|
|
56
|
+
const signedPeerRecord = await RecordEnvelope.seal(peerRecord, this.privateKey);
|
|
57
|
+
const supportedProtocols = this.registrar.getProtocols();
|
|
58
|
+
const peer = await this.peerStore.get(this.peerId);
|
|
58
59
|
const agentVersion = uint8ArrayToString(peer.metadata.get('AgentVersion') ?? uint8ArrayFromString(this.host.agentVersion));
|
|
59
60
|
const protocolVersion = uint8ArrayToString(peer.metadata.get('ProtocolVersion') ?? uint8ArrayFromString(this.host.protocolVersion));
|
|
60
61
|
const self = this;
|
|
61
62
|
async function* pushToConnections() {
|
|
62
63
|
for (const connection of self.connectionManager.getConnections()) {
|
|
63
|
-
const peer = await self.
|
|
64
|
+
const peer = await self.peerStore.get(connection.remotePeer);
|
|
65
|
+
const log = connection.log.newScope('identify-push');
|
|
64
66
|
if (!peer.protocols.includes(self.protocol)) {
|
|
65
67
|
continue;
|
|
66
68
|
}
|
|
@@ -90,9 +92,8 @@ export class IdentifyPush extends AbstractIdentify {
|
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
94
|
catch (err) {
|
|
93
|
-
// Just log errors
|
|
94
|
-
|
|
95
|
-
log?.error('could not push identify update to peer', err);
|
|
95
|
+
// Just log errors
|
|
96
|
+
log.error('could not push identify update to peer', err);
|
|
96
97
|
stream?.abort(err);
|
|
97
98
|
}
|
|
98
99
|
};
|
|
@@ -109,20 +110,28 @@ export class IdentifyPush extends AbstractIdentify {
|
|
|
109
110
|
/**
|
|
110
111
|
* Reads the Identify Push message from the given `connection`
|
|
111
112
|
*/
|
|
112
|
-
async handleProtocol(
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
async handleProtocol(data) {
|
|
114
|
+
const { connection, stream } = data;
|
|
115
|
+
const log = connection.log.newScope('identify-push');
|
|
116
|
+
try {
|
|
117
|
+
if (this.peerId.equals(connection.remotePeer)) {
|
|
118
|
+
throw new Error('received push from ourselves?');
|
|
119
|
+
}
|
|
120
|
+
const options = {
|
|
121
|
+
signal: AbortSignal.timeout(this.timeout)
|
|
122
|
+
};
|
|
123
|
+
const pb = pbStream(stream, {
|
|
124
|
+
maxDataLength: this.maxMessageSize
|
|
125
|
+
}).pb(IdentifyMessage);
|
|
126
|
+
const message = await pb.read(options);
|
|
127
|
+
await stream.close(options);
|
|
128
|
+
await consumeIdentifyMessage(this.peerStore, this.events, log, connection, message);
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
log.error('received invalid message', err);
|
|
132
|
+
stream.abort(err);
|
|
133
|
+
return;
|
|
116
134
|
}
|
|
117
|
-
const options = {
|
|
118
|
-
signal: AbortSignal.timeout(this.timeout)
|
|
119
|
-
};
|
|
120
|
-
const pb = pbStream(stream, {
|
|
121
|
-
maxDataLength: this.maxMessageSize
|
|
122
|
-
}).pb(IdentifyMessage);
|
|
123
|
-
const message = await pb.read(options);
|
|
124
|
-
await stream.close(options);
|
|
125
|
-
await consumeIdentifyMessage(this.components.peerStore, this.components.events, log, connection, message);
|
|
126
135
|
log.trace('handled push from %p', connection.remotePeer);
|
|
127
136
|
}
|
|
128
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identify-push.js","sourceRoot":"","sources":["../../src/identify-push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"identify-push.js","sourceRoot":"","sources":["../../src/identify-push.ts"],"names":[],"mappings":"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"}
|
package/dist/src/identify.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { serviceCapabilities } from '@libp2p/interface';
|
|
|
2
2
|
import { Identify as IdentifyMessage } from './pb/message.js';
|
|
3
3
|
import { AbstractIdentify } from './utils.js';
|
|
4
4
|
import type { Identify as IdentifyInterface, IdentifyComponents, IdentifyInit } from './index.js';
|
|
5
|
-
import type { IdentifyResult, AbortOptions, Connection,
|
|
5
|
+
import type { IdentifyResult, AbortOptions, Connection, Startable, IncomingStreamData } from '@libp2p/interface';
|
|
6
6
|
export declare class Identify extends AbstractIdentify implements Startable, IdentifyInterface {
|
|
7
7
|
constructor(components: IdentifyComponents, init?: IdentifyInit);
|
|
8
8
|
[serviceCapabilities]: string[];
|
|
@@ -13,6 +13,6 @@ export declare class Identify extends AbstractIdentify implements Startable, Ide
|
|
|
13
13
|
* Sends the `Identify` response with the Signed Peer Record
|
|
14
14
|
* to the requesting peer over the given `connection`
|
|
15
15
|
*/
|
|
16
|
-
handleProtocol(
|
|
16
|
+
handleProtocol(data: IncomingStreamData): Promise<void>;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=identify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"AACA,OAAO,EAAiD,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAatG,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAA4D,MAAM,YAAY,CAAA;AACvG,OAAO,KAAK,EAAE,QAAQ,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAU,SAAS,EAAE,kBAAkB,EAAU,MAAM,mBAAmB,CAAA;AAEhI,qBAAa,QAAS,SAAQ,gBAAiB,YAAW,SAAS,EAAE,iBAAiB;gBACvE,UAAU,EAAE,kBAAkB,EAAE,IAAI,GAAE,YAAiB;IAwBpE,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAE9B;IAEK,SAAS,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCxF,QAAQ,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAiC5F,OAAO,CAAC,uBAAuB;IAiC/B;;;OAGG;IACG,cAAc,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmD/D"}
|
package/dist/src/identify.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { publicKeyFromProtobuf, publicKeyToProtobuf } from '@libp2p/crypto/keys';
|
|
2
|
-
import { InvalidMessageError, serviceCapabilities } from '@libp2p/interface';
|
|
2
|
+
import { InvalidMessageError, UnsupportedProtocolError, serviceCapabilities } from '@libp2p/interface';
|
|
3
3
|
import { peerIdFromCID } from '@libp2p/peer-id';
|
|
4
4
|
import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record';
|
|
5
|
-
import { isGlobalUnicast
|
|
6
|
-
import {
|
|
5
|
+
import { isGlobalUnicast } from '@libp2p/utils/multiaddr/is-global-unicast';
|
|
6
|
+
import { isPrivate } from '@libp2p/utils/multiaddr/is-private';
|
|
7
|
+
import { CODE_IP6, CODE_IP6ZONE, protocols } from '@multiformats/multiaddr';
|
|
7
8
|
import { IP_OR_DOMAIN, TCP } from '@multiformats/multiaddr-matcher';
|
|
9
|
+
import { pbStream } from 'it-protobuf-stream';
|
|
8
10
|
import { setMaxListeners } from 'main-event';
|
|
9
11
|
import { MULTICODEC_IDENTIFY_PROTOCOL_NAME, MULTICODEC_IDENTIFY_PROTOCOL_VERSION } from './consts.js';
|
|
10
12
|
import { Identify as IdentifyMessage } from './pb/message.js';
|
|
@@ -21,7 +23,13 @@ export class Identify extends AbstractIdentify {
|
|
|
21
23
|
components.events.addEventListener('connection:open', (evt) => {
|
|
22
24
|
const connection = evt.detail;
|
|
23
25
|
this.identify(connection)
|
|
24
|
-
.catch(
|
|
26
|
+
.catch(err => {
|
|
27
|
+
if (err.name === UnsupportedProtocolError.name) {
|
|
28
|
+
// the remote did not support identify, ignore the error
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.log.error('error during identify trigged by connection:open', err);
|
|
32
|
+
});
|
|
25
33
|
});
|
|
26
34
|
}
|
|
27
35
|
}
|
|
@@ -30,7 +38,6 @@ export class Identify extends AbstractIdentify {
|
|
|
30
38
|
];
|
|
31
39
|
async _identify(connection, options = {}) {
|
|
32
40
|
let stream;
|
|
33
|
-
let log;
|
|
34
41
|
if (options.signal == null) {
|
|
35
42
|
const signal = AbortSignal.timeout(this.timeout);
|
|
36
43
|
setMaxListeners(Infinity, signal);
|
|
@@ -44,18 +51,14 @@ export class Identify extends AbstractIdentify {
|
|
|
44
51
|
...options,
|
|
45
52
|
runOnLimitedConnection: this.runOnLimitedConnection
|
|
46
53
|
});
|
|
47
|
-
log = stream.log.newScope('identify');
|
|
48
54
|
const pb = pbStream(stream, {
|
|
49
55
|
maxDataLength: this.maxMessageSize
|
|
50
56
|
}).pb(IdentifyMessage);
|
|
51
|
-
log('read response');
|
|
52
57
|
const message = await pb.read(options);
|
|
53
|
-
|
|
54
|
-
await pb.unwrap().unwrap().close(options);
|
|
58
|
+
await stream.close(options);
|
|
55
59
|
return message;
|
|
56
60
|
}
|
|
57
61
|
catch (err) {
|
|
58
|
-
log?.error('identify failed - %e', err);
|
|
59
62
|
stream?.abort(err);
|
|
60
63
|
throw err;
|
|
61
64
|
}
|
|
@@ -68,30 +71,32 @@ export class Identify extends AbstractIdentify {
|
|
|
68
71
|
}
|
|
69
72
|
const key = publicKeyFromProtobuf(publicKey);
|
|
70
73
|
const id = peerIdFromCID(key.toCID());
|
|
74
|
+
const log = connection.log.newScope('identify');
|
|
71
75
|
if (!connection.remotePeer.equals(id)) {
|
|
72
76
|
throw new InvalidMessageError('Identified peer does not match the expected peer');
|
|
73
77
|
}
|
|
74
|
-
if (this.
|
|
78
|
+
if (this.peerId.equals(id)) {
|
|
75
79
|
throw new InvalidMessageError('Identified peer is our own peer id?');
|
|
76
80
|
}
|
|
77
81
|
// if the observed address is publicly routable, add it to the address
|
|
78
82
|
// manager for verification via AutoNAT
|
|
79
|
-
this.maybeAddObservedAddress(observedAddr);
|
|
80
|
-
|
|
81
|
-
return consumeIdentifyMessage(this.
|
|
83
|
+
this.maybeAddObservedAddress(observedAddr, log);
|
|
84
|
+
log('completed for peer %p and protocols %o', id, protocols);
|
|
85
|
+
return consumeIdentifyMessage(this.peerStore, this.events, log, connection, message);
|
|
82
86
|
}
|
|
83
|
-
maybeAddObservedAddress(observedAddr) {
|
|
87
|
+
maybeAddObservedAddress(observedAddr, log) {
|
|
84
88
|
const cleanObservedAddr = getCleanMultiaddr(observedAddr);
|
|
85
89
|
if (cleanObservedAddr == null) {
|
|
86
90
|
return;
|
|
87
91
|
}
|
|
88
|
-
|
|
92
|
+
log.trace('our observed address was %a', cleanObservedAddr);
|
|
89
93
|
if (isPrivate(cleanObservedAddr)) {
|
|
94
|
+
this.log.trace('our observed address was private');
|
|
90
95
|
return;
|
|
91
96
|
}
|
|
92
97
|
const tuples = cleanObservedAddr.getComponents();
|
|
93
98
|
if (((tuples[0].code === CODE_IP6) || (tuples[0].code === CODE_IP6ZONE && tuples[1].code === CODE_IP6)) && !isGlobalUnicast(cleanObservedAddr)) {
|
|
94
|
-
|
|
99
|
+
log.trace('our observed address was IPv6 but not a global unicast address');
|
|
95
100
|
return;
|
|
96
101
|
}
|
|
97
102
|
if (TCP.exactMatch(cleanObservedAddr)) {
|
|
@@ -101,53 +106,54 @@ export class Identify extends AbstractIdentify {
|
|
|
101
106
|
// is resolved
|
|
102
107
|
return;
|
|
103
108
|
}
|
|
104
|
-
|
|
105
|
-
this.
|
|
109
|
+
log.trace('storing the observed address');
|
|
110
|
+
this.addressManager.addObservedAddr(cleanObservedAddr);
|
|
106
111
|
}
|
|
107
112
|
/**
|
|
108
113
|
* Sends the `Identify` response with the Signed Peer Record
|
|
109
114
|
* to the requesting peer over the given `connection`
|
|
110
115
|
*/
|
|
111
|
-
async handleProtocol(
|
|
112
|
-
const
|
|
116
|
+
async handleProtocol(data) {
|
|
117
|
+
const { connection, stream } = data;
|
|
118
|
+
const log = connection.log.newScope('identify');
|
|
113
119
|
const signal = AbortSignal.timeout(this.timeout);
|
|
114
120
|
setMaxListeners(Infinity, signal);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
try {
|
|
122
|
+
const peerData = await this.peerStore.get(this.peerId);
|
|
123
|
+
const multiaddrs = this.addressManager.getAddresses().map(ma => ma.decapsulateCode(protocols('p2p').code));
|
|
124
|
+
let signedPeerRecord = peerData.peerRecordEnvelope;
|
|
125
|
+
if (multiaddrs.length > 0 && signedPeerRecord == null) {
|
|
126
|
+
const peerRecord = new PeerRecord({
|
|
127
|
+
peerId: this.peerId,
|
|
128
|
+
multiaddrs
|
|
129
|
+
});
|
|
130
|
+
const envelope = await RecordEnvelope.seal(peerRecord, this.privateKey);
|
|
131
|
+
signedPeerRecord = envelope.marshal().subarray();
|
|
132
|
+
}
|
|
133
|
+
let observedAddr = connection.remoteAddr.bytes;
|
|
134
|
+
if (!IP_OR_DOMAIN.matches(connection.remoteAddr)) {
|
|
135
|
+
observedAddr = undefined;
|
|
136
|
+
}
|
|
137
|
+
const pb = pbStream(stream).pb(IdentifyMessage);
|
|
138
|
+
await pb.write({
|
|
139
|
+
protocolVersion: this.host.protocolVersion,
|
|
140
|
+
agentVersion: this.host.agentVersion,
|
|
141
|
+
publicKey: publicKeyToProtobuf(this.privateKey.publicKey),
|
|
142
|
+
listenAddrs: multiaddrs.map(addr => addr.bytes),
|
|
143
|
+
signedPeerRecord,
|
|
144
|
+
observedAddr,
|
|
145
|
+
protocols: peerData.protocols
|
|
146
|
+
}, {
|
|
147
|
+
signal
|
|
124
148
|
});
|
|
125
|
-
|
|
149
|
+
await stream.close({
|
|
126
150
|
signal
|
|
127
151
|
});
|
|
128
|
-
signedPeerRecord = envelope.marshal().subarray();
|
|
129
152
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
153
|
+
catch (err) {
|
|
154
|
+
log.error('could not respond to identify request', err);
|
|
155
|
+
stream.abort(err);
|
|
133
156
|
}
|
|
134
|
-
const pb = pbStream(stream).pb(IdentifyMessage);
|
|
135
|
-
log('send response');
|
|
136
|
-
await pb.write({
|
|
137
|
-
protocolVersion: this.host.protocolVersion,
|
|
138
|
-
agentVersion: this.host.agentVersion,
|
|
139
|
-
publicKey: publicKeyToProtobuf(this.components.privateKey.publicKey),
|
|
140
|
-
listenAddrs: multiaddrs.map(addr => addr.bytes),
|
|
141
|
-
signedPeerRecord,
|
|
142
|
-
observedAddr,
|
|
143
|
-
protocols: peerData.protocols
|
|
144
|
-
}, {
|
|
145
|
-
signal
|
|
146
|
-
});
|
|
147
|
-
log('close write');
|
|
148
|
-
await pb.unwrap().unwrap().close({
|
|
149
|
-
signal
|
|
150
|
-
});
|
|
151
157
|
}
|
|
152
158
|
}
|
|
153
159
|
//# sourceMappingURL=identify.js.map
|
package/dist/src/identify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identify.js","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"identify.js","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { IdentifyComponents, IdentifyInit } from './index.js';
|
|
2
2
|
import type { Identify as IdentifyMessage } from './pb/message.js';
|
|
3
|
-
import type { Libp2pEvents, IdentifyResult, Logger, Connection, PeerStore, NodeInfo, Startable,
|
|
3
|
+
import type { Libp2pEvents, IdentifyResult, Logger, Connection, PeerStore, NodeInfo, Startable, PeerId, IncomingStreamData, PrivateKey } from '@libp2p/interface';
|
|
4
|
+
import type { AddressManager, Registrar } from '@libp2p/interface-internal';
|
|
4
5
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
5
6
|
import type { TypedEventTarget } from 'main-event';
|
|
6
7
|
export declare const defaultValues: {
|
|
@@ -30,20 +31,25 @@ export declare abstract class AbstractIdentify implements Startable {
|
|
|
30
31
|
protocolVersion: string;
|
|
31
32
|
agentVersion: string;
|
|
32
33
|
};
|
|
33
|
-
protected components: IdentifyComponents;
|
|
34
34
|
protected protocol: string;
|
|
35
35
|
protected started: boolean;
|
|
36
36
|
protected readonly timeout: number;
|
|
37
|
+
protected readonly peerId: PeerId;
|
|
38
|
+
protected readonly privateKey: PrivateKey;
|
|
39
|
+
protected readonly peerStore: PeerStore;
|
|
40
|
+
protected readonly registrar: Registrar;
|
|
41
|
+
protected readonly addressManager: AddressManager;
|
|
37
42
|
private readonly maxInboundStreams;
|
|
38
43
|
private readonly maxOutboundStreams;
|
|
39
44
|
protected readonly maxMessageSize: number;
|
|
40
45
|
protected readonly maxObservedAddresses: number;
|
|
46
|
+
protected readonly events: TypedEventTarget<Libp2pEvents>;
|
|
41
47
|
protected readonly runOnLimitedConnection: boolean;
|
|
42
48
|
protected readonly log: Logger;
|
|
43
49
|
constructor(components: IdentifyComponents, init: AbstractIdentifyInit);
|
|
44
50
|
isStarted(): boolean;
|
|
45
51
|
start(): Promise<void>;
|
|
46
52
|
stop(): Promise<void>;
|
|
47
|
-
protected abstract handleProtocol(
|
|
53
|
+
protected abstract handleProtocol(data: IncomingStreamData): Promise<void>;
|
|
48
54
|
}
|
|
49
55
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,EAAE,UAAU,EAAkB,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,EAAE,UAAU,EAAkB,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnM,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAQtG;AAED,wBAAgB,eAAe,CAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAMlF;AAED,wBAAsB,sBAAsB,CAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAoIlM;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,8BAAsB,gBAAiB,YAAW,SAAS;IACzD,SAAgB,IAAI,EAAE;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IACvC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IACvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACzD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IAClD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAEjB,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB;IAyBvE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAyBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAM5B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5E"}
|
package/dist/src/utils.js
CHANGED
|
@@ -144,20 +144,30 @@ export async function consumeIdentifyMessage(peerStore, events, log, connection,
|
|
|
144
144
|
}
|
|
145
145
|
export class AbstractIdentify {
|
|
146
146
|
host;
|
|
147
|
-
components;
|
|
148
147
|
protocol;
|
|
149
148
|
started;
|
|
150
149
|
timeout;
|
|
150
|
+
peerId;
|
|
151
|
+
privateKey;
|
|
152
|
+
peerStore;
|
|
153
|
+
registrar;
|
|
154
|
+
addressManager;
|
|
151
155
|
maxInboundStreams;
|
|
152
156
|
maxOutboundStreams;
|
|
153
157
|
maxMessageSize;
|
|
154
158
|
maxObservedAddresses;
|
|
159
|
+
events;
|
|
155
160
|
runOnLimitedConnection;
|
|
156
161
|
log;
|
|
157
162
|
constructor(components, init) {
|
|
158
163
|
this.protocol = init.protocol;
|
|
159
164
|
this.started = false;
|
|
160
|
-
this.
|
|
165
|
+
this.peerId = components.peerId;
|
|
166
|
+
this.privateKey = components.privateKey;
|
|
167
|
+
this.peerStore = components.peerStore;
|
|
168
|
+
this.registrar = components.registrar;
|
|
169
|
+
this.addressManager = components.addressManager;
|
|
170
|
+
this.events = components.events;
|
|
161
171
|
this.log = init.log;
|
|
162
172
|
this.timeout = init.timeout ?? defaultValues.timeout;
|
|
163
173
|
this.maxInboundStreams = init.maxInboundStreams ?? defaultValues.maxInboundStreams;
|
|
@@ -170,7 +180,6 @@ export class AbstractIdentify {
|
|
|
170
180
|
protocolVersion: `${init.protocolPrefix ?? defaultValues.protocolPrefix}/${IDENTIFY_PROTOCOL_VERSION}`,
|
|
171
181
|
agentVersion: getAgentVersion(components.nodeInfo, init.agentVersion)
|
|
172
182
|
};
|
|
173
|
-
this.handleProtocol = this.handleProtocol.bind(this);
|
|
174
183
|
}
|
|
175
184
|
isStarted() {
|
|
176
185
|
return this.started;
|
|
@@ -179,13 +188,17 @@ export class AbstractIdentify {
|
|
|
179
188
|
if (this.started) {
|
|
180
189
|
return;
|
|
181
190
|
}
|
|
182
|
-
await this.
|
|
191
|
+
await this.peerStore.merge(this.peerId, {
|
|
183
192
|
metadata: {
|
|
184
193
|
AgentVersion: uint8ArrayFromString(this.host.agentVersion),
|
|
185
194
|
ProtocolVersion: uint8ArrayFromString(this.host.protocolVersion)
|
|
186
195
|
}
|
|
187
196
|
});
|
|
188
|
-
await this.
|
|
197
|
+
await this.registrar.handle(this.protocol, (data) => {
|
|
198
|
+
void this.handleProtocol(data).catch(err => {
|
|
199
|
+
this.log.error(err);
|
|
200
|
+
});
|
|
201
|
+
}, {
|
|
189
202
|
maxInboundStreams: this.maxInboundStreams,
|
|
190
203
|
maxOutboundStreams: this.maxOutboundStreams,
|
|
191
204
|
runOnLimitedConnection: this.runOnLimitedConnection
|
|
@@ -193,7 +206,7 @@ export class AbstractIdentify {
|
|
|
193
206
|
this.started = true;
|
|
194
207
|
}
|
|
195
208
|
async stop() {
|
|
196
|
-
await this.
|
|
209
|
+
await this.registrar.unhandle(this.protocol);
|
|
197
210
|
this.started = false;
|
|
198
211
|
}
|
|
199
212
|
}
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/identify",
|
|
3
|
-
"version": "3.0.39-
|
|
3
|
+
"version": "3.0.39-87bc8d4fb",
|
|
4
4
|
"description": "Implementation of the Identify Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-identify#readme",
|
|
@@ -45,27 +45,30 @@
|
|
|
45
45
|
"doc-check": "aegir doc-check"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@libp2p/crypto": "5.1.8-
|
|
49
|
-
"@libp2p/interface": "2.11.0-
|
|
50
|
-
"@libp2p/interface-internal": "2.3.19-
|
|
51
|
-
"@libp2p/peer-id": "5.1.9-
|
|
52
|
-
"@libp2p/peer-record": "8.0.35-
|
|
53
|
-
"@libp2p/utils": "6.7.2-
|
|
54
|
-
"@multiformats/multiaddr": "^
|
|
55
|
-
"@multiformats/multiaddr-matcher": "^
|
|
56
|
-
"it-drain": "^3.0.
|
|
57
|
-
"it-parallel": "^3.0.
|
|
48
|
+
"@libp2p/crypto": "5.1.8-87bc8d4fb",
|
|
49
|
+
"@libp2p/interface": "2.11.0-87bc8d4fb",
|
|
50
|
+
"@libp2p/interface-internal": "2.3.19-87bc8d4fb",
|
|
51
|
+
"@libp2p/peer-id": "5.1.9-87bc8d4fb",
|
|
52
|
+
"@libp2p/peer-record": "8.0.35-87bc8d4fb",
|
|
53
|
+
"@libp2p/utils": "6.7.2-87bc8d4fb",
|
|
54
|
+
"@multiformats/multiaddr": "^12.4.4",
|
|
55
|
+
"@multiformats/multiaddr-matcher": "^2.0.0",
|
|
56
|
+
"it-drain": "^3.0.9",
|
|
57
|
+
"it-parallel": "^3.0.11",
|
|
58
|
+
"it-protobuf-stream": "^2.0.2",
|
|
58
59
|
"main-event": "^1.0.1",
|
|
59
|
-
"protons-runtime": "^5.
|
|
60
|
+
"protons-runtime": "^5.5.0",
|
|
60
61
|
"uint8arraylist": "^2.4.8",
|
|
61
62
|
"uint8arrays": "^5.1.0"
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
64
|
-
"@libp2p/logger": "5.2.0-
|
|
65
|
-
"aegir": "^47.0.
|
|
65
|
+
"@libp2p/logger": "5.2.0-87bc8d4fb",
|
|
66
|
+
"aegir": "^47.0.14",
|
|
66
67
|
"delay": "^6.0.0",
|
|
67
68
|
"it-length-prefixed": "^10.0.1",
|
|
68
|
-
"
|
|
69
|
+
"it-pair": "^2.0.6",
|
|
70
|
+
"it-pushable": "^3.2.3",
|
|
71
|
+
"protons": "^7.6.1",
|
|
69
72
|
"sinon-ts": "^2.0.0"
|
|
70
73
|
},
|
|
71
74
|
"sideEffects": false
|