libp2p 0.36.2 → 0.37.0-5934b13

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 (431) hide show
  1. package/LICENSE +3 -21
  2. package/README.md +13 -10
  3. package/dist/src/address-manager/index.d.ts +34 -52
  4. package/dist/src/address-manager/index.d.ts.map +1 -1
  5. package/dist/src/address-manager/index.js +81 -0
  6. package/dist/src/address-manager/index.js.map +1 -0
  7. package/dist/src/circuit/auto-relay.d.ts +24 -85
  8. package/dist/src/circuit/auto-relay.d.ts.map +1 -1
  9. package/dist/src/circuit/auto-relay.js +216 -0
  10. package/dist/src/circuit/auto-relay.js.map +1 -0
  11. package/dist/src/circuit/circuit/hop.d.ts +26 -53
  12. package/dist/src/circuit/circuit/hop.d.ts.map +1 -1
  13. package/dist/src/circuit/circuit/hop.js +138 -0
  14. package/dist/src/circuit/circuit/hop.js.map +1 -0
  15. package/dist/src/circuit/circuit/stop.d.ts +18 -10
  16. package/dist/src/circuit/circuit/stop.d.ts.map +1 -1
  17. package/dist/src/circuit/circuit/stop.js +49 -0
  18. package/dist/src/circuit/circuit/stop.js.map +1 -0
  19. package/dist/src/circuit/circuit/stream-handler.d.ts +19 -38
  20. package/dist/src/circuit/circuit/stream-handler.d.ts.map +1 -1
  21. package/dist/src/circuit/circuit/stream-handler.js +59 -0
  22. package/dist/src/circuit/circuit/stream-handler.js.map +1 -0
  23. package/dist/src/circuit/circuit/utils.d.ts +3 -6
  24. package/dist/src/circuit/circuit/utils.d.ts.map +1 -1
  25. package/dist/src/circuit/circuit/utils.js +43 -0
  26. package/dist/src/circuit/circuit/utils.js.map +1 -0
  27. package/dist/src/circuit/constants.d.ts +24 -6
  28. package/dist/src/circuit/constants.d.ts.map +1 -1
  29. package/dist/src/circuit/constants.js +26 -0
  30. package/dist/src/circuit/constants.js.map +1 -0
  31. package/dist/src/circuit/index.d.ts +41 -74
  32. package/dist/src/circuit/index.d.ts.map +1 -1
  33. package/dist/src/circuit/index.js +69 -0
  34. package/dist/src/circuit/index.js.map +1 -0
  35. package/dist/src/circuit/listener.d.ts +8 -3
  36. package/dist/src/circuit/listener.d.ts.map +1 -1
  37. package/dist/src/circuit/listener.js +62 -0
  38. package/dist/src/circuit/listener.js.map +1 -0
  39. package/dist/src/circuit/multicodec.d.ts +1 -1
  40. package/dist/src/circuit/multicodec.d.ts.map +1 -1
  41. package/dist/src/circuit/multicodec.js +2 -0
  42. package/dist/src/circuit/multicodec.js.map +1 -0
  43. package/dist/src/circuit/pb/index.d.ts +52 -0
  44. package/dist/src/circuit/pb/index.d.ts.map +1 -0
  45. package/dist/src/circuit/pb/index.js +98 -0
  46. package/dist/src/circuit/pb/index.js.map +1 -0
  47. package/dist/src/circuit/transport.d.ts +18 -78
  48. package/dist/src/circuit/transport.d.ts.map +1 -1
  49. package/dist/src/circuit/transport.js +192 -0
  50. package/dist/src/circuit/transport.js.map +1 -0
  51. package/dist/src/circuit/utils.d.ts +5 -2
  52. package/dist/src/circuit/utils.d.ts.map +1 -1
  53. package/dist/src/circuit/utils.js +11 -0
  54. package/dist/src/circuit/utils.js.map +1 -0
  55. package/dist/src/config.d.ts +3 -85
  56. package/dist/src/config.d.ts.map +1 -1
  57. package/dist/src/config.js +91 -0
  58. package/dist/src/config.js.map +1 -0
  59. package/dist/src/connection-manager/auto-dialler.d.ts +24 -41
  60. package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
  61. package/dist/src/connection-manager/auto-dialler.js +105 -0
  62. package/dist/src/connection-manager/auto-dialler.js.map +1 -0
  63. package/dist/src/connection-manager/dialer/auto-dialer.d.ts +16 -0
  64. package/dist/src/connection-manager/dialer/auto-dialer.d.ts.map +1 -0
  65. package/dist/src/connection-manager/dialer/auto-dialer.js +37 -0
  66. package/dist/src/connection-manager/dialer/auto-dialer.js.map +1 -0
  67. package/dist/src/connection-manager/dialer/dial-request.d.ts +27 -0
  68. package/dist/src/connection-manager/dialer/dial-request.d.ts.map +1 -0
  69. package/dist/src/connection-manager/dialer/dial-request.js +107 -0
  70. package/dist/src/connection-manager/dialer/dial-request.js.map +1 -0
  71. package/dist/src/connection-manager/dialer/index.d.ts +104 -0
  72. package/dist/src/connection-manager/dialer/index.d.ts.map +1 -0
  73. package/dist/src/connection-manager/dialer/index.js +266 -0
  74. package/dist/src/connection-manager/dialer/index.js.map +1 -0
  75. package/dist/src/connection-manager/index.d.ts +102 -136
  76. package/dist/src/connection-manager/index.d.ts.map +1 -1
  77. package/dist/src/connection-manager/index.js +339 -0
  78. package/dist/src/connection-manager/index.js.map +1 -0
  79. package/dist/src/connection-manager/latency-monitor.d.ts +72 -97
  80. package/dist/src/connection-manager/latency-monitor.d.ts.map +1 -1
  81. package/dist/src/connection-manager/latency-monitor.js +220 -0
  82. package/dist/src/connection-manager/latency-monitor.js.map +1 -0
  83. package/dist/src/connection-manager/visibility-change-emitter.d.ts +15 -16
  84. package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +1 -1
  85. package/dist/src/connection-manager/visibility-change-emitter.js +118 -0
  86. package/dist/src/connection-manager/visibility-change-emitter.js.map +1 -0
  87. package/dist/src/constants.d.ts +22 -10
  88. package/dist/src/constants.d.ts.map +1 -1
  89. package/dist/src/constants.js +27 -0
  90. package/dist/src/constants.js.map +1 -0
  91. package/dist/src/content-routing/index.d.ts +27 -81
  92. package/dist/src/content-routing/index.d.ts.map +1 -1
  93. package/dist/src/content-routing/index.js +99 -0
  94. package/dist/src/content-routing/index.js.map +1 -0
  95. package/dist/src/content-routing/utils.d.ts +6 -49
  96. package/dist/src/content-routing/utils.d.ts.map +1 -1
  97. package/dist/src/content-routing/utils.js +42 -0
  98. package/dist/src/content-routing/utils.js.map +1 -0
  99. package/dist/src/dht/dht-content-routing.d.ts +10 -24
  100. package/dist/src/dht/dht-content-routing.d.ts.map +1 -1
  101. package/dist/src/dht/dht-content-routing.js +32 -0
  102. package/dist/src/dht/dht-content-routing.js.map +1 -0
  103. package/dist/src/dht/dht-peer-routing.d.ts +9 -24
  104. package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
  105. package/dist/src/dht/dht-peer-routing.js +26 -0
  106. package/dist/src/dht/dht-peer-routing.js.map +1 -0
  107. package/dist/src/dht/dummy-dht.d.ts +20 -0
  108. package/dist/src/dht/dummy-dht.d.ts.map +1 -0
  109. package/dist/src/dht/dummy-dht.js +46 -0
  110. package/dist/src/dht/dummy-dht.js.map +1 -0
  111. package/dist/src/errors.d.ts +71 -63
  112. package/dist/src/errors.d.ts.map +1 -1
  113. package/dist/src/errors.js +76 -0
  114. package/dist/src/errors.js.map +1 -0
  115. package/dist/src/fetch/constants.d.ts +1 -1
  116. package/dist/src/fetch/constants.d.ts.map +1 -1
  117. package/dist/src/fetch/constants.js +3 -0
  118. package/dist/src/fetch/constants.js.map +1 -0
  119. package/dist/src/fetch/index.d.ts +30 -49
  120. package/dist/src/fetch/index.d.ts.map +1 -1
  121. package/dist/src/fetch/index.js +129 -0
  122. package/dist/src/fetch/index.js.map +1 -0
  123. package/dist/src/fetch/pb/proto.d.ts +27 -0
  124. package/dist/src/fetch/pb/proto.d.ts.map +1 -0
  125. package/dist/src/fetch/pb/proto.js +50 -0
  126. package/dist/src/fetch/pb/proto.js.map +1 -0
  127. package/dist/src/get-peer.d.ts +4 -11
  128. package/dist/src/get-peer.d.ts.map +1 -1
  129. package/dist/src/get-peer.js +43 -0
  130. package/dist/src/get-peer.js.map +1 -0
  131. package/dist/src/identify/consts.d.ts +9 -9
  132. package/dist/src/identify/consts.d.ts.map +1 -1
  133. package/dist/src/identify/consts.js +11 -0
  134. package/dist/src/identify/consts.js.map +1 -0
  135. package/dist/src/identify/index.d.ts +42 -96
  136. package/dist/src/identify/index.d.ts.map +1 -1
  137. package/dist/src/identify/index.js +322 -0
  138. package/dist/src/identify/index.js.map +1 -0
  139. package/dist/src/identify/pb/message.d.ts +16 -0
  140. package/dist/src/identify/pb/message.d.ts.map +1 -0
  141. package/dist/src/identify/pb/message.js +24 -0
  142. package/dist/src/identify/pb/message.js.map +1 -0
  143. package/dist/src/index.d.ts +150 -496
  144. package/dist/src/index.d.ts.map +1 -1
  145. package/dist/src/index.js +9 -0
  146. package/dist/src/index.js.map +1 -0
  147. package/dist/src/insecure/index.d.ts +9 -0
  148. package/dist/src/insecure/index.d.ts.map +1 -0
  149. package/dist/src/insecure/index.js +81 -0
  150. package/dist/src/insecure/index.js.map +1 -0
  151. package/dist/src/insecure/pb/proto.d.ts +29 -0
  152. package/dist/src/insecure/pb/proto.d.ts.map +1 -0
  153. package/dist/src/insecure/pb/proto.js +53 -0
  154. package/dist/src/insecure/pb/proto.js.map +1 -0
  155. package/dist/src/keychain/cms.d.ts +6 -14
  156. package/dist/src/keychain/cms.d.ts.map +1 -1
  157. package/dist/src/keychain/cms.js +129 -0
  158. package/dist/src/keychain/cms.js.map +1 -0
  159. package/dist/src/keychain/index.d.ts +60 -81
  160. package/dist/src/keychain/index.d.ts.map +1 -1
  161. package/dist/src/keychain/index.js +492 -0
  162. package/dist/src/keychain/index.js.map +1 -0
  163. package/dist/src/keychain/util.d.ts +3 -6
  164. package/dist/src/keychain/util.d.ts.map +1 -1
  165. package/dist/src/keychain/util.js +79 -0
  166. package/dist/src/keychain/util.js.map +1 -0
  167. package/dist/src/libp2p.d.ts +80 -0
  168. package/dist/src/libp2p.d.ts.map +1 -0
  169. package/dist/src/libp2p.js +397 -0
  170. package/dist/src/libp2p.js.map +1 -0
  171. package/dist/src/metrics/index.d.ts +47 -104
  172. package/dist/src/metrics/index.d.ts.map +1 -1
  173. package/dist/src/metrics/index.js +231 -0
  174. package/dist/src/metrics/index.js.map +1 -0
  175. package/dist/src/metrics/moving-average.d.ts +14 -0
  176. package/dist/src/metrics/moving-average.d.ts.map +1 -0
  177. package/dist/src/metrics/moving-average.js +40 -0
  178. package/dist/src/metrics/moving-average.js.map +1 -0
  179. package/dist/src/metrics/stats.d.ts +41 -93
  180. package/dist/src/metrics/stats.d.ts.map +1 -1
  181. package/dist/src/metrics/stats.js +183 -0
  182. package/dist/src/metrics/stats.js.map +1 -0
  183. package/dist/src/nat-manager.d.ts +45 -99
  184. package/dist/src/nat-manager.d.ts.map +1 -1
  185. package/dist/src/nat-manager.js +117 -0
  186. package/dist/src/nat-manager.js.map +1 -0
  187. package/dist/src/peer-record-updater.d.ts +15 -0
  188. package/dist/src/peer-record-updater.d.ts.map +1 -0
  189. package/dist/src/peer-record-updater.js +44 -0
  190. package/dist/src/peer-record-updater.js.map +1 -0
  191. package/dist/src/peer-routing.d.ts +40 -84
  192. package/dist/src/peer-routing.d.ts.map +1 -1
  193. package/dist/src/peer-routing.js +107 -0
  194. package/dist/src/peer-routing.js.map +1 -0
  195. package/dist/src/ping/constants.d.ts +4 -4
  196. package/dist/src/ping/constants.d.ts.map +1 -1
  197. package/dist/src/ping/constants.js +5 -0
  198. package/dist/src/ping/constants.js.map +1 -0
  199. package/dist/src/ping/index.d.ts +17 -31
  200. package/dist/src/ping/index.d.ts.map +1 -1
  201. package/dist/src/ping/index.js +57 -0
  202. package/dist/src/ping/index.js.map +1 -0
  203. package/dist/src/pnet/crypto.d.ts +15 -5
  204. package/dist/src/pnet/crypto.d.ts.map +1 -1
  205. package/dist/src/pnet/crypto.js +60 -0
  206. package/dist/src/pnet/crypto.js.map +1 -0
  207. package/dist/src/pnet/errors.d.ts +5 -5
  208. package/dist/src/pnet/errors.d.ts.map +1 -1
  209. package/dist/src/pnet/errors.js +6 -0
  210. package/dist/src/pnet/errors.js.map +1 -0
  211. package/dist/src/pnet/index.d.ts +12 -20
  212. package/dist/src/pnet/index.d.ts.map +1 -1
  213. package/dist/src/pnet/index.js +67 -0
  214. package/dist/src/pnet/index.js.map +1 -0
  215. package/dist/src/pnet/key-generator.d.ts +3 -7
  216. package/dist/src/pnet/key-generator.d.ts.map +1 -1
  217. package/dist/src/pnet/key-generator.js +25 -0
  218. package/dist/src/pnet/key-generator.js.map +1 -0
  219. package/dist/src/pubsub/dummy-pubsub.d.ts +17 -0
  220. package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -0
  221. package/dist/src/pubsub/dummy-pubsub.js +37 -0
  222. package/dist/src/pubsub/dummy-pubsub.js.map +1 -0
  223. package/dist/src/registrar.d.ts +26 -65
  224. package/dist/src/registrar.d.ts.map +1 -1
  225. package/dist/src/registrar.js +144 -0
  226. package/dist/src/registrar.js.map +1 -0
  227. package/dist/src/transport-manager.d.ts +36 -82
  228. package/dist/src/transport-manager.d.ts.map +1 -1
  229. package/dist/src/transport-manager.js +223 -0
  230. package/dist/src/transport-manager.js.map +1 -0
  231. package/dist/src/upgrader.d.ts +49 -129
  232. package/dist/src/upgrader.d.ts.map +1 -1
  233. package/dist/src/upgrader.js +404 -0
  234. package/dist/src/upgrader.js.map +1 -0
  235. package/dist/src/version.d.ts +3 -0
  236. package/dist/src/version.d.ts.map +1 -0
  237. package/dist/src/version.js +3 -0
  238. package/dist/src/version.js.map +1 -0
  239. package/package.json +143 -203
  240. package/src/address-manager/index.ts +130 -0
  241. package/src/circuit/README.md +16 -11
  242. package/src/circuit/auto-relay.ts +286 -0
  243. package/src/circuit/circuit/hop.ts +211 -0
  244. package/src/circuit/circuit/stop.ts +78 -0
  245. package/src/circuit/circuit/stream-handler.ts +86 -0
  246. package/src/circuit/circuit/{utils.js → utils.ts} +9 -25
  247. package/src/circuit/constants.ts +31 -0
  248. package/src/circuit/index.ts +120 -0
  249. package/src/circuit/listener.ts +82 -0
  250. package/src/circuit/multicodec.ts +2 -0
  251. package/src/circuit/{protocol → pb}/index.proto +1 -1
  252. package/src/circuit/pb/index.ts +117 -0
  253. package/src/circuit/transport.ts +219 -0
  254. package/src/circuit/utils.ts +12 -0
  255. package/src/config.ts +99 -0
  256. package/src/connection-manager/auto-dialler.ts +154 -0
  257. package/src/connection-manager/dialer/auto-dialer.ts +59 -0
  258. package/src/connection-manager/dialer/dial-request.ts +137 -0
  259. package/src/connection-manager/dialer/index.ts +381 -0
  260. package/src/connection-manager/index.ts +513 -0
  261. package/src/connection-manager/latency-monitor.ts +319 -0
  262. package/src/connection-manager/{visibility-change-emitter.js → visibility-change-emitter.ts} +48 -38
  263. package/src/constants.ts +31 -0
  264. package/src/content-routing/index.ts +144 -0
  265. package/src/content-routing/utils.ts +54 -0
  266. package/src/dht/dht-content-routing.ts +43 -0
  267. package/src/dht/dht-peer-routing.ts +35 -0
  268. package/src/dht/dummy-dht.ts +60 -0
  269. package/src/errors.ts +74 -0
  270. package/src/fetch/README.md +1 -1
  271. package/src/fetch/constants.ts +3 -0
  272. package/src/fetch/index.ts +167 -0
  273. package/src/fetch/{proto.proto → pb/proto.proto} +0 -0
  274. package/src/fetch/pb/proto.ts +65 -0
  275. package/src/get-peer.ts +57 -0
  276. package/src/identify/consts.ts +13 -0
  277. package/src/identify/index.ts +445 -0
  278. package/src/identify/{message.proto → pb/message.proto} +0 -0
  279. package/src/identify/pb/message.ts +37 -0
  280. package/src/index.ts +220 -0
  281. package/src/insecure/index.ts +101 -0
  282. package/src/insecure/{proto.proto → pb/proto.proto} +0 -0
  283. package/src/insecure/pb/proto.ts +68 -0
  284. package/src/keychain/{cms.js → cms.ts} +62 -58
  285. package/src/keychain/index.ts +587 -0
  286. package/src/keychain/{util.js → util.ts} +7 -17
  287. package/src/libp2p.ts +538 -0
  288. package/src/metrics/index.ts +310 -0
  289. package/src/metrics/moving-average.ts +53 -0
  290. package/src/metrics/stats.ts +238 -0
  291. package/src/nat-manager.ts +198 -0
  292. package/src/peer-record-updater.ts +55 -0
  293. package/src/peer-routing.ts +185 -0
  294. package/src/ping/README.md +1 -1
  295. package/src/ping/constants.ts +5 -0
  296. package/src/ping/index.ts +84 -0
  297. package/src/pnet/README.md +2 -2
  298. package/src/pnet/crypto.ts +67 -0
  299. package/src/pnet/errors.ts +5 -0
  300. package/src/pnet/index.ts +97 -0
  301. package/src/pnet/key-generator.ts +28 -0
  302. package/src/pubsub/dummy-pubsub.ts +51 -0
  303. package/src/registrar.ts +189 -0
  304. package/src/transport-manager.ts +281 -0
  305. package/src/upgrader.ts +501 -0
  306. package/src/version.ts +3 -0
  307. package/dist/index.min.js +0 -55
  308. package/dist/src/circuit/protocol/index.d.ts +0 -173
  309. package/dist/src/dialer/dial-request.d.ts +0 -55
  310. package/dist/src/dialer/dial-request.d.ts.map +0 -1
  311. package/dist/src/dialer/index.d.ts +0 -182
  312. package/dist/src/dialer/index.d.ts.map +0 -1
  313. package/dist/src/fetch/proto.d.ts +0 -134
  314. package/dist/src/identify/message.d.ts +0 -95
  315. package/dist/src/insecure/plaintext.d.ts +0 -12
  316. package/dist/src/insecure/plaintext.d.ts.map +0 -1
  317. package/dist/src/insecure/proto.d.ts +0 -128
  318. package/dist/src/metrics/old-peers.d.ts +0 -3
  319. package/dist/src/metrics/old-peers.d.ts.map +0 -1
  320. package/dist/src/metrics/tracked-map.d.ts +0 -8
  321. package/dist/src/metrics/tracked-map.d.ts.map +0 -1
  322. package/dist/src/peer-store/address-book.d.ts +0 -67
  323. package/dist/src/peer-store/address-book.d.ts.map +0 -1
  324. package/dist/src/peer-store/index.d.ts +0 -58
  325. package/dist/src/peer-store/index.d.ts.map +0 -1
  326. package/dist/src/peer-store/key-book.d.ts +0 -40
  327. package/dist/src/peer-store/key-book.d.ts.map +0 -1
  328. package/dist/src/peer-store/metadata-book.d.ts +0 -58
  329. package/dist/src/peer-store/metadata-book.d.ts.map +0 -1
  330. package/dist/src/peer-store/pb/peer.d.ts +0 -222
  331. package/dist/src/peer-store/proto-book.d.ts +0 -43
  332. package/dist/src/peer-store/proto-book.d.ts.map +0 -1
  333. package/dist/src/peer-store/store.d.ts +0 -73
  334. package/dist/src/peer-store/store.d.ts.map +0 -1
  335. package/dist/src/peer-store/types.d.ts +0 -202
  336. package/dist/src/peer-store/types.d.ts.map +0 -1
  337. package/dist/src/ping/util.d.ts +0 -5
  338. package/dist/src/ping/util.d.ts.map +0 -1
  339. package/dist/src/pubsub-adapter.d.ts +0 -22
  340. package/dist/src/pubsub-adapter.d.ts.map +0 -1
  341. package/dist/src/record/envelope/envelope.d.ts +0 -77
  342. package/dist/src/record/envelope/index.d.ts +0 -80
  343. package/dist/src/record/envelope/index.d.ts.map +0 -1
  344. package/dist/src/record/peer-record/consts.d.ts +0 -4
  345. package/dist/src/record/peer-record/consts.d.ts.map +0 -1
  346. package/dist/src/record/peer-record/index.d.ts +0 -60
  347. package/dist/src/record/peer-record/index.d.ts.map +0 -1
  348. package/dist/src/record/peer-record/peer-record.d.ts +0 -133
  349. package/dist/src/record/utils.d.ts +0 -12
  350. package/dist/src/record/utils.d.ts.map +0 -1
  351. package/dist/src/types.d.ts +0 -90
  352. package/dist/src/types.d.ts.map +0 -1
  353. package/src/address-manager/index.js +0 -96
  354. package/src/circuit/auto-relay.js +0 -302
  355. package/src/circuit/circuit/hop.js +0 -205
  356. package/src/circuit/circuit/stop.js +0 -81
  357. package/src/circuit/circuit/stream-handler.js +0 -94
  358. package/src/circuit/constants.js +0 -12
  359. package/src/circuit/index.js +0 -102
  360. package/src/circuit/listener.js +0 -75
  361. package/src/circuit/multicodec.js +0 -5
  362. package/src/circuit/protocol/index.d.ts +0 -173
  363. package/src/circuit/protocol/index.js +0 -530
  364. package/src/circuit/transport.js +0 -229
  365. package/src/circuit/utils.js +0 -17
  366. package/src/config.js +0 -114
  367. package/src/connection-manager/auto-dialler.js +0 -132
  368. package/src/connection-manager/index.js +0 -374
  369. package/src/connection-manager/latency-monitor.js +0 -264
  370. package/src/constants.js +0 -18
  371. package/src/content-routing/index.js +0 -163
  372. package/src/content-routing/utils.js +0 -89
  373. package/src/dht/dht-content-routing.js +0 -44
  374. package/src/dht/dht-peer-routing.js +0 -51
  375. package/src/dialer/dial-request.js +0 -103
  376. package/src/dialer/index.js +0 -376
  377. package/src/errors.js +0 -66
  378. package/src/fetch/constants.js +0 -6
  379. package/src/fetch/index.js +0 -159
  380. package/src/fetch/proto.d.ts +0 -134
  381. package/src/fetch/proto.js +0 -333
  382. package/src/get-peer.js +0 -49
  383. package/src/identify/consts.js +0 -15
  384. package/src/identify/index.js +0 -384
  385. package/src/identify/message.d.ts +0 -95
  386. package/src/identify/message.js +0 -328
  387. package/src/index.js +0 -813
  388. package/src/insecure/plaintext.js +0 -95
  389. package/src/insecure/proto.d.ts +0 -128
  390. package/src/insecure/proto.js +0 -371
  391. package/src/keychain/index.js +0 -561
  392. package/src/metrics/index.js +0 -290
  393. package/src/metrics/old-peers.js +0 -16
  394. package/src/metrics/stats.js +0 -270
  395. package/src/metrics/tracked-map.js +0 -94
  396. package/src/nat-manager.js +0 -197
  397. package/src/peer-routing.js +0 -176
  398. package/src/peer-store/README.md +0 -145
  399. package/src/peer-store/address-book.js +0 -382
  400. package/src/peer-store/index.js +0 -121
  401. package/src/peer-store/key-book.js +0 -141
  402. package/src/peer-store/metadata-book.js +0 -250
  403. package/src/peer-store/pb/peer.d.ts +0 -222
  404. package/src/peer-store/pb/peer.js +0 -643
  405. package/src/peer-store/pb/peer.proto +0 -31
  406. package/src/peer-store/proto-book.js +0 -237
  407. package/src/peer-store/store.js +0 -263
  408. package/src/peer-store/types.ts +0 -245
  409. package/src/ping/constants.js +0 -8
  410. package/src/ping/index.js +0 -84
  411. package/src/ping/util.js +0 -18
  412. package/src/pnet/crypto.js +0 -84
  413. package/src/pnet/errors.js +0 -7
  414. package/src/pnet/index.js +0 -86
  415. package/src/pnet/key-generator.js +0 -33
  416. package/src/pubsub-adapter.js +0 -61
  417. package/src/record/README.md +0 -130
  418. package/src/record/envelope/envelope.d.ts +0 -77
  419. package/src/record/envelope/envelope.js +0 -243
  420. package/src/record/envelope/envelope.proto +0 -19
  421. package/src/record/envelope/index.js +0 -183
  422. package/src/record/peer-record/consts.js +0 -14
  423. package/src/record/peer-record/index.js +0 -113
  424. package/src/record/peer-record/peer-record.d.ts +0 -133
  425. package/src/record/peer-record/peer-record.js +0 -367
  426. package/src/record/peer-record/peer-record.proto +0 -18
  427. package/src/record/utils.js +0 -25
  428. package/src/registrar.js +0 -127
  429. package/src/transport-manager.js +0 -269
  430. package/src/types.ts +0 -98
  431. package/src/upgrader.js +0 -492
@@ -0,0 +1,198 @@
1
+ import { upnpNat, NatAPI } from '@achingbrain/nat-port-mapper'
2
+ import { logger } from '@libp2p/logger'
3
+ import { Multiaddr } from '@multiformats/multiaddr'
4
+ import { isBrowser } from 'wherearewe'
5
+ import isPrivateIp from 'private-ip'
6
+ import * as pkg from './version.js'
7
+ import errCode from 'err-code'
8
+ import { codes } from './errors.js'
9
+ import { isLoopback } from '@libp2p/utils/multiaddr/is-loopback'
10
+ import type { Startable } from '@libp2p/interfaces/startable'
11
+ import type { Components } from '@libp2p/interfaces/components'
12
+
13
+ const log = logger('libp2p:nat')
14
+ const DEFAULT_TTL = 7200
15
+
16
+ function highPort (min = 1024, max = 65535) {
17
+ return Math.floor(Math.random() * (max - min + 1) + min)
18
+ }
19
+
20
+ export interface PMPOptions {
21
+ /**
22
+ * Whether to enable PMP as well as UPnP
23
+ */
24
+ enabled?: boolean
25
+ }
26
+
27
+ export interface NatManagerInit {
28
+ /**
29
+ * Whether to enable the NAT manager
30
+ */
31
+ enabled: boolean
32
+
33
+ /**
34
+ * Pass a value to use instead of auto-detection
35
+ */
36
+ externalAddress?: string
37
+
38
+ /**
39
+ * Pass a value to use instead of auto-detection
40
+ */
41
+ localAddress?: string
42
+
43
+ /**
44
+ * A string value to use for the port mapping description on the gateway
45
+ */
46
+ description?: string
47
+
48
+ /**
49
+ * How long UPnP port mappings should last for in seconds (minimum 1200)
50
+ */
51
+ ttl?: number
52
+
53
+ /**
54
+ * Whether to automatically refresh UPnP port mappings when their TTL is reached
55
+ */
56
+ keepAlive: boolean
57
+
58
+ /**
59
+ * Pass a value to use instead of auto-detection
60
+ */
61
+ gateway?: string
62
+ }
63
+
64
+ export class NatManager implements Startable {
65
+ private readonly components: Components
66
+ private readonly enabled: boolean
67
+ private readonly externalAddress?: string
68
+ private readonly localAddress?: string
69
+ private readonly description: string
70
+ private readonly ttl: number
71
+ private readonly keepAlive: boolean
72
+ private readonly gateway?: string
73
+ private started: boolean
74
+ private client?: NatAPI
75
+
76
+ constructor (components: Components, init: NatManagerInit) {
77
+ this.components = components
78
+
79
+ this.started = false
80
+ this.enabled = init.enabled
81
+ this.externalAddress = init.externalAddress
82
+ this.localAddress = init.localAddress
83
+ this.description = init.description ?? `${pkg.name}@${pkg.version} ${this.components.getPeerId().toString()}`
84
+ this.ttl = init.ttl ?? DEFAULT_TTL
85
+ this.keepAlive = init.keepAlive ?? true
86
+ this.gateway = init.gateway
87
+
88
+ if (this.ttl < DEFAULT_TTL) {
89
+ throw errCode(new Error(`NatManager ttl should be at least ${DEFAULT_TTL} seconds`), codes.ERR_INVALID_PARAMETERS)
90
+ }
91
+ }
92
+
93
+ isStarted () {
94
+ return this.started
95
+ }
96
+
97
+ start () {}
98
+
99
+ /**
100
+ * Attempt to use uPnP to configure port mapping using the current gateway.
101
+ *
102
+ * Run after start to ensure the transport manager has all addresses configured.
103
+ */
104
+ afterStart () {
105
+ if (isBrowser || !this.enabled || this.started) {
106
+ return
107
+ }
108
+
109
+ this.started = true
110
+
111
+ // done async to not slow down startup
112
+ void this._start().catch((err) => {
113
+ // hole punching errors are non-fatal
114
+ log.error(err)
115
+ })
116
+ }
117
+
118
+ async _start () {
119
+ const addrs = this.components.getTransportManager().getAddrs()
120
+
121
+ for (const addr of addrs) {
122
+ // try to open uPnP ports for each thin waist address
123
+ const { family, host, port, transport } = addr.toOptions()
124
+
125
+ if (!addr.isThinWaistAddress() || transport !== 'tcp') {
126
+ // only bare tcp addresses
127
+ // eslint-disable-next-line no-continue
128
+ continue
129
+ }
130
+
131
+ if (isLoopback(addr)) {
132
+ // eslint-disable-next-line no-continue
133
+ continue
134
+ }
135
+
136
+ if (family !== 4) {
137
+ // ignore ipv6
138
+ // eslint-disable-next-line no-continue
139
+ continue
140
+ }
141
+
142
+ const client = await this._getClient()
143
+ const publicIp = this.externalAddress ?? await client.externalIp()
144
+
145
+ if (isPrivateIp(publicIp)) {
146
+ throw new Error(`${publicIp} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`)
147
+ }
148
+
149
+ const publicPort = highPort()
150
+
151
+ log(`opening uPnP connection from ${publicIp}:${publicPort} to ${host}:${port}`)
152
+
153
+ await client.map({
154
+ publicPort,
155
+ localPort: port,
156
+ localAddress: this.localAddress,
157
+ protocol: transport.toUpperCase() === 'TCP' ? 'TCP' : 'UDP'
158
+ })
159
+
160
+ this.components.getAddressManager().addObservedAddr(Multiaddr.fromNodeAddress({
161
+ family: 4,
162
+ address: publicIp,
163
+ port: publicPort
164
+ }, transport))
165
+ }
166
+ }
167
+
168
+ async _getClient () {
169
+ if (this.client != null) {
170
+ return this.client
171
+ }
172
+
173
+ this.client = await upnpNat({
174
+ description: this.description,
175
+ ttl: this.ttl,
176
+ keepAlive: this.keepAlive,
177
+ gateway: this.gateway
178
+ })
179
+
180
+ return this.client
181
+ }
182
+
183
+ /**
184
+ * Stops the NAT manager
185
+ */
186
+ async stop () {
187
+ if (isBrowser || this.client == null) {
188
+ return
189
+ }
190
+
191
+ try {
192
+ await this.client.close()
193
+ this.client = undefined
194
+ } catch (err: any) {
195
+ log.error(err)
196
+ }
197
+ }
198
+ }
@@ -0,0 +1,55 @@
1
+ import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record'
2
+ import type { Components } from '@libp2p/interfaces/components'
3
+ import type { Startable } from '@libp2p/interfaces/startable'
4
+ import { logger } from '@libp2p/logger'
5
+ import { protocols } from '@multiformats/multiaddr'
6
+
7
+ const log = logger('libp2p:peer-record-updater')
8
+
9
+ export class PeerRecordUpdater implements Startable {
10
+ private readonly components: Components
11
+ private started: boolean
12
+
13
+ constructor (components: Components) {
14
+ this.components = components
15
+ this.started = false
16
+ this.update = this.update.bind(this)
17
+ }
18
+
19
+ isStarted () {
20
+ return this.started
21
+ }
22
+
23
+ async start () {
24
+ this.started = true
25
+ this.components.getTransportManager().addEventListener('listener:listening', this.update)
26
+ this.components.getTransportManager().addEventListener('listener:close', this.update)
27
+ this.components.getAddressManager().addEventListener('change:addresses', this.update)
28
+ }
29
+
30
+ async stop () {
31
+ this.started = false
32
+ this.components.getTransportManager().removeEventListener('listener:listening', this.update)
33
+ this.components.getTransportManager().removeEventListener('listener:close', this.update)
34
+ this.components.getAddressManager().removeEventListener('change:addresses', this.update)
35
+ }
36
+
37
+ /**
38
+ * Create (or update if existing) self peer record and store it in the AddressBook.
39
+ */
40
+ update () {
41
+ Promise.resolve()
42
+ .then(async () => {
43
+ const peerRecord = new PeerRecord({
44
+ peerId: this.components.getPeerId(),
45
+ multiaddrs: this.components.getAddressManager().getAddresses().map(ma => ma.decapsulateCode(protocols('p2p').code))
46
+ })
47
+
48
+ const envelope = await RecordEnvelope.seal(peerRecord, this.components.getPeerId())
49
+ await this.components.getPeerStore().addressBook.consumePeerRecord(envelope)
50
+ })
51
+ .catch(err => {
52
+ log.error('Could not update self peer record: %o', err)
53
+ })
54
+ }
55
+ }
@@ -0,0 +1,185 @@
1
+ import { logger } from '@libp2p/logger'
2
+ import errCode from 'err-code'
3
+ import { codes, messages } from './errors.js'
4
+ import {
5
+ storeAddresses,
6
+ uniquePeers,
7
+ requirePeers
8
+ } from './content-routing/utils.js'
9
+ import { TimeoutController } from 'timeout-abort-controller'
10
+ import merge from 'it-merge'
11
+ import { pipe } from 'it-pipe'
12
+ import first from 'it-first'
13
+ import drain from 'it-drain'
14
+ import filter from 'it-filter'
15
+ import {
16
+ setDelayedInterval,
17
+ clearDelayedInterval
18
+ // @ts-expect-error module with no types
19
+ } from 'set-delayed-interval'
20
+ import { setMaxListeners } from 'events'
21
+ import type { PeerId } from '@libp2p/interfaces/peer-id'
22
+ import type { PeerRouting } from '@libp2p/interfaces/peer-routing'
23
+ import type { AbortOptions } from '@libp2p/interfaces'
24
+ import type { Startable } from '@libp2p/interfaces/startable'
25
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info'
26
+ import type { Components } from '@libp2p/interfaces/components'
27
+
28
+ const log = logger('libp2p:peer-routing')
29
+
30
+ export interface RefreshManagerInit {
31
+ /**
32
+ * Whether to enable the Refresh manager
33
+ */
34
+ enabled?: boolean
35
+
36
+ /**
37
+ * Boot delay to start the Refresh Manager (in ms)
38
+ */
39
+ bootDelay?: number
40
+
41
+ /**
42
+ * Interval between each Refresh Manager run (in ms)
43
+ */
44
+ interval?: number
45
+
46
+ /**
47
+ * How long to let each refresh run (in ms)
48
+ */
49
+ timeout?: number
50
+ }
51
+
52
+ export interface PeerRoutingInit {
53
+ routers: PeerRouting[]
54
+ refreshManager?: RefreshManagerInit
55
+ }
56
+
57
+ export class DefaultPeerRouting implements PeerRouting, Startable {
58
+ private readonly components: Components
59
+ private readonly routers: PeerRouting[]
60
+ private readonly refreshManagerInit: RefreshManagerInit
61
+ private timeoutId?: ReturnType<typeof setTimeout>
62
+ private started: boolean
63
+ private abortController?: TimeoutController
64
+
65
+ constructor (components: Components, init: PeerRoutingInit) {
66
+ this.components = components
67
+ this.routers = init.routers
68
+ this.refreshManagerInit = init.refreshManager ?? {}
69
+ this.started = false
70
+
71
+ this._findClosestPeersTask = this._findClosestPeersTask.bind(this)
72
+ }
73
+
74
+ isStarted () {
75
+ return this.started
76
+ }
77
+
78
+ /**
79
+ * Start peer routing service.
80
+ */
81
+ async start () {
82
+ if (this.started || this.routers.length === 0 || this.timeoutId != null || this.refreshManagerInit.enabled === false) {
83
+ return
84
+ }
85
+
86
+ this.timeoutId = setDelayedInterval(
87
+ this._findClosestPeersTask, this.refreshManagerInit.interval, this.refreshManagerInit.bootDelay
88
+ )
89
+
90
+ this.started = true
91
+ }
92
+
93
+ /**
94
+ * Recurrent task to find closest peers and add their addresses to the Address Book.
95
+ */
96
+ async _findClosestPeersTask () {
97
+ if (this.abortController != null) {
98
+ // we are already running the query
99
+ return
100
+ }
101
+
102
+ try {
103
+ this.abortController = new TimeoutController(this.refreshManagerInit.timeout ?? 10e3)
104
+
105
+ // this controller may be used while dialing lots of peers so prevent MaxListenersExceededWarning
106
+ // appearing in the console
107
+ try {
108
+ // fails on node < 15.4
109
+ setMaxListeners?.(Infinity, this.abortController.signal)
110
+ } catch {}
111
+
112
+ // nb getClosestPeers adds the addresses to the address book
113
+ await drain(this.getClosestPeers(this.components.getPeerId().toBytes(), { signal: this.abortController.signal }))
114
+ } catch (err: any) {
115
+ log.error(err)
116
+ } finally {
117
+ this.abortController?.clear()
118
+ this.abortController = undefined
119
+ }
120
+ }
121
+
122
+ /**
123
+ * Stop peer routing service.
124
+ */
125
+ async stop () {
126
+ clearDelayedInterval(this.timeoutId)
127
+
128
+ // abort query if it is in-flight
129
+ this.abortController?.abort()
130
+
131
+ this.started = false
132
+ }
133
+
134
+ /**
135
+ * Iterates over all peer routers in parallel to find the given peer
136
+ */
137
+ async findPeer (id: PeerId, options?: AbortOptions): Promise<PeerInfo> {
138
+ if (this.routers.length === 0) {
139
+ throw errCode(new Error('No peer routers available'), codes.ERR_NO_ROUTERS_AVAILABLE)
140
+ }
141
+
142
+ if (id.toString() === this.components.getPeerId().toString()) {
143
+ throw errCode(new Error('Should not try to find self'), codes.ERR_FIND_SELF)
144
+ }
145
+
146
+ const output = await pipe(
147
+ merge(
148
+ ...this.routers.map(router => (async function * () {
149
+ try {
150
+ yield await router.findPeer(id, options)
151
+ } catch (err) {
152
+ log.error(err)
153
+ }
154
+ })())
155
+ ),
156
+ (source) => filter(source, Boolean),
157
+ (source) => storeAddresses(source, this.components.getPeerStore()),
158
+ async (source) => await first(source)
159
+ )
160
+
161
+ if (output != null) {
162
+ return output
163
+ }
164
+
165
+ throw errCode(new Error(messages.NOT_FOUND), codes.ERR_NOT_FOUND)
166
+ }
167
+
168
+ /**
169
+ * Attempt to find the closest peers on the network to the given key
170
+ */
171
+ async * getClosestPeers (key: Uint8Array, options?: AbortOptions): AsyncIterable<PeerInfo> {
172
+ if (this.routers.length === 0) {
173
+ throw errCode(new Error('No peer routers available'), codes.ERR_NO_ROUTERS_AVAILABLE)
174
+ }
175
+
176
+ yield * pipe(
177
+ merge(
178
+ ...this.routers.map(router => router.getClosestPeers(key, options))
179
+ ),
180
+ (source) => storeAddresses(source, this.components.getPeerStore()),
181
+ (source) => uniquePeers(source),
182
+ (source) => requirePeers(source)
183
+ )
184
+ }
185
+ }
@@ -8,7 +8,7 @@ libp2p-ping JavaScript Implementation
8
8
  ## Usage
9
9
 
10
10
  ```javascript
11
- var Ping = require('libp2p/src/ping')
11
+ import Ping from 'libp2p/src/ping'
12
12
 
13
13
  Ping.mount(libp2p) // Enable this peer to echo Ping requests
14
14
 
@@ -0,0 +1,5 @@
1
+
2
+ export const PROTOCOL = '/ipfs/ping/1.0.0'
3
+ export const PING_LENGTH = 32
4
+ export const PROTOCOL_VERSION = '1.0.0'
5
+ export const PROTOCOL_NAME = 'ping'
@@ -0,0 +1,84 @@
1
+ import { logger } from '@libp2p/logger'
2
+ import errCode from 'err-code'
3
+ import { codes } from '../errors.js'
4
+ import { randomBytes } from '@libp2p/crypto'
5
+ import { pipe } from 'it-pipe'
6
+ import first from 'it-first'
7
+ import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
8
+ import { PROTOCOL_NAME, PING_LENGTH, PROTOCOL_VERSION } from './constants.js'
9
+ import type { IncomingStreamData } from '@libp2p/interfaces/registrar'
10
+ import type { PeerId } from '@libp2p/interfaces/peer-id'
11
+ import type { Startable } from '@libp2p/interfaces/startable'
12
+ import type { Components } from '@libp2p/interfaces/components'
13
+
14
+ const log = logger('libp2p:ping')
15
+
16
+ export interface PingServiceInit {
17
+ protocolPrefix: string
18
+ }
19
+
20
+ export class PingService implements Startable {
21
+ private readonly components: Components
22
+ private readonly protocol: string
23
+ private started: boolean
24
+
25
+ constructor (components: Components, init: PingServiceInit) {
26
+ this.components = components
27
+ this.started = false
28
+ this.protocol = `/${init.protocolPrefix}/${PROTOCOL_NAME}/${PROTOCOL_VERSION}`
29
+ }
30
+
31
+ async start () {
32
+ await this.components.getRegistrar().handle(this.protocol, this.handleMessage)
33
+ this.started = true
34
+ }
35
+
36
+ async stop () {
37
+ await this.components.getRegistrar().unhandle(this.protocol)
38
+ this.started = false
39
+ }
40
+
41
+ isStarted () {
42
+ return this.started
43
+ }
44
+
45
+ /**
46
+ * A handler to register with Libp2p to process ping messages
47
+ */
48
+ handleMessage (data: IncomingStreamData) {
49
+ const { stream } = data
50
+
51
+ void pipe(stream, stream)
52
+ .catch(err => {
53
+ log.error(err)
54
+ })
55
+ }
56
+
57
+ /**
58
+ * Ping a given peer and wait for its response, getting the operation latency.
59
+ *
60
+ * @param {PeerId|Multiaddr} peer
61
+ * @returns {Promise<number>}
62
+ */
63
+ async ping (peer: PeerId): Promise<number> {
64
+ log('dialing %s to %p', this.protocol, peer)
65
+
66
+ const connection = await this.components.getConnectionManager().openConnection(peer)
67
+ const { stream } = await connection.newStream([this.protocol])
68
+ const start = Date.now()
69
+ const data = randomBytes(PING_LENGTH)
70
+
71
+ const result = await pipe(
72
+ [data],
73
+ stream,
74
+ async (source) => await first(source)
75
+ )
76
+ const end = Date.now()
77
+
78
+ if (result == null || !uint8ArrayEquals(data, result)) {
79
+ throw errCode(new Error('Received wrong ping ack'), codes.ERR_WRONG_PING_ACK)
80
+ }
81
+
82
+ return end - start
83
+ }
84
+ }
@@ -20,7 +20,7 @@ js-libp2p-pnet
20
20
  ## Usage
21
21
 
22
22
  ```js
23
- const Protector = require('libp2p-pnet')
23
+ const Protector from 'libp2p-pnet')
24
24
  const protector = new Protector(swarmKeyBuffer)
25
25
  const privateConnection = protector.protect(myPublicConnection, (err) => { })
26
26
  ```
@@ -63,7 +63,7 @@ node -e "require('libp2p/src/pnet').generate(process.stdout)" > swarm.key
63
63
  #### Programmatically
64
64
 
65
65
  ```js
66
- const writeKey = require('libp2p/src/pnet').generate
66
+ const writeKey from 'libp2p/src/pnet').generate
67
67
  const swarmKey = new Uint8Array(95)
68
68
  writeKey(swarmKey)
69
69
  fs.writeFileSync('swarm.key', swarmKey)
@@ -0,0 +1,67 @@
1
+ import { logger } from '@libp2p/logger'
2
+ import * as Errors from './errors.js'
3
+ import xsalsa20 from 'xsalsa20'
4
+ import { KEY_LENGTH } from './key-generator.js'
5
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
6
+ import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
7
+ import type { Source } from 'it-stream-types'
8
+
9
+ const log = logger('libp2p:pnet')
10
+
11
+ /**
12
+ * Creates a stream iterable to encrypt messages in a private network
13
+ */
14
+ export function createBoxStream (nonce: Uint8Array, psk: Uint8Array) {
15
+ const xor = xsalsa20(nonce, psk)
16
+
17
+ return (source: Source<Uint8Array>) => (async function * () {
18
+ for await (const chunk of source) {
19
+ yield Uint8Array.from(xor.update(chunk.slice()))
20
+ }
21
+ })()
22
+ }
23
+
24
+ /**
25
+ * Creates a stream iterable to decrypt messages in a private network
26
+ */
27
+ export function createUnboxStream (nonce: Uint8Array, psk: Uint8Array) {
28
+ return (source: Source<Uint8Array>) => (async function * () {
29
+ const xor = xsalsa20(nonce, psk)
30
+ log.trace('Decryption enabled')
31
+
32
+ for await (const chunk of source) {
33
+ yield Uint8Array.from(xor.update(chunk.slice()))
34
+ }
35
+ })()
36
+ }
37
+
38
+ /**
39
+ * Decode the version 1 psk from the given Uint8Array
40
+ */
41
+ export function decodeV1PSK (pskBuffer: Uint8Array) {
42
+ try {
43
+ // This should pull from multibase/multicodec to allow for
44
+ // more encoding flexibility. Ideally we'd consume the codecs
45
+ // from the buffer line by line to evaluate the next line
46
+ // programmatically instead of making assumptions about the
47
+ // encodings of each line.
48
+ const metadata = uint8ArrayToString(pskBuffer).split(/(?:\r\n|\r|\n)/g)
49
+ const pskTag = metadata.shift()
50
+ const codec = metadata.shift()
51
+ const pskString = metadata.shift()
52
+ const psk = uint8ArrayFromString(pskString ?? '', 'base16')
53
+
54
+ if (psk.byteLength !== KEY_LENGTH) {
55
+ throw new Error(Errors.INVALID_PSK)
56
+ }
57
+
58
+ return {
59
+ tag: pskTag,
60
+ codecName: codec,
61
+ psk: psk
62
+ }
63
+ } catch (err: any) {
64
+ log.error(err)
65
+ throw new Error(Errors.INVALID_PSK)
66
+ }
67
+ }
@@ -0,0 +1,5 @@
1
+ export const INVALID_PEER = 'Not a valid peer connection'
2
+ export const INVALID_PSK = 'Your private shared key is invalid'
3
+ export const NO_LOCAL_ID = 'No local private key provided'
4
+ export const NO_HANDSHAKE_CONNECTION = 'No connection for the handshake provided'
5
+ export const STREAM_ENDED = 'Stream ended prematurely'