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,95 +0,0 @@
1
- 'use strict'
2
-
3
- const debug = require('debug')
4
- const log = Object.assign(debug('libp2p:plaintext'), {
5
- error: debug('libp2p:plaintext:err')
6
- })
7
- // @ts-ignore it-handshake do not export types
8
- const handshake = require('it-handshake')
9
- const lp = require('it-length-prefixed')
10
- const PeerId = require('peer-id')
11
- const { UnexpectedPeerError, InvalidCryptoExchangeError } = require('libp2p-interfaces/src/crypto/errors')
12
-
13
- const { Exchange, KeyType } = require('./proto')
14
- const protocol = '/plaintext/2.0.0'
15
-
16
- /**
17
- * @typedef {import('libp2p-interfaces/src/connection').Connection} Connection
18
- */
19
-
20
- /**
21
- * @param {import('./proto').IExchange} exchange
22
- */
23
- function lpEncodeExchange (exchange) {
24
- const pb = Exchange.encode(exchange).finish()
25
- // @ts-ignore TODO: Uint8Array not assignable to Buffer
26
- return lp.encode.single(pb)
27
- }
28
-
29
- /**
30
- * Encrypt connection.
31
- *
32
- * @param {PeerId} localId
33
- * @param {Connection} conn
34
- * @param {PeerId} [remoteId]
35
- */
36
- async function encrypt (localId, conn, remoteId) {
37
- const shake = handshake(conn)
38
-
39
- // Encode the public key and write it to the remote peer
40
- shake.write(lpEncodeExchange({
41
- id: localId.toBytes(),
42
- pubkey: {
43
- Type: KeyType.RSA, // TODO: dont hard code
44
- Data: localId.marshalPubKey()
45
- }
46
- }))
47
-
48
- log('write pubkey exchange to peer %j', remoteId)
49
-
50
- // Get the Exchange message
51
- const response = (await lp.decode.fromReader(shake.reader).next()).value
52
- const id = Exchange.decode(response.slice())
53
- log('read pubkey exchange from peer %j', remoteId)
54
-
55
- let peerId
56
- try {
57
- peerId = await PeerId.createFromPubKey(id.pubkey.Data)
58
- } catch (/** @type {any} */ err) {
59
- log.error(err)
60
- throw new InvalidCryptoExchangeError('Remote did not provide its public key')
61
- }
62
-
63
- if (remoteId && !peerId.equals(remoteId)) {
64
- throw new UnexpectedPeerError()
65
- }
66
-
67
- log('plaintext key exchange completed successfully with peer %j', peerId)
68
-
69
- shake.rest()
70
- return {
71
- conn: shake.stream,
72
- remotePeer: peerId
73
- }
74
- }
75
-
76
- module.exports =
77
- {
78
- protocol,
79
- /**
80
- * @param {PeerId} localId
81
- * @param {Connection} conn
82
- * @param {PeerId | undefined} remoteId
83
- */
84
- secureInbound: (localId, conn, remoteId) => {
85
- return encrypt(localId, conn, remoteId)
86
- },
87
- /**
88
- * @param {PeerId} localId
89
- * @param {Connection} conn
90
- * @param {PeerId | undefined} remoteId
91
- */
92
- secureOutbound: (localId, conn, remoteId) => {
93
- return encrypt(localId, conn, remoteId)
94
- }
95
- }
@@ -1,128 +0,0 @@
1
- import * as $protobuf from "protobufjs";
2
- /** Properties of an Exchange. */
3
- export interface IExchange {
4
-
5
- /** Exchange id */
6
- id?: (Uint8Array|null);
7
-
8
- /** Exchange pubkey */
9
- pubkey?: (IPublicKey|null);
10
- }
11
-
12
- /** Represents an Exchange. */
13
- export class Exchange implements IExchange {
14
-
15
- /**
16
- * Constructs a new Exchange.
17
- * @param [p] Properties to set
18
- */
19
- constructor(p?: IExchange);
20
-
21
- /** Exchange id. */
22
- public id: Uint8Array;
23
-
24
- /** Exchange pubkey. */
25
- public pubkey?: (IPublicKey|null);
26
-
27
- /**
28
- * Encodes the specified Exchange message. Does not implicitly {@link Exchange.verify|verify} messages.
29
- * @param m Exchange message or plain object to encode
30
- * @param [w] Writer to encode to
31
- * @returns Writer
32
- */
33
- public static encode(m: IExchange, w?: $protobuf.Writer): $protobuf.Writer;
34
-
35
- /**
36
- * Decodes an Exchange message from the specified reader or buffer.
37
- * @param r Reader or buffer to decode from
38
- * @param [l] Message length if known beforehand
39
- * @returns Exchange
40
- * @throws {Error} If the payload is not a reader or valid buffer
41
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
42
- */
43
- public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Exchange;
44
-
45
- /**
46
- * Creates an Exchange message from a plain object. Also converts values to their respective internal types.
47
- * @param d Plain object
48
- * @returns Exchange
49
- */
50
- public static fromObject(d: { [k: string]: any }): Exchange;
51
-
52
- /**
53
- * Creates a plain object from an Exchange message. Also converts values to other types if specified.
54
- * @param m Exchange
55
- * @param [o] Conversion options
56
- * @returns Plain object
57
- */
58
- public static toObject(m: Exchange, o?: $protobuf.IConversionOptions): { [k: string]: any };
59
-
60
- /**
61
- * Converts this Exchange to JSON.
62
- * @returns JSON object
63
- */
64
- public toJSON(): { [k: string]: any };
65
- }
66
-
67
- /** KeyType enum. */
68
- export enum KeyType {
69
- RSA = 0,
70
- Ed25519 = 1,
71
- Secp256k1 = 2,
72
- ECDSA = 3
73
- }
74
-
75
- /** Represents a PublicKey. */
76
- export class PublicKey implements IPublicKey {
77
-
78
- /**
79
- * Constructs a new PublicKey.
80
- * @param [p] Properties to set
81
- */
82
- constructor(p?: IPublicKey);
83
-
84
- /** PublicKey Type. */
85
- public Type: KeyType;
86
-
87
- /** PublicKey Data. */
88
- public Data: Uint8Array;
89
-
90
- /**
91
- * Encodes the specified PublicKey message. Does not implicitly {@link PublicKey.verify|verify} messages.
92
- * @param m PublicKey message or plain object to encode
93
- * @param [w] Writer to encode to
94
- * @returns Writer
95
- */
96
- public static encode(m: IPublicKey, w?: $protobuf.Writer): $protobuf.Writer;
97
-
98
- /**
99
- * Decodes a PublicKey message from the specified reader or buffer.
100
- * @param r Reader or buffer to decode from
101
- * @param [l] Message length if known beforehand
102
- * @returns PublicKey
103
- * @throws {Error} If the payload is not a reader or valid buffer
104
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
105
- */
106
- public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): PublicKey;
107
-
108
- /**
109
- * Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
110
- * @param d Plain object
111
- * @returns PublicKey
112
- */
113
- public static fromObject(d: { [k: string]: any }): PublicKey;
114
-
115
- /**
116
- * Creates a plain object from a PublicKey message. Also converts values to other types if specified.
117
- * @param m PublicKey
118
- * @param [o] Conversion options
119
- * @returns Plain object
120
- */
121
- public static toObject(m: PublicKey, o?: $protobuf.IConversionOptions): { [k: string]: any };
122
-
123
- /**
124
- * Converts this PublicKey to JSON.
125
- * @returns JSON object
126
- */
127
- public toJSON(): { [k: string]: any };
128
- }
@@ -1,371 +0,0 @@
1
- /*eslint-disable*/
2
- "use strict";
3
-
4
- var $protobuf = require("protobufjs/minimal");
5
-
6
- // Common aliases
7
- var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util;
8
-
9
- // Exported root namespace
10
- var $root = $protobuf.roots["libp2p-plaintext"] || ($protobuf.roots["libp2p-plaintext"] = {});
11
-
12
- $root.Exchange = (function() {
13
-
14
- /**
15
- * Properties of an Exchange.
16
- * @exports IExchange
17
- * @interface IExchange
18
- * @property {Uint8Array|null} [id] Exchange id
19
- * @property {IPublicKey|null} [pubkey] Exchange pubkey
20
- */
21
-
22
- /**
23
- * Constructs a new Exchange.
24
- * @exports Exchange
25
- * @classdesc Represents an Exchange.
26
- * @implements IExchange
27
- * @constructor
28
- * @param {IExchange=} [p] Properties to set
29
- */
30
- function Exchange(p) {
31
- if (p)
32
- for (var ks = Object.keys(p), i = 0; i < ks.length; ++i)
33
- if (p[ks[i]] != null)
34
- this[ks[i]] = p[ks[i]];
35
- }
36
-
37
- /**
38
- * Exchange id.
39
- * @member {Uint8Array} id
40
- * @memberof Exchange
41
- * @instance
42
- */
43
- Exchange.prototype.id = $util.newBuffer([]);
44
-
45
- /**
46
- * Exchange pubkey.
47
- * @member {IPublicKey|null|undefined} pubkey
48
- * @memberof Exchange
49
- * @instance
50
- */
51
- Exchange.prototype.pubkey = null;
52
-
53
- /**
54
- * Encodes the specified Exchange message. Does not implicitly {@link Exchange.verify|verify} messages.
55
- * @function encode
56
- * @memberof Exchange
57
- * @static
58
- * @param {IExchange} m Exchange message or plain object to encode
59
- * @param {$protobuf.Writer} [w] Writer to encode to
60
- * @returns {$protobuf.Writer} Writer
61
- */
62
- Exchange.encode = function encode(m, w) {
63
- if (!w)
64
- w = $Writer.create();
65
- if (m.id != null && Object.hasOwnProperty.call(m, "id"))
66
- w.uint32(10).bytes(m.id);
67
- if (m.pubkey != null && Object.hasOwnProperty.call(m, "pubkey"))
68
- $root.PublicKey.encode(m.pubkey, w.uint32(18).fork()).ldelim();
69
- return w;
70
- };
71
-
72
- /**
73
- * Decodes an Exchange message from the specified reader or buffer.
74
- * @function decode
75
- * @memberof Exchange
76
- * @static
77
- * @param {$protobuf.Reader|Uint8Array} r Reader or buffer to decode from
78
- * @param {number} [l] Message length if known beforehand
79
- * @returns {Exchange} Exchange
80
- * @throws {Error} If the payload is not a reader or valid buffer
81
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
82
- */
83
- Exchange.decode = function decode(r, l) {
84
- if (!(r instanceof $Reader))
85
- r = $Reader.create(r);
86
- var c = l === undefined ? r.len : r.pos + l, m = new $root.Exchange();
87
- while (r.pos < c) {
88
- var t = r.uint32();
89
- switch (t >>> 3) {
90
- case 1:
91
- m.id = r.bytes();
92
- break;
93
- case 2:
94
- m.pubkey = $root.PublicKey.decode(r, r.uint32());
95
- break;
96
- default:
97
- r.skipType(t & 7);
98
- break;
99
- }
100
- }
101
- return m;
102
- };
103
-
104
- /**
105
- * Creates an Exchange message from a plain object. Also converts values to their respective internal types.
106
- * @function fromObject
107
- * @memberof Exchange
108
- * @static
109
- * @param {Object.<string,*>} d Plain object
110
- * @returns {Exchange} Exchange
111
- */
112
- Exchange.fromObject = function fromObject(d) {
113
- if (d instanceof $root.Exchange)
114
- return d;
115
- var m = new $root.Exchange();
116
- if (d.id != null) {
117
- if (typeof d.id === "string")
118
- $util.base64.decode(d.id, m.id = $util.newBuffer($util.base64.length(d.id)), 0);
119
- else if (d.id.length)
120
- m.id = d.id;
121
- }
122
- if (d.pubkey != null) {
123
- if (typeof d.pubkey !== "object")
124
- throw TypeError(".Exchange.pubkey: object expected");
125
- m.pubkey = $root.PublicKey.fromObject(d.pubkey);
126
- }
127
- return m;
128
- };
129
-
130
- /**
131
- * Creates a plain object from an Exchange message. Also converts values to other types if specified.
132
- * @function toObject
133
- * @memberof Exchange
134
- * @static
135
- * @param {Exchange} m Exchange
136
- * @param {$protobuf.IConversionOptions} [o] Conversion options
137
- * @returns {Object.<string,*>} Plain object
138
- */
139
- Exchange.toObject = function toObject(m, o) {
140
- if (!o)
141
- o = {};
142
- var d = {};
143
- if (o.defaults) {
144
- if (o.bytes === String)
145
- d.id = "";
146
- else {
147
- d.id = [];
148
- if (o.bytes !== Array)
149
- d.id = $util.newBuffer(d.id);
150
- }
151
- d.pubkey = null;
152
- }
153
- if (m.id != null && m.hasOwnProperty("id")) {
154
- d.id = o.bytes === String ? $util.base64.encode(m.id, 0, m.id.length) : o.bytes === Array ? Array.prototype.slice.call(m.id) : m.id;
155
- }
156
- if (m.pubkey != null && m.hasOwnProperty("pubkey")) {
157
- d.pubkey = $root.PublicKey.toObject(m.pubkey, o);
158
- }
159
- return d;
160
- };
161
-
162
- /**
163
- * Converts this Exchange to JSON.
164
- * @function toJSON
165
- * @memberof Exchange
166
- * @instance
167
- * @returns {Object.<string,*>} JSON object
168
- */
169
- Exchange.prototype.toJSON = function toJSON() {
170
- return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
171
- };
172
-
173
- return Exchange;
174
- })();
175
-
176
- /**
177
- * KeyType enum.
178
- * @exports KeyType
179
- * @enum {number}
180
- * @property {number} RSA=0 RSA value
181
- * @property {number} Ed25519=1 Ed25519 value
182
- * @property {number} Secp256k1=2 Secp256k1 value
183
- * @property {number} ECDSA=3 ECDSA value
184
- */
185
- $root.KeyType = (function() {
186
- var valuesById = {}, values = Object.create(valuesById);
187
- values[valuesById[0] = "RSA"] = 0;
188
- values[valuesById[1] = "Ed25519"] = 1;
189
- values[valuesById[2] = "Secp256k1"] = 2;
190
- values[valuesById[3] = "ECDSA"] = 3;
191
- return values;
192
- })();
193
-
194
- $root.PublicKey = (function() {
195
-
196
- /**
197
- * Properties of a PublicKey.
198
- * @exports IPublicKey
199
- * @interface IPublicKey
200
- * @property {KeyType|null} [Type] PublicKey Type
201
- * @property {Uint8Array|null} [Data] PublicKey Data
202
- */
203
-
204
- /**
205
- * Constructs a new PublicKey.
206
- * @exports PublicKey
207
- * @classdesc Represents a PublicKey.
208
- * @implements IPublicKey
209
- * @constructor
210
- * @param {IPublicKey=} [p] Properties to set
211
- */
212
- function PublicKey(p) {
213
- if (p)
214
- for (var ks = Object.keys(p), i = 0; i < ks.length; ++i)
215
- if (p[ks[i]] != null)
216
- this[ks[i]] = p[ks[i]];
217
- }
218
-
219
- /**
220
- * PublicKey Type.
221
- * @member {KeyType} Type
222
- * @memberof PublicKey
223
- * @instance
224
- */
225
- PublicKey.prototype.Type = 0;
226
-
227
- /**
228
- * PublicKey Data.
229
- * @member {Uint8Array} Data
230
- * @memberof PublicKey
231
- * @instance
232
- */
233
- PublicKey.prototype.Data = $util.newBuffer([]);
234
-
235
- /**
236
- * Encodes the specified PublicKey message. Does not implicitly {@link PublicKey.verify|verify} messages.
237
- * @function encode
238
- * @memberof PublicKey
239
- * @static
240
- * @param {IPublicKey} m PublicKey message or plain object to encode
241
- * @param {$protobuf.Writer} [w] Writer to encode to
242
- * @returns {$protobuf.Writer} Writer
243
- */
244
- PublicKey.encode = function encode(m, w) {
245
- if (!w)
246
- w = $Writer.create();
247
- if (m.Type != null && Object.hasOwnProperty.call(m, "Type"))
248
- w.uint32(8).int32(m.Type);
249
- if (m.Data != null && Object.hasOwnProperty.call(m, "Data"))
250
- w.uint32(18).bytes(m.Data);
251
- return w;
252
- };
253
-
254
- /**
255
- * Decodes a PublicKey message from the specified reader or buffer.
256
- * @function decode
257
- * @memberof PublicKey
258
- * @static
259
- * @param {$protobuf.Reader|Uint8Array} r Reader or buffer to decode from
260
- * @param {number} [l] Message length if known beforehand
261
- * @returns {PublicKey} PublicKey
262
- * @throws {Error} If the payload is not a reader or valid buffer
263
- * @throws {$protobuf.util.ProtocolError} If required fields are missing
264
- */
265
- PublicKey.decode = function decode(r, l) {
266
- if (!(r instanceof $Reader))
267
- r = $Reader.create(r);
268
- var c = l === undefined ? r.len : r.pos + l, m = new $root.PublicKey();
269
- while (r.pos < c) {
270
- var t = r.uint32();
271
- switch (t >>> 3) {
272
- case 1:
273
- m.Type = r.int32();
274
- break;
275
- case 2:
276
- m.Data = r.bytes();
277
- break;
278
- default:
279
- r.skipType(t & 7);
280
- break;
281
- }
282
- }
283
- return m;
284
- };
285
-
286
- /**
287
- * Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
288
- * @function fromObject
289
- * @memberof PublicKey
290
- * @static
291
- * @param {Object.<string,*>} d Plain object
292
- * @returns {PublicKey} PublicKey
293
- */
294
- PublicKey.fromObject = function fromObject(d) {
295
- if (d instanceof $root.PublicKey)
296
- return d;
297
- var m = new $root.PublicKey();
298
- switch (d.Type) {
299
- case "RSA":
300
- case 0:
301
- m.Type = 0;
302
- break;
303
- case "Ed25519":
304
- case 1:
305
- m.Type = 1;
306
- break;
307
- case "Secp256k1":
308
- case 2:
309
- m.Type = 2;
310
- break;
311
- case "ECDSA":
312
- case 3:
313
- m.Type = 3;
314
- break;
315
- }
316
- if (d.Data != null) {
317
- if (typeof d.Data === "string")
318
- $util.base64.decode(d.Data, m.Data = $util.newBuffer($util.base64.length(d.Data)), 0);
319
- else if (d.Data.length)
320
- m.Data = d.Data;
321
- }
322
- return m;
323
- };
324
-
325
- /**
326
- * Creates a plain object from a PublicKey message. Also converts values to other types if specified.
327
- * @function toObject
328
- * @memberof PublicKey
329
- * @static
330
- * @param {PublicKey} m PublicKey
331
- * @param {$protobuf.IConversionOptions} [o] Conversion options
332
- * @returns {Object.<string,*>} Plain object
333
- */
334
- PublicKey.toObject = function toObject(m, o) {
335
- if (!o)
336
- o = {};
337
- var d = {};
338
- if (o.defaults) {
339
- d.Type = o.enums === String ? "RSA" : 0;
340
- if (o.bytes === String)
341
- d.Data = "";
342
- else {
343
- d.Data = [];
344
- if (o.bytes !== Array)
345
- d.Data = $util.newBuffer(d.Data);
346
- }
347
- }
348
- if (m.Type != null && m.hasOwnProperty("Type")) {
349
- d.Type = o.enums === String ? $root.KeyType[m.Type] : m.Type;
350
- }
351
- if (m.Data != null && m.hasOwnProperty("Data")) {
352
- d.Data = o.bytes === String ? $util.base64.encode(m.Data, 0, m.Data.length) : o.bytes === Array ? Array.prototype.slice.call(m.Data) : m.Data;
353
- }
354
- return d;
355
- };
356
-
357
- /**
358
- * Converts this PublicKey to JSON.
359
- * @function toJSON
360
- * @memberof PublicKey
361
- * @instance
362
- * @returns {Object.<string,*>} JSON object
363
- */
364
- PublicKey.prototype.toJSON = function toJSON() {
365
- return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
366
- };
367
-
368
- return PublicKey;
369
- })();
370
-
371
- module.exports = $root;