libp2p 0.36.2 → 0.37.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 (430) 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 +83 -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 +267 -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 +333 -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 +70 -63
  112. package/dist/src/errors.d.ts.map +1 -1
  113. package/dist/src/errors.js +75 -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 +42 -99
  184. package/dist/src/nat-manager.d.ts.map +1 -1
  185. package/dist/src/nat-manager.js +114 -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 +108 -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 +402 -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 +144 -201
  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/{dialer/dial-request.js → connection-manager/dialer/dial-request.ts} +60 -51
  259. package/src/connection-manager/dialer/index.ts +382 -0
  260. package/src/connection-manager/index.ts +508 -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 +73 -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 +194 -0
  292. package/src/peer-record-updater.ts +55 -0
  293. package/src/peer-routing.ts +186 -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 +499 -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/index.js +0 -376
  376. package/src/errors.js +0 -66
  377. package/src/fetch/constants.js +0 -6
  378. package/src/fetch/index.js +0 -159
  379. package/src/fetch/proto.d.ts +0 -134
  380. package/src/fetch/proto.js +0 -333
  381. package/src/get-peer.js +0 -49
  382. package/src/identify/consts.js +0 -15
  383. package/src/identify/index.js +0 -384
  384. package/src/identify/message.d.ts +0 -95
  385. package/src/identify/message.js +0 -328
  386. package/src/index.js +0 -813
  387. package/src/insecure/plaintext.js +0 -95
  388. package/src/insecure/proto.d.ts +0 -128
  389. package/src/insecure/proto.js +0 -371
  390. package/src/keychain/index.js +0 -561
  391. package/src/metrics/index.js +0 -290
  392. package/src/metrics/old-peers.js +0 -16
  393. package/src/metrics/stats.js +0 -270
  394. package/src/metrics/tracked-map.js +0 -94
  395. package/src/nat-manager.js +0 -197
  396. package/src/peer-routing.js +0 -176
  397. package/src/peer-store/README.md +0 -145
  398. package/src/peer-store/address-book.js +0 -382
  399. package/src/peer-store/index.js +0 -121
  400. package/src/peer-store/key-book.js +0 -141
  401. package/src/peer-store/metadata-book.js +0 -250
  402. package/src/peer-store/pb/peer.d.ts +0 -222
  403. package/src/peer-store/pb/peer.js +0 -643
  404. package/src/peer-store/pb/peer.proto +0 -31
  405. package/src/peer-store/proto-book.js +0 -237
  406. package/src/peer-store/store.js +0 -263
  407. package/src/peer-store/types.ts +0 -245
  408. package/src/ping/constants.js +0 -8
  409. package/src/ping/index.js +0 -84
  410. package/src/ping/util.js +0 -18
  411. package/src/pnet/crypto.js +0 -84
  412. package/src/pnet/errors.js +0 -7
  413. package/src/pnet/index.js +0 -86
  414. package/src/pnet/key-generator.js +0 -33
  415. package/src/pubsub-adapter.js +0 -61
  416. package/src/record/README.md +0 -130
  417. package/src/record/envelope/envelope.d.ts +0 -77
  418. package/src/record/envelope/envelope.js +0 -243
  419. package/src/record/envelope/envelope.proto +0 -19
  420. package/src/record/envelope/index.js +0 -183
  421. package/src/record/peer-record/consts.js +0 -14
  422. package/src/record/peer-record/index.js +0 -113
  423. package/src/record/peer-record/peer-record.d.ts +0 -133
  424. package/src/record/peer-record/peer-record.js +0 -367
  425. package/src/record/peer-record/peer-record.proto +0 -18
  426. package/src/record/utils.js +0 -25
  427. package/src/registrar.js +0 -127
  428. package/src/transport-manager.js +0 -269
  429. package/src/types.ts +0 -98
  430. package/src/upgrader.js +0 -492
@@ -1,250 +0,0 @@
1
- 'use strict'
2
-
3
- const debug = require('debug')
4
- const errcode = require('err-code')
5
- const { codes } = require('../errors')
6
- const PeerId = require('peer-id')
7
- const { equals: uint8ArrayEquals } = require('uint8arrays/equals')
8
-
9
- const log = Object.assign(debug('libp2p:peer-store:metadata-book'), {
10
- error: debug('libp2p:peer-store:metadata-book:err')
11
- })
12
-
13
- /**
14
- * @typedef {import('./types').PeerStore} PeerStore
15
- * @typedef {import('./types').MetadataBook} MetadataBook
16
- */
17
-
18
- const EVENT_NAME = 'change:metadata'
19
-
20
- /**
21
- * @implements {MetadataBook}
22
- */
23
- class PeerStoreMetadataBook {
24
- /**
25
- * The MetadataBook is responsible for keeping the known supported
26
- * protocols of a peer
27
- *
28
- * @param {PeerStore["emit"]} emit
29
- * @param {import('./types').Store} store
30
- */
31
- constructor (emit, store) {
32
- this._emit = emit
33
- this._store = store
34
- }
35
-
36
- /**
37
- * Get the known data of a provided peer
38
- *
39
- * @param {PeerId} peerId
40
- */
41
- async get (peerId) {
42
- if (!PeerId.isPeerId(peerId)) {
43
- log.error('peerId must be an instance of peer-id to store data')
44
- throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS)
45
- }
46
-
47
- log('get await read lock')
48
- const release = await this._store.lock.readLock()
49
- log('get got read lock')
50
-
51
- try {
52
- const peer = await this._store.load(peerId)
53
-
54
- return peer.metadata
55
- } catch (/** @type {any} */ err) {
56
- if (err.code !== codes.ERR_NOT_FOUND) {
57
- throw err
58
- }
59
- } finally {
60
- log('get release read lock')
61
- release()
62
- }
63
-
64
- return new Map()
65
- }
66
-
67
- /**
68
- * Get specific metadata value, if it exists
69
- *
70
- * @param {PeerId} peerId
71
- * @param {string} key
72
- */
73
- async getValue (peerId, key) {
74
- if (!PeerId.isPeerId(peerId)) {
75
- log.error('peerId must be an instance of peer-id to store data')
76
- throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS)
77
- }
78
-
79
- log('getValue await read lock')
80
- const release = await this._store.lock.readLock()
81
- log('getValue got read lock')
82
-
83
- try {
84
- const peer = await this._store.load(peerId)
85
-
86
- return peer.metadata.get(key)
87
- } catch (/** @type {any} */ err) {
88
- if (err.code !== codes.ERR_NOT_FOUND) {
89
- throw err
90
- }
91
- } finally {
92
- log('getValue release write lock')
93
- release()
94
- }
95
- }
96
-
97
- /**
98
- * @param {PeerId} peerId
99
- * @param {Map<string, Uint8Array>} metadata
100
- */
101
- async set (peerId, metadata) {
102
- if (!PeerId.isPeerId(peerId)) {
103
- log.error('peerId must be an instance of peer-id to store data')
104
- throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS)
105
- }
106
-
107
- if (!metadata || !(metadata instanceof Map)) {
108
- log.error('valid metadata must be provided to store data')
109
- throw errcode(new Error('valid metadata must be provided'), codes.ERR_INVALID_PARAMETERS)
110
- }
111
-
112
- log('set await write lock')
113
- const release = await this._store.lock.writeLock()
114
- log('set got write lock')
115
-
116
- try {
117
- await this._store.mergeOrCreate(peerId, {
118
- metadata
119
- })
120
- } finally {
121
- log('set release write lock')
122
- release()
123
- }
124
-
125
- this._emit(EVENT_NAME, { peerId, metadata })
126
- }
127
-
128
- /**
129
- * Set metadata key and value of a provided peer
130
- *
131
- * @param {PeerId} peerId
132
- * @param {string} key - metadata key
133
- * @param {Uint8Array} value - metadata value
134
- */
135
- async setValue (peerId, key, value) {
136
- if (!PeerId.isPeerId(peerId)) {
137
- log.error('peerId must be an instance of peer-id to store data')
138
- throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS)
139
- }
140
-
141
- if (typeof key !== 'string' || !(value instanceof Uint8Array)) {
142
- log.error('valid key and value must be provided to store data')
143
- throw errcode(new Error('valid key and value must be provided'), codes.ERR_INVALID_PARAMETERS)
144
- }
145
-
146
- log('setValue await write lock')
147
- const release = await this._store.lock.writeLock()
148
- log('setValue got write lock')
149
-
150
- let updatedPeer
151
-
152
- try {
153
- try {
154
- const existingPeer = await this._store.load(peerId)
155
- const existingValue = existingPeer.metadata.get(key)
156
-
157
- if (existingValue != null && uint8ArrayEquals(value, existingValue)) {
158
- return
159
- }
160
- } catch (/** @type {any} */ err) {
161
- if (err.code !== codes.ERR_NOT_FOUND) {
162
- throw err
163
- }
164
- }
165
-
166
- updatedPeer = await this._store.mergeOrCreate(peerId, {
167
- metadata: new Map([[key, value]])
168
- })
169
- } finally {
170
- log('setValue release write lock')
171
- release()
172
- }
173
-
174
- this._emit(EVENT_NAME, { peerId, metadata: updatedPeer.metadata })
175
- }
176
-
177
- /**
178
- * @param {PeerId} peerId
179
- */
180
- async delete (peerId) {
181
- if (!PeerId.isPeerId(peerId)) {
182
- log.error('peerId must be an instance of peer-id to store data')
183
- throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS)
184
- }
185
-
186
- log('delete await write lock')
187
- const release = await this._store.lock.writeLock()
188
- log('delete got write lock')
189
-
190
- let has
191
-
192
- try {
193
- has = await this._store.has(peerId)
194
-
195
- if (has) {
196
- await this._store.patch(peerId, {
197
- metadata: new Map()
198
- })
199
- }
200
- } finally {
201
- log('delete release write lock')
202
- release()
203
- }
204
-
205
- if (has) {
206
- this._emit(EVENT_NAME, { peerId, metadata: new Map() })
207
- }
208
- }
209
-
210
- /**
211
- * @param {PeerId} peerId
212
- * @param {string} key
213
- */
214
- async deleteValue (peerId, key) {
215
- if (!PeerId.isPeerId(peerId)) {
216
- log.error('peerId must be an instance of peer-id to store data')
217
- throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS)
218
- }
219
-
220
- log('deleteValue await write lock')
221
- const release = await this._store.lock.writeLock()
222
- log('deleteValue got write lock')
223
-
224
- let metadata
225
-
226
- try {
227
- const peer = await this._store.load(peerId)
228
- metadata = peer.metadata
229
-
230
- metadata.delete(key)
231
-
232
- await this._store.patch(peerId, {
233
- metadata
234
- })
235
- } catch (/** @type {any} **/ err) {
236
- if (err.code !== codes.ERR_NOT_FOUND) {
237
- throw err
238
- }
239
- } finally {
240
- log('deleteValue release write lock')
241
- release()
242
- }
243
-
244
- if (metadata) {
245
- this._emit(EVENT_NAME, { peerId, metadata })
246
- }
247
- }
248
- }
249
-
250
- module.exports = PeerStoreMetadataBook
@@ -1,222 +0,0 @@
1
- import * as $protobuf from "protobufjs";
2
- /** Properties of a Peer. */
3
- export interface IPeer {
4
-
5
- /** Peer addresses */
6
- addresses?: (IAddress[]|null);
7
-
8
- /** Peer protocols */
9
- protocols?: (string[]|null);
10
-
11
- /** Peer metadata */
12
- metadata?: (IMetadata[]|null);
13
-
14
- /** Peer pubKey */
15
- pubKey?: (Uint8Array|null);
16
-
17
- /** Peer peerRecordEnvelope */
18
- peerRecordEnvelope?: (Uint8Array|null);
19
- }
20
-
21
- /** Represents a Peer. */
22
- export class Peer implements IPeer {
23
-
24
- /**
25
- * Constructs a new Peer.
26
- * @param [p] Properties to set
27
- */
28
- constructor(p?: IPeer);
29
-
30
- /** Peer addresses. */
31
- public addresses: IAddress[];
32
-
33
- /** Peer protocols. */
34
- public protocols: string[];
35
-
36
- /** Peer metadata. */
37
- public metadata: IMetadata[];
38
-
39
- /** Peer pubKey. */
40
- public pubKey?: (Uint8Array|null);
41
-
42
- /** Peer peerRecordEnvelope. */
43
- public peerRecordEnvelope?: (Uint8Array|null);
44
-
45
- /** Peer _pubKey. */
46
- public _pubKey?: "pubKey";
47
-
48
- /** Peer _peerRecordEnvelope. */
49
- public _peerRecordEnvelope?: "peerRecordEnvelope";
50
-
51
- /**
52
- * Encodes the specified Peer message. Does not implicitly {@link Peer.verify|verify} messages.
53
- * @param m Peer message or plain object to encode
54
- * @param [w] Writer to encode to
55
- * @returns Writer
56
- */
57
- public static encode(m: IPeer, w?: $protobuf.Writer): $protobuf.Writer;
58
-
59
- /**
60
- * Decodes a Peer message from the specified reader or buffer.
61
- * @param r Reader or buffer to decode from
62
- * @param [l] Message length if known beforehand
63
- * @returns Peer
64
- * @throws {Error} If the payload is not a reader or valid buffer
65
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
66
- */
67
- public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Peer;
68
-
69
- /**
70
- * Creates a Peer message from a plain object. Also converts values to their respective internal types.
71
- * @param d Plain object
72
- * @returns Peer
73
- */
74
- public static fromObject(d: { [k: string]: any }): Peer;
75
-
76
- /**
77
- * Creates a plain object from a Peer message. Also converts values to other types if specified.
78
- * @param m Peer
79
- * @param [o] Conversion options
80
- * @returns Plain object
81
- */
82
- public static toObject(m: Peer, o?: $protobuf.IConversionOptions): { [k: string]: any };
83
-
84
- /**
85
- * Converts this Peer to JSON.
86
- * @returns JSON object
87
- */
88
- public toJSON(): { [k: string]: any };
89
- }
90
-
91
- /** Properties of an Address. */
92
- export interface IAddress {
93
-
94
- /** Address multiaddr */
95
- multiaddr?: (Uint8Array|null);
96
-
97
- /** Address isCertified */
98
- isCertified?: (boolean|null);
99
- }
100
-
101
- /** Represents an Address. */
102
- export class Address implements IAddress {
103
-
104
- /**
105
- * Constructs a new Address.
106
- * @param [p] Properties to set
107
- */
108
- constructor(p?: IAddress);
109
-
110
- /** Address multiaddr. */
111
- public multiaddr: Uint8Array;
112
-
113
- /** Address isCertified. */
114
- public isCertified?: (boolean|null);
115
-
116
- /** Address _isCertified. */
117
- public _isCertified?: "isCertified";
118
-
119
- /**
120
- * Encodes the specified Address message. Does not implicitly {@link Address.verify|verify} messages.
121
- * @param m Address message or plain object to encode
122
- * @param [w] Writer to encode to
123
- * @returns Writer
124
- */
125
- public static encode(m: IAddress, w?: $protobuf.Writer): $protobuf.Writer;
126
-
127
- /**
128
- * Decodes an Address message from the specified reader or buffer.
129
- * @param r Reader or buffer to decode from
130
- * @param [l] Message length if known beforehand
131
- * @returns Address
132
- * @throws {Error} If the payload is not a reader or valid buffer
133
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
134
- */
135
- public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Address;
136
-
137
- /**
138
- * Creates an Address message from a plain object. Also converts values to their respective internal types.
139
- * @param d Plain object
140
- * @returns Address
141
- */
142
- public static fromObject(d: { [k: string]: any }): Address;
143
-
144
- /**
145
- * Creates a plain object from an Address message. Also converts values to other types if specified.
146
- * @param m Address
147
- * @param [o] Conversion options
148
- * @returns Plain object
149
- */
150
- public static toObject(m: Address, o?: $protobuf.IConversionOptions): { [k: string]: any };
151
-
152
- /**
153
- * Converts this Address to JSON.
154
- * @returns JSON object
155
- */
156
- public toJSON(): { [k: string]: any };
157
- }
158
-
159
- /** Properties of a Metadata. */
160
- export interface IMetadata {
161
-
162
- /** Metadata key */
163
- key?: (string|null);
164
-
165
- /** Metadata value */
166
- value?: (Uint8Array|null);
167
- }
168
-
169
- /** Represents a Metadata. */
170
- export class Metadata implements IMetadata {
171
-
172
- /**
173
- * Constructs a new Metadata.
174
- * @param [p] Properties to set
175
- */
176
- constructor(p?: IMetadata);
177
-
178
- /** Metadata key. */
179
- public key: string;
180
-
181
- /** Metadata value. */
182
- public value: Uint8Array;
183
-
184
- /**
185
- * Encodes the specified Metadata message. Does not implicitly {@link Metadata.verify|verify} messages.
186
- * @param m Metadata message or plain object to encode
187
- * @param [w] Writer to encode to
188
- * @returns Writer
189
- */
190
- public static encode(m: IMetadata, w?: $protobuf.Writer): $protobuf.Writer;
191
-
192
- /**
193
- * Decodes a Metadata message from the specified reader or buffer.
194
- * @param r Reader or buffer to decode from
195
- * @param [l] Message length if known beforehand
196
- * @returns Metadata
197
- * @throws {Error} If the payload is not a reader or valid buffer
198
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
199
- */
200
- public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Metadata;
201
-
202
- /**
203
- * Creates a Metadata message from a plain object. Also converts values to their respective internal types.
204
- * @param d Plain object
205
- * @returns Metadata
206
- */
207
- public static fromObject(d: { [k: string]: any }): Metadata;
208
-
209
- /**
210
- * Creates a plain object from a Metadata message. Also converts values to other types if specified.
211
- * @param m Metadata
212
- * @param [o] Conversion options
213
- * @returns Plain object
214
- */
215
- public static toObject(m: Metadata, o?: $protobuf.IConversionOptions): { [k: string]: any };
216
-
217
- /**
218
- * Converts this Metadata to JSON.
219
- * @returns JSON object
220
- */
221
- public toJSON(): { [k: string]: any };
222
- }