@libp2p/autonat 1.0.21 → 1.0.22
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 -101
- package/dist/src/autonat.d.ts +1 -0
- package/dist/src/autonat.d.ts.map +1 -1
- package/dist/src/autonat.js +143 -149
- package/dist/src/autonat.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/autonat.ts +154 -165
- package/src/index.ts +3 -3
package/dist/src/autonat.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare class AutoNATService implements Startable {
|
|
|
21
21
|
*/
|
|
22
22
|
handleIncomingAutonatStream(data: IncomingStreamData): Promise<void>;
|
|
23
23
|
_verifyExternalAddresses(): void;
|
|
24
|
+
private handleAutonatMessage;
|
|
24
25
|
/**
|
|
25
26
|
* Our multicodec topology noticed a new peer that supports autonat
|
|
26
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autonat.d.ts","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"autonat.d.ts","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,KAAK,EAAwC,SAAS,EAAgB,MAAM,mBAAmB,CAAA;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,oBAAoB,CAAC,CAA+B;IAC5D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,kBAAkB;IAapE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAoBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,2BAA2B,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE3E,wBAAwB,IAAK,IAAI;YAOnB,oBAAoB;IAmKlC;;OAEG;IACG,uBAAuB,IAAK,OAAO,CAAC,IAAI,CAAC;CAyLhD"}
|
package/dist/src/autonat.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CodeError, ERR_TIMEOUT, setMaxListeners } from '@libp2p/interface';
|
|
2
2
|
import { peerIdFromBytes } from '@libp2p/peer-id';
|
|
3
|
-
import { createEd25519PeerId } from '@libp2p/peer-id-factory';
|
|
4
3
|
import { isPrivateIp } from '@libp2p/utils/private-ip';
|
|
5
4
|
import { multiaddr, protocols } from '@multiformats/multiaddr';
|
|
6
5
|
import first from 'it-first';
|
|
@@ -73,8 +72,6 @@ export class AutoNATService {
|
|
|
73
72
|
// this controller may be used while dialing lots of peers so prevent MaxListenersExceededWarning
|
|
74
73
|
// appearing in the console
|
|
75
74
|
setMaxListeners(Infinity, signal);
|
|
76
|
-
const ourHosts = this.components.addressManager.getAddresses()
|
|
77
|
-
.map(ma => ma.toOptions().host);
|
|
78
75
|
try {
|
|
79
76
|
const self = this;
|
|
80
77
|
await pipe(data.stream, (source) => lp.decode(source), async function* (stream) {
|
|
@@ -105,148 +102,9 @@ export class AutoNATService {
|
|
|
105
102
|
});
|
|
106
103
|
return;
|
|
107
104
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
yield Message.encode({
|
|
112
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
113
|
-
dialResponse: {
|
|
114
|
-
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
115
|
-
statusText: 'No Dial message found in message'
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
let peerId;
|
|
121
|
-
const peer = dialRequest.peer;
|
|
122
|
-
if (peer == null || peer.id == null) {
|
|
123
|
-
self.log.error('PeerId missing from message');
|
|
124
|
-
yield Message.encode({
|
|
125
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
126
|
-
dialResponse: {
|
|
127
|
-
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
128
|
-
statusText: 'missing peer info'
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
try {
|
|
134
|
-
peerId = peerIdFromBytes(peer.id);
|
|
135
|
-
}
|
|
136
|
-
catch (err) {
|
|
137
|
-
self.log.error('invalid PeerId', err);
|
|
138
|
-
yield Message.encode({
|
|
139
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
140
|
-
dialResponse: {
|
|
141
|
-
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
142
|
-
statusText: 'bad peer id'
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
self.log('incoming request from %p', peerId);
|
|
148
|
-
// reject any dial requests that arrive via relays
|
|
149
|
-
if (!data.connection.remotePeer.equals(peerId)) {
|
|
150
|
-
self.log('target peer %p did not equal sending peer %p', peerId, data.connection.remotePeer);
|
|
151
|
-
yield Message.encode({
|
|
152
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
153
|
-
dialResponse: {
|
|
154
|
-
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
155
|
-
statusText: 'peer id mismatch'
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
// get a list of multiaddrs to dial
|
|
161
|
-
const multiaddrs = peer.addrs
|
|
162
|
-
.map(buf => multiaddr(buf))
|
|
163
|
-
.filter(ma => {
|
|
164
|
-
const isFromSameHost = ma.toOptions().host === data.connection.remoteAddr.toOptions().host;
|
|
165
|
-
self.log.trace('request to dial %a was sent from %a is same host %s', ma, data.connection.remoteAddr, isFromSameHost);
|
|
166
|
-
// skip any Multiaddrs where the target node's IP does not match the sending node's IP
|
|
167
|
-
return isFromSameHost;
|
|
168
|
-
})
|
|
169
|
-
.filter(ma => {
|
|
170
|
-
const host = ma.toOptions().host;
|
|
171
|
-
const isPublicIp = !(isPrivateIp(host) ?? false);
|
|
172
|
-
self.log.trace('host %s was public %s', host, isPublicIp);
|
|
173
|
-
// don't try to dial private addresses
|
|
174
|
-
return isPublicIp;
|
|
175
|
-
})
|
|
176
|
-
.filter(ma => {
|
|
177
|
-
const host = ma.toOptions().host;
|
|
178
|
-
const isNotOurHost = !ourHosts.includes(host);
|
|
179
|
-
self.log.trace('host %s was not our host %s', host, isNotOurHost);
|
|
180
|
-
// don't try to dial nodes on the same host as us
|
|
181
|
-
return isNotOurHost;
|
|
182
|
-
})
|
|
183
|
-
.filter(ma => {
|
|
184
|
-
const isSupportedTransport = Boolean(self.components.transportManager.dialTransportForMultiaddr(ma));
|
|
185
|
-
self.log.trace('transport for %a is supported %s', ma, isSupportedTransport);
|
|
186
|
-
// skip any Multiaddrs that have transports we do not support
|
|
187
|
-
return isSupportedTransport;
|
|
188
|
-
})
|
|
189
|
-
.map(ma => {
|
|
190
|
-
if (ma.getPeerId() == null) {
|
|
191
|
-
// make sure we have the PeerId as part of the Multiaddr
|
|
192
|
-
ma = ma.encapsulate(`/p2p/${peerId.toString()}`);
|
|
193
|
-
}
|
|
194
|
-
return ma;
|
|
195
|
-
});
|
|
196
|
-
// make sure we have something to dial
|
|
197
|
-
if (multiaddrs.length === 0) {
|
|
198
|
-
self.log('no valid multiaddrs for %p in message', peerId);
|
|
199
|
-
yield Message.encode({
|
|
200
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
201
|
-
dialResponse: {
|
|
202
|
-
status: Message.ResponseStatus.E_DIAL_REFUSED,
|
|
203
|
-
statusText: 'no dialable addresses'
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
return;
|
|
207
|
-
}
|
|
208
|
-
self.log('dial multiaddrs %s for peer %p', multiaddrs.map(ma => ma.toString()).join(', '), peerId);
|
|
209
|
-
let errorMessage = '';
|
|
210
|
-
let lastMultiaddr = multiaddrs[0];
|
|
211
|
-
for await (const multiaddr of multiaddrs) {
|
|
212
|
-
let connection;
|
|
213
|
-
lastMultiaddr = multiaddr;
|
|
214
|
-
try {
|
|
215
|
-
connection = await self.components.connectionManager.openConnection(multiaddr, {
|
|
216
|
-
signal
|
|
217
|
-
});
|
|
218
|
-
if (!connection.remoteAddr.equals(multiaddr)) {
|
|
219
|
-
self.log.error('tried to dial %a but dialed %a', multiaddr, connection.remoteAddr);
|
|
220
|
-
throw new Error('Unexpected remote address');
|
|
221
|
-
}
|
|
222
|
-
self.log('Success %p', peerId);
|
|
223
|
-
yield Message.encode({
|
|
224
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
225
|
-
dialResponse: {
|
|
226
|
-
status: Message.ResponseStatus.OK,
|
|
227
|
-
addr: connection.remoteAddr.decapsulateCode(protocols('p2p').code).bytes
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
catch (err) {
|
|
233
|
-
self.log('could not dial %p', peerId, err);
|
|
234
|
-
errorMessage = err.message;
|
|
235
|
-
}
|
|
236
|
-
finally {
|
|
237
|
-
if (connection != null) {
|
|
238
|
-
await connection.close();
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
yield Message.encode({
|
|
243
|
-
type: Message.MessageType.DIAL_RESPONSE,
|
|
244
|
-
dialResponse: {
|
|
245
|
-
status: Message.ResponseStatus.E_DIAL_ERROR,
|
|
246
|
-
statusText: errorMessage,
|
|
247
|
-
addr: lastMultiaddr.bytes
|
|
248
|
-
}
|
|
249
|
-
});
|
|
105
|
+
yield Message.encode(await self.handleAutonatMessage(request, data.connection, {
|
|
106
|
+
signal
|
|
107
|
+
}));
|
|
250
108
|
}, (source) => lp.encode(source), data.stream);
|
|
251
109
|
}
|
|
252
110
|
catch (err) {
|
|
@@ -262,6 +120,144 @@ export class AutoNATService {
|
|
|
262
120
|
this.log.error('error verifying external address', err);
|
|
263
121
|
});
|
|
264
122
|
}
|
|
123
|
+
async handleAutonatMessage(message, connection, options) {
|
|
124
|
+
const ourHosts = this.components.addressManager.getAddresses()
|
|
125
|
+
.map(ma => ma.toOptions().host);
|
|
126
|
+
const dialRequest = message.dial;
|
|
127
|
+
if (dialRequest == null) {
|
|
128
|
+
this.log.error('dial was missing from message');
|
|
129
|
+
return {
|
|
130
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
131
|
+
dialResponse: {
|
|
132
|
+
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
133
|
+
statusText: 'No Dial message found in message'
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
let peerId;
|
|
138
|
+
const peer = dialRequest.peer;
|
|
139
|
+
if (peer == null || peer.id == null) {
|
|
140
|
+
this.log.error('PeerId missing from message');
|
|
141
|
+
return {
|
|
142
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
143
|
+
dialResponse: {
|
|
144
|
+
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
145
|
+
statusText: 'missing peer info'
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
peerId = peerIdFromBytes(peer.id);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
this.log.error('invalid PeerId', err);
|
|
154
|
+
return {
|
|
155
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
156
|
+
dialResponse: {
|
|
157
|
+
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
158
|
+
statusText: 'bad peer id'
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
this.log('incoming request from %p', peerId);
|
|
163
|
+
// reject any dial requests that arrive via relays
|
|
164
|
+
if (!connection.remotePeer.equals(peerId)) {
|
|
165
|
+
this.log('target peer %p did not equal sending peer %p', peerId, connection.remotePeer);
|
|
166
|
+
return {
|
|
167
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
168
|
+
dialResponse: {
|
|
169
|
+
status: Message.ResponseStatus.E_BAD_REQUEST,
|
|
170
|
+
statusText: 'peer id mismatch'
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
// get a list of multiaddrs to dial
|
|
175
|
+
const multiaddrs = peer.addrs
|
|
176
|
+
.map(buf => multiaddr(buf))
|
|
177
|
+
.filter(ma => {
|
|
178
|
+
const isFromSameHost = ma.toOptions().host === connection.remoteAddr.toOptions().host;
|
|
179
|
+
this.log.trace('request to dial %a was sent from %a is same host %s', ma, connection.remoteAddr, isFromSameHost);
|
|
180
|
+
// skip any Multiaddrs where the target node's IP does not match the sending node's IP
|
|
181
|
+
return isFromSameHost;
|
|
182
|
+
})
|
|
183
|
+
.filter(ma => {
|
|
184
|
+
const host = ma.toOptions().host;
|
|
185
|
+
const isPublicIp = !(isPrivateIp(host) ?? false);
|
|
186
|
+
this.log.trace('host %s was public %s', host, isPublicIp);
|
|
187
|
+
// don't try to dial private addresses
|
|
188
|
+
return isPublicIp;
|
|
189
|
+
})
|
|
190
|
+
.filter(ma => {
|
|
191
|
+
const host = ma.toOptions().host;
|
|
192
|
+
const isNotOurHost = !ourHosts.includes(host);
|
|
193
|
+
this.log.trace('host %s was not our host %s', host, isNotOurHost);
|
|
194
|
+
// don't try to dial nodes on the same host as us
|
|
195
|
+
return isNotOurHost;
|
|
196
|
+
})
|
|
197
|
+
.filter(ma => {
|
|
198
|
+
const isSupportedTransport = Boolean(this.components.transportManager.dialTransportForMultiaddr(ma));
|
|
199
|
+
this.log.trace('transport for %a is supported %s', ma, isSupportedTransport);
|
|
200
|
+
// skip any Multiaddrs that have transports we do not support
|
|
201
|
+
return isSupportedTransport;
|
|
202
|
+
})
|
|
203
|
+
.map(ma => {
|
|
204
|
+
if (ma.getPeerId() == null) {
|
|
205
|
+
// make sure we have the PeerId as part of the Multiaddr
|
|
206
|
+
ma = ma.encapsulate(`/p2p/${peerId.toString()}`);
|
|
207
|
+
}
|
|
208
|
+
return ma;
|
|
209
|
+
});
|
|
210
|
+
// make sure we have something to dial
|
|
211
|
+
if (multiaddrs.length === 0) {
|
|
212
|
+
this.log('no valid multiaddrs for %p in message', peerId);
|
|
213
|
+
return {
|
|
214
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
215
|
+
dialResponse: {
|
|
216
|
+
status: Message.ResponseStatus.E_DIAL_REFUSED,
|
|
217
|
+
statusText: 'no dialable addresses'
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
this.log('dial multiaddrs %s for peer %p', multiaddrs.map(ma => ma.toString()).join(', '), peerId);
|
|
222
|
+
let errorMessage = '';
|
|
223
|
+
let lastMultiaddr = multiaddrs[0];
|
|
224
|
+
for await (const multiaddr of multiaddrs) {
|
|
225
|
+
let connection;
|
|
226
|
+
lastMultiaddr = multiaddr;
|
|
227
|
+
try {
|
|
228
|
+
connection = await this.components.connectionManager.openConnection(multiaddr, options);
|
|
229
|
+
if (!connection.remoteAddr.equals(multiaddr)) {
|
|
230
|
+
this.log.error('tried to dial %a but dialed %a', multiaddr, connection.remoteAddr);
|
|
231
|
+
throw new Error('Unexpected remote address');
|
|
232
|
+
}
|
|
233
|
+
this.log('Success %p', peerId);
|
|
234
|
+
return {
|
|
235
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
236
|
+
dialResponse: {
|
|
237
|
+
status: Message.ResponseStatus.OK,
|
|
238
|
+
addr: connection.remoteAddr.decapsulateCode(protocols('p2p').code).bytes
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
catch (err) {
|
|
243
|
+
this.log('could not dial %p', peerId, err);
|
|
244
|
+
errorMessage = err.message;
|
|
245
|
+
}
|
|
246
|
+
finally {
|
|
247
|
+
if (connection != null) {
|
|
248
|
+
await connection.close();
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return {
|
|
253
|
+
type: Message.MessageType.DIAL_RESPONSE,
|
|
254
|
+
dialResponse: {
|
|
255
|
+
status: Message.ResponseStatus.E_DIAL_ERROR,
|
|
256
|
+
statusText: errorMessage,
|
|
257
|
+
addr: lastMultiaddr.bytes
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
}
|
|
265
261
|
/**
|
|
266
262
|
* Our multicodec topology noticed a new peer that supports autonat
|
|
267
263
|
*/
|
|
@@ -298,9 +294,6 @@ export class AutoNATService {
|
|
|
298
294
|
}
|
|
299
295
|
}
|
|
300
296
|
});
|
|
301
|
-
// find some random peers
|
|
302
|
-
const randomPeer = await createEd25519PeerId();
|
|
303
|
-
const randomCid = randomPeer.toBytes();
|
|
304
297
|
const results = {};
|
|
305
298
|
const networkSegments = [];
|
|
306
299
|
const verifyAddress = async (peer) => {
|
|
@@ -356,7 +349,8 @@ export class AutoNATService {
|
|
|
356
349
|
signal.removeEventListener('abort', onAbort);
|
|
357
350
|
}
|
|
358
351
|
};
|
|
359
|
-
|
|
352
|
+
// find some random peers
|
|
353
|
+
for await (const dialResponse of parallel(map(this.components.randomWalk.walk({
|
|
360
354
|
signal
|
|
361
355
|
}), (peer) => async () => verifyAddress(peer)), {
|
|
362
356
|
concurrency: REQUIRED_SUCCESSFUL_DIALS
|
package/dist/src/autonat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autonat.js","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autonat.js","sourceRoot":"","sources":["../../src/autonat.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
* })
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
|
-
import type { ComponentLogger, PeerId
|
|
33
|
-
import type { AddressManager, ConnectionManager, Registrar, TransportManager } from '@libp2p/interface-internal';
|
|
32
|
+
import type { ComponentLogger, PeerId } from '@libp2p/interface';
|
|
33
|
+
import type { AddressManager, ConnectionManager, RandomWalk, Registrar, TransportManager } from '@libp2p/interface-internal';
|
|
34
34
|
export interface AutoNATServiceInit {
|
|
35
35
|
/**
|
|
36
36
|
* Allows overriding the protocol prefix used
|
|
@@ -63,8 +63,8 @@ export interface AutoNATComponents {
|
|
|
63
63
|
transportManager: TransportManager;
|
|
64
64
|
peerId: PeerId;
|
|
65
65
|
connectionManager: ConnectionManager;
|
|
66
|
-
peerRouting: PeerRouting;
|
|
67
66
|
logger: ComponentLogger;
|
|
67
|
+
randomWalk: RandomWalk;
|
|
68
68
|
}
|
|
69
69
|
export declare function autoNAT(init?: AutoNATServiceInit): (components: AutoNATComponents) => unknown;
|
|
70
70
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE5H,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,wBAAgB,OAAO,CAAE,IAAI,GAAE,kBAAuB,GAAG,CAAC,UAAU,EAAE,iBAAiB,KAAK,OAAO,CAIlG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/autonat",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
4
4
|
"description": "Implementation of Autonat Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-autonat#readme",
|
|
@@ -52,11 +52,10 @@
|
|
|
52
52
|
"doc-check": "aegir doc-check"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@libp2p/interface": "^1.4.
|
|
56
|
-
"@libp2p/interface-internal": "^1.2.
|
|
57
|
-
"@libp2p/peer-id": "^4.1.
|
|
58
|
-
"@libp2p/
|
|
59
|
-
"@libp2p/utils": "^5.4.2",
|
|
55
|
+
"@libp2p/interface": "^1.4.1",
|
|
56
|
+
"@libp2p/interface-internal": "^1.2.3",
|
|
57
|
+
"@libp2p/peer-id": "^4.1.3",
|
|
58
|
+
"@libp2p/utils": "^5.4.3",
|
|
60
59
|
"@multiformats/multiaddr": "^12.2.3",
|
|
61
60
|
"it-first": "^3.0.6",
|
|
62
61
|
"it-length-prefixed": "^9.0.4",
|
|
@@ -67,8 +66,9 @@
|
|
|
67
66
|
"uint8arraylist": "^2.4.8"
|
|
68
67
|
},
|
|
69
68
|
"devDependencies": {
|
|
70
|
-
"@libp2p/logger": "^4.0.
|
|
71
|
-
"
|
|
69
|
+
"@libp2p/logger": "^4.0.14",
|
|
70
|
+
"@libp2p/peer-id-factory": "^4.1.3",
|
|
71
|
+
"aegir": "^43.0.1",
|
|
72
72
|
"it-all": "^3.0.6",
|
|
73
73
|
"it-pushable": "^3.2.3",
|
|
74
74
|
"protons": "^7.5.0",
|