libp2p 0.46.8 → 0.46.9-28d6722f

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 (67) hide show
  1. package/dist/index.min.js +22 -22
  2. package/dist/src/autonat/index.d.ts.map +1 -1
  3. package/dist/src/autonat/index.js +18 -9
  4. package/dist/src/autonat/index.js.map +1 -1
  5. package/dist/src/circuit-relay/transport/reservation-store.js +1 -1
  6. package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
  7. package/dist/src/circuit-relay/utils.d.ts.map +1 -1
  8. package/dist/src/circuit-relay/utils.js +14 -7
  9. package/dist/src/circuit-relay/utils.js.map +1 -1
  10. package/dist/src/config.js +2 -2
  11. package/dist/src/config.js.map +1 -1
  12. package/dist/src/connection-manager/auto-dial.d.ts +2 -0
  13. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  14. package/dist/src/connection-manager/auto-dial.js +19 -2
  15. package/dist/src/connection-manager/auto-dial.js.map +1 -1
  16. package/dist/src/connection-manager/constants.browser.d.ts +6 -6
  17. package/dist/src/connection-manager/constants.browser.d.ts.map +1 -1
  18. package/dist/src/connection-manager/constants.browser.js +6 -6
  19. package/dist/src/connection-manager/constants.browser.js.map +1 -1
  20. package/dist/src/connection-manager/constants.d.ts +6 -6
  21. package/dist/src/connection-manager/constants.d.ts.map +1 -1
  22. package/dist/src/connection-manager/constants.defaults.d.ts +7 -3
  23. package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
  24. package/dist/src/connection-manager/constants.defaults.js +7 -3
  25. package/dist/src/connection-manager/constants.defaults.js.map +1 -1
  26. package/dist/src/connection-manager/constants.js +6 -6
  27. package/dist/src/connection-manager/constants.js.map +1 -1
  28. package/dist/src/connection-manager/dial-queue.js +2 -2
  29. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  30. package/dist/src/connection-manager/index.d.ts +12 -5
  31. package/dist/src/connection-manager/index.d.ts.map +1 -1
  32. package/dist/src/connection-manager/index.js +4 -3
  33. package/dist/src/connection-manager/index.js.map +1 -1
  34. package/dist/src/fetch/index.d.ts.map +1 -1
  35. package/dist/src/fetch/index.js +7 -3
  36. package/dist/src/fetch/index.js.map +1 -1
  37. package/dist/src/identify/consts.d.ts +1 -1
  38. package/dist/src/identify/consts.d.ts.map +1 -1
  39. package/dist/src/libp2p.js +1 -1
  40. package/dist/src/libp2p.js.map +1 -1
  41. package/dist/src/ping/index.d.ts.map +1 -1
  42. package/dist/src/ping/index.js +7 -3
  43. package/dist/src/ping/index.js.map +1 -1
  44. package/dist/src/upgrader.d.ts.map +1 -1
  45. package/dist/src/upgrader.js +5 -4
  46. package/dist/src/upgrader.js.map +1 -1
  47. package/dist/src/version.d.ts +1 -1
  48. package/dist/src/version.d.ts.map +1 -1
  49. package/dist/src/version.js +1 -1
  50. package/dist/src/version.js.map +1 -1
  51. package/package.json +21 -22
  52. package/src/autonat/index.ts +20 -7
  53. package/src/circuit-relay/transport/reservation-store.ts +1 -1
  54. package/src/circuit-relay/utils.ts +18 -7
  55. package/src/config.ts +2 -2
  56. package/src/connection-manager/auto-dial.ts +22 -2
  57. package/src/connection-manager/constants.browser.ts +7 -7
  58. package/src/connection-manager/constants.defaults.ts +8 -3
  59. package/src/connection-manager/constants.ts +7 -7
  60. package/src/connection-manager/dial-queue.ts +2 -2
  61. package/src/connection-manager/index.ts +17 -8
  62. package/src/fetch/index.ts +8 -3
  63. package/src/libp2p.ts +1 -1
  64. package/src/ping/index.ts +8 -3
  65. package/src/upgrader.ts +8 -5
  66. package/src/version.ts +1 -1
  67. package/dist/typedoc-urls.json +0 -58
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAe1F,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAiCrC,SAAS,uBAAuB,CAAE,QAAgB,EAAE,SAAoB;IACtE,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,OAAO,OAAO,CAAC,iBAAiB,CAAA;KACjC;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,2BAA2B,EAAE;YAClD,MAAM,GAAG,CAAA;SACV;KACF;IAED,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAED,SAAS,uBAAuB,CAAE,QAAgB,EAAE,SAAoB,EAAE,UAA4B,EAAE;IACtG,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACtC,OAAO,OAAO,CAAC,kBAAkB,CAAA;SAClC;KACF;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,2BAA2B,EAAE;YAClD,MAAM,GAAG,CAAA;SACV;KACF;IAED,OAAO,OAAO,CAAC,kBAAkB,IAAI,4BAA4B,CAAA;AACnE,CAAC;AAED,SAAS,YAAY,CAAE,QAAgB,EAAE,SAAiC,EAAE,UAAsB;IAChG,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAClE,WAAW,EAAE,CAAA;SACd;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAA;AACpB,CAAC;AAiBD,MAAM,OAAO,eAAe;IACT,UAAU,CAA2B;IACrC,oBAAoB,CAAkC;IACtD,MAAM,CAAiC;IACvC,qBAAqB,CAAQ;IAC7B,MAAM,CAA4B;IAEnD,YAAa,UAAqC,EAAE,IAAkB;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;QAErC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;QAEvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,uBAAuB,CAAA;QAClF,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAE,UAAkB,EAAE,MAA2B,EAAE,cAAoC;QAChH,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAEvE,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,IAAI,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE;gBAC7C,MAAM,IAAI,SAAS,CAAC,gDAAgD,cAAc,EAAE,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;aACxH;SACF;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAE,MAA2B,EAAE,IAAsB;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAEvF,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACtE;QAED,IAAI,aAA4B,CAAA;QAChC,IAAI,UAAU,CAAA;QACd,IAAI,YAAmF,CAAA;QACvF,IAAI,YAA4C,CAAA;QAChD,IAAI,cAAc,CAAA;QAElB,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAE9D,IAAI;YACF,uBAAuB;YACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;SACpC;QAAC,MAAM,GAAG;QAEX,IAAI;YACF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACvD,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;YACtC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAA;YAElC,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE;gBACpF,MAAM,IAAI,SAAS,CAAC,+DAA+D,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAA;aACvH;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;YAEzD,GAAG,CAAC,yCAAyC,CAAC,CAAA;YAE9C,UAAU;YACV,IAAI,aAAa,GAAG,MAAM,CAAA;YAE1B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAA;gBAErD,IAAI,SAAS,IAAI,IAAI,EAAE;oBACrB,GAAG,CAAC,mCAAmC,CAAC,CAAA;oBACxC,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;iBAChD;aACF;YAED,IAAI;gBACF,yBAAyB;gBACzB,aAAa,GAAG,aAAa,CAAA;gBAC7B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;oBACjC,CAAC;wBACC,IAAI,EAAE,aAAa;wBACnB,UAAU;wBACV,QAAQ,EAAE,cAAc;qBACzB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAA;oBAE9C,MAAM,MAAM,GAAwB;wBAClC,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,CAAA;oBAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,gCAAgC,CAAC,CAAA;iBACvF;qBAAM;oBACL,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;oBAE3C,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,MAAM,IAAI,SAAS,CAAC,gEAAgE,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;qBACnH;oBAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBAE5C,cAAc,GAAG,QAAQ,CAAA;oBACzB,UAAU,GAAG,YAAY,CAAA;iBAC1B;gBAED,YAAY,GAAG,aAAa,CAAA;gBAC5B,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE;oBAC9B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;iBACjC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;oBAC/B,2BAA2B;oBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;wBAC/C,GAAG,aAAa;wBAChB,GAAG,aAAa;qBACjB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;oBACf,YAAY,GAAG,WAAW,CAAC,YAAY,CAAA;oBACvC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAA;iBAClC;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;gBACtD,MAAM,GAAG,CAAA;aACV;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,+BAA+B,CAAC,CAAA;YAErF,GAAG,CAAC,0CAA0C,CAAC,CAAA;YAE/C,OAAO,IAAI,CAAC,iBAAiB,CAAC;gBAC5B,cAAc;gBACd,SAAS,EAAE,SAAS;gBACpB,MAAM;gBACN,YAAY;gBACZ,YAAY;gBACZ,UAAU;gBACV,SAAS,EAAE,IAAI,EAAE,SAAS;aAC3B,CAAC,CAAA;SACH;gBAAS;YACR,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAA;SACxD;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,MAA2B,EAAE,IAAsB;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;QAC3C,IAAI,YAAgC,CAAA;QAEpC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAEtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;SACjF;QAED,IAAI,aAAa,CAAA;QACjB,IAAI,UAAkB,CAAA;QACtB,IAAI,YAAmF,CAAA;QACvF,IAAI,cAAc,CAAA;QAClB,IAAI,YAAY,CAAA;QAEhB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAA;QAEzD,GAAG,CAAC,0CAA0C,CAAC,CAAA;QAE/C,iEAAiE;QACjE,2BAA2B;QAE3B,UAAU;QACV,IAAI,aAAa,GAAG,MAAM,CAAA;QAC1B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAA;YAErD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;aAChD;SACF;QAED,IAAI;YACF,yBAAyB;YACzB,aAAa,GAAG,aAAa,CAAA;YAC7B,IAAI,IAAI,EAAE,cAAc,KAAK,IAAI,EAAE;gBACjC,CAAC;oBACC,IAAI,EAAE,aAAa;oBACnB,UAAU;oBACV,QAAQ,EAAE,cAAc;iBACzB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;gBAE7D,MAAM,MAAM,GAAwB;oBAClC,GAAG,aAAa;oBAChB,GAAG,aAAa;iBACjB,CAAA;gBAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,iCAAiC,CAAC,CAAA;aACxF;iBAAM;gBACL,IAAI,YAAY,IAAI,IAAI,EAAE;oBACxB,MAAM,IAAI,SAAS,CAAC,kDAAkD,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;iBAChG;gBAED,cAAc,GAAG,QAAQ,CAAA;gBACzB,UAAU,GAAG,YAAY,CAAA;aAC1B;YAED,YAAY,GAAG,aAAa,CAAA;YAC5B,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,EAAE;gBAC9B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;aACjC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC/B,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;oBAChD,GAAG,aAAa;oBAChB,GAAG,aAAa;iBACjB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACf,YAAY,GAAG,WAAW,CAAC,YAAY,CAAA;gBACvC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAA;aAClC;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;YACvD,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,MAAM,GAAG,CAAA;SACV;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,gCAAgC,CAAC,CAAA;QAEtF,GAAG,CAAC,2CAA2C,CAAC,CAAA;QAEhD,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAC5B,cAAc;YACd,SAAS,EAAE,UAAU;YACrB,MAAM;YACN,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,SAAS,EAAE,IAAI,EAAE,SAAS;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAE,IAA6B;QAC9C,MAAM,EACJ,cAAc,EACd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,SAAS,EACV,GAAG,IAAI,CAAA;QAER,IAAI,KAA8B,CAAA;QAClC,IAAI,SAA2F,CAAA;QAC/F,IAAI,UAAsB,CAAA,CAAC,mCAAmC;QAE9D,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,mBAAmB;YACnB,KAAK,GAAG,YAAY,CAAC,iBAAiB,CAAC;gBACrC,SAAS;gBACT,yCAAyC;gBACzC,gBAAgB,EAAE,WAAW,CAAC,EAAE;oBAC9B,IAAI,UAAU,IAAI,IAAI,EAAE;wBACtB,OAAM;qBACP;oBAED,KAAK,OAAO,CAAC,OAAO,EAAE;yBACnB,IAAI,CAAC,KAAK,IAAI,EAAE;wBACf,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;wBAC1D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;wBACrE,GAAG,CAAC,kCAAkC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;wBAE5D,IAAI,UAAU,IAAI,IAAI,EAAE;4BACtB,OAAM;yBACP;wBAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;wBAClF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;wBAEjE,IAAI,WAAW,KAAK,aAAa,EAAE;4BACjC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,mDAAmD,QAAQ,aAAa,aAAa,EAAE,EAAE,KAAK,CAAC,qCAAqC,CAAC,CAAA;4BAC/J,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BAEtB,MAAM,GAAG,CAAA;yBACV;wBAED,0EAA0E;wBAC1E,iBAAiB;wBACjB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;wBAClC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;wBAC9B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;wBAE/B,gGAAgG;wBAChG,6EAA6E;wBAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;4BAChD,SAAS,EAAE,CAAC,QAAQ,CAAC;yBACtB,CAAC,CAAA;wBAEF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;wBAErE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC/D,CAAC,CAAC;yBACD,KAAK,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;wBACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAEd,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;4BACtC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAA;yBAC1B;oBACH,CAAC,CAAC,CAAA;gBACN,CAAC;aACF,CAAC,CAAA;YAEF,SAAS,GAAG,KAAK,EAAE,SAAmB,EAAE,UAA4B,EAAE,EAAmB,EAAE;gBACzF,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,MAAM,IAAI,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;iBAC9E;gBAED,GAAG,CAAC,+BAA+B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;gBAC1D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAA;gBAE3C,IAAI;oBACF,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;wBAC1B,GAAG,CAAC,mGAAmG,EAAE,SAAS,CAAC,CAAA;wBAEnH,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;wBAE3C,IAAI;4BACF,uBAAuB;4BACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;yBAC5C;wBAAC,MAAM,GAAG;qBACZ;oBAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;oBAE9E,MAAM,aAAa,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;oBAC3F,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;oBAElE,IAAI,WAAW,IAAI,aAAa,EAAE;wBAChC,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,oDAAoD,QAAQ,aAAa,aAAa,EAAE,EAAE,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACjK,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;wBAEtB,MAAM,GAAG,CAAA;qBACV;oBAED,gGAAgG;oBAChG,6EAA6E;oBAC7E,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;wBAChD,SAAS,EAAE,CAAC,QAAQ,CAAC;qBACtB,CAAC,CAAA;oBAEF,0EAA0E;oBAC1E,iBAAiB;oBACjB,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;oBAClC,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;oBAC9B,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBAE/B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;oBAErE,OAAO,WAAW,CAAA;iBACnB;gBAAC,OAAO,GAAQ,EAAE;oBACjB,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAA;oBAE7C,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;wBACtC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;qBACvB;oBAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;wBACpB,MAAM,GAAG,CAAA;qBACV;oBAED,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAA;iBACjE;YACH,CAAC,CAAA;YAED,kCAAkC;YAClC,KAAK,OAAO,CAAC,GAAG,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;aAChC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;SACH;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACjC,MAAM,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE;YACrC,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBACf,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC3F,2DAA2D;oBAC3D,CAAC,KAAK,IAAI,EAAE;wBACV,IAAI;4BACF,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE;gCAChC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;6BACzB;yBACF;wBAAC,OAAO,GAAQ,EAAE;4BACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;yBACf;gCAAS;4BACR,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;gCAChD,MAAM,EAAE,UAAU;6BACnB,CAAC,CAAA;yBACH;oBACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;wBACf,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAChB,CAAC,CAAC,CAAA;iBACH;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;YAC7B,CAAC;SACF,CAAC,CAAA;QACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAErC,MAAM,2BAA2B,GAAG,GAAQ,EAAE;YAC5C,MAAM,IAAI,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC5F,CAAC,CAAA;QAED,wBAAwB;QACxB,UAAU,GAAG,gBAAgB,CAAC;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU;YACV,MAAM,EAAE,MAAM;YACd,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,KAAK,EAAE,QAAQ;YAC5B,UAAU,EAAE,cAAc;YAC1B,SAAS;YACT,SAAS,EAAE,SAAS,IAAI,2BAA2B;YACnD,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAA;aAAE;iBAAM;gBAAE,OAAO,EAAE,CAAA;aAAE,CAAC,CAAC;YACpF,KAAK,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;gBACtC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC3B,iDAAiD;gBACjD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;iBAC3B;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;gBACb,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,uCAAuC;gBACvC,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACjB;YACH,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;YAC/C,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,SAAS,CAAE,IAAqB;QAC9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAE3E,IAAI,UAAU,CAAC,SAAS,IAAI,OAAO,CAAC,wBAAwB,KAAK,IAAI,EAAE;YACrE,MAAM,IAAI,SAAS,CAAC,qDAAqD,EAAE,0BAA0B,CAAC,CAAA;SACvG;QAED,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAE,UAAkE;QACvF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAA;QAC9D,GAAG,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAA;QAE5D,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;aAC1D;YAED,GAAG,CAAC,kCAAkC,CAAC,CAAA;YAEvC,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;gBAChE,QAAQ;aACT,CAAA;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAE,UAA+B,EAAE,YAAqB;QAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAA;QAC9D,GAAG,CAAC,oCAAoC,EAAE,SAAS,CAAC,CAAA;QAEpD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzD,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;aAC1D;YAED,GAAG,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAA;YAEzD,OAAO;gBACL,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;gBAC/E,QAAQ;aACT,CAAA;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAE,UAA+B,EAAE,MAAuC;QAChG,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAA;QAC7C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;YAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;SAChC;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;YACpD,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAE,UAA+B,EAAE,MAAuC;QAC/F,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;gBACnE,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEzC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA;SAChC;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;YACnD,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SAC9D;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "0.46.8";
1
+ export declare const version = "0.46.9-28d6722f";
2
2
  export declare const name = "libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAA;AAC/B,eAAO,MAAM,IAAI,WAAW,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,oBAAoB,CAAA;AACxC,eAAO,MAAM,IAAI,WAAW,CAAA"}
@@ -1,3 +1,3 @@
1
- export const version = '0.46.8';
1
+ export const version = '0.46.9-28d6722f';
2
2
  export const name = 'libp2p';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "0.46.8",
3
+ "version": "0.46.9-28d6722f",
4
4
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/libp2p#readme",
@@ -120,22 +120,21 @@
120
120
  },
121
121
  "dependencies": {
122
122
  "@achingbrain/nat-port-mapper": "^1.0.9",
123
- "@libp2p/crypto": "^2.0.3",
124
- "@libp2p/interface": "^0.1.2",
125
- "@libp2p/interface-internal": "^0.1.4",
126
- "@libp2p/keychain": "^3.0.3",
127
- "@libp2p/logger": "^3.0.2",
128
- "@libp2p/multistream-select": "^4.0.2",
129
- "@libp2p/peer-collections": "^4.0.3",
130
- "@libp2p/peer-id": "^3.0.2",
131
- "@libp2p/peer-id-factory": "^3.0.3",
132
- "@libp2p/peer-record": "^6.0.3",
133
- "@libp2p/peer-store": "^9.0.3",
134
- "@libp2p/utils": "^4.0.2",
123
+ "@libp2p/crypto": "2.0.3-28d6722f",
124
+ "@libp2p/interface": "0.1.2-28d6722f",
125
+ "@libp2p/interface-internal": "0.1.4-28d6722f",
126
+ "@libp2p/keychain": "3.0.3-28d6722f",
127
+ "@libp2p/logger": "3.0.2-28d6722f",
128
+ "@libp2p/multistream-select": "4.0.2-28d6722f",
129
+ "@libp2p/peer-collections": "4.0.3-28d6722f",
130
+ "@libp2p/peer-id": "3.0.2-28d6722f",
131
+ "@libp2p/peer-id-factory": "3.0.3-28d6722f",
132
+ "@libp2p/peer-record": "6.0.3-28d6722f",
133
+ "@libp2p/peer-store": "9.0.3-28d6722f",
134
+ "@libp2p/utils": "4.0.2-28d6722f",
135
135
  "@multiformats/mafmt": "^12.1.2",
136
136
  "@multiformats/multiaddr": "^12.1.5",
137
137
  "@multiformats/multiaddr-matcher": "^1.0.0",
138
- "abortable-iterator": "^5.0.1",
139
138
  "any-signal": "^4.1.1",
140
139
  "datastore-core": "^9.0.1",
141
140
  "delay": "^6.0.0",
@@ -170,17 +169,17 @@
170
169
  "@chainsafe/libp2p-gossipsub": "^10.0.0",
171
170
  "@chainsafe/libp2p-noise": "^13.0.0",
172
171
  "@chainsafe/libp2p-yamux": "^5.0.0",
173
- "@libp2p/bootstrap": "^9.0.5",
172
+ "@libp2p/bootstrap": "9.0.5-28d6722f",
174
173
  "@libp2p/daemon-client": "^7.0.0",
175
174
  "@libp2p/daemon-server": "^6.0.0",
176
- "@libp2p/floodsub": "^8.0.6",
177
- "@libp2p/interface-compliance-tests": "^4.0.5",
175
+ "@libp2p/floodsub": "8.0.6-28d6722f",
176
+ "@libp2p/interface-compliance-tests": "4.0.5-28d6722f",
178
177
  "@libp2p/interop": "^9.0.0",
179
- "@libp2p/kad-dht": "^10.0.5",
180
- "@libp2p/mdns": "^9.0.6",
181
- "@libp2p/mplex": "^9.0.5",
182
- "@libp2p/tcp": "^8.0.5",
183
- "@libp2p/websockets": "^7.0.5",
178
+ "@libp2p/kad-dht": "10.0.5-28d6722f",
179
+ "@libp2p/mdns": "9.0.6-28d6722f",
180
+ "@libp2p/mplex": "9.0.5-28d6722f",
181
+ "@libp2p/tcp": "8.0.5-28d6722f",
182
+ "@libp2p/websockets": "7.0.5-28d6722f",
184
183
  "@types/xsalsa20": "^1.1.0",
185
184
  "aegir": "^40.0.8",
186
185
  "execa": "^8.0.1",
@@ -20,17 +20,18 @@
20
20
  */
21
21
 
22
22
  import { setMaxListeners } from 'events'
23
+ import { CodeError } from '@libp2p/interface/errors'
23
24
  import { logger } from '@libp2p/logger'
24
25
  import { peerIdFromBytes } from '@libp2p/peer-id'
25
26
  import { createEd25519PeerId } from '@libp2p/peer-id-factory'
26
27
  import { multiaddr, protocols } from '@multiformats/multiaddr'
27
- import { abortableDuplex } from 'abortable-iterator'
28
28
  import first from 'it-first'
29
29
  import * as lp from 'it-length-prefixed'
30
30
  import map from 'it-map'
31
31
  import parallel from 'it-parallel'
32
32
  import { pipe } from 'it-pipe'
33
33
  import isPrivateIp from 'private-ip'
34
+ import { codes } from '../errors.js'
34
35
  import {
35
36
  MAX_INBOUND_STREAMS,
36
37
  MAX_OUTBOUND_STREAMS,
@@ -155,6 +156,12 @@ class DefaultAutoNATService implements Startable {
155
156
  async handleIncomingAutonatStream (data: IncomingStreamData): Promise<void> {
156
157
  const signal = AbortSignal.timeout(this.timeout)
157
158
 
159
+ const onAbort = (): void => {
160
+ data.stream.abort(new CodeError('handleIncomingAutonatStream timeout', codes.ERR_TIMEOUT))
161
+ }
162
+
163
+ signal.addEventListener('abort', onAbort, { once: true })
164
+
158
165
  // this controller may be used while dialing lots of peers so prevent MaxListenersExceededWarning
159
166
  // appearing in the console
160
167
  try {
@@ -166,11 +173,10 @@ class DefaultAutoNATService implements Startable {
166
173
  .map(ma => ma.toOptions().host)
167
174
 
168
175
  try {
169
- const source = abortableDuplex(data.stream, signal)
170
176
  const self = this
171
177
 
172
178
  await pipe(
173
- source,
179
+ data.stream,
174
180
  (source) => lp.decode(source),
175
181
  async function * (stream) {
176
182
  const buf = await first(stream)
@@ -379,12 +385,12 @@ class DefaultAutoNATService implements Startable {
379
385
  })
380
386
  },
381
387
  (source) => lp.encode(source),
382
- // pipe to the stream, not the abortable source other wise we
383
- // can't tell the remote when a dial timed out..
384
388
  data.stream
385
389
  )
386
390
  } catch (err) {
387
391
  log.error('error handling incoming autonat stream', err)
392
+ } finally {
393
+ signal.removeEventListener('abort', onAbort)
388
394
  }
389
395
  }
390
396
 
@@ -453,6 +459,8 @@ class DefaultAutoNATService implements Startable {
453
459
  const networkSegments: string[] = []
454
460
 
455
461
  const verifyAddress = async (peer: PeerInfo): Promise<Message.DialResponse | undefined> => {
462
+ let onAbort = (): void => {}
463
+
456
464
  try {
457
465
  log('asking %p to verify multiaddr', peer.id)
458
466
 
@@ -463,12 +471,15 @@ class DefaultAutoNATService implements Startable {
463
471
  const stream = await connection.newStream(this.protocol, {
464
472
  signal
465
473
  })
466
- const source = abortableDuplex(stream, signal)
474
+
475
+ onAbort = () => { stream.abort(new CodeError('verifyAddress timeout', codes.ERR_TIMEOUT)) }
476
+
477
+ signal.addEventListener('abort', onAbort, { once: true })
467
478
 
468
479
  const buf = await pipe(
469
480
  [request],
470
481
  (source) => lp.encode(source),
471
- source,
482
+ stream,
472
483
  (source) => lp.decode(source),
473
484
  async (stream) => first(stream)
474
485
  )
@@ -510,6 +521,8 @@ class DefaultAutoNATService implements Startable {
510
521
  return response.dialResponse
511
522
  } catch (err) {
512
523
  log.error('error asking remote to verify multiaddr', err)
524
+ } finally {
525
+ signal.removeEventListener('abort', onAbort)
513
526
  }
514
527
  }
515
528
 
@@ -261,7 +261,7 @@ export class ReservationStore extends EventEmitter<ReservationStoreEvents> imple
261
261
  options.signal?.throwIfAborted()
262
262
 
263
263
  log('requesting reservation from %p', connection.remotePeer)
264
- const stream = await connection.newStream(RELAY_V2_HOP_CODEC)
264
+ const stream = await connection.newStream(RELAY_V2_HOP_CODEC, options)
265
265
  const pbstr = pbStream(stream)
266
266
  const hopstr = pbstr.pb(HopMessage)
267
267
  await hopstr.write({ type: HopMessage.Type.RESERVE }, options)
@@ -1,8 +1,9 @@
1
+ import { CodeError } from '@libp2p/interface/errors'
1
2
  import { logger } from '@libp2p/logger'
2
- import { abortableSource } from 'abortable-iterator'
3
3
  import { anySignal } from 'any-signal'
4
4
  import { CID } from 'multiformats/cid'
5
5
  import { sha256 } from 'multiformats/hashes/sha2'
6
+ import { codes } from '../errors.js'
6
7
  import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js'
7
8
  import type { Limit } from './pb/index.js'
8
9
  import type { Stream } from '@libp2p/interface/connection'
@@ -58,9 +59,13 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
58
59
  }
59
60
 
60
61
  queueMicrotask(() => {
61
- void dst.sink(countStreamBytes(abortableSource(src.source, signal, {
62
- abortMessage: 'duration limit exceeded'
63
- }), dataLimit))
62
+ const onAbort = (): void => {
63
+ dst.abort(new CodeError('duration limit exceeded', codes.ERR_TIMEOUT))
64
+ }
65
+
66
+ signal.addEventListener('abort', onAbort, { once: true })
67
+
68
+ void dst.sink(countStreamBytes(src.source, dataLimit))
64
69
  .catch(err => {
65
70
  log.error('error while relaying streams src -> dst', err)
66
71
  abortStreams(err)
@@ -69,6 +74,7 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
69
74
  srcDstFinished = true
70
75
 
71
76
  if (dstSrcFinished) {
77
+ signal.removeEventListener('abort', onAbort)
72
78
  signal.clear()
73
79
  clearTimeout(timeout)
74
80
  }
@@ -76,9 +82,13 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
76
82
  })
77
83
 
78
84
  queueMicrotask(() => {
79
- void src.sink(countStreamBytes(abortableSource(dst.source, signal, {
80
- abortMessage: 'duration limit exceeded'
81
- }), dataLimit))
85
+ const onAbort = (): void => {
86
+ src.abort(new CodeError('duration limit exceeded', codes.ERR_TIMEOUT))
87
+ }
88
+
89
+ signal.addEventListener('abort', onAbort, { once: true })
90
+
91
+ void src.sink(countStreamBytes(dst.source, dataLimit))
82
92
  .catch(err => {
83
93
  log.error('error while relaying streams dst -> src', err)
84
94
  abortStreams(err)
@@ -87,6 +97,7 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
87
97
  dstSrcFinished = true
88
98
 
89
99
  if (srcDstFinished) {
100
+ signal.removeEventListener('abort', onAbort)
90
101
  signal.clear()
91
102
  clearTimeout(timeout)
92
103
  }
package/src/config.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { CodeError } from '@libp2p/interface/errors'
2
2
  import { FaultTolerance } from '@libp2p/interface/transport'
3
- import { publicAddressesFirst } from '@libp2p/utils/address-sort'
3
+ import { defaultAddressSort } from '@libp2p/utils/address-sort'
4
4
  import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
5
5
  import mergeOptions from 'merge-options'
6
6
  import { codes, messages } from './errors.js'
@@ -19,7 +19,7 @@ const DefaultConfig: Partial<Libp2pInit> = {
19
19
  resolvers: {
20
20
  dnsaddr: dnsaddrResolver
21
21
  },
22
- addressSorter: publicAddressesFirst
22
+ addressSorter: defaultAddressSort
23
23
  },
24
24
  transportManager: {
25
25
  faultTolerance: FaultTolerance.FATAL_ALL
@@ -2,7 +2,7 @@ import { logger } from '@libp2p/logger'
2
2
  import { PeerMap, PeerSet } from '@libp2p/peer-collections'
3
3
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
4
4
  import { PeerJobQueue } from '../utils/peer-job-queue.js'
5
- import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_INTERVAL, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PEER_RETRY_THRESHOLD, AUTO_DIAL_PRIORITY, LAST_DIAL_FAILURE_KEY, MIN_CONNECTIONS } from './constants.js'
5
+ import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_DISCOVERED_PEERS_DEBOUNCE, AUTO_DIAL_INTERVAL, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PEER_RETRY_THRESHOLD, AUTO_DIAL_PRIORITY, LAST_DIAL_FAILURE_KEY, MIN_CONNECTIONS } from './constants.js'
6
6
  import type { Libp2pEvents } from '@libp2p/interface'
7
7
  import type { EventEmitter } from '@libp2p/interface/events'
8
8
  import type { PeerStore } from '@libp2p/interface/peer-store'
@@ -18,6 +18,7 @@ interface AutoDialInit {
18
18
  autoDialPriority?: number
19
19
  autoDialInterval?: number
20
20
  autoDialPeerRetryThreshold?: number
21
+ autoDialDiscoveredPeersDebounce?: number
21
22
  }
22
23
 
23
24
  interface AutoDialComponents {
@@ -32,7 +33,8 @@ const defaultOptions = {
32
33
  autoDialConcurrency: AUTO_DIAL_CONCURRENCY,
33
34
  autoDialPriority: AUTO_DIAL_PRIORITY,
34
35
  autoDialInterval: AUTO_DIAL_INTERVAL,
35
- autoDialPeerRetryThreshold: AUTO_DIAL_PEER_RETRY_THRESHOLD
36
+ autoDialPeerRetryThreshold: AUTO_DIAL_PEER_RETRY_THRESHOLD,
37
+ autoDialDiscoveredPeersDebounce: AUTO_DIAL_DISCOVERED_PEERS_DEBOUNCE
36
38
  }
37
39
 
38
40
  export class AutoDial implements Startable {
@@ -44,6 +46,7 @@ export class AutoDial implements Startable {
44
46
  private readonly autoDialIntervalMs: number
45
47
  private readonly autoDialMaxQueueLength: number
46
48
  private readonly autoDialPeerRetryThresholdMs: number
49
+ private readonly autoDialDiscoveredPeersDebounce: number
47
50
  private autoDialInterval?: ReturnType<typeof setInterval>
48
51
  private started: boolean
49
52
  private running: boolean
@@ -61,6 +64,7 @@ export class AutoDial implements Startable {
61
64
  this.autoDialIntervalMs = init.autoDialInterval ?? defaultOptions.autoDialInterval
62
65
  this.autoDialMaxQueueLength = init.maxQueueLength ?? defaultOptions.maxQueueLength
63
66
  this.autoDialPeerRetryThresholdMs = init.autoDialPeerRetryThreshold ?? defaultOptions.autoDialPeerRetryThreshold
67
+ this.autoDialDiscoveredPeersDebounce = init.autoDialDiscoveredPeersDebounce ?? defaultOptions.autoDialDiscoveredPeersDebounce
64
68
  this.started = false
65
69
  this.running = false
66
70
  this.queue = new PeerJobQueue({
@@ -77,6 +81,22 @@ export class AutoDial implements Startable {
77
81
  log.error(err)
78
82
  })
79
83
  })
84
+
85
+ // sometimes peers are discovered in quick succession so add a small
86
+ // debounce to ensure all eligible peers are autodialed
87
+ let debounce: ReturnType<typeof setTimeout>
88
+
89
+ // when new peers are discovered, dial them if we don't have
90
+ // enough connections
91
+ components.events.addEventListener('peer:discovery', () => {
92
+ clearTimeout(debounce)
93
+ debounce = setTimeout(() => {
94
+ this.autoDial()
95
+ .catch(err => {
96
+ log.error(err)
97
+ })
98
+ }, this.autoDialDiscoveredPeersDebounce)
99
+ })
80
100
  }
81
101
 
82
102
  isStarted (): boolean {
@@ -1,10 +1,5 @@
1
1
  export * from './constants.defaults.js'
2
2
 
3
- /**
4
- * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
5
- */
6
- export const MAX_PARALLEL_DIALS = 10
7
-
8
3
  /**
9
4
  * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#minConnections
10
5
  */
@@ -16,6 +11,11 @@ export const MIN_CONNECTIONS = 5
16
11
  export const MAX_CONNECTIONS = 100
17
12
 
18
13
  /**
19
- * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialConcurrency
14
+ * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
15
+ */
16
+ export const MAX_PARALLEL_DIALS = 50
17
+
18
+ /**
19
+ * @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialPeerRetryThreshold
20
20
  */
21
- export const AUTO_DIAL_CONCURRENCY = 10
21
+ export const AUTO_DIAL_PEER_RETRY_THRESHOLD = 1000 * 60 * 7
@@ -16,13 +16,18 @@ export const MAX_PEER_ADDRS_TO_DIAL = 25
16
16
  /**
17
17
  * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDialsPerPeer
18
18
  */
19
- export const MAX_PARALLEL_DIALS_PER_PEER = 10
19
+ export const MAX_PARALLEL_DIALS_PER_PEER = 1
20
20
 
21
21
  /**
22
22
  * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialInterval
23
23
  */
24
24
  export const AUTO_DIAL_INTERVAL = 5000
25
25
 
26
+ /**
27
+ * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialConcurrency
28
+ */
29
+ export const AUTO_DIAL_CONCURRENCY = 25
30
+
26
31
  /**
27
32
  * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialPriority
28
33
  */
@@ -34,9 +39,9 @@ export const AUTO_DIAL_PRIORITY = 0
34
39
  export const AUTO_DIAL_MAX_QUEUE_LENGTH = 100
35
40
 
36
41
  /**
37
- * @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialPeerRetryThreshold
42
+ * @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialDiscoveredPeersDebounce
38
43
  */
39
- export const AUTO_DIAL_PEER_RETRY_THRESHOLD = 1000 * 60
44
+ export const AUTO_DIAL_DISCOVERED_PEERS_DEBOUNCE = 10
40
45
 
41
46
  /**
42
47
  * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#inboundConnectionThreshold
@@ -1,10 +1,5 @@
1
1
  export * from './constants.defaults.js'
2
2
 
3
- /**
4
- * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
5
- */
6
- export const MAX_PARALLEL_DIALS = 100
7
-
8
3
  /**
9
4
  * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#minConnections
10
5
  */
@@ -16,6 +11,11 @@ export const MIN_CONNECTIONS = 50
16
11
  export const MAX_CONNECTIONS = 300
17
12
 
18
13
  /**
19
- * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#autoDialConcurrency
14
+ * @see https://libp2p.github.io/js-libp2p/interfaces/index._internal_.ConnectionManagerConfig.html#maxParallelDials
15
+ */
16
+ export const MAX_PARALLEL_DIALS = 100
17
+
18
+ /**
19
+ * @see https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.unknown.ConnectionManagerInit.html#autoDialPeerRetryThreshold
20
20
  */
21
- export const AUTO_DIAL_CONCURRENCY = 25
21
+ export const AUTO_DIAL_PEER_RETRY_THRESHOLD = 1000 * 60
@@ -1,7 +1,7 @@
1
1
  import { setMaxListeners } from 'events'
2
2
  import { AbortError, CodeError } from '@libp2p/interface/errors'
3
3
  import { logger } from '@libp2p/logger'
4
- import { publicAddressesFirst } from '@libp2p/utils/address-sort'
4
+ import { defaultAddressSort } from '@libp2p/utils/address-sort'
5
5
  import { type Multiaddr, type Resolver, resolvers } from '@multiformats/multiaddr'
6
6
  import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
7
7
  import { type ClearableSignal, anySignal } from 'any-signal'
@@ -51,7 +51,7 @@ interface DialerInit {
51
51
  }
52
52
 
53
53
  const defaultOptions = {
54
- addressSorter: publicAddressesFirst,
54
+ addressSorter: defaultAddressSort,
55
55
  maxParallelDials: MAX_PARALLEL_DIALS,
56
56
  maxPeerAddrsToDial: MAX_PEER_ADDRS_TO_DIAL,
57
57
  maxParallelDialsPerPeer: MAX_PARALLEL_DIALS_PER_PEER,
@@ -2,7 +2,7 @@ import { CodeError } from '@libp2p/interface/errors'
2
2
  import { KEEP_ALIVE } from '@libp2p/interface/peer-store/tags'
3
3
  import { logger } from '@libp2p/logger'
4
4
  import { PeerMap } from '@libp2p/peer-collections'
5
- import { publicAddressesFirst } from '@libp2p/utils/address-sort'
5
+ import { defaultAddressSort } from '@libp2p/utils/address-sort'
6
6
  import { type Multiaddr, type Resolver, multiaddr } from '@multiformats/multiaddr'
7
7
  import { dnsaddrResolver } from '@multiformats/multiaddr/resolvers'
8
8
  import { RateLimiterMemory } from 'rate-limiter-flexible'
@@ -10,7 +10,7 @@ import { codes } from '../errors.js'
10
10
  import { getPeerAddress } from '../get-peer.js'
11
11
  import { AutoDial } from './auto-dial.js'
12
12
  import { ConnectionPruner } from './connection-pruner.js'
13
- import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PRIORITY, DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_INCOMING_PENDING_CONNECTIONS, MAX_PARALLEL_DIALS, MAX_PEER_ADDRS_TO_DIAL, MIN_CONNECTIONS } from './constants.js'
13
+ import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PRIORITY, DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_INCOMING_PENDING_CONNECTIONS, MAX_PARALLEL_DIALS, MAX_PARALLEL_DIALS_PER_PEER, MAX_PEER_ADDRS_TO_DIAL, MIN_CONNECTIONS } from './constants.js'
14
14
  import { DialQueue } from './dial-queue.js'
15
15
  import type { PendingDial, AddressSorter, Libp2pEvents, AbortOptions } from '@libp2p/interface'
16
16
  import type { Connection, MultiaddrConnection } from '@libp2p/interface/connection'
@@ -30,14 +30,14 @@ const DEFAULT_DIAL_PRIORITY = 50
30
30
  export interface ConnectionManagerInit {
31
31
  /**
32
32
  * The maximum number of connections libp2p is willing to have before it starts
33
- * pruning connections to reduce resource usage. (default: 300)
33
+ * pruning connections to reduce resource usage. (default: 300, 100 in browsers)
34
34
  */
35
35
  maxConnections?: number
36
36
 
37
37
  /**
38
38
  * The minimum number of connections below which libp2p will start to dial peers
39
39
  * from the peer book. Setting this to 0 effectively disables this behaviour.
40
- * (default: 50)
40
+ * (default: 50, 5 in browsers)
41
41
  */
42
42
  minConnections?: number
43
43
 
@@ -68,10 +68,18 @@ export interface ConnectionManagerInit {
68
68
 
69
69
  /**
70
70
  * When we've failed to dial a peer, do not autodial them again within this
71
- * number of ms. (default: 1 minute)
71
+ * number of ms. (default: 1 minute, 7 minutes in browsers)
72
72
  */
73
73
  autoDialPeerRetryThreshold?: number
74
74
 
75
+ /**
76
+ * Newly discovered peers may be auto-dialed to increase the number of open
77
+ * connections, but they can be discovered in quick succession so add a small
78
+ * delay before attempting to dial them in case more peers have been
79
+ * discovered. (default: 10ms)
80
+ */
81
+ autoDialDiscoveredPeersDebounce?: number
82
+
75
83
  /**
76
84
  * Sort the known addresses of a peer before trying to dial, By default public
77
85
  * addresses will be dialled before private (e.g. loopback or LAN) addresses.
@@ -80,7 +88,7 @@ export interface ConnectionManagerInit {
80
88
 
81
89
  /**
82
90
  * The maximum number of dials across all peers to execute in parallel.
83
- * (default: 100)
91
+ * (default: 100, 50 in browsers)
84
92
  */
85
93
  maxParallelDials?: number
86
94
 
@@ -88,7 +96,7 @@ export interface ConnectionManagerInit {
88
96
  * To prevent individual peers with large amounts of multiaddrs swamping the
89
97
  * dial queue, this value controls how many addresses to dial in parallel per
90
98
  * peer. So for example if two peers have 10 addresses and this value is set
91
- * at 5, we will dial 5 addresses from each at a time. (default: 10)
99
+ * at 5, we will dial 5 addresses from each at a time. (default: 1)
92
100
  */
93
101
  maxParallelDialsPerPeer?: number
94
102
 
@@ -246,9 +254,10 @@ export class DefaultConnectionManager implements ConnectionManager, Startable {
246
254
  transportManager: components.transportManager,
247
255
  connectionGater: components.connectionGater
248
256
  }, {
249
- addressSorter: init.addressSorter ?? publicAddressesFirst,
257
+ addressSorter: init.addressSorter ?? defaultAddressSort,
250
258
  maxParallelDials: init.maxParallelDials ?? MAX_PARALLEL_DIALS,
251
259
  maxPeerAddrsToDial: init.maxPeerAddrsToDial ?? MAX_PEER_ADDRS_TO_DIAL,
260
+ maxParallelDialsPerPeer: init.maxParallelDialsPerPeer ?? MAX_PARALLEL_DIALS_PER_PEER,
252
261
  dialTimeout: init.dialTimeout ?? DIAL_TIMEOUT,
253
262
  resolvers: init.resolvers ?? {
254
263
  dnsaddr: dnsaddrResolver
@@ -1,7 +1,6 @@
1
1
  import { setMaxListeners } from 'events'
2
2
  import { CodeError } from '@libp2p/interface/errors'
3
3
  import { logger } from '@libp2p/logger'
4
- import { abortableDuplex } from 'abortable-iterator'
5
4
  import first from 'it-first'
6
5
  import * as lp from 'it-length-prefixed'
7
6
  import { pipe } from 'it-pipe'
@@ -140,6 +139,7 @@ class DefaultFetchService implements Startable, FetchService {
140
139
  const connection = await this.components.connectionManager.openConnection(peer, options)
141
140
  let signal = options.signal
142
141
  let stream: Stream | undefined
142
+ let onAbort = (): void => {}
143
143
 
144
144
  // create a timeout if no abort signal passed
145
145
  if (signal == null) {
@@ -157,15 +157,19 @@ class DefaultFetchService implements Startable, FetchService {
157
157
  signal
158
158
  })
159
159
 
160
+ onAbort = () => {
161
+ stream?.abort(new CodeError('fetch timeout', codes.ERR_TIMEOUT))
162
+ }
163
+
160
164
  // make stream abortable
161
- const source = abortableDuplex(stream, signal)
165
+ signal.addEventListener('abort', onAbort, { once: true })
162
166
 
163
167
  log('fetch %s', key)
164
168
 
165
169
  const result = await pipe(
166
170
  [FetchRequest.encode({ identifier: key })],
167
171
  (source) => lp.encode(source),
168
- source,
172
+ stream,
169
173
  (source) => lp.decode(source),
170
174
  async function (source) {
171
175
  const buf = await first(source)
@@ -200,6 +204,7 @@ class DefaultFetchService implements Startable, FetchService {
200
204
 
201
205
  return result ?? null
202
206
  } finally {
207
+ signal.removeEventListener('abort', onAbort)
203
208
  if (stream != null) {
204
209
  await stream.close()
205
210
  }