libp2p 0.36.1-902f10d → 0.36.2-64bfcee

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 (398) hide show
  1. package/LICENSE +3 -21
  2. package/README.md +13 -10
  3. package/dist/src/address-manager/index.d.ts +33 -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 +215 -0
  10. package/dist/src/circuit/auto-relay.js.map +1 -0
  11. package/dist/src/circuit/circuit/hop.d.ts +25 -52
  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 +16 -8
  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 +16 -35
  20. package/dist/src/circuit/circuit/stream-handler.d.ts.map +1 -1
  21. package/dist/src/circuit/circuit/stream-handler.js +60 -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 +54 -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/{protocol → pb}/index.d.ts +0 -0
  44. package/{src/circuit/protocol → dist/src/circuit/pb}/index.js +7 -9
  45. package/dist/src/circuit/transport.d.ts +18 -78
  46. package/dist/src/circuit/transport.d.ts.map +1 -1
  47. package/dist/src/circuit/transport.js +190 -0
  48. package/dist/src/circuit/transport.js.map +1 -0
  49. package/dist/src/circuit/utils.d.ts +5 -2
  50. package/dist/src/circuit/utils.d.ts.map +1 -1
  51. package/dist/src/circuit/utils.js +11 -0
  52. package/dist/src/circuit/utils.js.map +1 -0
  53. package/dist/src/config.d.ts +3 -85
  54. package/dist/src/config.d.ts.map +1 -1
  55. package/dist/src/config.js +93 -0
  56. package/dist/src/config.js.map +1 -0
  57. package/dist/src/connection-manager/auto-dialler.d.ts +24 -41
  58. package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
  59. package/dist/src/connection-manager/auto-dialler.js +105 -0
  60. package/dist/src/connection-manager/auto-dialler.js.map +1 -0
  61. package/dist/src/connection-manager/index.d.ts +79 -144
  62. package/dist/src/connection-manager/index.d.ts.map +1 -1
  63. package/dist/src/connection-manager/index.js +295 -0
  64. package/dist/src/connection-manager/index.js.map +1 -0
  65. package/dist/src/connection-manager/latency-monitor.d.ts +72 -97
  66. package/dist/src/connection-manager/latency-monitor.d.ts.map +1 -1
  67. package/dist/src/connection-manager/latency-monitor.js +220 -0
  68. package/dist/src/connection-manager/latency-monitor.js.map +1 -0
  69. package/dist/src/connection-manager/visibility-change-emitter.d.ts +15 -16
  70. package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +1 -1
  71. package/dist/src/connection-manager/visibility-change-emitter.js +118 -0
  72. package/dist/src/connection-manager/visibility-change-emitter.js.map +1 -0
  73. package/dist/src/constants.d.ts +22 -10
  74. package/dist/src/constants.d.ts.map +1 -1
  75. package/dist/src/constants.js +27 -0
  76. package/dist/src/constants.js.map +1 -0
  77. package/dist/src/content-routing/index.d.ts +26 -81
  78. package/dist/src/content-routing/index.d.ts.map +1 -1
  79. package/dist/src/content-routing/index.js +99 -0
  80. package/dist/src/content-routing/index.js.map +1 -0
  81. package/dist/src/content-routing/utils.d.ts +6 -49
  82. package/dist/src/content-routing/utils.d.ts.map +1 -1
  83. package/dist/src/content-routing/utils.js +42 -0
  84. package/dist/src/content-routing/utils.js.map +1 -0
  85. package/dist/src/dht/dht-content-routing.d.ts +10 -24
  86. package/dist/src/dht/dht-content-routing.d.ts.map +1 -1
  87. package/dist/src/dht/dht-content-routing.js +32 -0
  88. package/dist/src/dht/dht-content-routing.js.map +1 -0
  89. package/dist/src/dht/dht-peer-routing.d.ts +9 -24
  90. package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
  91. package/dist/src/dht/dht-peer-routing.js +26 -0
  92. package/dist/src/dht/dht-peer-routing.js.map +1 -0
  93. package/dist/src/dialer/auto-dialer.d.ts +14 -0
  94. package/dist/src/dialer/auto-dialer.d.ts.map +1 -0
  95. package/dist/src/dialer/auto-dialer.js +24 -0
  96. package/dist/src/dialer/auto-dialer.js.map +1 -0
  97. package/dist/src/dialer/dial-request.d.ts +18 -46
  98. package/dist/src/dialer/dial-request.d.ts.map +1 -1
  99. package/dist/src/dialer/dial-request.js +83 -0
  100. package/dist/src/dialer/dial-request.js.map +1 -0
  101. package/dist/src/dialer/index.d.ts +41 -148
  102. package/dist/src/dialer/index.d.ts.map +1 -1
  103. package/dist/src/dialer/index.js +281 -0
  104. package/dist/src/dialer/index.js.map +1 -0
  105. package/dist/src/errors.d.ts +68 -63
  106. package/dist/src/errors.d.ts.map +1 -1
  107. package/dist/src/errors.js +73 -0
  108. package/dist/src/errors.js.map +1 -0
  109. package/dist/src/fetch/constants.d.ts +1 -1
  110. package/dist/src/fetch/constants.d.ts.map +1 -1
  111. package/dist/src/fetch/constants.js +3 -0
  112. package/dist/src/fetch/constants.js.map +1 -0
  113. package/dist/src/fetch/index.d.ts +30 -49
  114. package/dist/src/fetch/index.d.ts.map +1 -1
  115. package/dist/src/fetch/index.js +130 -0
  116. package/dist/src/fetch/index.js.map +1 -0
  117. package/dist/src/fetch/{proto.d.ts → pb/proto.d.ts} +0 -0
  118. package/{src/fetch → dist/src/fetch/pb}/proto.js +7 -9
  119. package/dist/src/get-peer.d.ts +4 -11
  120. package/dist/src/get-peer.d.ts.map +1 -1
  121. package/dist/src/get-peer.js +43 -0
  122. package/dist/src/get-peer.js.map +1 -0
  123. package/dist/src/identify/consts.d.ts +9 -9
  124. package/dist/src/identify/consts.d.ts.map +1 -1
  125. package/dist/src/identify/consts.js +11 -0
  126. package/dist/src/identify/consts.js.map +1 -0
  127. package/dist/src/identify/index.d.ts +40 -96
  128. package/dist/src/identify/index.d.ts.map +1 -1
  129. package/dist/src/identify/index.js +322 -0
  130. package/dist/src/identify/index.js.map +1 -0
  131. package/{src/identify → dist/src/identify/pb}/message.d.ts +20 -5
  132. package/{src/identify → dist/src/identify/pb}/message.js +83 -42
  133. package/dist/src/index.d.ts +159 -493
  134. package/dist/src/index.d.ts.map +1 -1
  135. package/dist/src/index.js +9 -0
  136. package/dist/src/index.js.map +1 -0
  137. package/dist/src/insecure/index.d.ts +9 -0
  138. package/dist/src/insecure/index.d.ts.map +1 -0
  139. package/dist/src/insecure/index.js +78 -0
  140. package/dist/src/insecure/index.js.map +1 -0
  141. package/dist/src/insecure/{proto.d.ts → pb/proto.d.ts} +7 -1
  142. package/{src/insecure → dist/src/insecure/pb}/proto.js +39 -22
  143. package/dist/src/keychain/cms.d.ts +6 -14
  144. package/dist/src/keychain/cms.d.ts.map +1 -1
  145. package/dist/src/keychain/cms.js +129 -0
  146. package/dist/src/keychain/cms.js.map +1 -0
  147. package/dist/src/keychain/index.d.ts +62 -82
  148. package/dist/src/keychain/index.d.ts.map +1 -1
  149. package/dist/src/keychain/index.js +493 -0
  150. package/dist/src/keychain/index.js.map +1 -0
  151. package/dist/src/keychain/util.d.ts +3 -6
  152. package/dist/src/keychain/util.d.ts.map +1 -1
  153. package/dist/src/keychain/util.js +79 -0
  154. package/dist/src/keychain/util.js.map +1 -0
  155. package/dist/src/libp2p.d.ts +78 -0
  156. package/dist/src/libp2p.d.ts.map +1 -0
  157. package/dist/src/libp2p.js +372 -0
  158. package/dist/src/libp2p.js.map +1 -0
  159. package/dist/src/metrics/index.d.ts +47 -104
  160. package/dist/src/metrics/index.d.ts.map +1 -1
  161. package/dist/src/metrics/index.js +231 -0
  162. package/dist/src/metrics/index.js.map +1 -0
  163. package/dist/src/metrics/moving-average.d.ts +14 -0
  164. package/dist/src/metrics/moving-average.d.ts.map +1 -0
  165. package/dist/src/metrics/moving-average.js +40 -0
  166. package/dist/src/metrics/moving-average.js.map +1 -0
  167. package/dist/src/metrics/stats.d.ts +45 -93
  168. package/dist/src/metrics/stats.d.ts.map +1 -1
  169. package/dist/src/metrics/stats.js +183 -0
  170. package/dist/src/metrics/stats.js.map +1 -0
  171. package/dist/src/nat-manager.d.ts +42 -99
  172. package/dist/src/nat-manager.d.ts.map +1 -1
  173. package/dist/src/nat-manager.js +114 -0
  174. package/dist/src/nat-manager.js.map +1 -0
  175. package/dist/src/peer-record-updater.d.ts +15 -0
  176. package/dist/src/peer-record-updater.d.ts.map +1 -0
  177. package/dist/src/peer-record-updater.js +44 -0
  178. package/dist/src/peer-record-updater.js.map +1 -0
  179. package/dist/src/peer-routing.d.ts +39 -84
  180. package/dist/src/peer-routing.d.ts.map +1 -1
  181. package/dist/src/peer-routing.js +108 -0
  182. package/dist/src/peer-routing.js.map +1 -0
  183. package/dist/src/ping/constants.d.ts +4 -4
  184. package/dist/src/ping/constants.d.ts.map +1 -1
  185. package/dist/src/ping/constants.js +5 -0
  186. package/dist/src/ping/constants.js.map +1 -0
  187. package/dist/src/ping/index.d.ts +17 -31
  188. package/dist/src/ping/index.d.ts.map +1 -1
  189. package/dist/src/ping/index.js +56 -0
  190. package/dist/src/ping/index.js.map +1 -0
  191. package/dist/src/pnet/crypto.d.ts +15 -5
  192. package/dist/src/pnet/crypto.d.ts.map +1 -1
  193. package/dist/src/pnet/crypto.js +60 -0
  194. package/dist/src/pnet/crypto.js.map +1 -0
  195. package/dist/src/pnet/errors.d.ts +5 -5
  196. package/dist/src/pnet/errors.d.ts.map +1 -1
  197. package/dist/src/pnet/errors.js +6 -0
  198. package/dist/src/pnet/errors.js.map +1 -0
  199. package/dist/src/pnet/index.d.ts +11 -20
  200. package/dist/src/pnet/index.d.ts.map +1 -1
  201. package/dist/src/pnet/index.js +66 -0
  202. package/dist/src/pnet/index.js.map +1 -0
  203. package/dist/src/pnet/key-generator.d.ts +3 -7
  204. package/dist/src/pnet/key-generator.d.ts.map +1 -1
  205. package/dist/src/pnet/key-generator.js +25 -0
  206. package/dist/src/pnet/key-generator.js.map +1 -0
  207. package/dist/src/registrar.d.ts +27 -65
  208. package/dist/src/registrar.d.ts.map +1 -1
  209. package/dist/src/registrar.js +159 -0
  210. package/dist/src/registrar.js.map +1 -0
  211. package/dist/src/transport-manager.d.ts +34 -82
  212. package/dist/src/transport-manager.d.ts.map +1 -1
  213. package/dist/src/transport-manager.js +223 -0
  214. package/dist/src/transport-manager.js.map +1 -0
  215. package/dist/src/upgrader.d.ts +49 -129
  216. package/dist/src/upgrader.d.ts.map +1 -1
  217. package/dist/src/upgrader.js +402 -0
  218. package/dist/src/upgrader.js.map +1 -0
  219. package/dist/src/version.d.ts +3 -0
  220. package/dist/src/version.d.ts.map +1 -0
  221. package/dist/src/version.js +3 -0
  222. package/dist/src/version.js.map +1 -0
  223. package/package.json +148 -197
  224. package/src/address-manager/index.ts +129 -0
  225. package/src/circuit/README.md +16 -11
  226. package/src/circuit/auto-relay.ts +284 -0
  227. package/src/circuit/circuit/hop.ts +211 -0
  228. package/src/circuit/circuit/stop.ts +78 -0
  229. package/src/circuit/circuit/stream-handler.ts +87 -0
  230. package/src/circuit/circuit/{utils.js → utils.ts} +9 -25
  231. package/src/circuit/constants.ts +31 -0
  232. package/src/circuit/index.ts +120 -0
  233. package/src/circuit/{listener.js → listener.ts} +21 -27
  234. package/src/circuit/multicodec.ts +2 -0
  235. package/src/circuit/{protocol → pb}/index.d.ts +0 -0
  236. package/src/circuit/pb/index.js +528 -0
  237. package/src/circuit/{protocol → pb}/index.proto +0 -0
  238. package/src/circuit/transport.ts +216 -0
  239. package/src/circuit/utils.ts +12 -0
  240. package/src/config.ts +101 -0
  241. package/src/connection-manager/auto-dialler.ts +154 -0
  242. package/src/connection-manager/index.ts +422 -0
  243. package/src/connection-manager/latency-monitor.ts +319 -0
  244. package/src/connection-manager/{visibility-change-emitter.js → visibility-change-emitter.ts} +48 -38
  245. package/src/constants.ts +31 -0
  246. package/src/content-routing/index.ts +143 -0
  247. package/src/content-routing/utils.ts +54 -0
  248. package/src/dht/dht-content-routing.ts +43 -0
  249. package/src/dht/dht-peer-routing.ts +35 -0
  250. package/src/dialer/auto-dialer.ts +40 -0
  251. package/src/dialer/{dial-request.js → dial-request.ts} +60 -51
  252. package/src/dialer/index.ts +374 -0
  253. package/src/errors.ts +71 -0
  254. package/src/fetch/README.md +1 -1
  255. package/src/fetch/constants.ts +3 -0
  256. package/src/fetch/{index.js → index.ts} +79 -70
  257. package/src/fetch/{proto.d.ts → pb/proto.d.ts} +0 -0
  258. package/src/fetch/pb/proto.js +331 -0
  259. package/src/fetch/{proto.proto → pb/proto.proto} +0 -0
  260. package/src/get-peer.ts +57 -0
  261. package/src/identify/consts.ts +13 -0
  262. package/src/identify/index.ts +445 -0
  263. package/{dist/src/identify → src/identify/pb}/message.d.ts +20 -5
  264. package/src/identify/pb/message.js +369 -0
  265. package/src/identify/{message.proto → pb/message.proto} +0 -0
  266. package/src/index.ts +236 -0
  267. package/src/insecure/index.ts +97 -0
  268. package/src/insecure/{proto.d.ts → pb/proto.d.ts} +7 -1
  269. package/src/insecure/pb/proto.js +388 -0
  270. package/src/insecure/{proto.proto → pb/proto.proto} +0 -0
  271. package/src/keychain/{cms.js → cms.ts} +62 -58
  272. package/src/keychain/index.ts +588 -0
  273. package/src/keychain/{util.js → util.ts} +7 -17
  274. package/src/libp2p.ts +509 -0
  275. package/src/metrics/index.ts +310 -0
  276. package/src/metrics/moving-average.ts +53 -0
  277. package/src/metrics/stats.ts +243 -0
  278. package/src/nat-manager.ts +194 -0
  279. package/src/peer-record-updater.ts +55 -0
  280. package/src/peer-routing.ts +185 -0
  281. package/src/ping/README.md +1 -1
  282. package/src/ping/constants.ts +5 -0
  283. package/src/ping/index.ts +83 -0
  284. package/src/pnet/README.md +2 -2
  285. package/src/pnet/crypto.ts +67 -0
  286. package/src/pnet/errors.ts +5 -0
  287. package/src/pnet/index.ts +95 -0
  288. package/src/pnet/key-generator.ts +28 -0
  289. package/src/registrar.ts +205 -0
  290. package/src/transport-manager.ts +279 -0
  291. package/src/upgrader.ts +499 -0
  292. package/src/version.ts +3 -0
  293. package/dist/index.min.js +0 -55
  294. package/dist/src/insecure/plaintext.d.ts +0 -12
  295. package/dist/src/insecure/plaintext.d.ts.map +0 -1
  296. package/dist/src/metrics/old-peers.d.ts +0 -3
  297. package/dist/src/metrics/old-peers.d.ts.map +0 -1
  298. package/dist/src/metrics/tracked-map.d.ts +0 -8
  299. package/dist/src/metrics/tracked-map.d.ts.map +0 -1
  300. package/dist/src/peer-store/address-book.d.ts +0 -67
  301. package/dist/src/peer-store/address-book.d.ts.map +0 -1
  302. package/dist/src/peer-store/index.d.ts +0 -58
  303. package/dist/src/peer-store/index.d.ts.map +0 -1
  304. package/dist/src/peer-store/key-book.d.ts +0 -40
  305. package/dist/src/peer-store/key-book.d.ts.map +0 -1
  306. package/dist/src/peer-store/metadata-book.d.ts +0 -58
  307. package/dist/src/peer-store/metadata-book.d.ts.map +0 -1
  308. package/dist/src/peer-store/pb/peer.d.ts +0 -222
  309. package/dist/src/peer-store/proto-book.d.ts +0 -43
  310. package/dist/src/peer-store/proto-book.d.ts.map +0 -1
  311. package/dist/src/peer-store/store.d.ts +0 -73
  312. package/dist/src/peer-store/store.d.ts.map +0 -1
  313. package/dist/src/peer-store/types.d.ts +0 -202
  314. package/dist/src/peer-store/types.d.ts.map +0 -1
  315. package/dist/src/ping/util.d.ts +0 -5
  316. package/dist/src/ping/util.d.ts.map +0 -1
  317. package/dist/src/pubsub-adapter.d.ts +0 -22
  318. package/dist/src/pubsub-adapter.d.ts.map +0 -1
  319. package/dist/src/record/envelope/envelope.d.ts +0 -77
  320. package/dist/src/record/envelope/index.d.ts +0 -80
  321. package/dist/src/record/envelope/index.d.ts.map +0 -1
  322. package/dist/src/record/peer-record/consts.d.ts +0 -4
  323. package/dist/src/record/peer-record/consts.d.ts.map +0 -1
  324. package/dist/src/record/peer-record/index.d.ts +0 -60
  325. package/dist/src/record/peer-record/index.d.ts.map +0 -1
  326. package/dist/src/record/peer-record/peer-record.d.ts +0 -133
  327. package/dist/src/record/utils.d.ts +0 -12
  328. package/dist/src/record/utils.d.ts.map +0 -1
  329. package/dist/src/types.d.ts +0 -90
  330. package/dist/src/types.d.ts.map +0 -1
  331. package/src/address-manager/index.js +0 -96
  332. package/src/circuit/auto-relay.js +0 -302
  333. package/src/circuit/circuit/hop.js +0 -205
  334. package/src/circuit/circuit/stop.js +0 -81
  335. package/src/circuit/circuit/stream-handler.js +0 -94
  336. package/src/circuit/constants.js +0 -12
  337. package/src/circuit/index.js +0 -102
  338. package/src/circuit/multicodec.js +0 -5
  339. package/src/circuit/transport.js +0 -229
  340. package/src/circuit/utils.js +0 -17
  341. package/src/config.js +0 -114
  342. package/src/connection-manager/auto-dialler.js +0 -132
  343. package/src/connection-manager/index.js +0 -374
  344. package/src/connection-manager/latency-monitor.js +0 -264
  345. package/src/constants.js +0 -18
  346. package/src/content-routing/index.js +0 -163
  347. package/src/content-routing/utils.js +0 -89
  348. package/src/dht/dht-content-routing.js +0 -44
  349. package/src/dht/dht-peer-routing.js +0 -51
  350. package/src/dialer/index.js +0 -376
  351. package/src/errors.js +0 -66
  352. package/src/fetch/constants.js +0 -6
  353. package/src/get-peer.js +0 -49
  354. package/src/identify/consts.js +0 -15
  355. package/src/identify/index.js +0 -384
  356. package/src/index.js +0 -813
  357. package/src/insecure/plaintext.js +0 -95
  358. package/src/keychain/index.js +0 -561
  359. package/src/metrics/index.js +0 -290
  360. package/src/metrics/old-peers.js +0 -16
  361. package/src/metrics/stats.js +0 -270
  362. package/src/metrics/tracked-map.js +0 -94
  363. package/src/nat-manager.js +0 -197
  364. package/src/peer-routing.js +0 -176
  365. package/src/peer-store/README.md +0 -145
  366. package/src/peer-store/address-book.js +0 -382
  367. package/src/peer-store/index.js +0 -121
  368. package/src/peer-store/key-book.js +0 -141
  369. package/src/peer-store/metadata-book.js +0 -250
  370. package/src/peer-store/pb/peer.d.ts +0 -222
  371. package/src/peer-store/pb/peer.js +0 -643
  372. package/src/peer-store/pb/peer.proto +0 -31
  373. package/src/peer-store/proto-book.js +0 -237
  374. package/src/peer-store/store.js +0 -263
  375. package/src/peer-store/types.ts +0 -245
  376. package/src/ping/constants.js +0 -8
  377. package/src/ping/index.js +0 -84
  378. package/src/ping/util.js +0 -18
  379. package/src/pnet/crypto.js +0 -84
  380. package/src/pnet/errors.js +0 -7
  381. package/src/pnet/index.js +0 -86
  382. package/src/pnet/key-generator.js +0 -33
  383. package/src/pubsub-adapter.js +0 -61
  384. package/src/record/README.md +0 -130
  385. package/src/record/envelope/envelope.d.ts +0 -77
  386. package/src/record/envelope/envelope.js +0 -243
  387. package/src/record/envelope/envelope.proto +0 -19
  388. package/src/record/envelope/index.js +0 -183
  389. package/src/record/peer-record/consts.js +0 -14
  390. package/src/record/peer-record/index.js +0 -113
  391. package/src/record/peer-record/peer-record.d.ts +0 -133
  392. package/src/record/peer-record/peer-record.js +0 -367
  393. package/src/record/peer-record/peer-record.proto +0 -18
  394. package/src/record/utils.js +0 -25
  395. package/src/registrar.js +0 -127
  396. package/src/transport-manager.js +0 -269
  397. package/src/types.ts +0 -98
  398. package/src/upgrader.js +0 -492
@@ -1,11 +1,23 @@
1
- export const DIAL_TIMEOUT: number;
2
- export const MAX_PARALLEL_DIALS: number;
3
- export const MAX_PER_PEER_DIALS: number;
4
- export const MAX_ADDRS_TO_DIAL: number;
5
- export namespace METRICS {
6
- const computeThrottleMaxQueueSize: number;
7
- const computeThrottleTimeout: number;
8
- const movingAverageIntervals: number[];
9
- const maxOldPeersRetention: number;
10
- }
1
+ /**
2
+ * How long in ms a dial attempt is allowed to take
3
+ */
4
+ export declare const DIAL_TIMEOUT = 30000;
5
+ /**
6
+ * Maximum allowed concurrent dials
7
+ */
8
+ export declare const MAX_PARALLEL_DIALS = 100;
9
+ /**
10
+ * Allowed parallel dials per DialRequest
11
+ */
12
+ export declare const MAX_PER_PEER_DIALS = 4;
13
+ /**
14
+ * Maximum number of allowed addresses to attempt to dial
15
+ */
16
+ export declare const MAX_ADDRS_TO_DIAL = 25;
17
+ export declare const METRICS: {
18
+ computeThrottleMaxQueueSize: number;
19
+ computeThrottleTimeout: number;
20
+ movingAverageIntervals: number[];
21
+ maxOldPeersRetention: number;
22
+ };
11
23
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,eAAO,MAAM,YAAY,QAAO,CAAA;AAEhC;;GAEG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAErC;;GAEG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAEnC,eAAO,MAAM,OAAO;;;;;CASnB,CAAA"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * How long in ms a dial attempt is allowed to take
3
+ */
4
+ export const DIAL_TIMEOUT = 30e3;
5
+ /**
6
+ * Maximum allowed concurrent dials
7
+ */
8
+ export const MAX_PARALLEL_DIALS = 100;
9
+ /**
10
+ * Allowed parallel dials per DialRequest
11
+ */
12
+ export const MAX_PER_PEER_DIALS = 4;
13
+ /**
14
+ * Maximum number of allowed addresses to attempt to dial
15
+ */
16
+ export const MAX_ADDRS_TO_DIAL = 25;
17
+ export const METRICS = {
18
+ computeThrottleMaxQueueSize: 1000,
19
+ computeThrottleTimeout: 2000,
20
+ movingAverageIntervals: [
21
+ 60 * 1000,
22
+ 5 * 60 * 1000,
23
+ 15 * 60 * 1000 // 15 minutes
24
+ ],
25
+ maxOldPeersRetention: 50
26
+ };
27
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEhC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAEnC,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,2BAA2B,EAAE,IAAI;IACjC,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE;QACtB,EAAE,GAAG,IAAI;QACT,CAAC,GAAG,EAAE,GAAG,IAAI;QACb,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa;KAC7B;IACD,oBAAoB,EAAE,EAAE;CACzB,CAAA"}
@@ -1,97 +1,42 @@
1
- export = ContentRouting;
2
- /**
3
- * @typedef {import('peer-id')} PeerId
4
- * @typedef {import('multiaddr').Multiaddr} Multiaddr
5
- * @typedef {import('multiformats/cid').CID} CID
6
- * @typedef {import('libp2p-interfaces/src/content-routing/types').ContentRouting} ContentRoutingModule
7
- */
8
- /**
9
- * @typedef {Object} GetData
10
- * @property {PeerId} from
11
- * @property {Uint8Array} val
12
- */
13
- declare class ContentRouting {
14
- /**
15
- * @class
16
- * @param {import('..')} libp2p
17
- */
18
- constructor(libp2p: import('..'));
19
- libp2p: import("..");
20
- /** @type {ContentRoutingModule[]} */
21
- routers: ContentRoutingModule[];
22
- dht: any;
1
+ import type { ContentRouting } from '@libp2p/interfaces/content-routing';
2
+ import type { AbortOptions, Startable } from '@libp2p/interfaces';
3
+ import type { CID } from 'multiformats/cid';
4
+ import type { Components } from '@libp2p/interfaces/components';
5
+ export interface CompoundContentRoutingInit {
6
+ routers: ContentRouting[];
7
+ }
8
+ export declare class CompoundContentRouting implements ContentRouting, Startable {
9
+ private readonly routers;
10
+ private started;
11
+ private readonly components;
12
+ constructor(components: Components, init: CompoundContentRoutingInit);
13
+ isStarted(): boolean;
14
+ start(): Promise<void>;
15
+ stop(): Promise<void>;
23
16
  /**
24
- * Iterates over all content routers in parallel to find providers of the given key.
25
- *
26
- * @param {CID} key - The CID key of the content to find
27
- * @param {object} [options]
28
- * @param {number} [options.timeout] - How long the query should run
29
- * @param {number} [options.maxNumProviders] - maximum number of providers to find
30
- * @returns {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>}
17
+ * Iterates over all content routers in parallel to find providers of the given key
31
18
  */
32
- findProviders(key: CID, options?: {
33
- timeout?: number | undefined;
34
- maxNumProviders?: number | undefined;
35
- } | undefined): AsyncIterable<{
36
- id: PeerId;
37
- multiaddrs: Multiaddr[];
38
- }>;
19
+ findProviders(key: CID, options?: AbortOptions): AsyncGenerator<import("@libp2p/interfaces/dist/src/peer-info").PeerInfo, void, unknown>;
39
20
  /**
40
21
  * Iterates over all content routers in parallel to notify it is
41
- * a provider of the given key.
42
- *
43
- * @param {CID} key - The CID key of the content to find
44
- * @returns {Promise<void>}
22
+ * a provider of the given key
45
23
  */
46
- provide(key: CID): Promise<void>;
24
+ provide(key: CID, options?: AbortOptions): Promise<void>;
47
25
  /**
48
- * Store the given key/value pair in the DHT.
49
- *
50
- * @param {Uint8Array} key
51
- * @param {Uint8Array} value
52
- * @param {Object} [options] - put options
53
- * @param {number} [options.minPeers] - minimum number of peers required to successfully put
54
- * @returns {Promise<void>}
26
+ * Store the given key/value pair in the available content routings
55
27
  */
56
- put(key: Uint8Array, value: Uint8Array, options?: {
57
- minPeers?: number | undefined;
58
- } | undefined): Promise<void>;
28
+ put(key: Uint8Array, value: Uint8Array, options?: AbortOptions): Promise<void>;
59
29
  /**
60
30
  * Get the value to the given key.
61
31
  * Times out after 1 minute by default.
62
- *
63
- * @param {Uint8Array} key
64
- * @param {Object} [options] - get options
65
- * @param {number} [options.timeout] - optional timeout (default: 60000)
66
- * @returns {Promise<GetData>}
67
32
  */
68
- get(key: Uint8Array, options?: {
69
- timeout?: number | undefined;
70
- } | undefined): Promise<GetData>;
33
+ get(key: Uint8Array, options?: AbortOptions): Promise<Uint8Array>;
71
34
  /**
72
- * Get the `n` values to the given key without sorting.
73
- *
74
- * @param {Uint8Array} key
75
- * @param {number} nVals
76
- * @param {Object} [options] - get options
77
- * @param {number} [options.timeout] - optional timeout (default: 60000)
35
+ * Get the `n` values to the given key without sorting
78
36
  */
79
- getMany(key: Uint8Array, nVals: number, options?: {
80
- timeout?: number | undefined;
81
- } | undefined): AsyncGenerator<{
82
- from: any;
83
- val: any;
37
+ getMany(key: Uint8Array, nVals: number, options: AbortOptions): AsyncGenerator<{
38
+ from: import("@libp2p/interfaces/dist/src/peer-id").PeerId;
39
+ val: Uint8Array;
84
40
  }, void, unknown>;
85
41
  }
86
- declare namespace ContentRouting {
87
- export { PeerId, Multiaddr, CID, ContentRoutingModule, GetData };
88
- }
89
- type ContentRoutingModule = import('libp2p-interfaces/src/content-routing/types').ContentRouting;
90
- type CID = import('multiformats/cid').CID;
91
- type PeerId = import('peer-id');
92
- type Multiaddr = import('multiaddr').Multiaddr;
93
- type GetData = {
94
- from: PeerId;
95
- val: Uint8Array;
96
- };
97
42
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/content-routing/index.js"],"names":[],"mappings":";AAeA;;;;;GAKG;AAEH;;;;GAIG;AAEH;IACE;;;OAGG;IACH,oBAFW,OAAO,IAAI,CAAC,EAYtB;IATC,qBAAoB;IACpB,qCAAqC;IACrC,SADW,oBAAoB,EAAE,CACkB;IACnD,SAAsB;IAQxB;;;;;;;;OAQG;IACH,mBANW,GAAG;;;oBAID,cAAc;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAgBlE;IAED;;;;;;OAMG;IACH,aAHW,GAAG,GACD,QAAQ,IAAI,CAAC,CAQzB;IAED;;;;;;;;OAQG;IACH,SANW,UAAU,SACV,UAAU;;oBAGR,QAAQ,IAAI,CAAC,CAQzB;IAED;;;;;;;;OAQG;IACH,SALW,UAAU;;oBAGR,QAAQ,OAAO,CAAC,CAc5B;IAED;;;;;;;OAOG;IACH,aALW,UAAU,SACV,MAAM;;;;;sBA8BhB;CACF;;;;4BA7IY,OAAO,6CAA6C,EAAE,cAAc;WADpE,OAAO,kBAAkB,EAAE,GAAG;cAF9B,OAAO,SAAS,CAAC;iBACjB,OAAO,WAAW,EAAE,SAAS;;UAO5B,MAAM;SACN,UAAU"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/content-routing/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED,qBAAa,sBAAuB,YAAW,cAAc,EAAE,SAAS;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;gBAE1B,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,0BAA0B;IAMrE,SAAS;IAIH,KAAK;IAIL,IAAI;IAIV;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB;IAe3D;;;OAGG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB;IAQnD;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY;IAYrE;;;OAGG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBxE;;OAEG;IACK,OAAO,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;;;;CA8BvE"}
@@ -0,0 +1,99 @@
1
+ import errCode from 'err-code';
2
+ import { messages, codes } from '../errors.js';
3
+ import { storeAddresses, uniquePeers, requirePeers } from './utils.js';
4
+ import drain from 'it-drain';
5
+ import merge from 'it-merge';
6
+ import { pipe } from 'it-pipe';
7
+ export class CompoundContentRouting {
8
+ constructor(components, init) {
9
+ this.routers = init.routers ?? [];
10
+ this.started = false;
11
+ this.components = components;
12
+ }
13
+ isStarted() {
14
+ return this.started;
15
+ }
16
+ async start() {
17
+ this.started = true;
18
+ }
19
+ async stop() {
20
+ this.started = false;
21
+ }
22
+ /**
23
+ * Iterates over all content routers in parallel to find providers of the given key
24
+ */
25
+ async *findProviders(key, options = {}) {
26
+ if (this.routers.length === 0) {
27
+ throw errCode(new Error('No content this.routers available'), codes.ERR_NO_ROUTERS_AVAILABLE);
28
+ }
29
+ yield* pipe(merge(...this.routers.map(router => router.findProviders(key, options))), (source) => storeAddresses(source, this.components.getPeerStore()), (source) => uniquePeers(source), (source) => requirePeers(source));
30
+ }
31
+ /**
32
+ * Iterates over all content routers in parallel to notify it is
33
+ * a provider of the given key
34
+ */
35
+ async provide(key, options = {}) {
36
+ if (this.routers.length === 0) {
37
+ throw errCode(new Error('No content routers available'), codes.ERR_NO_ROUTERS_AVAILABLE);
38
+ }
39
+ await Promise.all(this.routers.map(async (router) => await router.provide(key, options)));
40
+ }
41
+ /**
42
+ * Store the given key/value pair in the available content routings
43
+ */
44
+ async put(key, value, options) {
45
+ if (!this.isStarted()) {
46
+ throw errCode(new Error(messages.NOT_STARTED_YET), codes.DHT_NOT_STARTED);
47
+ }
48
+ const dht = this.components.getDHT();
49
+ if (dht != null) {
50
+ await drain(dht.put(key, value, options));
51
+ }
52
+ }
53
+ /**
54
+ * Get the value to the given key.
55
+ * Times out after 1 minute by default.
56
+ */
57
+ async get(key, options) {
58
+ if (!this.isStarted()) {
59
+ throw errCode(new Error(messages.NOT_STARTED_YET), codes.DHT_NOT_STARTED);
60
+ }
61
+ const dht = this.components.getDHT();
62
+ if (dht != null) {
63
+ for await (const event of dht.get(key, options)) {
64
+ if (event.name === 'VALUE') {
65
+ return event.value;
66
+ }
67
+ }
68
+ }
69
+ throw errCode(new Error(messages.NOT_FOUND), codes.ERR_NOT_FOUND);
70
+ }
71
+ /**
72
+ * Get the `n` values to the given key without sorting
73
+ */
74
+ async *getMany(key, nVals, options) {
75
+ if (!this.isStarted()) {
76
+ throw errCode(new Error(messages.NOT_STARTED_YET), codes.DHT_NOT_STARTED);
77
+ }
78
+ if (nVals == null || nVals === 0) {
79
+ return;
80
+ }
81
+ let gotValues = 0;
82
+ const dht = this.components.getDHT();
83
+ if (dht != null) {
84
+ for await (const event of dht.get(key, options)) {
85
+ if (event.name === 'VALUE') {
86
+ yield { from: event.from, val: event.value };
87
+ gotValues++;
88
+ if (gotValues === nVals) {
89
+ break;
90
+ }
91
+ }
92
+ }
93
+ }
94
+ if (gotValues === 0) {
95
+ throw errCode(new Error(messages.NOT_FOUND), codes.ERR_NOT_FOUND);
96
+ }
97
+ }
98
+ }
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-routing/index.ts"],"names":[],"mappings":"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"}
@@ -1,59 +1,16 @@
1
- export type PeerId = import('peer-id');
2
- export type Multiaddr = import('multiaddr').Multiaddr;
3
- /**
4
- * @typedef {import('peer-id')} PeerId
5
- * @typedef {import('multiaddr').Multiaddr} Multiaddr
6
- */
1
+ import type { Source } from 'it-stream-types';
2
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info';
3
+ import type { PeerStore } from '@libp2p/interfaces/peer-store';
7
4
  /**
8
5
  * Store the multiaddrs from every peer in the passed peer store
9
- *
10
- * @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
11
- * @param {import('../peer-store/types').PeerStore} peerStore
12
6
  */
13
- export function storeAddresses(source: AsyncIterable<{
14
- id: PeerId;
15
- multiaddrs: Multiaddr[];
16
- }>, peerStore: import('../peer-store/types').PeerStore): AsyncGenerator<{
17
- id: PeerId;
18
- multiaddrs: Multiaddr[];
19
- }, void, undefined>;
7
+ export declare function storeAddresses(source: Source<PeerInfo>, peerStore: PeerStore): AsyncGenerator<PeerInfo, void, undefined>;
20
8
  /**
21
9
  * Filter peers by unique peer id
22
- *
23
- * @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
24
10
  */
25
- export function uniquePeers(source: AsyncIterable<{
26
- id: PeerId;
27
- multiaddrs: Multiaddr[];
28
- }>): AsyncGenerator<{
29
- id: PeerId;
30
- multiaddrs: Multiaddr[];
31
- }, void, unknown>;
11
+ export declare function uniquePeers(source: Source<PeerInfo>): AsyncGenerator<PeerInfo, void, unknown>;
32
12
  /**
33
13
  * Require at least `min` peers to be yielded from `source`
34
- *
35
- * @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
36
- * @param {number} min
37
- */
38
- export function requirePeers(source: AsyncIterable<{
39
- id: PeerId;
40
- multiaddrs: Multiaddr[];
41
- }>, min?: number): AsyncGenerator<{
42
- id: PeerId;
43
- multiaddrs: Multiaddr[];
44
- }, void, unknown>;
45
- /**
46
- * If `max` is passed, only take that number of peers from the source
47
- * otherwise take all the peers
48
- *
49
- * @param {AsyncIterable<{ id: PeerId, multiaddrs: Multiaddr[] }>} source
50
- * @param {number} [max]
51
14
  */
52
- export function maybeLimitSource(source: AsyncIterable<{
53
- id: PeerId;
54
- multiaddrs: Multiaddr[];
55
- }>, max?: number | undefined): AsyncIterable<{
56
- id: PeerId;
57
- multiaddrs: Multiaddr[];
58
- }>;
15
+ export declare function requirePeers(source: Source<PeerInfo>, min?: number): AsyncGenerator<PeerInfo, void, unknown>;
59
16
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/content-routing/utils.js"],"names":[],"mappings":"qBAQa,OAAO,SAAS,CAAC;wBACjB,OAAO,WAAW,EAAE,SAAS;AAF1C;;;GAGG;AAEH;;;;;GAKG;AACH,uCAHW,cAAc;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,aACtD,OAAO,qBAAqB,EAAE,SAAS;QADnB,MAAM;gBAAc,SAAS,EAAE;oBAU7D;AAED;;;;GAIG;AACH,oCAFW,cAAc;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC;QAAlC,MAAM;gBAAc,SAAS,EAAE;kBAgB7D;AAED;;;;;GAKG;AACH,qCAHW,cAAc;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,QACtD,MAAM;QADc,MAAM;gBAAc,SAAS,EAAE;kBAe7D;AAED;;;;;;GAMG;AACH,yCAHW,cAAc;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC;QAAlC,MAAM;gBAAc,SAAS,EAAE;GAS7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/content-routing/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAE9D;;GAEG;AACH,wBAAwB,cAAc,CAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,6CAOrF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,2CAcpD;AAED;;GAEG;AACH,wBAAwB,YAAY,CAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAE,MAAU,2CAY9E"}
@@ -0,0 +1,42 @@
1
+ import errCode from 'err-code';
2
+ import filter from 'it-filter';
3
+ import map from 'it-map';
4
+ /**
5
+ * Store the multiaddrs from every peer in the passed peer store
6
+ */
7
+ export async function* storeAddresses(source, peerStore) {
8
+ yield* map(source, async (peer) => {
9
+ // ensure we have the addresses for a given peer
10
+ await peerStore.addressBook.add(peer.id, peer.multiaddrs);
11
+ return peer;
12
+ });
13
+ }
14
+ /**
15
+ * Filter peers by unique peer id
16
+ */
17
+ export function uniquePeers(source) {
18
+ /** @type Set<string> */
19
+ const seen = new Set();
20
+ return filter(source, (peer) => {
21
+ // dedupe by peer id
22
+ if (seen.has(peer.id.toString())) {
23
+ return false;
24
+ }
25
+ seen.add(peer.id.toString());
26
+ return true;
27
+ });
28
+ }
29
+ /**
30
+ * Require at least `min` peers to be yielded from `source`
31
+ */
32
+ export async function* requirePeers(source, min = 1) {
33
+ let seen = 0;
34
+ for await (const peer of source) {
35
+ seen++;
36
+ yield peer;
37
+ }
38
+ if (seen < min) {
39
+ throw errCode(new Error('not found'), 'NOT_FOUND');
40
+ }
41
+ }
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/content-routing/utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAKxB;;GAEG;AACH,MAAM,CAAC,KAAK,SAAU,CAAC,CAAC,cAAc,CAAE,MAAwB,EAAE,SAAoB;IACpF,KAAM,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACjC,gDAAgD;QAChD,MAAM,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAEzD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,MAAwB;IACnD,wBAAwB;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;IAEtB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7B,oBAAoB;QACpB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE;YAChC,OAAO,KAAK,CAAA;SACb;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE5B,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAU,CAAC,CAAC,YAAY,CAAE,MAAwB,EAAE,MAAc,CAAC;IAC7E,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE;QAC/B,IAAI,EAAE,CAAA;QAEN,MAAM,IAAI,CAAA;KACX;IAED,IAAI,IAAI,GAAG,GAAG,EAAE;QACd,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAA;KACnD;AACH,CAAC"}
@@ -1,30 +1,16 @@
1
- export type PeerId = import('peer-id');
2
- export type ContentRoutingModule = import('libp2p-interfaces/src/content-routing/types').ContentRouting;
3
- export type CID = import('multiformats/cid').CID;
4
- /**
5
- * @typedef {import('peer-id')} PeerId
6
- * @typedef {import('libp2p-interfaces/src/content-routing/types').ContentRouting} ContentRoutingModule
7
- * @typedef {import('multiformats/cid').CID} CID
8
- */
1
+ import type { DHT } from '@libp2p/interfaces/dht';
2
+ import type { ContentRouting } from '@libp2p/interfaces/content-routing';
3
+ import type { CID } from 'multiformats/cid';
4
+ import type { AbortOptions } from '@libp2p/interfaces';
9
5
  /**
10
6
  * Wrapper class to convert events into returned values
11
- *
12
- * @implements {ContentRoutingModule}
13
7
  */
14
- export class DHTContentRouting implements ContentRoutingModule {
15
- /**
16
- * @param {import('libp2p-kad-dht').DHT} dht
17
- */
18
- constructor(dht: import('libp2p-kad-dht').DHT);
19
- _dht: import("libp2p-kad-dht/dist/src/types").DHT;
20
- /**
21
- * @param {CID} cid
22
- */
8
+ export declare class DHTContentRouting implements ContentRouting {
9
+ private readonly dht;
10
+ constructor(dht: DHT);
23
11
  provide(cid: CID): Promise<void>;
24
- /**
25
- * @param {CID} cid
26
- * @param {*} options
27
- */
28
- findProviders(cid: CID, options: any): AsyncGenerator<import("libp2p-kad-dht/dist/src/types").PeerData, void, undefined>;
12
+ findProviders(cid: CID, options?: AbortOptions): AsyncGenerator<import("@libp2p/interfaces/dist/src/peer-info").PeerInfo, void, undefined>;
13
+ put(key: Uint8Array, value: Uint8Array, options?: AbortOptions): Promise<void>;
14
+ get(key: Uint8Array, options?: AbortOptions): Promise<Uint8Array>;
29
15
  }
30
16
  //# sourceMappingURL=dht-content-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dht-content-routing.d.ts","sourceRoot":"","sources":["../../../src/dht/dht-content-routing.js"],"names":[],"mappings":"qBAKa,OAAO,SAAS,CAAC;mCACjB,OAAO,6CAA6C,EAAE,cAAc;kBACpE,OAAO,kBAAkB,EAAE,GAAG;AAH3C;;;;GAIG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,iBAFW,OAAO,gBAAgB,EAAE,GAAG,EAItC;IADC,kDAAe;IAGjB;;OAEG;IACH,aAFW,GAAG,iBAIb;IAED;;;OAGG;IACH,mBAHW,GAAG,mGASb;CACF"}
1
+ {"version":3,"file":"dht-content-routing.d.ts","sourceRoot":"","sources":["../../../src/dht/dht-content-routing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;gBAEZ,GAAG,EAAE,GAAG;IAIf,OAAO,CAAE,GAAG,EAAE,GAAG;IAIf,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB;IAQrD,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;CASzE"}
@@ -0,0 +1,32 @@
1
+ import drain from 'it-drain';
2
+ import errCode from 'err-code';
3
+ /**
4
+ * Wrapper class to convert events into returned values
5
+ */
6
+ export class DHTContentRouting {
7
+ constructor(dht) {
8
+ this.dht = dht;
9
+ }
10
+ async provide(cid) {
11
+ await drain(this.dht.provide(cid));
12
+ }
13
+ async *findProviders(cid, options = {}) {
14
+ for await (const event of this.dht.findProviders(cid, options)) {
15
+ if (event.name === 'PROVIDER') {
16
+ yield* event.providers;
17
+ }
18
+ }
19
+ }
20
+ async put(key, value, options) {
21
+ await drain(this.dht.put(key, value, options));
22
+ }
23
+ async get(key, options) {
24
+ for await (const event of this.dht.get(key, options)) {
25
+ if (event.name === 'VALUE') {
26
+ return event.value;
27
+ }
28
+ }
29
+ throw errCode(new Error('Not found'), 'ERR_NOT_FOUND');
30
+ }
31
+ }
32
+ //# sourceMappingURL=dht-content-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dht-content-routing.js","sourceRoot":"","sources":["../../../src/dht/dht-content-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,OAAO,MAAM,UAAU,CAAA;AAM9B;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAG5B,YAAa,GAAQ;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,GAAQ;QACrB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,CAAE,aAAa,CAAE,GAAQ,EAAE,UAAwB,EAAE;QACzD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC7B,KAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAA;aACxB;SACF;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,GAAe,EAAE,KAAiB,EAAE,OAAsB;QACnE,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,GAAe,EAAE,OAAsB;QAChD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC1B,OAAO,KAAK,CAAC,KAAK,CAAA;aACnB;SACF;QAED,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAA;IACxD,CAAC;CACF"}
@@ -1,29 +1,14 @@
1
- export type PeerId = import('peer-id');
2
- export type PeerRoutingModule = import('libp2p-interfaces/src/peer-routing/types').PeerRouting;
3
- /**
4
- * @typedef {import('peer-id')} PeerId
5
- * @typedef {import('libp2p-interfaces/src/peer-routing/types').PeerRouting} PeerRoutingModule
6
- */
1
+ import type { PeerRouting } from '@libp2p/interfaces/peer-routing';
2
+ import type { DHT } from '@libp2p/interfaces/dht';
3
+ import type { PeerId } from '@libp2p/interfaces/peer-id';
4
+ import type { AbortOptions } from '@libp2p/interfaces';
7
5
  /**
8
6
  * Wrapper class to convert events into returned values
9
- *
10
- * @implements {PeerRoutingModule}
11
7
  */
12
- export class DHTPeerRouting implements PeerRoutingModule {
13
- /**
14
- * @param {import('libp2p-kad-dht').DHT} dht
15
- */
16
- constructor(dht: import('libp2p-kad-dht').DHT);
17
- _dht: import("libp2p-kad-dht/dist/src/types").DHT;
18
- /**
19
- * @param {PeerId} peerId
20
- * @param {any} options
21
- */
22
- findPeer(peerId: PeerId, options?: any): Promise<import("libp2p-kad-dht/dist/src/types").PeerData>;
23
- /**
24
- * @param {Uint8Array} key
25
- * @param {any} options
26
- */
27
- getClosestPeers(key: Uint8Array, options?: any): AsyncGenerator<import("libp2p-kad-dht/dist/src/types").PeerData, void, undefined>;
8
+ export declare class DHTPeerRouting implements PeerRouting {
9
+ private readonly dht;
10
+ constructor(dht: DHT);
11
+ findPeer(peerId: PeerId, options?: AbortOptions): Promise<import("@libp2p/interfaces/dist/src/peer-info").PeerInfo>;
12
+ getClosestPeers(key: Uint8Array, options?: AbortOptions): AsyncGenerator<import("@libp2p/interfaces/dist/src/peer-info").PeerInfo, void, undefined>;
28
13
  }
29
14
  //# sourceMappingURL=dht-peer-routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dht-peer-routing.d.ts","sourceRoot":"","sources":["../../../src/dht/dht-peer-routing.js"],"names":[],"mappings":"qBAMa,OAAO,SAAS,CAAC;gCACjB,OAAO,0CAA0C,EAAE,WAAW;AAF3E;;;GAGG;AAEH;;;;GAIG;AACH;IACE;;OAEG;IACH,iBAFW,OAAO,gBAAgB,EAAE,GAAG,EAItC;IADC,kDAAe;IAGjB;;;OAGG;IACH,iBAHW,MAAM,YACN,GAAG,6DAUb;IAED;;;OAGG;IACH,qBAHW,UAAU,YACV,GAAG,qFAQb;CACF"}
1
+ {"version":3,"file":"dht-peer-routing.d.ts","sourceRoot":"","sources":["../../../src/dht/dht-peer-routing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAK;gBAEZ,GAAG,EAAE,GAAG;IAIf,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAUlD,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB;CAOrE"}
@@ -0,0 +1,26 @@
1
+ import errCode from 'err-code';
2
+ import { messages, codes } from '../errors.js';
3
+ /**
4
+ * Wrapper class to convert events into returned values
5
+ */
6
+ export class DHTPeerRouting {
7
+ constructor(dht) {
8
+ this.dht = dht;
9
+ }
10
+ async findPeer(peerId, options = {}) {
11
+ for await (const event of this.dht.findPeer(peerId, options)) {
12
+ if (event.name === 'FINAL_PEER') {
13
+ return event.peer;
14
+ }
15
+ }
16
+ throw errCode(new Error(messages.NOT_FOUND), codes.ERR_NOT_FOUND);
17
+ }
18
+ async *getClosestPeers(key, options = {}) {
19
+ for await (const event of this.dht.getClosestPeers(key, options)) {
20
+ if (event.name === 'PEER_RESPONSE') {
21
+ yield* event.closer;
22
+ }
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=dht-peer-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dht-peer-routing.js","sourceRoot":"","sources":["../../../src/dht/dht-peer-routing.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAM9C;;GAEG;AACH,MAAM,OAAO,cAAc;IAGzB,YAAa,GAAQ;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,MAAc,EAAE,UAAwB,EAAE;QACxD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC/B,OAAO,KAAK,CAAC,IAAI,CAAA;aAClB;SACF;QAED,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IACnE,CAAC;IAED,KAAK,CAAC,CAAE,eAAe,CAAE,GAAe,EAAE,UAAwB,EAAE;QAClE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;YAChE,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE;gBAClC,KAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;aACrB;SACF;IACH,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { PeerInfo } from '@libp2p/interfaces/peer-info';
2
+ import type { Components } from '@libp2p/interfaces/components';
3
+ export interface AutoDialerInit {
4
+ enabled: boolean;
5
+ minConnections: number;
6
+ }
7
+ export declare class AutoDialer {
8
+ private readonly components;
9
+ private readonly enabled;
10
+ private readonly minConnections;
11
+ constructor(components: Components, init: AutoDialerInit);
12
+ handle(evt: CustomEvent<PeerInfo>): void;
13
+ }
14
+ //# sourceMappingURL=auto-dialer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-dialer.d.ts","sourceRoot":"","sources":["../../../src/dialer/auto-dialer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAI/D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;gBAE1B,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc;IAMlD,MAAM,CAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC;CAiB1C"}