libp2p 0.44.0 → 0.45.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 +30 -30
- package/dist/src/address-manager/index.d.ts +8 -4
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +37 -6
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/address-manager/utils.d.ts +2 -0
- package/dist/src/address-manager/utils.d.ts.map +1 -0
- package/dist/src/address-manager/utils.js +12 -0
- package/dist/src/address-manager/utils.js.map +1 -0
- package/dist/src/autonat/constants.d.ts +16 -2
- package/dist/src/autonat/constants.d.ts.map +1 -1
- package/dist/src/autonat/constants.js +16 -2
- package/dist/src/autonat/constants.js.map +1 -1
- package/dist/src/autonat/index.d.ts +12 -33
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +36 -30
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.js +2 -2
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +10 -3
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +4 -2
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +3 -0
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +6 -4
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +30 -26
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +5 -4
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +37 -30
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/components.d.ts +6 -63
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +60 -164
- package/dist/src/components.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +8 -0
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -0
- package/dist/src/config/connection-gater.browser.js +27 -0
- package/dist/src/config/connection-gater.browser.js.map +1 -0
- package/dist/src/config/connection-gater.d.ts +6 -0
- package/dist/src/config/connection-gater.d.ts.map +1 -0
- package/dist/src/config/connection-gater.js +18 -0
- package/dist/src/config/connection-gater.js.map +1 -0
- package/dist/src/config.d.ts +2 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +0 -62
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +3 -0
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +36 -13
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts +4 -0
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +23 -8
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +2 -1
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +36 -14
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +8 -7
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +23 -34
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +0 -10
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +7 -42
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/content-routing/utils.js +3 -1
- package/dist/src/content-routing/utils.js.map +1 -1
- package/dist/src/fetch/index.d.ts +13 -35
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +7 -9
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/identify.d.ts +53 -0
- package/dist/src/identify/identify.d.ts.map +1 -0
- package/dist/src/identify/identify.js +405 -0
- package/dist/src/identify/identify.js.map +1 -0
- package/dist/src/identify/index.d.ts +12 -58
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +5 -388
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +13 -68
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +11 -42
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +137 -196
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -38
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +0 -59
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/constants.d.ts +4 -0
- package/dist/src/ping/constants.d.ts.map +1 -1
- package/dist/src/ping/constants.js +10 -0
- package/dist/src/ping/constants.js.map +1 -1
- package/dist/src/ping/index.d.ts +10 -27
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +18 -21
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/registrar.d.ts +5 -2
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +27 -25
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +11 -4
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +19 -10
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +15 -10
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +39 -48
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/upnp-nat/index.d.ts +42 -0
- package/dist/src/upnp-nat/index.d.ts.map +1 -0
- package/dist/src/{nat-manager.js → upnp-nat/index.js} +11 -7
- package/dist/src/upnp-nat/index.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/typedoc-urls.json +25 -10
- package/package.json +61 -45
- package/src/address-manager/index.ts +50 -8
- package/src/address-manager/utils.ts +14 -0
- package/src/autonat/constants.ts +17 -2
- package/src/autonat/index.ts +53 -45
- package/src/circuit-relay/server/advert-service.ts +2 -2
- package/src/circuit-relay/server/index.ts +11 -3
- package/src/circuit-relay/transport/discovery.ts +5 -3
- package/src/circuit-relay/transport/index.ts +9 -4
- package/src/circuit-relay/transport/listener.ts +38 -28
- package/src/circuit-relay/transport/reservation-store.ts +34 -20
- package/src/components.ts +71 -234
- package/src/config/connection-gater.browser.ts +31 -0
- package/src/config/connection-gater.ts +19 -0
- package/src/config.ts +3 -64
- package/src/connection-manager/auto-dial.ts +44 -15
- package/src/connection-manager/connection-pruner.ts +28 -8
- package/src/connection-manager/dial-queue.ts +41 -21
- package/src/connection-manager/index.ts +31 -43
- package/src/content-routing/index.ts +7 -55
- package/src/content-routing/utils.ts +3 -1
- package/src/fetch/index.ts +51 -14
- package/src/identify/identify.ts +518 -0
- package/src/identify/index.ts +17 -507
- package/src/index.ts +14 -77
- package/src/insecure/index.ts +4 -4
- package/src/libp2p.ts +139 -260
- package/src/peer-routing.ts +1 -101
- package/src/ping/constants.ts +11 -0
- package/src/ping/index.ts +32 -28
- package/src/registrar.ts +31 -27
- package/src/transport-manager.ts +27 -13
- package/src/upgrader.ts +62 -58
- package/src/{nat-manager.ts → upnp-nat/index.ts} +16 -17
- package/src/version.ts +1 -1
- package/dist/src/dht/dht-content-routing.d.ts +0 -17
- package/dist/src/dht/dht-content-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-content-routing.js +0 -32
- package/dist/src/dht/dht-content-routing.js.map +0 -1
- package/dist/src/dht/dht-peer-routing.d.ts +0 -15
- package/dist/src/dht/dht-peer-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-peer-routing.js +0 -26
- package/dist/src/dht/dht-peer-routing.js.map +0 -1
- package/dist/src/dht/dummy-dht.d.ts +0 -20
- package/dist/src/dht/dummy-dht.d.ts.map +0 -1
- package/dist/src/dht/dummy-dht.js +0 -46
- package/dist/src/dht/dummy-dht.js.map +0 -1
- package/dist/src/nat-manager.d.ts +0 -74
- package/dist/src/nat-manager.d.ts.map +0 -1
- package/dist/src/nat-manager.js.map +0 -1
- package/dist/src/peer-record-updater.d.ts +0 -24
- package/dist/src/peer-record-updater.d.ts.map +0 -1
- package/dist/src/peer-record-updater.js +0 -44
- package/dist/src/peer-record-updater.js.map +0 -1
- package/src/dht/dht-content-routing.ts +0 -44
- package/src/dht/dht-peer-routing.ts +0 -36
- package/src/dht/dummy-dht.ts +0 -60
- package/src/peer-record-updater.ts +0 -65
|
@@ -10,7 +10,7 @@ import { multiaddr } from '@multiformats/multiaddr';
|
|
|
10
10
|
import { peerIdFromBytes } from '@libp2p/peer-id';
|
|
11
11
|
import { RecordEnvelope } from '@libp2p/peer-record';
|
|
12
12
|
import { ReservationVoucherRecord } from './reservation-voucher.js';
|
|
13
|
-
import {
|
|
13
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
14
14
|
import { setMaxListeners } from 'events';
|
|
15
15
|
const log = logger('libp2p:circuit-relay:server');
|
|
16
16
|
const isRelayAddr = (ma) => ma.protoCodes().includes(CIRCUIT_PROTO_CODE);
|
|
@@ -39,7 +39,7 @@ class CircuitRelayServer extends EventEmitter {
|
|
|
39
39
|
if (init.advertise != null && init.advertise !== false) {
|
|
40
40
|
this.advertService = new AdvertService(components, init.advertise === true ? undefined : init.advertise);
|
|
41
41
|
this.advertService.addEventListener('advert:success', () => {
|
|
42
|
-
this.
|
|
42
|
+
this.safeDispatchEvent('relay:advert:success', {});
|
|
43
43
|
});
|
|
44
44
|
this.advertService.addEventListener('advert:error', (evt) => {
|
|
45
45
|
this.safeDispatchEvent('relay:advert:error', { detail: evt.detail });
|
|
@@ -155,7 +155,11 @@ class CircuitRelayServer extends EventEmitter {
|
|
|
155
155
|
// result.expire is non-null if `ReservationStore.reserve` returns with status == OK
|
|
156
156
|
if (result.expire != null) {
|
|
157
157
|
const ttl = (result.expire * 1000) - Date.now();
|
|
158
|
-
await this.peerStore.
|
|
158
|
+
await this.peerStore.merge(connection.remotePeer, {
|
|
159
|
+
tags: {
|
|
160
|
+
[RELAY_SOURCE_TAG]: { value: 1, ttl }
|
|
161
|
+
}
|
|
162
|
+
});
|
|
159
163
|
}
|
|
160
164
|
hopstr.write({
|
|
161
165
|
type: HopMessage.Type.STATUS,
|
|
@@ -173,6 +177,9 @@ class CircuitRelayServer extends EventEmitter {
|
|
|
173
177
|
async makeReservation(remotePeer, expire) {
|
|
174
178
|
const addrs = [];
|
|
175
179
|
for (const relayAddr of this.addressManager.getAddresses()) {
|
|
180
|
+
if (relayAddr.toString().includes('/p2p-circuit')) {
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
176
183
|
addrs.push(relayAddr.bytes);
|
|
177
184
|
}
|
|
178
185
|
const voucher = await RecordEnvelope.seal(new ReservationVoucherRecord({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/circuit-relay/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/circuit-relay/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EACd,kBAAkB,EAAE,mBAAmB,EAC1C,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,gBAAgB,EAAwB,MAAM,wBAAwB,CAAA;AAE/E,OAAO,EAAE,aAAa,EAA8C,MAAM,qBAAqB,CAAA;AAC/F,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,UAAU,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAa,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAInE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAGxC,MAAM,GAAG,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,CAAC,EAAa,EAAW,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAyD5F,MAAM,kBAAmB,SAAQ,YAA+B;IAe9D;;OAEG;IACH,YAAa,UAAwC,EAAE,OAA+B,EAAE;QACtF,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAA;QAC/C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAA;QACrD,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAA;QACjD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,mBAAmB,CAAA;QACzD,IAAI,CAAC,kBAAkB,GAAG,IAAI,eAAe,EAAE,CAAA;QAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;QACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAA;QAEvD,IAAI;YACF,uBAAuB;YACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;SAC5D;QAAC,MAAM,GAAG;QAEX,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;YACtD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACxG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBACzD,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;YACpD,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC1D,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;YACtE,CAAC,CAAC,CAAA;SACH;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QAED,2DAA2D;QAC3D,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAA;QAE3B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;YACvD,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAChC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE;YACD,iBAAiB,EAAE,IAAI,CAAC,oBAAoB;YAC5C,kBAAkB,EAAE,IAAI,CAAC,qBAAqB;SAC/C,CAAC,CAAA;QAEF,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAA;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAEjD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,EAAE,UAAU,EAAE,MAAM,EAAsB;QACrD,GAAG,CAAC,iDAAiD,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAE7E,MAAM,iBAAiB,GAAG,MAAM,EAAc,CAAA;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAE9B,IAAI;YACF,MAAM,OAAO,GAAe,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC7C,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;gBAC3B,iBAAiB,CAAC,OAAO;aAC1B,CAAC,CAAA;YAEF,IAAI,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;aACnE;YAED,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAE7B,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,CAAC,iBAAiB,CAAC;oBACrB,UAAU;oBACV,MAAM,EAAE,KAAK;oBACb,OAAO;iBACR,CAAC;gBACF,iBAAiB,CAAC,OAAO;aAC1B,CAAC,CAAA;SACH;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;YAC1C,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACzB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;gBAC5B,MAAM,EAAE,MAAM,CAAC,iBAAiB;aACjC,CAAC,CAAA;YACF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SAClB;gBAAS;YACR,YAAY,CAAC,OAAO,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAsB;QAC1E,GAAG,CAAC,sBAAsB,CAAC,CAAA;QAC3B,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBAAC,MAAK;YAC9F,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBAAC,MAAK;YAC9F,OAAO,CAAC,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;gBACzF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAA;aACjG;SACF;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAsB;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QACpC,GAAG,CAAC,6BAA6B,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAEzD,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACtC,GAAG,CAAC,KAAK,CAAC,+DAA+D,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YACjG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAChF,OAAM;SACP;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE;YAC9F,GAAG,CAAC,KAAK,CAAC,+CAA+C,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YACjF,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAChF,OAAM;SACP;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAE1F,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE;YAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACrE,OAAM;SACP;QAED,IAAI;YACF,wBAAwB;YACxB,oFAAoF;YACpF,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;gBACzB,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE;oBAChD,IAAI,EAAE;wBACJ,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE;qBACtC;iBACF,CAAC,CAAA;aACH;YAED,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;gBAC5B,MAAM,EAAE,MAAM,CAAC,EAAE;gBACjB,WAAW,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;gBAC1F,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK;aAC/D,CAAC,CAAA;YACF,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;SAC/D;QAAC,OAAO,GAAG,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YACnF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;SAC/D;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,MAAc;QAEd,MAAM,KAAK,GAAG,EAAE,CAAA;QAEhB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE;YAC1D,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACjD,SAAQ;aACT;YAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;SAC5B;QAED,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,wBAAwB,CAAC;YACrE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;SAC3B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAEhB,OAAO;YACL,KAAK;YACL,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAsB;QACtE,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEpC,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACtC,GAAG,CAAC,KAAK,CAAC,+DAA+D,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YACjG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAChF,OAAM;SACP;QAED,GAAG,CAAC,6BAA6B,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAEzD,IAAI,OAAe,CAAA;QAEnB,IAAI;YACF,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;gBACxB,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;gBAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;aAC3C;YAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACrC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAC3C;QAAC,OAAO,GAAG,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YACnF,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAChF,OAAM;SACP;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAClD,GAAG,CAAC,KAAK,CAAC,2FAA2F,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;YAC7J,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;YAC7E,OAAM;SACP;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,6BAA6B,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE;YACzG,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAChG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAChF,OAAM;SACP;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAElE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,GAAG,CAAC,iHAAiH,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YACtJ,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAA;YAC7E,OAAM;SACP;QAED,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAE5C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAC3C,UAAU,EAAE,qBAAqB;YACjC,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO;gBAC9B,IAAI,EAAE;oBACJ,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE;oBACnC,KAAK,EAAE,EAAE;iBACV;aACF;SACF,CAAC,CAAA;QAEF,IAAI,iBAAiB,IAAI,IAAI,EAAE;YAC7B,GAAG,CAAC,KAAK,CAAC,8CAA8C,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAA;YAC5F,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAChF,OAAM;SACP;QAED,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACjE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAEpC,GAAG,CAAC,wDAAwD,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;QACvD,iEAAiE;QACjE,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAE,EACb,UAAU,EACV,OAAO,EACK;QACZ,GAAG,CAAC,8CAA8C,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACtB,IAAI,QAAQ,CAAA;QAEZ,IAAI;YACF,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;SAChC;QAAC,OAAO,GAAG,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;SAChF;QAED,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YACnE,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,OAAM;SACP;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE;YACjC,GAAG,CAAC,mCAAmC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YAC/D,OAAO,KAAK,CAAC,MAAM,EAAE,CAAA;SACtB;QAED,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxD,MAAM,CAAC,KAAK,EAAE,CAAA;IAChB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAA;IAC3C,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAAE,OAA+B,EAAE;IACnE,OAAO,CAAC,UAAU,EAAE,EAAE;QACpB,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACjD,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/discovery.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,oBAAoB,CAAE,YAAW,SAAS;IACzF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAC,CAAQ;gBAEd,UAAU,EAAE,wBAAwB;IASjD,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAiB7B,IAAI,IAAK,IAAI;IAQb;;;;;;;OAOG;IACG,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/discovery.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,oBAAoB,CAAE,YAAW,SAAS;IACzF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAC,CAAQ;gBAEd,UAAU,EAAE,wBAAwB;IASjD,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAiB7B,IAAI,IAAK,IAAI;IAQb;;;;;;;OAOG;IACG,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC;CAuCjC"}
|
|
@@ -52,7 +52,7 @@ export class RelayDiscovery extends EventEmitter {
|
|
|
52
52
|
log('searching peer store for relays');
|
|
53
53
|
const peers = (await this.peerStore.all())
|
|
54
54
|
// filter by a list of peers supporting RELAY_V2_HOP and ones we are not listening on
|
|
55
|
-
.filter(({
|
|
55
|
+
.filter(({ protocols }) => protocols.includes(RELAY_V2_HOP_CODEC))
|
|
56
56
|
.sort(() => Math.random() - 0.5);
|
|
57
57
|
for (const peer of peers) {
|
|
58
58
|
log('found relay peer %p in content peer store', peer.id);
|
|
@@ -67,8 +67,10 @@ export class RelayDiscovery extends EventEmitter {
|
|
|
67
67
|
if (provider.multiaddrs.length > 0 && !provider.id.equals(this.peerId)) {
|
|
68
68
|
const peerId = provider.id;
|
|
69
69
|
found++;
|
|
70
|
+
await this.peerStore.merge(peerId, {
|
|
71
|
+
multiaddrs: provider.multiaddrs
|
|
72
|
+
});
|
|
70
73
|
log('found relay peer %p in content routing', peerId);
|
|
71
|
-
await this.peerStore.addressBook.add(peerId, provider.multiaddrs);
|
|
72
74
|
this.safeDispatchEvent('relay:discover', { detail: peerId });
|
|
73
75
|
}
|
|
74
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,GAAG,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAA;AAe1D;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAkC;IAQpE,YAAa,UAAoC;QAC/C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAA;QAC/C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IACvC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,kEAAkE;QAClE,gCAAgC;QAChC,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;YACjF,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpB,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9D,CAAC;SACF,CAAC,CAAC,CAAA;QAEH,KAAK,IAAI,CAAC,QAAQ,EAAE;aACjB,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEJ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SAC3C;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ;QACZ,GAAG,CAAC,iCAAiC,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACxC,qFAAqF;aACpF,MAAM,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
|
9
9
|
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
10
10
|
import { RelayStoreInit } from './reservation-store.js';
|
|
11
11
|
import { RelayDiscoveryComponents } from './discovery.js';
|
|
12
|
+
import type { EventEmitter } from '@libp2p/interfaces/events';
|
|
13
|
+
import type { Libp2pEvents } from '@libp2p/interface-libp2p';
|
|
12
14
|
export interface CircuitRelayTransportComponents extends RelayDiscoveryComponents {
|
|
13
15
|
peerId: PeerId;
|
|
14
16
|
peerStore: PeerStore;
|
|
@@ -18,6 +20,7 @@ export interface CircuitRelayTransportComponents extends RelayDiscoveryComponent
|
|
|
18
20
|
addressManager: AddressManager;
|
|
19
21
|
contentRouting: ContentRouting;
|
|
20
22
|
connectionGater: ConnectionGater;
|
|
23
|
+
events: EventEmitter<Libp2pEvents>;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
26
|
* RelayConfig configures the circuit v2 relay transport.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAG9D,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,KAAK,EAAY,SAAS,EAAyB,MAAM,6BAA6B,CAAA;AAE7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAkB,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAU,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAG9D,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,KAAK,EAAY,SAAS,EAAyB,MAAM,6BAA6B,CAAA;AAE7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,EAAE,cAAc,EAAoB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAkB,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAkB5D,MAAM,WAAW,+BAAgC,SAAQ,wBAAwB;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,eAAe,EAAE,eAAe,CAAA;IAChC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAYD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC/D;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AA0PD,wBAAgB,qBAAqB,CAAE,IAAI,GAAE,yBAA8B,GAAG,CAAC,UAAU,EAAE,+BAA+B,KAAK,SAAS,CAIvI"}
|
|
@@ -93,7 +93,7 @@ class CircuitRelayTransport {
|
|
|
93
93
|
const relayId = relayAddr.getPeerId();
|
|
94
94
|
const destinationId = destinationAddr.getPeerId();
|
|
95
95
|
if (relayId == null || destinationId == null) {
|
|
96
|
-
const errMsg =
|
|
96
|
+
const errMsg = `Circuit relay dial to ${ma.toString()} failed as address did not have peer ids`;
|
|
97
97
|
log.error(errMsg);
|
|
98
98
|
throw new CodeError(errMsg, codes.ERR_RELAYED_DIAL);
|
|
99
99
|
}
|
|
@@ -103,7 +103,9 @@ class CircuitRelayTransport {
|
|
|
103
103
|
const relayConnections = this.connectionManager.getConnections(relayPeer);
|
|
104
104
|
let relayConnection = relayConnections[0];
|
|
105
105
|
if (relayConnection == null) {
|
|
106
|
-
await this.peerStore.
|
|
106
|
+
await this.peerStore.merge(relayPeer, {
|
|
107
|
+
multiaddrs: [relayAddr]
|
|
108
|
+
});
|
|
107
109
|
relayConnection = await this.connectionManager.openConnection(relayPeer, options);
|
|
108
110
|
disconnectOnFailure = true;
|
|
109
111
|
}
|
|
@@ -120,7 +122,7 @@ class CircuitRelayTransport {
|
|
|
120
122
|
});
|
|
121
123
|
}
|
|
122
124
|
catch (err) {
|
|
123
|
-
log.error(
|
|
125
|
+
log.error(`Circuit relay dial to destination ${destinationPeer.toString()} via relay ${relayPeer.toString()} failed`, err);
|
|
124
126
|
disconnectOnFailure && await relayConnection.close();
|
|
125
127
|
throw err;
|
|
126
128
|
}
|
|
@@ -150,7 +152,7 @@ class CircuitRelayTransport {
|
|
|
150
152
|
return await this.upgrader.upgradeOutbound(maConn);
|
|
151
153
|
}
|
|
152
154
|
catch (err) {
|
|
153
|
-
log.error(
|
|
155
|
+
log.error(`Circuit relay dial to destination ${destinationPeer.toString()} via relay ${connection.remotePeer.toString()} failed`, err);
|
|
154
156
|
disconnectOnFailure && await connection.close();
|
|
155
157
|
throw err;
|
|
156
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAY,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAWnE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC7F,OAAO,EAAkB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,cAAc,EAA4B,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/listener.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,6BAA6B,CAAA;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/listener.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,6BAA6B,CAAA;AAG3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAU9D,MAAM,WAAW,uCAAuC;IACtD,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAwFD,wBAAgB,cAAc,CAAE,OAAO,EAAE,uCAAuC,GAAG,QAAQ,CAE1F"}
|
|
@@ -4,10 +4,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
6
|
var _CircuitRelayTransportListener_instances, _CircuitRelayTransportListener_removeRelayPeer;
|
|
7
|
-
import {
|
|
7
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
8
8
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
9
9
|
import { PeerMap } from '@libp2p/peer-collections';
|
|
10
10
|
import { logger } from '@libp2p/logger';
|
|
11
|
+
import { peerIdFromString } from '@libp2p/peer-id';
|
|
12
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
11
13
|
const log = logger('libp2p:circuit-relay:transport:listener');
|
|
12
14
|
class CircuitRelayTransportListener extends EventEmitter {
|
|
13
15
|
constructor(components) {
|
|
@@ -20,44 +22,46 @@ class CircuitRelayTransportListener extends EventEmitter {
|
|
|
20
22
|
this.relayStore.addEventListener('relay:removed', (evt) => {
|
|
21
23
|
__classPrivateFieldGet(this, _CircuitRelayTransportListener_instances, "m", _CircuitRelayTransportListener_removeRelayPeer).call(this, evt.detail);
|
|
22
24
|
});
|
|
23
|
-
// remove listening addrs when a peer disconnects
|
|
24
|
-
this.connectionManager.addEventListener('peer:disconnect', (evt) => {
|
|
25
|
-
__classPrivateFieldGet(this, _CircuitRelayTransportListener_instances, "m", _CircuitRelayTransportListener_removeRelayPeer).call(this, evt.detail.remotePeer);
|
|
26
|
-
});
|
|
27
25
|
}
|
|
28
26
|
async listen(addr) {
|
|
29
27
|
log('listen on %s', addr);
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
const relayPeerStr = addr.getPeerId();
|
|
29
|
+
let relayConn;
|
|
30
|
+
// check if we already have a connection to the relay
|
|
31
|
+
if (relayPeerStr != null) {
|
|
32
|
+
const relayPeer = peerIdFromString(relayPeerStr);
|
|
33
|
+
const connections = this.connectionManager.getConnectionsMap().get(relayPeer) ?? [];
|
|
34
|
+
if (connections.length > 0) {
|
|
35
|
+
relayConn = connections[0];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// open a new connection as we don't already have one
|
|
39
|
+
if (relayConn == null) {
|
|
40
|
+
const addrString = addr.toString().split('/p2p-circuit').find(a => a !== '');
|
|
41
|
+
const ma = multiaddr(addrString);
|
|
42
|
+
relayConn = await this.connectionManager.openConnection(ma);
|
|
43
|
+
}
|
|
33
44
|
if (!this.relayStore.hasReservation(relayConn.remotePeer)) {
|
|
34
45
|
// addRelay calls transportManager.listen which calls this listen method
|
|
35
46
|
await this.relayStore.addRelay(relayConn.remotePeer, 'configured');
|
|
36
47
|
return;
|
|
37
48
|
}
|
|
49
|
+
const reservation = this.relayStore.getReservation(relayConn.remotePeer);
|
|
50
|
+
if (reservation == null) {
|
|
51
|
+
throw new CodeError('Did not have reservation after making reservation', 'ERR_NO_RESERVATION');
|
|
52
|
+
}
|
|
38
53
|
if (this.listeningAddrs.has(relayConn.remotePeer)) {
|
|
39
54
|
log('already listening on relay %p', relayConn.remotePeer);
|
|
40
55
|
return;
|
|
41
56
|
}
|
|
42
|
-
|
|
43
|
-
this.
|
|
57
|
+
// add all addresses from the relay reservation
|
|
58
|
+
this.listeningAddrs.set(relayConn.remotePeer, reservation.addrs.map(buf => {
|
|
59
|
+
return multiaddr(buf).encapsulate('/p2p-circuit');
|
|
60
|
+
}));
|
|
61
|
+
this.safeDispatchEvent('listening', {});
|
|
44
62
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Get fixed up multiaddrs
|
|
47
|
-
*
|
|
48
|
-
* NOTE: This method will grab the peers multiaddrs and expand them such that:
|
|
49
|
-
*
|
|
50
|
-
* a) If it's an existing /p2p-circuit address for a specific relay i.e.
|
|
51
|
-
* `/ip4/0.0.0.0/tcp/0/ipfs/QmRelay/p2p-circuit` this method will expand the
|
|
52
|
-
* address to `/ip4/0.0.0.0/tcp/0/ipfs/QmRelay/p2p-circuit/ipfs/QmPeer` where
|
|
53
|
-
* `QmPeer` is this peers id
|
|
54
|
-
* b) If it's not a /p2p-circuit address, it will encapsulate the address as a /p2p-circuit
|
|
55
|
-
* addr, such when dialing over a relay with this address, it will create the circuit using
|
|
56
|
-
* the encapsulated transport address. This is useful when for example, a peer should only
|
|
57
|
-
* be dialed over TCP rather than any other transport
|
|
58
|
-
*/
|
|
59
63
|
getAddrs() {
|
|
60
|
-
return [...this.listeningAddrs.values()];
|
|
64
|
+
return [...this.listeningAddrs.values()].flat();
|
|
61
65
|
}
|
|
62
66
|
async close() {
|
|
63
67
|
}
|
|
@@ -67,7 +71,7 @@ _CircuitRelayTransportListener_instances = new WeakSet(), _CircuitRelayTransport
|
|
|
67
71
|
this.listeningAddrs.delete(peerId);
|
|
68
72
|
if (had) {
|
|
69
73
|
// Announce listen addresses change
|
|
70
|
-
this.
|
|
74
|
+
this.safeDispatchEvent('close', {});
|
|
71
75
|
}
|
|
72
76
|
};
|
|
73
77
|
export function createListener(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/listener.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
2
2
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
3
|
+
import type { Reservation } from '../pb/index.js';
|
|
3
4
|
import type { TransportManager } from '@libp2p/interface-transport';
|
|
4
5
|
import type { Startable } from '@libp2p/interfaces/startable';
|
|
5
6
|
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
6
7
|
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
8
|
+
import type { Libp2pEvents } from '@libp2p/interface-libp2p';
|
|
7
9
|
export interface RelayStoreComponents {
|
|
8
10
|
peerId: PeerId;
|
|
9
11
|
connectionManager: ConnectionManager;
|
|
10
12
|
transportManager: TransportManager;
|
|
11
13
|
peerStore: PeerStore;
|
|
14
|
+
events: EventEmitter<Libp2pEvents>;
|
|
12
15
|
}
|
|
13
16
|
export interface RelayStoreInit {
|
|
14
17
|
/**
|
|
@@ -36,6 +39,7 @@ export declare class ReservationStore extends EventEmitter<ReservationStoreEvent
|
|
|
36
39
|
private readonly connectionManager;
|
|
37
40
|
private readonly transportManager;
|
|
38
41
|
private readonly peerStore;
|
|
42
|
+
private readonly events;
|
|
39
43
|
private readonly reserveQueue;
|
|
40
44
|
private readonly reservations;
|
|
41
45
|
private readonly maxDiscoveredRelays;
|
|
@@ -52,9 +56,6 @@ export declare class ReservationStore extends EventEmitter<ReservationStoreEvent
|
|
|
52
56
|
*/
|
|
53
57
|
addRelay(peerId: PeerId, type: RelayType): Promise<void>;
|
|
54
58
|
hasReservation(peerId: PeerId): boolean;
|
|
55
|
-
|
|
56
|
-
* Remove listen relay
|
|
57
|
-
*/
|
|
58
|
-
removeRelay(peerId: PeerId): void;
|
|
59
|
+
getReservation(peerId: PeerId): Reservation | undefined;
|
|
59
60
|
}
|
|
60
61
|
//# sourceMappingURL=reservation-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"reservation-store.d.ts","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAa5D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAQnD,MAAM,WAAW,sBAAsB;IACrC,yBAAyB,EAAE,WAAW,CAAA;IACtC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACrC;AAED,qBAAa,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAE,YAAW,SAAS;;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,cAAc;IAyBpE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAIvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;;OAKG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqF/D,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAsDzD"}
|
|
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
3
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
5
|
};
|
|
6
|
-
var _ReservationStore_instances, _ReservationStore_createReservation;
|
|
6
|
+
var _ReservationStore_instances, _ReservationStore_createReservation, _ReservationStore_removeRelay;
|
|
7
7
|
import { PeerMap } from '@libp2p/peer-collections';
|
|
8
8
|
import PQueue from 'p-queue';
|
|
9
9
|
import { DEFAULT_RESERVATION_CONCURRENCY, RELAY_TAG, RELAY_V2_HOP_CODEC } from '../constants.js';
|
|
@@ -11,7 +11,7 @@ import { logger } from '@libp2p/logger';
|
|
|
11
11
|
import { pbStream } from 'it-pb-stream';
|
|
12
12
|
import { HopMessage, Status } from '../pb/index.js';
|
|
13
13
|
import { getExpirationMilliseconds } from '../utils.js';
|
|
14
|
-
import {
|
|
14
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
15
15
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
16
16
|
const log = logger('libp2p:circuit-relay:transport:reservation-store');
|
|
17
17
|
// allow refreshing a relay reservation if it will expire in the next 10 minutes
|
|
@@ -28,6 +28,7 @@ export class ReservationStore extends EventEmitter {
|
|
|
28
28
|
this.connectionManager = components.connectionManager;
|
|
29
29
|
this.transportManager = components.transportManager;
|
|
30
30
|
this.peerStore = components.peerStore;
|
|
31
|
+
this.events = components.events;
|
|
31
32
|
this.reservations = new PeerMap();
|
|
32
33
|
this.maxDiscoveredRelays = init?.discoverRelays ?? 0;
|
|
33
34
|
this.started = false;
|
|
@@ -38,8 +39,8 @@ export class ReservationStore extends EventEmitter {
|
|
|
38
39
|
// When a peer disconnects, if we had a reservation on that peer
|
|
39
40
|
// remove the reservation and multiaddr and maybe trigger search
|
|
40
41
|
// for new relays
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
42
|
+
this.events.addEventListener('peer:disconnect', (evt) => {
|
|
43
|
+
__classPrivateFieldGet(this, _ReservationStore_instances, "m", _ReservationStore_removeRelay).call(this, evt.detail);
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
isStarted() {
|
|
@@ -62,13 +63,13 @@ export class ReservationStore extends EventEmitter {
|
|
|
62
63
|
* on the remote peer
|
|
63
64
|
*/
|
|
64
65
|
async addRelay(peerId, type) {
|
|
65
|
-
|
|
66
|
+
if (this.peerId.equals(peerId)) {
|
|
67
|
+
log('not trying to use self as relay');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
log('add relay %p', peerId);
|
|
66
71
|
await this.reserveQueue.add(async () => {
|
|
67
72
|
try {
|
|
68
|
-
if (this.peerId.equals(peerId)) {
|
|
69
|
-
log('not trying to use self as relay');
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
73
|
// allow refresh of an existing reservation if it is about to expire
|
|
73
74
|
const existingReservation = this.reservations.get(peerId);
|
|
74
75
|
if (existingReservation != null) {
|
|
@@ -104,43 +105,36 @@ export class ReservationStore extends EventEmitter {
|
|
|
104
105
|
log.error('could not refresh reservation to relay %p', peerId, err);
|
|
105
106
|
});
|
|
106
107
|
}, timeoutDuration);
|
|
108
|
+
// we've managed to create a reservation successfully
|
|
107
109
|
this.reservations.set(peerId, {
|
|
108
110
|
timeout,
|
|
109
111
|
reservation,
|
|
110
112
|
type
|
|
111
113
|
});
|
|
112
114
|
// ensure we don't close the connection to the relay
|
|
113
|
-
await this.peerStore.
|
|
114
|
-
|
|
115
|
-
|
|
115
|
+
await this.peerStore.merge(peerId, {
|
|
116
|
+
tags: {
|
|
117
|
+
[RELAY_TAG]: {
|
|
118
|
+
value: 1,
|
|
119
|
+
ttl: expiration
|
|
120
|
+
}
|
|
121
|
+
}
|
|
116
122
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}));
|
|
123
|
+
// listen on multiaddr that only the circuit transport is listening for
|
|
124
|
+
await this.transportManager.listen([multiaddr(`/p2p/${peerId.toString()}/p2p-circuit`)]);
|
|
120
125
|
}
|
|
121
126
|
catch (err) {
|
|
122
127
|
log.error('could not reserve slot on %p', peerId, err);
|
|
128
|
+
// if listening failed, remove the reservation
|
|
129
|
+
this.reservations.delete(peerId);
|
|
123
130
|
}
|
|
124
131
|
});
|
|
125
132
|
}
|
|
126
133
|
hasReservation(peerId) {
|
|
127
134
|
return this.reservations.has(peerId);
|
|
128
135
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
*/
|
|
132
|
-
removeRelay(peerId) {
|
|
133
|
-
const existingReservation = this.reservations.get(peerId);
|
|
134
|
-
if (existingReservation == null) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
log('removing relay %p', peerId);
|
|
138
|
-
clearTimeout(existingReservation.timeout);
|
|
139
|
-
this.reservations.delete(peerId);
|
|
140
|
-
this.safeDispatchEvent('relay:removed', { detail: peerId });
|
|
141
|
-
if (this.reservations.size < this.maxDiscoveredRelays) {
|
|
142
|
-
this.dispatchEvent(new CustomEvent('relay:not-enough-relays'));
|
|
143
|
-
}
|
|
136
|
+
getReservation(peerId) {
|
|
137
|
+
return this.reservations.get(peerId)?.reservation;
|
|
144
138
|
}
|
|
145
139
|
}
|
|
146
140
|
_ReservationStore_instances = new WeakSet(), _ReservationStore_createReservation = async function _ReservationStore_createReservation(connection) {
|
|
@@ -166,5 +160,18 @@ _ReservationStore_instances = new WeakSet(), _ReservationStore_createReservation
|
|
|
166
160
|
const errMsg = `reservation failed with status ${response.status ?? 'undefined'}`;
|
|
167
161
|
log.error(errMsg);
|
|
168
162
|
throw new Error(errMsg);
|
|
163
|
+
}, _ReservationStore_removeRelay = function _ReservationStore_removeRelay(peerId) {
|
|
164
|
+
const existingReservation = this.reservations.get(peerId);
|
|
165
|
+
if (existingReservation == null) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
log('connection to relay %p closed, removing reservation from local store', peerId);
|
|
169
|
+
clearTimeout(existingReservation.timeout);
|
|
170
|
+
this.reservations.delete(peerId);
|
|
171
|
+
this.safeDispatchEvent('relay:removed', { detail: peerId });
|
|
172
|
+
if (this.reservations.size < this.maxDiscoveredRelays) {
|
|
173
|
+
log('not enough relays %d/%d', this.reservations.size, this.maxDiscoveredRelays);
|
|
174
|
+
this.safeDispatchEvent('relay:not-enough-relays', {});
|
|
175
|
+
}
|
|
169
176
|
};
|
|
170
177
|
//# sourceMappingURL=reservation-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,+BAA+B,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reservation-store.js","sourceRoot":"","sources":["../../../../src/circuit-relay/transport/reservation-store.ts"],"names":[],"mappings":"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"}
|