libp2p 0.39.5 → 0.40.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.
Files changed (150) hide show
  1. package/README.md +5 -0
  2. package/dist/src/address-manager/index.d.ts +18 -2
  3. package/dist/src/address-manager/index.d.ts.map +1 -1
  4. package/dist/src/address-manager/index.js +18 -5
  5. package/dist/src/address-manager/index.js.map +1 -1
  6. package/dist/src/circuit/auto-relay.d.ts +2 -2
  7. package/dist/src/circuit/auto-relay.d.ts.map +1 -1
  8. package/dist/src/circuit/auto-relay.js +12 -12
  9. package/dist/src/circuit/auto-relay.js.map +1 -1
  10. package/dist/src/circuit/index.d.ts +13 -3
  11. package/dist/src/circuit/index.d.ts.map +1 -1
  12. package/dist/src/circuit/index.js +1 -1
  13. package/dist/src/circuit/index.js.map +1 -1
  14. package/dist/src/circuit/pb/index.d.ts.map +1 -1
  15. package/dist/src/circuit/pb/index.js +29 -34
  16. package/dist/src/circuit/pb/index.js.map +1 -1
  17. package/dist/src/circuit/transport.d.ts +22 -7
  18. package/dist/src/circuit/transport.d.ts.map +1 -1
  19. package/dist/src/circuit/transport.js +26 -17
  20. package/dist/src/circuit/transport.js.map +1 -1
  21. package/dist/src/components.d.ts +110 -0
  22. package/dist/src/components.d.ts.map +1 -0
  23. package/dist/src/components.js +199 -0
  24. package/dist/src/components.js.map +1 -0
  25. package/dist/src/connection-manager/auto-dialler.d.ts +9 -2
  26. package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
  27. package/dist/src/connection-manager/auto-dialler.js +6 -6
  28. package/dist/src/connection-manager/auto-dialler.js.map +1 -1
  29. package/dist/src/connection-manager/dialer/index.d.ts +12 -5
  30. package/dist/src/connection-manager/dialer/index.d.ts.map +1 -1
  31. package/dist/src/connection-manager/dialer/index.js +9 -9
  32. package/dist/src/connection-manager/dialer/index.js.map +1 -1
  33. package/dist/src/connection-manager/index.d.ts +41 -9
  34. package/dist/src/connection-manager/index.d.ts.map +1 -1
  35. package/dist/src/connection-manager/index.js +82 -39
  36. package/dist/src/connection-manager/index.js.map +1 -1
  37. package/dist/src/content-routing/index.d.ts +7 -2
  38. package/dist/src/content-routing/index.d.ts.map +1 -1
  39. package/dist/src/content-routing/index.js +4 -4
  40. package/dist/src/content-routing/index.js.map +1 -1
  41. package/dist/src/content-routing/utils.d.ts +1 -1
  42. package/dist/src/content-routing/utils.d.ts.map +1 -1
  43. package/dist/src/errors.d.ts +2 -1
  44. package/dist/src/errors.d.ts.map +1 -1
  45. package/dist/src/errors.js +1 -0
  46. package/dist/src/errors.js.map +1 -1
  47. package/dist/src/fetch/index.d.ts +7 -3
  48. package/dist/src/fetch/index.d.ts.map +1 -1
  49. package/dist/src/fetch/index.js +3 -3
  50. package/dist/src/fetch/index.js.map +1 -1
  51. package/dist/src/fetch/pb/proto.d.ts.map +1 -1
  52. package/dist/src/fetch/pb/proto.js +24 -35
  53. package/dist/src/fetch/pb/proto.js.map +1 -1
  54. package/dist/src/identify/index.d.ts +13 -3
  55. package/dist/src/identify/index.d.ts.map +1 -1
  56. package/dist/src/identify/index.js +41 -41
  57. package/dist/src/identify/index.js.map +1 -1
  58. package/dist/src/identify/pb/message.d.ts.map +1 -1
  59. package/dist/src/identify/pb/message.js +23 -34
  60. package/dist/src/identify/pb/message.js.map +1 -1
  61. package/dist/src/index.d.ts +10 -9
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js.map +1 -1
  64. package/dist/src/insecure/index.d.ts +2 -8
  65. package/dist/src/insecure/index.d.ts.map +1 -1
  66. package/dist/src/insecure/index.js +5 -3
  67. package/dist/src/insecure/index.js.map +1 -1
  68. package/dist/src/insecure/pb/proto.d.ts.map +1 -1
  69. package/dist/src/insecure/pb/proto.js +24 -29
  70. package/dist/src/insecure/pb/proto.js.map +1 -1
  71. package/dist/src/keychain/index.d.ts +6 -2
  72. package/dist/src/keychain/index.d.ts.map +1 -1
  73. package/dist/src/keychain/index.js +19 -19
  74. package/dist/src/keychain/index.js.map +1 -1
  75. package/dist/src/libp2p.d.ts +1 -2
  76. package/dist/src/libp2p.d.ts.map +1 -1
  77. package/dist/src/libp2p.js +48 -71
  78. package/dist/src/libp2p.js.map +1 -1
  79. package/dist/src/nat-manager.d.ts +9 -2
  80. package/dist/src/nat-manager.d.ts.map +1 -1
  81. package/dist/src/nat-manager.js +3 -3
  82. package/dist/src/nat-manager.js.map +1 -1
  83. package/dist/src/peer-record-updater.d.ts +11 -2
  84. package/dist/src/peer-record-updater.d.ts.map +1 -1
  85. package/dist/src/peer-record-updater.js +10 -10
  86. package/dist/src/peer-record-updater.js.map +1 -1
  87. package/dist/src/peer-routing.d.ts +6 -2
  88. package/dist/src/peer-routing.d.ts.map +1 -1
  89. package/dist/src/peer-routing.js +4 -4
  90. package/dist/src/peer-routing.js.map +1 -1
  91. package/dist/src/ping/index.d.ts +7 -3
  92. package/dist/src/ping/index.d.ts.map +1 -1
  93. package/dist/src/ping/index.js +3 -3
  94. package/dist/src/ping/index.js.map +1 -1
  95. package/dist/src/pnet/index.d.ts +2 -17
  96. package/dist/src/pnet/index.d.ts.map +1 -1
  97. package/dist/src/pnet/index.js +4 -1
  98. package/dist/src/pnet/index.js.map +1 -1
  99. package/dist/src/pubsub/dummy-pubsub.d.ts +2 -1
  100. package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -1
  101. package/dist/src/pubsub/dummy-pubsub.js +4 -0
  102. package/dist/src/pubsub/dummy-pubsub.js.map +1 -1
  103. package/dist/src/registrar.d.ts +9 -3
  104. package/dist/src/registrar.d.ts.map +1 -1
  105. package/dist/src/registrar.js +6 -6
  106. package/dist/src/registrar.js.map +1 -1
  107. package/dist/src/transport-manager.d.ts +9 -3
  108. package/dist/src/transport-manager.d.ts.map +1 -1
  109. package/dist/src/transport-manager.js +4 -4
  110. package/dist/src/transport-manager.js.map +1 -1
  111. package/dist/src/upgrader.d.ts +17 -5
  112. package/dist/src/upgrader.d.ts.map +1 -1
  113. package/dist/src/upgrader.js +55 -43
  114. package/dist/src/upgrader.js.map +1 -1
  115. package/package.json +37 -37
  116. package/src/address-manager/index.ts +31 -8
  117. package/src/circuit/auto-relay.ts +15 -15
  118. package/src/circuit/index.ts +16 -5
  119. package/src/circuit/pb/index.ts +29 -35
  120. package/src/circuit/transport.ts +49 -20
  121. package/src/components.ts +332 -0
  122. package/src/connection-manager/auto-dialler.ts +17 -9
  123. package/src/connection-manager/dialer/index.ts +23 -15
  124. package/src/connection-manager/index.ts +139 -47
  125. package/src/content-routing/index.ts +13 -7
  126. package/src/errors.ts +2 -1
  127. package/src/fetch/index.ts +12 -7
  128. package/src/fetch/pb/proto.ts +24 -35
  129. package/src/identify/index.ts +57 -53
  130. package/src/identify/pb/message.ts +23 -35
  131. package/src/index.ts +10 -9
  132. package/src/insecure/index.ts +6 -3
  133. package/src/insecure/pb/proto.ts +24 -29
  134. package/src/keychain/index.ts +27 -22
  135. package/src/libp2p.ts +49 -77
  136. package/src/nat-manager.ts +14 -6
  137. package/src/peer-record-updater.ts +23 -13
  138. package/src/peer-routing.ts +12 -7
  139. package/src/ping/index.ts +12 -7
  140. package/src/pnet/index.ts +5 -1
  141. package/src/pubsub/dummy-pubsub.ts +3 -1
  142. package/src/registrar.ts +17 -10
  143. package/src/transport-manager.ts +15 -8
  144. package/src/upgrader.ts +75 -49
  145. package/src/version.ts +1 -1
  146. package/dist/src/connection-manager/dialer/auto-dialer.d.ts +0 -16
  147. package/dist/src/connection-manager/dialer/auto-dialer.d.ts.map +0 -1
  148. package/dist/src/connection-manager/dialer/auto-dialer.js +0 -43
  149. package/dist/src/connection-manager/dialer/auto-dialer.js.map +0 -1
  150. package/src/connection-manager/dialer/auto-dialer.ts +0 -65
@@ -1,16 +0,0 @@
1
- import type { PeerInfo } from '@libp2p/interface-peer-info';
2
- import type { Components } from '@libp2p/components';
3
- export interface AutoDialerInit {
4
- enabled: boolean;
5
- minConnections: number;
6
- dialTimeout: number;
7
- }
8
- export declare class AutoDialer {
9
- private readonly components;
10
- private readonly enabled;
11
- private readonly minConnections;
12
- private readonly dialTimeout;
13
- constructor(components: Components, init: AutoDialerInit);
14
- handle(evt: CustomEvent<PeerInfo>): void;
15
- }
16
- //# sourceMappingURL=auto-dialer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-dialer.d.ts","sourceRoot":"","sources":["../../../../src/connection-manager/dialer/auto-dialer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAMpD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEvB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc;IAOlD,MAAM,CAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC;CAqC1C"}
@@ -1,43 +0,0 @@
1
- import { logger } from '@libp2p/logger';
2
- import { TimeoutController } from 'timeout-abort-controller';
3
- import { setMaxListeners } from 'events';
4
- const log = logger('libp2p:dialer:auto-dialer');
5
- export class AutoDialer {
6
- constructor(components, init) {
7
- this.components = components;
8
- this.enabled = init.enabled;
9
- this.minConnections = init.minConnections;
10
- this.dialTimeout = init.dialTimeout;
11
- }
12
- handle(evt) {
13
- const { detail: peer } = evt;
14
- if (!this.enabled) {
15
- return;
16
- }
17
- const connections = this.components.getConnectionManager().getConnections(peer.id);
18
- // If auto dialing is on and we have no connection to the peer, check if we should dial
19
- if (connections.length === 0) {
20
- const minConnections = this.minConnections ?? 0;
21
- const allConnections = this.components.getConnectionManager().getConnections();
22
- if (minConnections > allConnections.length) {
23
- log('auto-dialing discovered peer %p with timeout %d', peer.id, this.dialTimeout);
24
- const controller = new TimeoutController(this.dialTimeout);
25
- try {
26
- // fails on node < 15.4
27
- setMaxListeners?.(Infinity, controller.signal);
28
- }
29
- catch { }
30
- void this.components.getConnectionManager().openConnection(peer.id, {
31
- signal: controller.signal
32
- })
33
- .catch(err => {
34
- log.error('could not connect to discovered peer %p with %o', peer.id, err);
35
- })
36
- .finally(() => {
37
- controller.clear();
38
- });
39
- }
40
- }
41
- }
42
- }
43
- //# sourceMappingURL=auto-dialer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-dialer.js","sourceRoot":"","sources":["../../../../src/connection-manager/dialer/auto-dialer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAExC,MAAM,GAAG,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAQ/C,MAAM,OAAO,UAAU;IAMrB,YAAa,UAAsB,EAAE,IAAoB;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACrC,CAAC;IAEM,MAAM,CAAE,GAA0B;QACvC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAM;SACP;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAElF,uFAAuF;QACvF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;YAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,EAAE,CAAA;YAE9E,IAAI,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE;gBAC1C,GAAG,CAAC,iDAAiD,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;gBAEjF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAE1D,IAAI;oBACF,uBAAuB;oBACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;iBAC/C;gBAAC,MAAM,GAAE;gBAEV,KAAK,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE;oBAClE,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC;qBACC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBAC5E,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,UAAU,CAAC,KAAK,EAAE,CAAA;gBACpB,CAAC,CAAC,CAAA;aACL;SACF;IACH,CAAC;CACF"}
@@ -1,65 +0,0 @@
1
- import type { PeerInfo } from '@libp2p/interface-peer-info'
2
- import { logger } from '@libp2p/logger'
3
- import type { Components } from '@libp2p/components'
4
- import { TimeoutController } from 'timeout-abort-controller'
5
- import { setMaxListeners } from 'events'
6
-
7
- const log = logger('libp2p:dialer:auto-dialer')
8
-
9
- export interface AutoDialerInit {
10
- enabled: boolean
11
- minConnections: number
12
- dialTimeout: number
13
- }
14
-
15
- export class AutoDialer {
16
- private readonly components: Components
17
- private readonly enabled: boolean
18
- private readonly minConnections: number
19
- private readonly dialTimeout: number
20
-
21
- constructor (components: Components, init: AutoDialerInit) {
22
- this.components = components
23
- this.enabled = init.enabled
24
- this.minConnections = init.minConnections
25
- this.dialTimeout = init.dialTimeout
26
- }
27
-
28
- public handle (evt: CustomEvent<PeerInfo>) {
29
- const { detail: peer } = evt
30
-
31
- if (!this.enabled) {
32
- return
33
- }
34
-
35
- const connections = this.components.getConnectionManager().getConnections(peer.id)
36
-
37
- // If auto dialing is on and we have no connection to the peer, check if we should dial
38
- if (connections.length === 0) {
39
- const minConnections = this.minConnections ?? 0
40
-
41
- const allConnections = this.components.getConnectionManager().getConnections()
42
-
43
- if (minConnections > allConnections.length) {
44
- log('auto-dialing discovered peer %p with timeout %d', peer.id, this.dialTimeout)
45
-
46
- const controller = new TimeoutController(this.dialTimeout)
47
-
48
- try {
49
- // fails on node < 15.4
50
- setMaxListeners?.(Infinity, controller.signal)
51
- } catch {}
52
-
53
- void this.components.getConnectionManager().openConnection(peer.id, {
54
- signal: controller.signal
55
- })
56
- .catch(err => {
57
- log.error('could not connect to discovered peer %p with %o', peer.id, err)
58
- })
59
- .finally(() => {
60
- controller.clear()
61
- })
62
- }
63
- }
64
- }
65
- }