libp2p 0.46.21 → 1.0.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 (301) hide show
  1. package/README.md +51 -47
  2. package/dist/index.min.js +40 -28
  3. package/dist/src/address-manager/index.d.ts +4 -5
  4. package/dist/src/address-manager/index.d.ts.map +1 -1
  5. package/dist/src/address-manager/index.js +3 -3
  6. package/dist/src/address-manager/index.js.map +1 -1
  7. package/dist/src/components.d.ts +4 -15
  8. package/dist/src/components.d.ts.map +1 -1
  9. package/dist/src/components.js +2 -2
  10. package/dist/src/components.js.map +1 -1
  11. package/dist/src/config/connection-gater.browser.d.ts +1 -1
  12. package/dist/src/config/connection-gater.browser.d.ts.map +1 -1
  13. package/dist/src/config/connection-gater.browser.js.map +1 -1
  14. package/dist/src/config/connection-gater.d.ts +1 -1
  15. package/dist/src/config/connection-gater.d.ts.map +1 -1
  16. package/dist/src/config.d.ts.map +1 -1
  17. package/dist/src/config.js +1 -2
  18. package/dist/src/config.js.map +1 -1
  19. package/dist/src/connection/index.d.ts +4 -6
  20. package/dist/src/connection/index.d.ts.map +1 -1
  21. package/dist/src/connection/index.js +11 -13
  22. package/dist/src/connection/index.js.map +1 -1
  23. package/dist/src/connection-manager/auto-dial.d.ts +3 -6
  24. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  25. package/dist/src/connection-manager/auto-dial.js +21 -21
  26. package/dist/src/connection-manager/auto-dial.js.map +1 -1
  27. package/dist/src/connection-manager/connection-pruner.d.ts +3 -5
  28. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
  29. package/dist/src/connection-manager/connection-pruner.js +8 -8
  30. package/dist/src/connection-manager/connection-pruner.js.map +1 -1
  31. package/dist/src/connection-manager/constants.defaults.d.ts +0 -4
  32. package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
  33. package/dist/src/connection-manager/constants.defaults.js +0 -4
  34. package/dist/src/connection-manager/constants.defaults.js.map +1 -1
  35. package/dist/src/connection-manager/dial-queue.d.ts +3 -10
  36. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  37. package/dist/src/connection-manager/dial-queue.js +30 -38
  38. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  39. package/dist/src/connection-manager/index.d.ts +3 -18
  40. package/dist/src/connection-manager/index.d.ts.map +1 -1
  41. package/dist/src/connection-manager/index.js +17 -18
  42. package/dist/src/connection-manager/index.js.map +1 -1
  43. package/dist/src/connection-manager/utils.js +1 -1
  44. package/dist/src/connection-manager/utils.js.map +1 -1
  45. package/dist/src/content-routing/index.d.ts +1 -5
  46. package/dist/src/content-routing/index.d.ts.map +1 -1
  47. package/dist/src/content-routing/index.js +2 -2
  48. package/dist/src/content-routing/index.js.map +1 -1
  49. package/dist/src/content-routing/utils.d.ts +1 -2
  50. package/dist/src/content-routing/utils.d.ts.map +1 -1
  51. package/dist/src/content-routing/utils.js +1 -1
  52. package/dist/src/content-routing/utils.js.map +1 -1
  53. package/dist/src/errors.d.ts +0 -2
  54. package/dist/src/errors.d.ts.map +1 -1
  55. package/dist/src/errors.js +0 -2
  56. package/dist/src/errors.js.map +1 -1
  57. package/dist/src/get-peer.d.ts +1 -1
  58. package/dist/src/get-peer.d.ts.map +1 -1
  59. package/dist/src/get-peer.js +1 -5
  60. package/dist/src/get-peer.js.map +1 -1
  61. package/dist/src/index.d.ts +5 -16
  62. package/dist/src/index.d.ts.map +1 -1
  63. package/dist/src/index.js.map +1 -1
  64. package/dist/src/libp2p.d.ts +4 -12
  65. package/dist/src/libp2p.d.ts.map +1 -1
  66. package/dist/src/libp2p.js +31 -65
  67. package/dist/src/libp2p.js.map +1 -1
  68. package/dist/src/peer-routing.d.ts +6 -6
  69. package/dist/src/peer-routing.d.ts.map +1 -1
  70. package/dist/src/peer-routing.js +12 -9
  71. package/dist/src/peer-routing.js.map +1 -1
  72. package/dist/src/registrar.d.ts +5 -7
  73. package/dist/src/registrar.d.ts.map +1 -1
  74. package/dist/src/registrar.js +4 -4
  75. package/dist/src/registrar.js.map +1 -1
  76. package/dist/src/transport-manager.d.ts +5 -9
  77. package/dist/src/transport-manager.d.ts.map +1 -1
  78. package/dist/src/transport-manager.js +12 -13
  79. package/dist/src/transport-manager.js.map +1 -1
  80. package/dist/src/upgrader.d.ts +8 -19
  81. package/dist/src/upgrader.d.ts.map +1 -1
  82. package/dist/src/upgrader.js +75 -38
  83. package/dist/src/upgrader.js.map +1 -1
  84. package/dist/src/version.d.ts +1 -1
  85. package/dist/src/version.d.ts.map +1 -1
  86. package/dist/src/version.js +1 -1
  87. package/dist/src/version.js.map +1 -1
  88. package/dist/typedoc-urls.json +8 -69
  89. package/package.json +37 -106
  90. package/src/address-manager/index.ts +6 -9
  91. package/src/components.ts +5 -16
  92. package/src/config/connection-gater.browser.ts +1 -1
  93. package/src/config/connection-gater.ts +1 -1
  94. package/src/config.ts +1 -2
  95. package/src/connection/index.ts +12 -17
  96. package/src/connection-manager/auto-dial.ts +23 -26
  97. package/src/connection-manager/connection-pruner.ts +10 -12
  98. package/src/connection-manager/constants.defaults.ts +0 -5
  99. package/src/connection-manager/dial-queue.ts +31 -46
  100. package/src/connection-manager/index.ts +19 -36
  101. package/src/connection-manager/utils.ts +1 -1
  102. package/src/content-routing/index.ts +3 -7
  103. package/src/content-routing/utils.ts +2 -3
  104. package/src/errors.ts +0 -2
  105. package/src/get-peer.ts +2 -7
  106. package/src/index.ts +6 -17
  107. package/src/libp2p.ts +32 -80
  108. package/src/peer-routing.ts +16 -15
  109. package/src/registrar.ts +8 -12
  110. package/src/transport-manager.ts +15 -22
  111. package/src/upgrader.ts +110 -64
  112. package/src/version.ts +1 -1
  113. package/dist/src/autonat/constants.d.ts +0 -18
  114. package/dist/src/autonat/constants.d.ts.map +0 -1
  115. package/dist/src/autonat/constants.js +0 -18
  116. package/dist/src/autonat/constants.js.map +0 -1
  117. package/dist/src/autonat/index.d.ts +0 -62
  118. package/dist/src/autonat/index.d.ts.map +0 -1
  119. package/dist/src/autonat/index.js +0 -447
  120. package/dist/src/autonat/index.js.map +0 -1
  121. package/dist/src/autonat/pb/index.d.ts +0 -57
  122. package/dist/src/autonat/pb/index.d.ts.map +0 -1
  123. package/dist/src/autonat/pb/index.js +0 -250
  124. package/dist/src/autonat/pb/index.js.map +0 -1
  125. package/dist/src/circuit-relay/constants.d.ts +0 -50
  126. package/dist/src/circuit-relay/constants.d.ts.map +0 -1
  127. package/dist/src/circuit-relay/constants.js +0 -56
  128. package/dist/src/circuit-relay/constants.js.map +0 -1
  129. package/dist/src/circuit-relay/index.d.ts +0 -55
  130. package/dist/src/circuit-relay/index.d.ts.map +0 -1
  131. package/dist/src/circuit-relay/index.js +0 -38
  132. package/dist/src/circuit-relay/index.js.map +0 -1
  133. package/dist/src/circuit-relay/pb/index.d.ts +0 -93
  134. package/dist/src/circuit-relay/pb/index.d.ts.map +0 -1
  135. package/dist/src/circuit-relay/pb/index.js +0 -425
  136. package/dist/src/circuit-relay/pb/index.js.map +0 -1
  137. package/dist/src/circuit-relay/server/advert-service.d.ts +0 -43
  138. package/dist/src/circuit-relay/server/advert-service.d.ts.map +0 -1
  139. package/dist/src/circuit-relay/server/advert-service.js +0 -73
  140. package/dist/src/circuit-relay/server/advert-service.js.map +0 -1
  141. package/dist/src/circuit-relay/server/index.d.ts +0 -65
  142. package/dist/src/circuit-relay/server/index.d.ts.map +0 -1
  143. package/dist/src/circuit-relay/server/index.js +0 -312
  144. package/dist/src/circuit-relay/server/index.js.map +0 -1
  145. package/dist/src/circuit-relay/server/reservation-store.d.ts +0 -49
  146. package/dist/src/circuit-relay/server/reservation-store.d.ts.map +0 -1
  147. package/dist/src/circuit-relay/server/reservation-store.js +0 -65
  148. package/dist/src/circuit-relay/server/reservation-store.js.map +0 -1
  149. package/dist/src/circuit-relay/server/reservation-voucher.d.ts +0 -18
  150. package/dist/src/circuit-relay/server/reservation-voucher.d.ts.map +0 -1
  151. package/dist/src/circuit-relay/server/reservation-voucher.js +0 -36
  152. package/dist/src/circuit-relay/server/reservation-voucher.js.map +0 -1
  153. package/dist/src/circuit-relay/transport/discovery.d.ts +0 -45
  154. package/dist/src/circuit-relay/transport/discovery.d.ts.map +0 -1
  155. package/dist/src/circuit-relay/transport/discovery.js +0 -97
  156. package/dist/src/circuit-relay/transport/discovery.js.map +0 -1
  157. package/dist/src/circuit-relay/transport/index.d.ts +0 -57
  158. package/dist/src/circuit-relay/transport/index.d.ts.map +0 -1
  159. package/dist/src/circuit-relay/transport/index.js +0 -276
  160. package/dist/src/circuit-relay/transport/index.js.map +0 -1
  161. package/dist/src/circuit-relay/transport/listener.d.ts +0 -9
  162. package/dist/src/circuit-relay/transport/listener.d.ts.map +0 -1
  163. package/dist/src/circuit-relay/transport/listener.js +0 -66
  164. package/dist/src/circuit-relay/transport/listener.js.map +0 -1
  165. package/dist/src/circuit-relay/transport/reservation-store.d.ts +0 -72
  166. package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +0 -1
  167. package/dist/src/circuit-relay/transport/reservation-store.js +0 -209
  168. package/dist/src/circuit-relay/transport/reservation-store.js.map +0 -1
  169. package/dist/src/circuit-relay/utils.d.ts +0 -13
  170. package/dist/src/circuit-relay/utils.d.ts.map +0 -1
  171. package/dist/src/circuit-relay/utils.js +0 -108
  172. package/dist/src/circuit-relay/utils.js.map +0 -1
  173. package/dist/src/dcutr/dcutr.d.ts +0 -43
  174. package/dist/src/dcutr/dcutr.d.ts.map +0 -1
  175. package/dist/src/dcutr/dcutr.js +0 -313
  176. package/dist/src/dcutr/dcutr.js.map +0 -1
  177. package/dist/src/dcutr/index.d.ts +0 -92
  178. package/dist/src/dcutr/index.d.ts.map +0 -1
  179. package/dist/src/dcutr/index.js +0 -63
  180. package/dist/src/dcutr/index.js.map +0 -1
  181. package/dist/src/dcutr/pb/message.d.ts +0 -20
  182. package/dist/src/dcutr/pb/message.d.ts.map +0 -1
  183. package/dist/src/dcutr/pb/message.js +0 -77
  184. package/dist/src/dcutr/pb/message.js.map +0 -1
  185. package/dist/src/dcutr/utils.d.ts +0 -8
  186. package/dist/src/dcutr/utils.d.ts.map +0 -1
  187. package/dist/src/dcutr/utils.js +0 -27
  188. package/dist/src/dcutr/utils.js.map +0 -1
  189. package/dist/src/fetch/constants.d.ts +0 -3
  190. package/dist/src/fetch/constants.d.ts.map +0 -1
  191. package/dist/src/fetch/constants.js +0 -4
  192. package/dist/src/fetch/constants.js.map +0 -1
  193. package/dist/src/fetch/index.d.ts +0 -61
  194. package/dist/src/fetch/index.d.ts.map +0 -1
  195. package/dist/src/fetch/index.js +0 -205
  196. package/dist/src/fetch/index.js.map +0 -1
  197. package/dist/src/fetch/pb/proto.d.ts +0 -28
  198. package/dist/src/fetch/pb/proto.d.ts.map +0 -1
  199. package/dist/src/fetch/pb/proto.js +0 -120
  200. package/dist/src/fetch/pb/proto.js.map +0 -1
  201. package/dist/src/identify/consts.d.ts +0 -10
  202. package/dist/src/identify/consts.d.ts.map +0 -1
  203. package/dist/src/identify/consts.js +0 -11
  204. package/dist/src/identify/consts.js.map +0 -1
  205. package/dist/src/identify/identify.d.ts +0 -54
  206. package/dist/src/identify/identify.d.ts.map +0 -1
  207. package/dist/src/identify/identify.js +0 -447
  208. package/dist/src/identify/identify.js.map +0 -1
  209. package/dist/src/identify/index.d.ts +0 -72
  210. package/dist/src/identify/index.d.ts.map +0 -1
  211. package/dist/src/identify/index.js +0 -15
  212. package/dist/src/identify/index.js.map +0 -1
  213. package/dist/src/identify/pb/message.d.ts +0 -17
  214. package/dist/src/identify/pb/message.d.ts.map +0 -1
  215. package/dist/src/identify/pb/message.js +0 -98
  216. package/dist/src/identify/pb/message.js.map +0 -1
  217. package/dist/src/insecure/index.d.ts +0 -26
  218. package/dist/src/insecure/index.d.ts.map +0 -1
  219. package/dist/src/insecure/index.js +0 -110
  220. package/dist/src/insecure/index.js.map +0 -1
  221. package/dist/src/insecure/pb/proto.d.ts +0 -30
  222. package/dist/src/insecure/pb/proto.d.ts.map +0 -1
  223. package/dist/src/insecure/pb/proto.js +0 -127
  224. package/dist/src/insecure/pb/proto.js.map +0 -1
  225. package/dist/src/ping/constants.d.ts +0 -9
  226. package/dist/src/ping/constants.d.ts.map +0 -1
  227. package/dist/src/ping/constants.js +0 -15
  228. package/dist/src/ping/constants.js.map +0 -1
  229. package/dist/src/ping/index.d.ts +0 -24
  230. package/dist/src/ping/index.d.ts.map +0 -1
  231. package/dist/src/ping/index.js +0 -115
  232. package/dist/src/ping/index.js.map +0 -1
  233. package/dist/src/pnet/crypto.d.ts +0 -18
  234. package/dist/src/pnet/crypto.d.ts.map +0 -1
  235. package/dist/src/pnet/crypto.js +0 -60
  236. package/dist/src/pnet/crypto.js.map +0 -1
  237. package/dist/src/pnet/errors.d.ts +0 -6
  238. package/dist/src/pnet/errors.d.ts.map +0 -1
  239. package/dist/src/pnet/errors.js +0 -6
  240. package/dist/src/pnet/errors.js.map +0 -1
  241. package/dist/src/pnet/index.d.ts +0 -31
  242. package/dist/src/pnet/index.d.ts.map +0 -1
  243. package/dist/src/pnet/index.js +0 -97
  244. package/dist/src/pnet/index.js.map +0 -1
  245. package/dist/src/pnet/key-generator.d.ts +0 -11
  246. package/dist/src/pnet/key-generator.d.ts.map +0 -1
  247. package/dist/src/pnet/key-generator.js +0 -22
  248. package/dist/src/pnet/key-generator.js.map +0 -1
  249. package/dist/src/upnp-nat/index.d.ts +0 -71
  250. package/dist/src/upnp-nat/index.d.ts.map +0 -1
  251. package/dist/src/upnp-nat/index.js +0 -136
  252. package/dist/src/upnp-nat/index.js.map +0 -1
  253. package/dist/src/utils/peer-job-queue.d.ts +0 -33
  254. package/dist/src/utils/peer-job-queue.d.ts.map +0 -1
  255. package/dist/src/utils/peer-job-queue.js +0 -82
  256. package/dist/src/utils/peer-job-queue.js.map +0 -1
  257. package/src/autonat/constants.ts +0 -19
  258. package/src/autonat/index.ts +0 -597
  259. package/src/autonat/pb/index.proto +0 -35
  260. package/src/autonat/pb/index.ts +0 -320
  261. package/src/circuit-relay/constants.ts +0 -72
  262. package/src/circuit-relay/index.ts +0 -59
  263. package/src/circuit-relay/pb/index.proto +0 -67
  264. package/src/circuit-relay/pb/index.ts +0 -539
  265. package/src/circuit-relay/server/advert-service.ts +0 -108
  266. package/src/circuit-relay/server/index.ts +0 -443
  267. package/src/circuit-relay/server/reservation-store.ts +0 -116
  268. package/src/circuit-relay/server/reservation-voucher.ts +0 -51
  269. package/src/circuit-relay/transport/discovery.ts +0 -136
  270. package/src/circuit-relay/transport/index.ts +0 -396
  271. package/src/circuit-relay/transport/listener.ts +0 -97
  272. package/src/circuit-relay/transport/reservation-store.ts +0 -312
  273. package/src/circuit-relay/utils.ts +0 -136
  274. package/src/dcutr/dcutr.ts +0 -378
  275. package/src/dcutr/index.ts +0 -102
  276. package/src/dcutr/pb/message.proto +0 -12
  277. package/src/dcutr/pb/message.ts +0 -96
  278. package/src/dcutr/utils.ts +0 -33
  279. package/src/fetch/README.md +0 -41
  280. package/src/fetch/constants.ts +0 -3
  281. package/src/fetch/index.ts +0 -315
  282. package/src/fetch/pb/proto.proto +0 -15
  283. package/src/fetch/pb/proto.ts +0 -153
  284. package/src/identify/README.md +0 -13
  285. package/src/identify/consts.ts +0 -12
  286. package/src/identify/identify.ts +0 -561
  287. package/src/identify/index.ts +0 -90
  288. package/src/identify/pb/message.proto +0 -30
  289. package/src/identify/pb/message.ts +0 -126
  290. package/src/insecure/index.ts +0 -138
  291. package/src/insecure/pb/proto.proto +0 -18
  292. package/src/insecure/pb/proto.ts +0 -161
  293. package/src/ping/constants.ts +0 -15
  294. package/src/ping/index.ts +0 -170
  295. package/src/pnet/README.md +0 -68
  296. package/src/pnet/crypto.ts +0 -67
  297. package/src/pnet/errors.ts +0 -5
  298. package/src/pnet/index.ts +0 -126
  299. package/src/pnet/key-generator.ts +0 -23
  300. package/src/upnp-nat/index.ts +0 -212
  301. package/src/utils/peer-job-queue.ts +0 -119
package/src/registrar.ts CHANGED
@@ -1,16 +1,9 @@
1
- import { CodeError } from '@libp2p/interface/errors'
2
- import { logger } from '@libp2p/logger'
1
+ import { CodeError } from '@libp2p/interface'
3
2
  import merge from 'merge-options'
4
3
  import { codes } from './errors.js'
5
- import type { IdentifyResult, Libp2pEvents, PeerUpdate } from '@libp2p/interface'
6
- import type { TypedEventTarget } from '@libp2p/interface/events'
7
- import type { PeerId } from '@libp2p/interface/peer-id'
8
- import type { PeerStore } from '@libp2p/interface/peer-store'
9
- import type { Topology } from '@libp2p/interface/topology'
10
- import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
11
- import type { StreamHandlerOptions, StreamHandlerRecord, Registrar, StreamHandler } from '@libp2p/interface-internal/registrar'
12
-
13
- const log = logger('libp2p:registrar')
4
+ import type { IdentifyResult, Libp2pEvents, Logger, PeerUpdate, TypedEventTarget, PeerId, PeerStore, Topology } from '@libp2p/interface'
5
+ import type { ConnectionManager, StreamHandlerOptions, StreamHandlerRecord, Registrar, StreamHandler } from '@libp2p/interface-internal'
6
+ import type { ComponentLogger } from '@libp2p/logger'
14
7
 
15
8
  export const DEFAULT_MAX_INBOUND_STREAMS = 32
16
9
  export const DEFAULT_MAX_OUTBOUND_STREAMS = 64
@@ -20,17 +13,20 @@ export interface RegistrarComponents {
20
13
  connectionManager: ConnectionManager
21
14
  peerStore: PeerStore
22
15
  events: TypedEventTarget<Libp2pEvents>
16
+ logger: ComponentLogger
23
17
  }
24
18
 
25
19
  /**
26
20
  * Responsible for notifying registered protocols of events in the network.
27
21
  */
28
22
  export class DefaultRegistrar implements Registrar {
23
+ private readonly log: Logger
29
24
  private readonly topologies: Map<string, Map<string, Topology>>
30
25
  private readonly handlers: Map<string, StreamHandlerRecord>
31
26
  private readonly components: RegistrarComponents
32
27
 
33
28
  constructor (components: RegistrarComponents) {
29
+ this.log = components.logger.forComponent('libp2p:registrar')
34
30
  this.topologies = new Map()
35
31
  this.handlers = new Map()
36
32
  this.components = components
@@ -178,7 +174,7 @@ export class DefaultRegistrar implements Registrar {
178
174
  return
179
175
  }
180
176
 
181
- log.error('could not inform topologies of disconnecting peer %p', remotePeer, err)
177
+ this.log.error('could not inform topologies of disconnecting peer %p', remotePeer, err)
182
178
  })
183
179
  }
184
180
 
@@ -1,20 +1,10 @@
1
- import { CodeError } from '@libp2p/interface/errors'
2
- import { trackedMap } from '@libp2p/interface/metrics/tracked-map'
3
- import { FaultTolerance } from '@libp2p/interface/transport'
4
- import { logger } from '@libp2p/logger'
1
+ import { CodeError, FaultTolerance } from '@libp2p/interface'
2
+ import { trackedMap } from '@libp2p/utils/tracked-map'
5
3
  import { codes } from './errors.js'
6
- import type { Libp2pEvents, AbortOptions } from '@libp2p/interface'
7
- import type { Connection } from '@libp2p/interface/connection'
8
- import type { TypedEventTarget } from '@libp2p/interface/events'
9
- import type { Metrics } from '@libp2p/interface/metrics'
10
- import type { Startable } from '@libp2p/interface/startable'
11
- import type { Listener, Transport, Upgrader } from '@libp2p/interface/transport'
12
- import type { AddressManager } from '@libp2p/interface-internal/address-manager'
13
- import type { TransportManager } from '@libp2p/interface-internal/transport-manager'
4
+ import type { Libp2pEvents, AbortOptions, ComponentLogger, Logger, Connection, TypedEventTarget, Metrics, Startable, Listener, Transport, Upgrader } from '@libp2p/interface'
5
+ import type { AddressManager, TransportManager } from '@libp2p/interface-internal'
14
6
  import type { Multiaddr } from '@multiformats/multiaddr'
15
7
 
16
- const log = logger('libp2p:transports')
17
-
18
8
  export interface TransportManagerInit {
19
9
  faultTolerance?: FaultTolerance
20
10
  }
@@ -24,9 +14,11 @@ export interface DefaultTransportManagerComponents {
24
14
  addressManager: AddressManager
25
15
  upgrader: Upgrader
26
16
  events: TypedEventTarget<Libp2pEvents>
17
+ logger: ComponentLogger
27
18
  }
28
19
 
29
20
  export class DefaultTransportManager implements TransportManager, Startable {
21
+ private readonly log: Logger
30
22
  private readonly components: DefaultTransportManagerComponents
31
23
  private readonly transports: Map<string, Transport>
32
24
  private readonly listeners: Map<string, Listener[]>
@@ -34,6 +26,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
34
26
  private started: boolean
35
27
 
36
28
  constructor (components: DefaultTransportManagerComponents, init: TransportManagerInit = {}) {
29
+ this.log = components.logger.forComponent('libp2p:transports')
37
30
  this.components = components
38
31
  this.started = false
39
32
  this.transports = new Map<string, Transport>()
@@ -58,7 +51,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
58
51
  throw new CodeError(`There is already a transport with the tag ${tag}`, codes.ERR_DUPLICATE_TRANSPORT)
59
52
  }
60
53
 
61
- log('adding transport %s', tag)
54
+ this.log('adding transport %s', tag)
62
55
 
63
56
  this.transports.set(tag, transport)
64
57
 
@@ -88,7 +81,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
88
81
  async stop (): Promise<void> {
89
82
  const tasks = []
90
83
  for (const [key, listeners] of this.listeners) {
91
- log('closing listeners for %s', key)
84
+ this.log('closing listeners for %s', key)
92
85
  while (listeners.length > 0) {
93
86
  const listener = listeners.pop()
94
87
 
@@ -101,7 +94,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
101
94
  }
102
95
 
103
96
  await Promise.all(tasks)
104
- log('all listeners closed')
97
+ this.log('all listeners closed')
105
98
  for (const key of this.listeners.keys()) {
106
99
  this.listeners.set(key, [])
107
100
  }
@@ -182,7 +175,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
182
175
  }
183
176
 
184
177
  if (addrs == null || addrs.length === 0) {
185
- log('no addresses were provided for listening, this node is dial only')
178
+ this.log('no addresses were provided for listening, this node is dial only')
186
179
  return
187
180
  }
188
181
 
@@ -194,7 +187,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
194
187
 
195
188
  // For each supported multiaddr, create a listener
196
189
  for (const addr of supportedAddrs) {
197
- log('creating listener for %s on %a', key, addr)
190
+ this.log('creating listener for %s on %a', key, addr)
198
191
  const listener = transport.createListener({
199
192
  upgrader: this.components.upgrader
200
193
  })
@@ -253,7 +246,7 @@ export class DefaultTransportManager implements TransportManager, Startable {
253
246
  if (this.faultTolerance === FaultTolerance.FATAL_ALL) {
254
247
  throw new CodeError(message, codes.ERR_NO_VALID_ADDRESSES)
255
248
  }
256
- log(`libp2p in dial mode only: ${message}`)
249
+ this.log(`libp2p in dial mode only: ${message}`)
257
250
  }
258
251
  }
259
252
 
@@ -263,11 +256,11 @@ export class DefaultTransportManager implements TransportManager, Startable {
263
256
  */
264
257
  async remove (key: string): Promise<void> {
265
258
  const listeners = this.listeners.get(key) ?? []
266
- log.trace('removing transport %s', key)
259
+ this.log.trace('removing transport %s', key)
267
260
 
268
261
  // Close any running listeners
269
262
  const tasks = []
270
- log.trace('closing listeners for %s', key)
263
+ this.log.trace('closing listeners for %s', key)
271
264
  while (listeners.length > 0) {
272
265
  const listener = listeners.pop()
273
266
 
package/src/upgrader.ts CHANGED
@@ -1,24 +1,12 @@
1
- import { CodeError } from '@libp2p/interface/errors'
2
- import { setMaxListeners } from '@libp2p/interface/events'
1
+ import { CodeError, ERR_TIMEOUT, setMaxListeners } from '@libp2p/interface'
3
2
  import * as mss from '@libp2p/multistream-select'
4
3
  import { peerIdFromString } from '@libp2p/peer-id'
5
4
  import { createConnection } from './connection/index.js'
6
5
  import { INBOUND_UPGRADE_TIMEOUT } from './connection-manager/constants.js'
7
6
  import { codes } from './errors.js'
8
7
  import { DEFAULT_MAX_INBOUND_STREAMS, DEFAULT_MAX_OUTBOUND_STREAMS } from './registrar.js'
9
- import type { Libp2pEvents, AbortOptions, ComponentLogger, Logger } from '@libp2p/interface'
10
- import type { MultiaddrConnection, Connection, Stream, ConnectionProtector, NewStreamOptions } from '@libp2p/interface/connection'
11
- import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface/connection-encrypter'
12
- import type { ConnectionGater } from '@libp2p/interface/connection-gater'
13
- import type { TypedEventTarget } from '@libp2p/interface/events'
14
- import type { Metrics } from '@libp2p/interface/metrics'
15
- import type { PeerId } from '@libp2p/interface/peer-id'
16
- import type { PeerStore } from '@libp2p/interface/peer-store'
17
- import type { StreamMuxer, StreamMuxerFactory } from '@libp2p/interface/stream-muxer'
18
- import type { Upgrader, UpgraderOptions } from '@libp2p/interface/transport'
19
- import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
20
- import type { Registrar } from '@libp2p/interface-internal/registrar'
21
- import type { Duplex, Source } from 'it-stream-types'
8
+ import type { Libp2pEvents, AbortOptions, ComponentLogger, Logger, MultiaddrConnection, Connection, Stream, ConnectionProtector, NewStreamOptions, ConnectionEncrypter, SecuredConnection, ConnectionGater, TypedEventTarget, Metrics, PeerId, PeerStore, StreamMuxer, StreamMuxerFactory, Upgrader, UpgraderOptions } from '@libp2p/interface'
9
+ import type { ConnectionManager, Registrar } from '@libp2p/interface-internal'
22
10
 
23
11
  const DEFAULT_PROTOCOL_SELECT_TIMEOUT = 30000
24
12
 
@@ -26,7 +14,7 @@ interface CreateConnectionOptions {
26
14
  cryptoProtocol: string
27
15
  direction: 'inbound' | 'outbound'
28
16
  maConn: MultiaddrConnection
29
- upgradedConn: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>
17
+ upgradedConn: MultiaddrConnection
30
18
  remotePeer: PeerId
31
19
  muxerFactory?: StreamMuxerFactory
32
20
  transient?: boolean
@@ -38,7 +26,7 @@ interface OnStreamOptions {
38
26
  protocol: string
39
27
  }
40
28
 
41
- export interface CryptoResult extends SecuredConnection {
29
+ export interface CryptoResult extends SecuredConnection<MultiaddrConnection> {
42
30
  protocol: string
43
31
  }
44
32
 
@@ -107,8 +95,6 @@ export interface DefaultUpgraderComponents {
107
95
  logger: ComponentLogger
108
96
  }
109
97
 
110
- type EncryptedConn = Duplex<AsyncGenerator<Uint8Array, any, unknown>, Source<Uint8Array>, Promise<void>>
111
-
112
98
  type ConnectionDeniedType = keyof Pick<ConnectionGater, 'denyOutboundConnection' | 'denyInboundEncryptedConnection' | 'denyOutboundEncryptedConnection' | 'denyInboundUpgradedConnection' | 'denyOutboundUpgradedConnection'>
113
99
 
114
100
  export class DefaultUpgrader implements Upgrader {
@@ -117,12 +103,12 @@ export class DefaultUpgrader implements Upgrader {
117
103
  private readonly muxers: Map<string, StreamMuxerFactory>
118
104
  private readonly inboundUpgradeTimeout: number
119
105
  private readonly events: TypedEventTarget<Libp2pEvents>
120
- readonly #log: Logger
106
+ private readonly log: Logger
121
107
 
122
108
  constructor (components: DefaultUpgraderComponents, init: UpgraderInit) {
123
109
  this.components = components
124
110
  this.connectionEncryption = new Map()
125
- this.#log = components.logger.forComponent('libp2p:upgrader')
111
+ this.log = components.logger.forComponent('libp2p:upgrader')
126
112
 
127
113
  init.connectionEncryption.forEach(encrypter => {
128
114
  this.connectionEncryption.set(encrypter.protocol, encrypter)
@@ -158,16 +144,16 @@ export class DefaultUpgrader implements Upgrader {
158
144
  throw new CodeError('connection denied', codes.ERR_CONNECTION_DENIED)
159
145
  }
160
146
 
161
- let encryptedConn: EncryptedConn
147
+ let encryptedConn: MultiaddrConnection
162
148
  let remotePeer
163
- let upgradedConn: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>
149
+ let upgradedConn: MultiaddrConnection
164
150
  let muxerFactory: StreamMuxerFactory | undefined
165
151
  let cryptoProtocol
166
152
 
167
153
  const signal = AbortSignal.timeout(this.inboundUpgradeTimeout)
168
154
 
169
155
  const onAbort = (): void => {
170
- maConn.abort(new CodeError('inbound upgrade timeout', codes.ERR_TIMEOUT))
156
+ maConn.abort(new CodeError('inbound upgrade timeout', ERR_TIMEOUT))
171
157
  }
172
158
 
173
159
  signal.addEventListener('abort', onAbort, { once: true })
@@ -181,7 +167,7 @@ export class DefaultUpgrader implements Upgrader {
181
167
 
182
168
  this.components.metrics?.trackMultiaddrConnection(maConn)
183
169
 
184
- this.#log('starting the inbound connection upgrade')
170
+ this.log('starting the inbound connection upgrade')
185
171
 
186
172
  // Protect
187
173
  let protectedConn = maConn
@@ -190,7 +176,7 @@ export class DefaultUpgrader implements Upgrader {
190
176
  const protector = this.components.connectionProtector
191
177
 
192
178
  if (protector != null) {
193
- this.#log('protecting the inbound connection')
179
+ this.log('protecting the inbound connection')
194
180
  protectedConn = await protector.protect(maConn)
195
181
  }
196
182
  }
@@ -237,13 +223,13 @@ export class DefaultUpgrader implements Upgrader {
237
223
  upgradedConn = multiplexed.stream
238
224
  }
239
225
  } catch (err: any) {
240
- this.#log.error('Failed to upgrade inbound connection', err)
226
+ this.log.error('Failed to upgrade inbound connection', err)
241
227
  throw err
242
228
  }
243
229
 
244
230
  await this.shouldBlockConnection(remotePeer, maConn, 'denyInboundUpgradedConnection')
245
231
 
246
- this.#log('Successfully upgraded inbound connection')
232
+ this.log('successfully upgraded inbound connection')
247
233
 
248
234
  return this._createConnection({
249
235
  cryptoProtocol,
@@ -274,15 +260,15 @@ export class DefaultUpgrader implements Upgrader {
274
260
  await this.shouldBlockConnection(remotePeerId, maConn, 'denyOutboundConnection')
275
261
  }
276
262
 
277
- let encryptedConn
263
+ let encryptedConn: MultiaddrConnection
278
264
  let remotePeer: PeerId
279
- let upgradedConn: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>
265
+ let upgradedConn: MultiaddrConnection
280
266
  let cryptoProtocol
281
267
  let muxerFactory
282
268
 
283
269
  this.components.metrics?.trackMultiaddrConnection(maConn)
284
270
 
285
- this.#log('Starting the outbound connection upgrade')
271
+ this.log('Starting the outbound connection upgrade')
286
272
 
287
273
  // If the transport natively supports encryption, skip connection
288
274
  // protector and encryption
@@ -335,14 +321,14 @@ export class DefaultUpgrader implements Upgrader {
335
321
  upgradedConn = multiplexed.stream
336
322
  }
337
323
  } catch (err: any) {
338
- this.#log.error('Failed to upgrade outbound connection', err)
324
+ this.log.error('Failed to upgrade outbound connection', err)
339
325
  await maConn.close(err)
340
326
  throw err
341
327
  }
342
328
 
343
329
  await this.shouldBlockConnection(remotePeer, maConn, 'denyOutboundUpgradedConnection')
344
330
 
345
- this.#log('Successfully upgraded outbound connection')
331
+ this.log('Successfully upgraded outbound connection')
346
332
 
347
333
  return this._createConnection({
348
334
  cryptoProtocol,
@@ -386,13 +372,17 @@ export class DefaultUpgrader implements Upgrader {
386
372
  void Promise.resolve()
387
373
  .then(async () => {
388
374
  const protocols = this.components.registrar.getProtocols()
389
- const { stream, protocol } = await mss.handle(muxedStream, protocols)
390
- this.#log('%s: incoming stream opened on %s', direction, protocol)
375
+ const { stream, protocol } = await mss.handle(muxedStream, protocols, {
376
+ log: muxedStream.log,
377
+ yieldBytes: false
378
+ })
391
379
 
392
380
  if (connection == null) {
393
381
  return
394
382
  }
395
383
 
384
+ connection.log('incoming stream opened on %s', protocol)
385
+
396
386
  const incomingLimit = findIncomingStreamLimit(protocol, this.components.registrar)
397
387
  const streamCount = countStreams(protocol, 'inbound', connection)
398
388
 
@@ -409,6 +399,21 @@ export class DefaultUpgrader implements Upgrader {
409
399
  muxedStream.sink = stream.sink
410
400
  muxedStream.protocol = protocol
411
401
 
402
+ // allow closing the write end of a not-yet-negotiated stream
403
+ if (stream.closeWrite != null) {
404
+ muxedStream.closeWrite = stream.closeWrite
405
+ }
406
+
407
+ // allow closing the read end of a not-yet-negotiated stream
408
+ if (stream.closeRead != null) {
409
+ muxedStream.closeRead = stream.closeRead
410
+ }
411
+
412
+ // make sure we don't try to negotiate a stream we are closing
413
+ if (stream.close != null) {
414
+ muxedStream.close = stream.close
415
+ }
416
+
412
417
  // If a protocol stream has been successfully negotiated and is to be passed to the application,
413
418
  // the peerstore should ensure that the peer is registered with that protocol
414
419
  await this.components.peerStore.merge(remotePeer, {
@@ -420,7 +425,7 @@ export class DefaultUpgrader implements Upgrader {
420
425
  this._onStream({ connection, stream: muxedStream, protocol })
421
426
  })
422
427
  .catch(async err => {
423
- this.#log.error(err)
428
+ this.log.error('error handling incoming stream id %s', muxedStream.id, err.message, err.code, err.stack)
424
429
 
425
430
  if (muxedStream.timeline.close == null) {
426
431
  await muxedStream.close()
@@ -434,12 +439,13 @@ export class DefaultUpgrader implements Upgrader {
434
439
  throw new CodeError('Stream is not multiplexed', codes.ERR_MUXER_UNAVAILABLE)
435
440
  }
436
441
 
437
- this.#log('%s-%s: starting new stream on %s', connection.id, direction, protocols)
442
+ connection.log('starting new stream for protocols %s', protocols)
438
443
  const muxedStream = await muxer.newStream()
444
+ connection.log.trace('started new stream %s for protocols %s', muxedStream.id, protocols)
439
445
 
440
446
  try {
441
447
  if (options.signal == null) {
442
- this.#log('No abort signal was passed while trying to negotiate protocols %s falling back to default timeout', protocols)
448
+ this.log('No abort signal was passed while trying to negotiate protocols %s falling back to default timeout', protocols)
443
449
 
444
450
  const signal = AbortSignal.timeout(DEFAULT_PROTOCOL_SELECT_TIMEOUT)
445
451
  setMaxListeners(Infinity, signal)
@@ -450,7 +456,18 @@ export class DefaultUpgrader implements Upgrader {
450
456
  }
451
457
  }
452
458
 
453
- const { stream, protocol } = await mss.select(muxedStream, protocols, options)
459
+ muxedStream.log.trace('selecting protocol from protocols %s', protocols)
460
+
461
+ const {
462
+ stream,
463
+ protocol
464
+ } = await mss.select(muxedStream, protocols, {
465
+ ...options,
466
+ log: muxedStream.log,
467
+ yieldBytes: true
468
+ })
469
+
470
+ muxedStream.log('selected protocol %s', protocol)
454
471
 
455
472
  const outgoingLimit = findOutgoingStreamLimit(protocol, this.components.registrar, options)
456
473
  const streamCount = countStreams(protocol, 'outbound', connection)
@@ -474,11 +491,26 @@ export class DefaultUpgrader implements Upgrader {
474
491
  muxedStream.sink = stream.sink
475
492
  muxedStream.protocol = protocol
476
493
 
494
+ // allow closing the write end of a not-yet-negotiated stream
495
+ if (stream.closeWrite != null) {
496
+ muxedStream.closeWrite = stream.closeWrite
497
+ }
498
+
499
+ // allow closing the read end of a not-yet-negotiated stream
500
+ if (stream.closeRead != null) {
501
+ muxedStream.closeRead = stream.closeRead
502
+ }
503
+
504
+ // make sure we don't try to negotiate a stream we are closing
505
+ if (stream.close != null) {
506
+ muxedStream.close = stream.close
507
+ }
508
+
477
509
  this.components.metrics?.trackProtocolStream(muxedStream, connection)
478
510
 
479
511
  return muxedStream
480
512
  } catch (err: any) {
481
- this.#log.error('could not create new stream for protocols %s on connection with address %a', protocols, connection.remoteAddr, err)
513
+ connection.log.error('could not create new stream for protocols %s', protocols, err)
482
514
 
483
515
  if (muxedStream.timeline.close == null) {
484
516
  muxedStream.abort(err)
@@ -497,7 +529,7 @@ export class DefaultUpgrader implements Upgrader {
497
529
  muxer.sink(upgradedConn.source),
498
530
  upgradedConn.sink(muxer.source)
499
531
  ]).catch(err => {
500
- this.#log.error(err)
532
+ this.log.error(err)
501
533
  })
502
534
  }
503
535
 
@@ -512,14 +544,14 @@ export class DefaultUpgrader implements Upgrader {
512
544
  await connection.close()
513
545
  }
514
546
  } catch (err: any) {
515
- this.#log.error(err)
547
+ this.log.error(err)
516
548
  } finally {
517
549
  this.events.safeDispatchEvent('connection:close', {
518
550
  detail: connection
519
551
  })
520
552
  }
521
553
  })().catch(err => {
522
- this.#log.error(err)
554
+ this.log.error(err)
523
555
  })
524
556
  }
525
557
 
@@ -548,14 +580,14 @@ export class DefaultUpgrader implements Upgrader {
548
580
  close: async (options?: AbortOptions) => {
549
581
  // Ensure remaining streams are closed gracefully
550
582
  if (muxer != null) {
551
- this.#log.trace('close muxer')
583
+ this.log.trace('close muxer')
552
584
  await muxer.close(options)
553
585
  }
554
586
 
555
- this.#log.trace('close maconn')
587
+ this.log.trace('close maconn')
556
588
  // close the underlying transport
557
589
  await maConn.close(options)
558
- this.#log.trace('closed maconn')
590
+ this.log.trace('closed maconn')
559
591
  },
560
592
  abort: (err) => {
561
593
  maConn.abort(err)
@@ -590,13 +622,13 @@ export class DefaultUpgrader implements Upgrader {
590
622
  /**
591
623
  * Attempts to encrypt the incoming `connection` with the provided `cryptos`
592
624
  */
593
- async _encryptInbound (connection: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>>): Promise<CryptoResult> {
625
+ async _encryptInbound (connection: MultiaddrConnection): Promise<CryptoResult> {
594
626
  const protocols = Array.from(this.connectionEncryption.keys())
595
- this.#log('handling inbound crypto protocol selection', protocols)
627
+ this.log('handling inbound crypto protocol selection', protocols)
596
628
 
597
629
  try {
598
630
  const { stream, protocol } = await mss.handle(connection, protocols, {
599
- writeBytes: true
631
+ log: connection.log
600
632
  })
601
633
  const encrypter = this.connectionEncryption.get(protocol)
602
634
 
@@ -604,7 +636,7 @@ export class DefaultUpgrader implements Upgrader {
604
636
  throw new Error(`no crypto module found for ${protocol}`)
605
637
  }
606
638
 
607
- this.#log('encrypting inbound connection...')
639
+ this.log('encrypting inbound connection using', protocol)
608
640
 
609
641
  return {
610
642
  ...await encrypter.secureInbound(this.components.peerId, stream),
@@ -621,19 +653,26 @@ export class DefaultUpgrader implements Upgrader {
621
653
  */
622
654
  async _encryptOutbound (connection: MultiaddrConnection, remotePeerId?: PeerId): Promise<CryptoResult> {
623
655
  const protocols = Array.from(this.connectionEncryption.keys())
624
- this.#log('selecting outbound crypto protocol', protocols)
656
+ this.log('selecting outbound crypto protocol', protocols)
625
657
 
626
658
  try {
627
- const { stream, protocol } = await mss.select(connection, protocols, {
628
- writeBytes: true
659
+ connection.log.trace('selecting encrypter from %s', protocols)
660
+
661
+ const {
662
+ stream,
663
+ protocol
664
+ } = await mss.select(connection, protocols, {
665
+ log: connection.log,
666
+ yieldBytes: true
629
667
  })
668
+
630
669
  const encrypter = this.connectionEncryption.get(protocol)
631
670
 
632
671
  if (encrypter == null) {
633
672
  throw new Error(`no crypto module found for ${protocol}`)
634
673
  }
635
674
 
636
- this.#log('encrypting outbound connection to %p', remotePeerId)
675
+ connection.log('encrypting outbound connection to %p using %p', remotePeerId)
637
676
 
638
677
  return {
639
678
  ...await encrypter.secureOutbound(this.components.peerId, stream, remotePeerId),
@@ -648,19 +687,26 @@ export class DefaultUpgrader implements Upgrader {
648
687
  * Selects one of the given muxers via multistream-select. That
649
688
  * muxer will be used for all future streams on the connection.
650
689
  */
651
- async _multiplexOutbound (connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{ stream: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>, muxerFactory?: StreamMuxerFactory }> {
690
+ async _multiplexOutbound (connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{ stream: MultiaddrConnection, muxerFactory?: StreamMuxerFactory }> {
652
691
  const protocols = Array.from(muxers.keys())
653
- this.#log('outbound selecting muxer %s', protocols)
692
+ this.log('outbound selecting muxer %s', protocols)
654
693
  try {
655
- const { stream, protocol } = await mss.select(connection, protocols, {
656
- writeBytes: true
694
+ connection.log.trace('selecting stream muxer from %s', protocols)
695
+
696
+ const {
697
+ stream,
698
+ protocol
699
+ } = await mss.select(connection, protocols, {
700
+ log: connection.log,
701
+ yieldBytes: true
657
702
  })
658
- this.#log('%s selected as muxer protocol', protocol)
703
+
704
+ connection.log('selected %s as muxer protocol', protocol)
659
705
  const muxerFactory = muxers.get(protocol)
660
706
 
661
707
  return { stream, muxerFactory }
662
708
  } catch (err: any) {
663
- this.#log.error('error multiplexing outbound stream', err)
709
+ connection.log.error('error multiplexing outbound stream', err)
664
710
  throw new CodeError(String(err), codes.ERR_MUXER_UNAVAILABLE)
665
711
  }
666
712
  }
@@ -669,18 +715,18 @@ export class DefaultUpgrader implements Upgrader {
669
715
  * Registers support for one of the given muxers via multistream-select. The
670
716
  * selected muxer will be used for all future streams on the connection.
671
717
  */
672
- async _multiplexInbound (connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{ stream: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>, muxerFactory?: StreamMuxerFactory }> {
718
+ async _multiplexInbound (connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{ stream: MultiaddrConnection, muxerFactory?: StreamMuxerFactory }> {
673
719
  const protocols = Array.from(muxers.keys())
674
- this.#log('inbound handling muxers %s', protocols)
720
+ this.log('inbound handling muxers %s', protocols)
675
721
  try {
676
722
  const { stream, protocol } = await mss.handle(connection, protocols, {
677
- writeBytes: true
723
+ log: connection.log
678
724
  })
679
725
  const muxerFactory = muxers.get(protocol)
680
726
 
681
727
  return { stream, muxerFactory }
682
728
  } catch (err: any) {
683
- this.#log.error('error multiplexing inbound stream', err)
729
+ this.log.error('error multiplexing inbound stream', err)
684
730
  throw new CodeError(String(err), codes.ERR_MUXER_UNAVAILABLE)
685
731
  }
686
732
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.46.21'
1
+ export const version = '1.0.0'
2
2
  export const name = 'libp2p'
@@ -1,18 +0,0 @@
1
- /**
2
- * The prefix to use in the protocol
3
- */
4
- export declare const PROTOCOL_PREFIX = "libp2p";
5
- /**
6
- * The name to use in the protocol
7
- */
8
- export declare const PROTOCOL_NAME = "autonat";
9
- /**
10
- * The version to use in the protocol
11
- */
12
- export declare const PROTOCOL_VERSION = "1.0.0";
13
- export declare const TIMEOUT = 30000;
14
- export declare const STARTUP_DELAY = 5000;
15
- export declare const REFRESH_INTERVAL = 60000;
16
- export declare const MAX_INBOUND_STREAMS = 1;
17
- export declare const MAX_OUTBOUND_STREAMS = 1;
18
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/autonat/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe,WAAW,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,aAAa,YAAY,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAA;AACvC,eAAO,MAAM,OAAO,QAAQ,CAAA;AAC5B,eAAO,MAAM,aAAa,OAAO,CAAA;AACjC,eAAO,MAAM,gBAAgB,QAAQ,CAAA;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,eAAO,MAAM,oBAAoB,IAAI,CAAA"}
@@ -1,18 +0,0 @@
1
- /**
2
- * The prefix to use in the protocol
3
- */
4
- export const PROTOCOL_PREFIX = 'libp2p';
5
- /**
6
- * The name to use in the protocol
7
- */
8
- export const PROTOCOL_NAME = 'autonat';
9
- /**
10
- * The version to use in the protocol
11
- */
12
- export const PROTOCOL_VERSION = '1.0.0';
13
- export const TIMEOUT = 30000;
14
- export const STARTUP_DELAY = 5000;
15
- export const REFRESH_INTERVAL = 60000;
16
- export const MAX_INBOUND_STREAMS = 1;
17
- export const MAX_OUTBOUND_STREAMS = 1;
18
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/autonat/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAA;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA"}