libp2p 0.36.0 → 0.36.2-1473044

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 (415) 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 +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 +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/pb/index.d.ts +51 -0
  44. package/dist/src/circuit/pb/index.d.ts.map +1 -0
  45. package/dist/src/circuit/pb/index.js +72 -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 +190 -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 +93 -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/index.d.ts +79 -144
  64. package/dist/src/connection-manager/index.d.ts.map +1 -1
  65. package/dist/src/connection-manager/index.js +295 -0
  66. package/dist/src/connection-manager/index.js.map +1 -0
  67. package/dist/src/connection-manager/latency-monitor.d.ts +72 -97
  68. package/dist/src/connection-manager/latency-monitor.d.ts.map +1 -1
  69. package/dist/src/connection-manager/latency-monitor.js +220 -0
  70. package/dist/src/connection-manager/latency-monitor.js.map +1 -0
  71. package/dist/src/connection-manager/visibility-change-emitter.d.ts +15 -16
  72. package/dist/src/connection-manager/visibility-change-emitter.d.ts.map +1 -1
  73. package/dist/src/connection-manager/visibility-change-emitter.js +118 -0
  74. package/dist/src/connection-manager/visibility-change-emitter.js.map +1 -0
  75. package/dist/src/constants.d.ts +22 -10
  76. package/dist/src/constants.d.ts.map +1 -1
  77. package/dist/src/constants.js +27 -0
  78. package/dist/src/constants.js.map +1 -0
  79. package/dist/src/content-routing/index.d.ts +26 -81
  80. package/dist/src/content-routing/index.d.ts.map +1 -1
  81. package/dist/src/content-routing/index.js +99 -0
  82. package/dist/src/content-routing/index.js.map +1 -0
  83. package/dist/src/content-routing/utils.d.ts +6 -49
  84. package/dist/src/content-routing/utils.d.ts.map +1 -1
  85. package/dist/src/content-routing/utils.js +42 -0
  86. package/dist/src/content-routing/utils.js.map +1 -0
  87. package/dist/src/dht/dht-content-routing.d.ts +10 -24
  88. package/dist/src/dht/dht-content-routing.d.ts.map +1 -1
  89. package/dist/src/dht/dht-content-routing.js +32 -0
  90. package/dist/src/dht/dht-content-routing.js.map +1 -0
  91. package/dist/src/dht/dht-peer-routing.d.ts +9 -24
  92. package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
  93. package/dist/src/dht/dht-peer-routing.js +26 -0
  94. package/dist/src/dht/dht-peer-routing.js.map +1 -0
  95. package/dist/src/dialer/auto-dialer.d.ts +14 -0
  96. package/dist/src/dialer/auto-dialer.d.ts.map +1 -0
  97. package/dist/src/dialer/auto-dialer.js +24 -0
  98. package/dist/src/dialer/auto-dialer.js.map +1 -0
  99. package/dist/src/dialer/dial-request.d.ts +18 -46
  100. package/dist/src/dialer/dial-request.d.ts.map +1 -1
  101. package/dist/src/dialer/dial-request.js +83 -0
  102. package/dist/src/dialer/dial-request.js.map +1 -0
  103. package/dist/src/dialer/index.d.ts +41 -148
  104. package/dist/src/dialer/index.d.ts.map +1 -1
  105. package/dist/src/dialer/index.js +280 -0
  106. package/dist/src/dialer/index.js.map +1 -0
  107. package/dist/src/errors.d.ts +68 -63
  108. package/dist/src/errors.d.ts.map +1 -1
  109. package/dist/src/errors.js +73 -0
  110. package/dist/src/errors.js.map +1 -0
  111. package/dist/src/fetch/constants.d.ts +1 -1
  112. package/dist/src/fetch/constants.d.ts.map +1 -1
  113. package/dist/src/fetch/constants.js +3 -0
  114. package/dist/src/fetch/constants.js.map +1 -0
  115. package/dist/src/fetch/index.d.ts +30 -49
  116. package/dist/src/fetch/index.d.ts.map +1 -1
  117. package/dist/src/fetch/index.js +129 -0
  118. package/dist/src/fetch/index.js.map +1 -0
  119. package/dist/src/fetch/pb/proto.d.ts +26 -0
  120. package/dist/src/fetch/pb/proto.d.ts.map +1 -0
  121. package/dist/src/fetch/pb/proto.js +44 -0
  122. package/dist/src/fetch/pb/proto.js.map +1 -0
  123. package/dist/src/get-peer.d.ts +4 -11
  124. package/dist/src/get-peer.d.ts.map +1 -1
  125. package/dist/src/get-peer.js +43 -0
  126. package/dist/src/get-peer.js.map +1 -0
  127. package/dist/src/identify/consts.d.ts +9 -9
  128. package/dist/src/identify/consts.d.ts.map +1 -1
  129. package/dist/src/identify/consts.js +11 -0
  130. package/dist/src/identify/consts.js.map +1 -0
  131. package/dist/src/identify/index.d.ts +42 -96
  132. package/dist/src/identify/index.d.ts.map +1 -1
  133. package/dist/src/identify/index.js +322 -0
  134. package/dist/src/identify/index.js.map +1 -0
  135. package/dist/src/identify/pb/message.d.ts +15 -0
  136. package/dist/src/identify/pb/message.d.ts.map +1 -0
  137. package/dist/src/identify/pb/message.js +24 -0
  138. package/dist/src/identify/pb/message.js.map +1 -0
  139. package/dist/src/index.d.ts +162 -581
  140. package/dist/src/index.d.ts.map +1 -1
  141. package/dist/src/index.js +9 -0
  142. package/dist/src/index.js.map +1 -0
  143. package/dist/src/insecure/index.d.ts +9 -0
  144. package/dist/src/insecure/index.d.ts.map +1 -0
  145. package/dist/src/insecure/index.js +81 -0
  146. package/dist/src/insecure/index.js.map +1 -0
  147. package/dist/src/insecure/pb/proto.d.ts +28 -0
  148. package/dist/src/insecure/pb/proto.d.ts.map +1 -0
  149. package/dist/src/insecure/pb/proto.js +46 -0
  150. package/dist/src/insecure/pb/proto.js.map +1 -0
  151. package/dist/src/keychain/cms.d.ts +6 -14
  152. package/dist/src/keychain/cms.d.ts.map +1 -1
  153. package/dist/src/keychain/cms.js +129 -0
  154. package/dist/src/keychain/cms.js.map +1 -0
  155. package/dist/src/keychain/index.d.ts +61 -81
  156. package/dist/src/keychain/index.d.ts.map +1 -1
  157. package/dist/src/keychain/index.js +493 -0
  158. package/dist/src/keychain/index.js.map +1 -0
  159. package/dist/src/keychain/util.d.ts +3 -6
  160. package/dist/src/keychain/util.d.ts.map +1 -1
  161. package/dist/src/keychain/util.js +79 -0
  162. package/dist/src/keychain/util.js.map +1 -0
  163. package/dist/src/libp2p.d.ts +78 -0
  164. package/dist/src/libp2p.d.ts.map +1 -0
  165. package/dist/src/libp2p.js +375 -0
  166. package/dist/src/libp2p.js.map +1 -0
  167. package/dist/src/metrics/index.d.ts +47 -104
  168. package/dist/src/metrics/index.d.ts.map +1 -1
  169. package/dist/src/metrics/index.js +231 -0
  170. package/dist/src/metrics/index.js.map +1 -0
  171. package/dist/src/metrics/moving-average.d.ts +14 -0
  172. package/dist/src/metrics/moving-average.d.ts.map +1 -0
  173. package/dist/src/metrics/moving-average.js +40 -0
  174. package/dist/src/metrics/moving-average.js.map +1 -0
  175. package/dist/src/metrics/stats.d.ts +41 -93
  176. package/dist/src/metrics/stats.d.ts.map +1 -1
  177. package/dist/src/metrics/stats.js +183 -0
  178. package/dist/src/metrics/stats.js.map +1 -0
  179. package/dist/src/nat-manager.d.ts +42 -99
  180. package/dist/src/nat-manager.d.ts.map +1 -1
  181. package/dist/src/nat-manager.js +114 -0
  182. package/dist/src/nat-manager.js.map +1 -0
  183. package/dist/src/peer-record-updater.d.ts +15 -0
  184. package/dist/src/peer-record-updater.d.ts.map +1 -0
  185. package/dist/src/peer-record-updater.js +44 -0
  186. package/dist/src/peer-record-updater.js.map +1 -0
  187. package/dist/src/peer-routing.d.ts +39 -84
  188. package/dist/src/peer-routing.d.ts.map +1 -1
  189. package/dist/src/peer-routing.js +108 -0
  190. package/dist/src/peer-routing.js.map +1 -0
  191. package/dist/src/ping/constants.d.ts +4 -4
  192. package/dist/src/ping/constants.d.ts.map +1 -1
  193. package/dist/src/ping/constants.js +5 -0
  194. package/dist/src/ping/constants.js.map +1 -0
  195. package/dist/src/ping/index.d.ts +26 -33
  196. package/dist/src/ping/index.d.ts.map +1 -1
  197. package/dist/src/ping/index.js +56 -0
  198. package/dist/src/ping/index.js.map +1 -0
  199. package/dist/src/pnet/crypto.d.ts +15 -5
  200. package/dist/src/pnet/crypto.d.ts.map +1 -1
  201. package/dist/src/pnet/crypto.js +60 -0
  202. package/dist/src/pnet/crypto.js.map +1 -0
  203. package/dist/src/pnet/errors.d.ts +5 -5
  204. package/dist/src/pnet/errors.d.ts.map +1 -1
  205. package/dist/src/pnet/errors.js +6 -0
  206. package/dist/src/pnet/errors.js.map +1 -0
  207. package/dist/src/pnet/index.d.ts +11 -20
  208. package/dist/src/pnet/index.d.ts.map +1 -1
  209. package/dist/src/pnet/index.js +66 -0
  210. package/dist/src/pnet/index.js.map +1 -0
  211. package/dist/src/pnet/key-generator.d.ts +3 -7
  212. package/dist/src/pnet/key-generator.d.ts.map +1 -1
  213. package/dist/src/pnet/key-generator.js +25 -0
  214. package/dist/src/pnet/key-generator.js.map +1 -0
  215. package/dist/src/registrar.d.ts +27 -65
  216. package/dist/src/registrar.d.ts.map +1 -1
  217. package/dist/src/registrar.js +159 -0
  218. package/dist/src/registrar.js.map +1 -0
  219. package/dist/src/transport-manager.d.ts +34 -82
  220. package/dist/src/transport-manager.d.ts.map +1 -1
  221. package/dist/src/transport-manager.js +223 -0
  222. package/dist/src/transport-manager.js.map +1 -0
  223. package/dist/src/upgrader.d.ts +49 -129
  224. package/dist/src/upgrader.d.ts.map +1 -1
  225. package/dist/src/upgrader.js +402 -0
  226. package/dist/src/upgrader.js.map +1 -0
  227. package/dist/src/version.d.ts +3 -0
  228. package/dist/src/version.d.ts.map +1 -0
  229. package/dist/src/version.js +3 -0
  230. package/dist/src/version.js.map +1 -0
  231. package/package.json +150 -197
  232. package/src/address-manager/index.ts +129 -0
  233. package/src/circuit/README.md +16 -11
  234. package/src/circuit/auto-relay.ts +284 -0
  235. package/src/circuit/circuit/hop.ts +211 -0
  236. package/src/circuit/circuit/stop.ts +78 -0
  237. package/src/circuit/circuit/stream-handler.ts +86 -0
  238. package/src/circuit/circuit/{utils.js → utils.ts} +9 -25
  239. package/src/circuit/constants.ts +31 -0
  240. package/src/circuit/index.ts +120 -0
  241. package/src/circuit/{listener.js → listener.ts} +21 -27
  242. package/src/circuit/multicodec.ts +2 -0
  243. package/src/circuit/{protocol → pb}/index.proto +1 -1
  244. package/src/circuit/pb/index.ts +88 -0
  245. package/src/circuit/transport.ts +216 -0
  246. package/src/circuit/utils.ts +12 -0
  247. package/src/config.ts +101 -0
  248. package/src/connection-manager/auto-dialler.ts +154 -0
  249. package/src/connection-manager/index.ts +422 -0
  250. package/src/connection-manager/latency-monitor.ts +319 -0
  251. package/src/connection-manager/{visibility-change-emitter.js → visibility-change-emitter.ts} +48 -38
  252. package/src/constants.ts +31 -0
  253. package/src/content-routing/index.ts +143 -0
  254. package/src/content-routing/utils.ts +54 -0
  255. package/src/dht/dht-content-routing.ts +43 -0
  256. package/src/dht/dht-peer-routing.ts +35 -0
  257. package/src/dialer/auto-dialer.ts +40 -0
  258. package/src/dialer/{dial-request.js → dial-request.ts} +60 -51
  259. package/src/dialer/index.ts +371 -0
  260. package/src/errors.ts +71 -0
  261. package/src/fetch/README.md +1 -1
  262. package/src/fetch/constants.ts +3 -0
  263. package/src/fetch/index.ts +167 -0
  264. package/src/fetch/{proto.proto → pb/proto.proto} +0 -0
  265. package/src/fetch/pb/proto.ts +58 -0
  266. package/src/get-peer.ts +57 -0
  267. package/src/identify/consts.ts +13 -0
  268. package/src/identify/index.ts +445 -0
  269. package/src/identify/{message.proto → pb/message.proto} +0 -0
  270. package/src/identify/pb/message.ts +36 -0
  271. package/src/index.ts +242 -0
  272. package/src/insecure/index.ts +101 -0
  273. package/src/insecure/{proto.proto → pb/proto.proto} +0 -0
  274. package/src/insecure/pb/proto.ts +61 -0
  275. package/src/keychain/{cms.js → cms.ts} +62 -58
  276. package/src/keychain/index.ts +588 -0
  277. package/src/keychain/{util.js → util.ts} +7 -17
  278. package/src/libp2p.ts +513 -0
  279. package/src/metrics/index.ts +310 -0
  280. package/src/metrics/moving-average.ts +53 -0
  281. package/src/metrics/stats.ts +238 -0
  282. package/src/nat-manager.ts +194 -0
  283. package/src/peer-record-updater.ts +55 -0
  284. package/src/peer-routing.ts +185 -0
  285. package/src/ping/README.md +1 -1
  286. package/src/ping/constants.ts +5 -0
  287. package/src/ping/index.ts +83 -0
  288. package/src/pnet/README.md +2 -2
  289. package/src/pnet/crypto.ts +67 -0
  290. package/src/pnet/errors.ts +5 -0
  291. package/src/pnet/index.ts +95 -0
  292. package/src/pnet/key-generator.ts +28 -0
  293. package/src/registrar.ts +205 -0
  294. package/src/transport-manager.ts +279 -0
  295. package/src/upgrader.ts +499 -0
  296. package/src/version.ts +3 -0
  297. package/dist/index.min.js +0 -55
  298. package/dist/src/circuit/protocol/index.d.ts +0 -173
  299. package/dist/src/fetch/proto.d.ts +0 -134
  300. package/dist/src/identify/message.d.ts +0 -95
  301. package/dist/src/insecure/plaintext.d.ts +0 -12
  302. package/dist/src/insecure/plaintext.d.ts.map +0 -1
  303. package/dist/src/insecure/proto.d.ts +0 -128
  304. package/dist/src/metrics/old-peers.d.ts +0 -3
  305. package/dist/src/metrics/old-peers.d.ts.map +0 -1
  306. package/dist/src/metrics/tracked-map.d.ts +0 -8
  307. package/dist/src/metrics/tracked-map.d.ts.map +0 -1
  308. package/dist/src/peer-store/address-book.d.ts +0 -67
  309. package/dist/src/peer-store/address-book.d.ts.map +0 -1
  310. package/dist/src/peer-store/index.d.ts +0 -58
  311. package/dist/src/peer-store/index.d.ts.map +0 -1
  312. package/dist/src/peer-store/key-book.d.ts +0 -40
  313. package/dist/src/peer-store/key-book.d.ts.map +0 -1
  314. package/dist/src/peer-store/metadata-book.d.ts +0 -58
  315. package/dist/src/peer-store/metadata-book.d.ts.map +0 -1
  316. package/dist/src/peer-store/pb/peer.d.ts +0 -222
  317. package/dist/src/peer-store/proto-book.d.ts +0 -43
  318. package/dist/src/peer-store/proto-book.d.ts.map +0 -1
  319. package/dist/src/peer-store/store.d.ts +0 -73
  320. package/dist/src/peer-store/store.d.ts.map +0 -1
  321. package/dist/src/peer-store/types.d.ts +0 -202
  322. package/dist/src/peer-store/types.d.ts.map +0 -1
  323. package/dist/src/ping/util.d.ts +0 -5
  324. package/dist/src/ping/util.d.ts.map +0 -1
  325. package/dist/src/pubsub-adapter.d.ts +0 -22
  326. package/dist/src/pubsub-adapter.d.ts.map +0 -1
  327. package/dist/src/record/envelope/envelope.d.ts +0 -77
  328. package/dist/src/record/envelope/index.d.ts +0 -80
  329. package/dist/src/record/envelope/index.d.ts.map +0 -1
  330. package/dist/src/record/peer-record/consts.d.ts +0 -4
  331. package/dist/src/record/peer-record/consts.d.ts.map +0 -1
  332. package/dist/src/record/peer-record/index.d.ts +0 -60
  333. package/dist/src/record/peer-record/index.d.ts.map +0 -1
  334. package/dist/src/record/peer-record/peer-record.d.ts +0 -133
  335. package/dist/src/record/utils.d.ts +0 -12
  336. package/dist/src/record/utils.d.ts.map +0 -1
  337. package/dist/src/types.d.ts +0 -90
  338. package/dist/src/types.d.ts.map +0 -1
  339. package/src/address-manager/index.js +0 -96
  340. package/src/circuit/auto-relay.js +0 -302
  341. package/src/circuit/circuit/hop.js +0 -205
  342. package/src/circuit/circuit/stop.js +0 -81
  343. package/src/circuit/circuit/stream-handler.js +0 -94
  344. package/src/circuit/constants.js +0 -12
  345. package/src/circuit/index.js +0 -102
  346. package/src/circuit/multicodec.js +0 -5
  347. package/src/circuit/protocol/index.d.ts +0 -173
  348. package/src/circuit/protocol/index.js +0 -530
  349. package/src/circuit/transport.js +0 -229
  350. package/src/circuit/utils.js +0 -17
  351. package/src/config.js +0 -114
  352. package/src/connection-manager/auto-dialler.js +0 -132
  353. package/src/connection-manager/index.js +0 -363
  354. package/src/connection-manager/latency-monitor.js +0 -264
  355. package/src/constants.js +0 -18
  356. package/src/content-routing/index.js +0 -163
  357. package/src/content-routing/utils.js +0 -89
  358. package/src/dht/dht-content-routing.js +0 -44
  359. package/src/dht/dht-peer-routing.js +0 -51
  360. package/src/dialer/index.js +0 -376
  361. package/src/errors.js +0 -66
  362. package/src/fetch/constants.js +0 -6
  363. package/src/fetch/index.js +0 -159
  364. package/src/fetch/proto.d.ts +0 -134
  365. package/src/fetch/proto.js +0 -333
  366. package/src/get-peer.js +0 -49
  367. package/src/identify/consts.js +0 -15
  368. package/src/identify/index.js +0 -384
  369. package/src/identify/message.d.ts +0 -95
  370. package/src/identify/message.js +0 -328
  371. package/src/index.js +0 -811
  372. package/src/insecure/plaintext.js +0 -95
  373. package/src/insecure/proto.d.ts +0 -128
  374. package/src/insecure/proto.js +0 -371
  375. package/src/keychain/index.js +0 -561
  376. package/src/metrics/index.js +0 -290
  377. package/src/metrics/old-peers.js +0 -16
  378. package/src/metrics/stats.js +0 -270
  379. package/src/metrics/tracked-map.js +0 -94
  380. package/src/nat-manager.js +0 -197
  381. package/src/peer-routing.js +0 -176
  382. package/src/peer-store/README.md +0 -145
  383. package/src/peer-store/address-book.js +0 -382
  384. package/src/peer-store/index.js +0 -121
  385. package/src/peer-store/key-book.js +0 -141
  386. package/src/peer-store/metadata-book.js +0 -250
  387. package/src/peer-store/pb/peer.d.ts +0 -222
  388. package/src/peer-store/pb/peer.js +0 -643
  389. package/src/peer-store/pb/peer.proto +0 -31
  390. package/src/peer-store/proto-book.js +0 -237
  391. package/src/peer-store/store.js +0 -263
  392. package/src/peer-store/types.ts +0 -245
  393. package/src/ping/constants.js +0 -8
  394. package/src/ping/index.js +0 -85
  395. package/src/ping/util.js +0 -18
  396. package/src/pnet/crypto.js +0 -84
  397. package/src/pnet/errors.js +0 -7
  398. package/src/pnet/index.js +0 -86
  399. package/src/pnet/key-generator.js +0 -33
  400. package/src/pubsub-adapter.js +0 -61
  401. package/src/record/README.md +0 -130
  402. package/src/record/envelope/envelope.d.ts +0 -77
  403. package/src/record/envelope/envelope.js +0 -243
  404. package/src/record/envelope/envelope.proto +0 -19
  405. package/src/record/envelope/index.js +0 -183
  406. package/src/record/peer-record/consts.js +0 -14
  407. package/src/record/peer-record/index.js +0 -113
  408. package/src/record/peer-record/peer-record.d.ts +0 -133
  409. package/src/record/peer-record/peer-record.js +0 -367
  410. package/src/record/peer-record/peer-record.proto +0 -18
  411. package/src/record/utils.js +0 -25
  412. package/src/registrar.js +0 -127
  413. package/src/transport-manager.js +0 -269
  414. package/src/types.ts +0 -98
  415. 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"}