@libp2p/identify 1.0.21 → 2.0.0-1488a7371
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.
- package/README.md +24 -1
- package/dist/index.min.js +3 -3
- package/dist/src/consts.d.ts +2 -0
- package/dist/src/consts.d.ts.map +1 -1
- package/dist/src/consts.js +4 -0
- package/dist/src/consts.js.map +1 -1
- package/dist/src/identify-push.d.ts +18 -0
- package/dist/src/identify-push.d.ts.map +1 -0
- package/dist/src/identify-push.js +120 -0
- package/dist/src/identify-push.js.map +1 -0
- package/dist/src/identify.d.ts +3 -40
- package/dist/src/identify.d.ts.map +1 -1
- package/dist/src/identify.js +14 -334
- package/dist/src/identify.js.map +1 -1
- package/dist/src/index.d.ts +75 -17
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/utils.d.ts +53 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +217 -0
- package/dist/src/utils.js.map +1 -0
- package/package.json +10 -9
- package/src/consts.ts +6 -0
- package/src/identify-push.ts +146 -0
- package/src/identify.ts +16 -404
- package/src/index.ts +81 -20
- package/src/utils.ts +273 -0
- package/dist/typedoc-urls.json +0 -12
package/dist/src/identify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identify.js","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAkB,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC9G,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,sCAAsC,EACtC,oCAAoC,EACpC,yCAAyC,EAC1C,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAK7D,oHAAoH;AACpH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAA;AAE1C,MAAM,aAAa,GAAG;IACpB,cAAc,EAAE,MAAM;IACtB,oHAAoH;IACpH,OAAO,EAAE,KAAK;IACd,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,sBAAsB,EAAE,CAAC;IACzB,sBAAsB,EAAE,CAAC;IACzB,oBAAoB,EAAE,EAAE;IACxB,sBAAsB,EAAE,IAAI;IAC5B,mBAAmB,EAAE,IAAI;IACzB,wBAAwB,EAAE,IAAI;CAC/B,CAAA;AAED,MAAM,OAAO,QAAQ;IACF,mBAAmB,CAAQ;IAC3B,uBAAuB,CAAQ;IAChC,IAAI,CAGnB;IAEO,OAAO,CAAS;IACP,OAAO,CAAQ;IACf,MAAM,CAAQ;IACd,SAAS,CAAW;IACpB,SAAS,CAAW;IACpB,iBAAiB,CAAmB;IACpC,cAAc,CAAgB;IAC9B,iBAAiB,CAAQ;IACzB,kBAAkB,CAAQ;IAC1B,sBAAsB,CAAQ;IAC9B,sBAAsB,CAAQ;IAC9B,sBAAsB,CAAQ;IAC9B,oBAAoB,CAAQ;IAC5B,MAAM,CAAgC;IACtC,wBAAwB,CAAS;IACjC,GAAG,CAAQ;IAE5B,YAAa,UAA8B,EAAE,OAAqB,EAAE;QAClE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAA;QAC/C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;QAE5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,IAAI,iCAAiC,IAAI,oCAAoC,EAAE,CAAA;QACjK,IAAI,CAAC,uBAAuB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,IAAI,sCAAsC,IAAI,yCAAyC,EAAE,CAAA;QAC/K,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAA;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC,iBAAiB,CAAA;QAClF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,aAAa,CAAC,kBAAkB,CAAA;QACrF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,aAAa,CAAC,sBAAsB,CAAA;QACjG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,aAAa,CAAC,sBAAsB,CAAA;QACjG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,IAAI,aAAa,CAAC,sBAAsB,CAAA;QACjG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,IAAI,aAAa,CAAC,oBAAoB,CAAA;QAC3F,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,aAAa,CAAC,wBAAwB,CAAA;QAEvG,2BAA2B;QAC3B,IAAI,CAAC,IAAI,GAAG;YACV,eAAe,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc,IAAI,yBAAyB,EAAE;YACtG,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE;SAChG,CAAA;QAED,IAAI,IAAI,CAAC,mBAAmB,IAAI,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAClE,kDAAkD;YAClD,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC5D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAA;gBAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YACrH,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,uDAAuD;QACvD,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7D,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QAEF,kFAAkF;QAClF,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5F,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,cAAc,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YACtE,CAAC;iBAAM,IAAI,SAAS,IAAI,WAAW,IAAI,kBAAkB,IAAI,aAAa,EAAE,CAAC;gBAC3E,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,cAAc,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,CAAA;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YACtC,QAAQ,EAAE;gBACR,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC1D,eAAe,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;aACjE;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7D,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE;YACD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;SACxD,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE;YACjE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE;YACD,iBAAiB,EAAE,IAAI,CAAC,sBAAsB;YAC9C,kBAAkB,EAAE,IAAI,CAAC,sBAAsB;YAC/C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;SACxD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACvD,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAE3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAE,WAAyB;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/G,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAA;QACF,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3E,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QAC1H,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;QAEnI,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YAChD,IAAI,MAA0B,CAAA;YAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEhD,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAEjC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE;oBAChE,MAAM;oBACN,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;iBACxD,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;oBAC1B,aAAa,EAAE,IAAI,CAAC,sBAAsB,IAAI,yBAAyB;iBACxE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;gBAEtB,MAAM,EAAE,CAAC,KAAK,CAAC;oBACb,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;oBAChD,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,EAAE;oBAC5C,SAAS,EAAE,kBAAkB;oBAC7B,YAAY;oBACZ,eAAe;iBAChB,EAAE;oBACD,MAAM;iBACP,CAAC,CAAA;gBAEF,MAAM,MAAM,CAAC,KAAK,CAAC;oBACjB,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,kBAAkB;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;gBAC7D,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAiB,EAAE,CAAA;QAEpC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACvD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAEtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBAC3D,OAAM;gBACR,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC/B,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,UAAsB,EAAE,UAAwB,EAAE;QACjE,IAAI,MAA0B,CAAA;QAE9B,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChD,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAEjC,OAAO,GAAG;gBACR,GAAG,OAAO;gBACV,MAAM;aACP,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC5D,GAAG,OAAO;gBACV,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;aACxD,CAAC,CAAA;YAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;gBAC1B,aAAa,EAAE,IAAI,CAAC,sBAAsB,IAAI,yBAAyB;aACxE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;YAEtB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEtC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE3B,OAAO,OAAO,CAAA;QAChB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAA;YAC3D,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,UAAsB,EAAE,UAAwB,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACzD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EACb,GAAG,OAAO,CAAA;QAEX,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,SAAS,CAAC,8CAA8C,EAAE,wBAAwB,CAAC,CAAA;QAC/F,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAA;QAE1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,SAAS,CAAC,kDAAkD,EAAE,kBAAkB,CAAC,CAAA;QAC7F,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,qCAAqC,EAAE,kBAAkB,CAAC,CAAA;QAChF,CAAC;QAED,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAEzD,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;QAC1E,IAAI,CAAC,GAAG,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,CAAA;QAEzD,IAAI,iBAAiB,IAAI,IAAI;YACzB,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,QAAQ,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,GAAG,CAAC,iCAAiC,EAAE,iBAAiB,CAAC,CAAA;YAC9D,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAE,IAAwB;QAC7C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEnC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEhD,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAEjC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAC1G,IAAI,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAA;YAElD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;gBACtD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;oBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU;iBACX,CAAC,CAAA;gBAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnE,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAA;YAClD,CAAC;YAED,IAAI,YAAY,GAA2B,UAAU,CAAC,UAAU,CAAC,KAAK,CAAA;YAEtE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,YAAY,GAAG,SAAS,CAAA;YAC1B,CAAC;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;YAE/C,MAAM,EAAE,CAAC,KAAK,CAAC;gBACb,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,SAAS;gBACT,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/C,gBAAgB;gBAChB,YAAY;gBACZ,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,EAAE;gBACD,MAAM;aACP,CAAC,CAAA;YAEF,MAAM,MAAM,CAAC,KAAK,CAAC;gBACjB,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;YAC5D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAE,IAAwB;QACzC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEnC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aAC1C,CAAA;YAED,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;gBAC1B,aAAa,EAAE,IAAI,CAAC,sBAAsB,IAAI,yBAAyB;aACxE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;YAEtB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAE3B,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;YAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAE,UAAsB,EAAE,OAAwB;QAC7E,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAE5D,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,+BAA+B,EAAE,qBAAqB,CAAC,CAAA;QAC7E,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAA;QAEzB,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/C,WAAW,EAAE,KAAK;gBAClB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;aAC1B,CAAC,CAAC,CAAA;QACL,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QACpC,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;YAElC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAEtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,SAAS,CAAC,wCAAwC,EAAE,wBAAwB,CAAC,CAAA;YACzF,CAAC;QACH,CAAC;QAED,IAAI,MAAoC,CAAA;QAExC,6GAA6G;QAC7G,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;YAEpE,IAAI,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAA;YACjD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YAC3F,IAAI,UAAU,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAEhE,gBAAgB;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,SAAS,CAAC,qDAAqD,EAAE,yBAAyB,CAAC,CAAA;YACvG,CAAC;YAED,sDAAsD;YACtD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,SAAS,CAAC,0CAA0C,EAAE,6BAA6B,CAAC,CAAA;YAChG,CAAC;YAED,IAAI,YAA8B,CAAA;YAElC,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;YAC5D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACjC,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;YAED,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACzB,mCAAmC;gBACnC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;gBAErC,+FAA+F;gBAC/F,IAAI,YAAY,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC5C,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;oBAC/F,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;oBAE1E,6DAA6D;oBAC7D,IAAI,YAAY,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;wBACnD,IAAI,CAAC,GAAG,CAAC,0FAA0F,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;wBAClJ,UAAU,GAAG,YAAY,CAAA;wBACzB,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAA;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;YAE5C,2DAA2D;YAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvD,WAAW,EAAE,IAAI;gBACjB,SAAS;aACV,CAAC,CAAC,CAAA;YAEH,MAAM,GAAG;gBACP,GAAG,EAAE,UAAU,CAAC,SAAS;gBACzB,SAAS,EAAE,UAAU,CAAC,UAAU;aACjC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,sCAAsC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QACzE,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAEvD,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YACpE,MAAM,QAAQ,GAA+B,EAAE,CAAA;YAE/C,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBACjC,QAAQ,CAAC,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACpE,CAAC;YAED,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBACpC,QAAQ,CAAC,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;YAC1E,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAChE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE;gBAChD,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,UAAU,CAAC,UAAU;YAC7B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3D,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;YACxF,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,MAAM;YACxB,UAAU;SACX,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QAElE,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAE,IAA4C;IACtE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"identify.js","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Use the `identify` function to add support for the [Identify protocol](https://github.com/libp2p/specs/blob/master/identify/README.md) to libp2p.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* This protocol allows network peers to discover the multiaddrs the current node listens on, and the protocols it supports.
|
|
7
|
+
*
|
|
8
|
+
* A second function, `identifyPush` is also exported to add support for [identify/push](https://github.com/libp2p/specs/blob/master/identify/README.md#identifypush).
|
|
9
|
+
*
|
|
10
|
+
* This protocol will send updates to all connected peers when the multiaddrs or protocols of the current node change.
|
|
11
|
+
*
|
|
12
|
+
* > [!TIP]
|
|
13
|
+
* > For maximum network compatibility you should configure both protocols
|
|
14
|
+
*
|
|
15
|
+
* @example Enabling identify
|
|
7
16
|
*
|
|
8
17
|
* ```typescript
|
|
9
18
|
* import { createLibp2p } from 'libp2p'
|
|
@@ -16,12 +25,28 @@
|
|
|
16
25
|
* }
|
|
17
26
|
* })
|
|
18
27
|
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example Enabling identify push
|
|
30
|
+
*
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { createLibp2p } from 'libp2p'
|
|
33
|
+
* import { identifyPush } from '@libp2p/identify'
|
|
34
|
+
*
|
|
35
|
+
* const node = await createLibp2p({
|
|
36
|
+
* // ...other options
|
|
37
|
+
* services: {
|
|
38
|
+
* identifyPush: identifyPush()
|
|
39
|
+
* }
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
19
42
|
*/
|
|
20
43
|
import type { AbortOptions, IdentifyResult, Libp2pEvents, ComponentLogger, NodeInfo, TypedEventTarget, PeerId, PeerStore, Connection } from '@libp2p/interface';
|
|
21
44
|
import type { AddressManager, ConnectionManager, Registrar } from '@libp2p/interface-internal';
|
|
22
45
|
export interface IdentifyInit {
|
|
23
46
|
/**
|
|
24
|
-
* The prefix to use for the protocol
|
|
47
|
+
* The prefix to use for the protocol
|
|
48
|
+
*
|
|
49
|
+
* @default 'ipfs'
|
|
25
50
|
*/
|
|
26
51
|
protocolPrefix?: string;
|
|
27
52
|
/**
|
|
@@ -30,43 +55,73 @@ export interface IdentifyInit {
|
|
|
30
55
|
agentVersion?: string;
|
|
31
56
|
/**
|
|
32
57
|
* How long we should wait for a remote peer to send their identify response
|
|
58
|
+
*
|
|
59
|
+
* @default 5000
|
|
33
60
|
*/
|
|
34
61
|
timeout?: number;
|
|
35
62
|
/**
|
|
36
|
-
* Identify responses larger than this in bytes will be rejected
|
|
63
|
+
* Identify responses larger than this in bytes will be rejected
|
|
64
|
+
*
|
|
65
|
+
* @default 8192
|
|
66
|
+
*/
|
|
67
|
+
maxMessageSize?: number;
|
|
68
|
+
/**
|
|
69
|
+
* The maximum number of inbound streams that may be open on a single
|
|
70
|
+
* connection for this protocol
|
|
71
|
+
*
|
|
72
|
+
* @default 1
|
|
37
73
|
*/
|
|
38
|
-
maxIdentifyMessageSize?: number;
|
|
39
74
|
maxInboundStreams?: number;
|
|
75
|
+
/**
|
|
76
|
+
* The maximum number of outbound streams that may be open on a single
|
|
77
|
+
* connection for this protocol
|
|
78
|
+
*
|
|
79
|
+
* @default 1
|
|
80
|
+
*/
|
|
40
81
|
maxOutboundStreams?: number;
|
|
41
|
-
|
|
42
|
-
|
|
82
|
+
/**
|
|
83
|
+
* The maximum number of observed addresses to send in an Identify message
|
|
84
|
+
*/
|
|
43
85
|
maxObservedAddresses?: number;
|
|
44
86
|
/**
|
|
45
|
-
* Whether to
|
|
87
|
+
* Whether to run on connections with data or duration limits
|
|
88
|
+
*
|
|
89
|
+
* @default true
|
|
90
|
+
*/
|
|
91
|
+
runOnTransientConnection?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Whether to automatically run identify on newly opened connections
|
|
94
|
+
*
|
|
95
|
+
* @default true
|
|
46
96
|
*/
|
|
47
97
|
runOnConnectionOpen?: boolean;
|
|
98
|
+
}
|
|
99
|
+
export interface IdentifyPushInit extends Omit<IdentifyInit, 'runOnConnectionOpen'> {
|
|
48
100
|
/**
|
|
49
|
-
* Whether to
|
|
101
|
+
* Whether to automatically dial identify-push on self updates
|
|
102
|
+
*
|
|
103
|
+
* @default true
|
|
50
104
|
*/
|
|
51
|
-
|
|
105
|
+
runOnSelfUpdate?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Push to this many connections in parallel
|
|
108
|
+
*
|
|
109
|
+
* @default 32
|
|
110
|
+
*/
|
|
111
|
+
concurrency?: number;
|
|
52
112
|
}
|
|
53
113
|
export interface IdentifyComponents {
|
|
54
114
|
peerId: PeerId;
|
|
55
115
|
peerStore: PeerStore;
|
|
56
|
-
connectionManager: ConnectionManager;
|
|
57
116
|
registrar: Registrar;
|
|
58
117
|
addressManager: AddressManager;
|
|
59
118
|
events: TypedEventTarget<Libp2pEvents>;
|
|
60
119
|
logger: ComponentLogger;
|
|
61
120
|
nodeInfo: NodeInfo;
|
|
62
121
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
export declare const multicodecs: {
|
|
67
|
-
IDENTIFY: string;
|
|
68
|
-
IDENTIFY_PUSH: string;
|
|
69
|
-
};
|
|
122
|
+
export interface IdentifyPushComponents extends IdentifyComponents {
|
|
123
|
+
connectionManager: ConnectionManager;
|
|
124
|
+
}
|
|
70
125
|
export interface Identify {
|
|
71
126
|
/**
|
|
72
127
|
* due to the default limits on inbound/outbound streams for this protocol,
|
|
@@ -76,7 +131,10 @@ export interface Identify {
|
|
|
76
131
|
* you may be better off configuring a topology to be notified instead.
|
|
77
132
|
*/
|
|
78
133
|
identify(connection: Connection, options?: AbortOptions): Promise<IdentifyResult>;
|
|
134
|
+
}
|
|
135
|
+
export interface IdentifyPush {
|
|
79
136
|
push(): Promise<void>;
|
|
80
137
|
}
|
|
81
138
|
export declare function identify(init?: IdentifyInit): (components: IdentifyComponents) => Identify;
|
|
139
|
+
export declare function identifyPush(init?: IdentifyPushInit): (components: IdentifyPushComponents) => IdentifyPush;
|
|
82
140
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC/J,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE9F,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAElC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC;IACjF;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;CAClF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,wBAAgB,QAAQ,CAAE,IAAI,GAAE,YAAiB,GAAG,CAAC,UAAU,EAAE,kBAAkB,KAAK,QAAQ,CAE/F;AAED,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,CAAC,UAAU,EAAE,sBAAsB,KAAK,YAAY,CAE/G"}
|
package/dist/src/index.js
CHANGED
|
@@ -3,7 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Use the `identify` function to add support for the [Identify protocol](https://github.com/libp2p/specs/blob/master/identify/README.md) to libp2p.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* This protocol allows network peers to discover the multiaddrs the current node listens on, and the protocols it supports.
|
|
7
|
+
*
|
|
8
|
+
* A second function, `identifyPush` is also exported to add support for [identify/push](https://github.com/libp2p/specs/blob/master/identify/README.md#identifypush).
|
|
9
|
+
*
|
|
10
|
+
* This protocol will send updates to all connected peers when the multiaddrs or protocols of the current node change.
|
|
11
|
+
*
|
|
12
|
+
* > [!TIP]
|
|
13
|
+
* > For maximum network compatibility you should configure both protocols
|
|
14
|
+
*
|
|
15
|
+
* @example Enabling identify
|
|
7
16
|
*
|
|
8
17
|
* ```typescript
|
|
9
18
|
* import { createLibp2p } from 'libp2p'
|
|
@@ -16,17 +25,27 @@
|
|
|
16
25
|
* }
|
|
17
26
|
* })
|
|
18
27
|
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example Enabling identify push
|
|
30
|
+
*
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { createLibp2p } from 'libp2p'
|
|
33
|
+
* import { identifyPush } from '@libp2p/identify'
|
|
34
|
+
*
|
|
35
|
+
* const node = await createLibp2p({
|
|
36
|
+
* // ...other options
|
|
37
|
+
* services: {
|
|
38
|
+
* identifyPush: identifyPush()
|
|
39
|
+
* }
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
19
42
|
*/
|
|
20
|
-
import {
|
|
43
|
+
import { IdentifyPush as IdentifyPushClass } from './identify-push.js';
|
|
21
44
|
import { Identify as IdentifyClass } from './identify.js';
|
|
22
|
-
/**
|
|
23
|
-
* The protocols the Identify service supports
|
|
24
|
-
*/
|
|
25
|
-
export const multicodecs = {
|
|
26
|
-
IDENTIFY: MULTICODEC_IDENTIFY,
|
|
27
|
-
IDENTIFY_PUSH: MULTICODEC_IDENTIFY_PUSH
|
|
28
|
-
};
|
|
29
45
|
export function identify(init = {}) {
|
|
30
46
|
return (components) => new IdentifyClass(components, init);
|
|
31
47
|
}
|
|
48
|
+
export function identifyPush(init = {}) {
|
|
49
|
+
return (components) => new IdentifyPushClass(components, init);
|
|
50
|
+
}
|
|
32
51
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAgHzD,MAAM,UAAU,QAAQ,CAAE,OAAqB,EAAE;IAC/C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAE,OAAyB,EAAE;IACvD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type Multiaddr } from '@multiformats/multiaddr';
|
|
2
|
+
import type { IdentifyComponents, IdentifyInit } from './index.js';
|
|
3
|
+
import type { Identify as IdentifyMessage } from './pb/message.js';
|
|
4
|
+
import type { Libp2pEvents, IdentifyResult, Logger, Connection, TypedEventTarget, PeerStore, NodeInfo, Startable, PeerId, IncomingStreamData } from '@libp2p/interface';
|
|
5
|
+
import type { AddressManager, Registrar } from '@libp2p/interface-internal';
|
|
6
|
+
export declare const defaultValues: {
|
|
7
|
+
protocolPrefix: string;
|
|
8
|
+
timeout: number;
|
|
9
|
+
maxInboundStreams: number;
|
|
10
|
+
maxOutboundStreams: number;
|
|
11
|
+
maxObservedAddresses: number;
|
|
12
|
+
maxMessageSize: number;
|
|
13
|
+
runOnConnectionOpen: boolean;
|
|
14
|
+
runOnSelfUpdate: boolean;
|
|
15
|
+
runOnTransientConnection: boolean;
|
|
16
|
+
concurrency: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Takes the `addr` and converts it to a Multiaddr if possible
|
|
20
|
+
*/
|
|
21
|
+
export declare function getCleanMultiaddr(addr: Uint8Array | string | null | undefined): Multiaddr | undefined;
|
|
22
|
+
export declare function getAgentVersion(nodeInfo: NodeInfo, agentVersion?: string): string;
|
|
23
|
+
export declare function consumeIdentifyMessage(peerStore: PeerStore, events: TypedEventTarget<Libp2pEvents>, log: Logger, connection: Connection, message: IdentifyMessage): Promise<IdentifyResult>;
|
|
24
|
+
export interface AbstractIdentifyInit extends IdentifyInit {
|
|
25
|
+
protocol: string;
|
|
26
|
+
log: Logger;
|
|
27
|
+
}
|
|
28
|
+
export declare abstract class AbstractIdentify implements Startable {
|
|
29
|
+
readonly host: {
|
|
30
|
+
protocolVersion: string;
|
|
31
|
+
agentVersion: string;
|
|
32
|
+
};
|
|
33
|
+
protected protocol: string;
|
|
34
|
+
protected started: boolean;
|
|
35
|
+
protected readonly timeout: number;
|
|
36
|
+
protected readonly peerId: PeerId;
|
|
37
|
+
protected readonly peerStore: PeerStore;
|
|
38
|
+
protected readonly registrar: Registrar;
|
|
39
|
+
protected readonly addressManager: AddressManager;
|
|
40
|
+
private readonly maxInboundStreams;
|
|
41
|
+
private readonly maxOutboundStreams;
|
|
42
|
+
protected readonly maxMessageSize: number;
|
|
43
|
+
protected readonly maxObservedAddresses: number;
|
|
44
|
+
protected readonly events: TypedEventTarget<Libp2pEvents>;
|
|
45
|
+
protected readonly runOnTransientConnection: boolean;
|
|
46
|
+
protected readonly log: Logger;
|
|
47
|
+
constructor(components: IdentifyComponents, init: AbstractIdentifyInit);
|
|
48
|
+
isStarted(): boolean;
|
|
49
|
+
start(): Promise<void>;
|
|
50
|
+
stop(): Promise<void>;
|
|
51
|
+
protected abstract handleProtocol(data: IncomingStreamData): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,yBAAyB,CAAA;AAInE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAkB,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzM,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3E,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAQtG;AAED,wBAAgB,eAAe,CAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAclF;AAED,wBAAsB,sBAAsB,CAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAkIlM;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,8BAAsB,gBAAiB,YAAW,SAAS;IACzD,SAAgB,IAAI,EAAE;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IACvC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IACvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACzD,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAA;IACpD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAEjB,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB;IAwBvE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAyBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAM5B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAC5E"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { CodeError } from '@libp2p/interface';
|
|
2
|
+
import { peerIdFromKeys } from '@libp2p/peer-id';
|
|
3
|
+
import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record';
|
|
4
|
+
import { multiaddr } from '@multiformats/multiaddr';
|
|
5
|
+
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
6
|
+
import { isNode, isBrowser, isWebWorker, isElectronMain, isElectronRenderer, isReactNative } from 'wherearewe';
|
|
7
|
+
import { IDENTIFY_PROTOCOL_VERSION, MAX_IDENTIFY_MESSAGE_SIZE, MAX_PUSH_CONCURRENCY } from './consts.js';
|
|
8
|
+
export const defaultValues = {
|
|
9
|
+
protocolPrefix: 'ipfs',
|
|
10
|
+
timeout: 5000,
|
|
11
|
+
maxInboundStreams: 1,
|
|
12
|
+
maxOutboundStreams: 1,
|
|
13
|
+
maxObservedAddresses: 10,
|
|
14
|
+
maxMessageSize: MAX_IDENTIFY_MESSAGE_SIZE,
|
|
15
|
+
runOnConnectionOpen: true,
|
|
16
|
+
runOnSelfUpdate: true,
|
|
17
|
+
runOnTransientConnection: true,
|
|
18
|
+
concurrency: MAX_PUSH_CONCURRENCY
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Takes the `addr` and converts it to a Multiaddr if possible
|
|
22
|
+
*/
|
|
23
|
+
export function getCleanMultiaddr(addr) {
|
|
24
|
+
if (addr != null && addr.length > 0) {
|
|
25
|
+
try {
|
|
26
|
+
return multiaddr(addr);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function getAgentVersion(nodeInfo, agentVersion) {
|
|
33
|
+
if (agentVersion != null) {
|
|
34
|
+
return agentVersion;
|
|
35
|
+
}
|
|
36
|
+
agentVersion = `${nodeInfo.name}/${nodeInfo.version}`;
|
|
37
|
+
// Append user agent version to default AGENT_VERSION depending on the environment
|
|
38
|
+
if (isNode || isElectronMain) {
|
|
39
|
+
agentVersion += ` UserAgent=${globalThis.process.version}`;
|
|
40
|
+
}
|
|
41
|
+
else if (isBrowser || isWebWorker || isElectronRenderer || isReactNative) {
|
|
42
|
+
agentVersion += ` UserAgent=${globalThis.navigator.userAgent}`;
|
|
43
|
+
}
|
|
44
|
+
return agentVersion;
|
|
45
|
+
}
|
|
46
|
+
export async function consumeIdentifyMessage(peerStore, events, log, connection, message) {
|
|
47
|
+
log('received identify from %p', connection.remotePeer);
|
|
48
|
+
if (message == null) {
|
|
49
|
+
throw new CodeError('message was null or undefined', 'ERR_INVALID_MESSAGE');
|
|
50
|
+
}
|
|
51
|
+
const peer = {};
|
|
52
|
+
if (message.listenAddrs.length > 0) {
|
|
53
|
+
peer.addresses = message.listenAddrs.map(buf => ({
|
|
54
|
+
isCertified: false,
|
|
55
|
+
multiaddr: multiaddr(buf)
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
if (message.protocols.length > 0) {
|
|
59
|
+
peer.protocols = message.protocols;
|
|
60
|
+
}
|
|
61
|
+
if (message.publicKey != null) {
|
|
62
|
+
peer.publicKey = message.publicKey;
|
|
63
|
+
const peerId = await peerIdFromKeys(message.publicKey);
|
|
64
|
+
if (!peerId.equals(connection.remotePeer)) {
|
|
65
|
+
throw new CodeError('public key did not match remote PeerId', 'ERR_INVALID_PUBLIC_KEY');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
let output;
|
|
69
|
+
// if the peer record has been sent, prefer the addresses in the record as they are signed by the remote peer
|
|
70
|
+
if (message.signedPeerRecord != null) {
|
|
71
|
+
log('received signedPeerRecord from %p', connection.remotePeer);
|
|
72
|
+
let peerRecordEnvelope = message.signedPeerRecord;
|
|
73
|
+
const envelope = await RecordEnvelope.openAndCertify(peerRecordEnvelope, PeerRecord.DOMAIN);
|
|
74
|
+
let peerRecord = PeerRecord.createFromProtobuf(envelope.payload);
|
|
75
|
+
// Verify peerId
|
|
76
|
+
if (!peerRecord.peerId.equals(envelope.peerId)) {
|
|
77
|
+
throw new CodeError('signing key does not match PeerId in the PeerRecord', 'ERR_INVALID_SIGNING_KEY');
|
|
78
|
+
}
|
|
79
|
+
// Make sure remote peer is the one sending the record
|
|
80
|
+
if (!connection.remotePeer.equals(peerRecord.peerId)) {
|
|
81
|
+
throw new CodeError('signing key does not match remote PeerId', 'ERR_INVALID_PEER_RECORD_KEY');
|
|
82
|
+
}
|
|
83
|
+
let existingPeer;
|
|
84
|
+
try {
|
|
85
|
+
existingPeer = await peerStore.get(peerRecord.peerId);
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (err.code !== 'ERR_NOT_FOUND') {
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (existingPeer != null) {
|
|
93
|
+
// don't lose any existing metadata
|
|
94
|
+
peer.metadata = existingPeer.metadata;
|
|
95
|
+
// if we have previously received a signed record for this peer, compare it to the incoming one
|
|
96
|
+
if (existingPeer.peerRecordEnvelope != null) {
|
|
97
|
+
const storedEnvelope = await RecordEnvelope.createFromProtobuf(existingPeer.peerRecordEnvelope);
|
|
98
|
+
const storedRecord = PeerRecord.createFromProtobuf(storedEnvelope.payload);
|
|
99
|
+
// ensure seq is greater than, or equal to, the last received
|
|
100
|
+
if (storedRecord.seqNumber >= peerRecord.seqNumber) {
|
|
101
|
+
log('sequence number was lower or equal to existing sequence number - stored: %d received: %d', storedRecord.seqNumber, peerRecord.seqNumber);
|
|
102
|
+
peerRecord = storedRecord;
|
|
103
|
+
peerRecordEnvelope = existingPeer.peerRecordEnvelope;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// store the signed record for next time
|
|
108
|
+
peer.peerRecordEnvelope = peerRecordEnvelope;
|
|
109
|
+
// override the stored addresses with the signed multiaddrs
|
|
110
|
+
peer.addresses = peerRecord.multiaddrs.map(multiaddr => ({
|
|
111
|
+
isCertified: true,
|
|
112
|
+
multiaddr
|
|
113
|
+
}));
|
|
114
|
+
output = {
|
|
115
|
+
seq: peerRecord.seqNumber,
|
|
116
|
+
addresses: peerRecord.multiaddrs
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
log('%p did not send a signed peer record', connection.remotePeer);
|
|
121
|
+
}
|
|
122
|
+
log('patching %p with', connection.remotePeer, peer);
|
|
123
|
+
await peerStore.patch(connection.remotePeer, peer);
|
|
124
|
+
if (message.agentVersion != null || message.protocolVersion != null) {
|
|
125
|
+
const metadata = {};
|
|
126
|
+
if (message.agentVersion != null) {
|
|
127
|
+
metadata.AgentVersion = uint8ArrayFromString(message.agentVersion);
|
|
128
|
+
}
|
|
129
|
+
if (message.protocolVersion != null) {
|
|
130
|
+
metadata.ProtocolVersion = uint8ArrayFromString(message.protocolVersion);
|
|
131
|
+
}
|
|
132
|
+
log('merging %p metadata', connection.remotePeer, metadata);
|
|
133
|
+
await peerStore.merge(connection.remotePeer, {
|
|
134
|
+
metadata
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
const result = {
|
|
138
|
+
peerId: connection.remotePeer,
|
|
139
|
+
protocolVersion: message.protocolVersion,
|
|
140
|
+
agentVersion: message.agentVersion,
|
|
141
|
+
publicKey: message.publicKey,
|
|
142
|
+
listenAddrs: message.listenAddrs.map(buf => multiaddr(buf)),
|
|
143
|
+
observedAddr: message.observedAddr == null ? undefined : multiaddr(message.observedAddr),
|
|
144
|
+
protocols: message.protocols,
|
|
145
|
+
signedPeerRecord: output,
|
|
146
|
+
connection
|
|
147
|
+
};
|
|
148
|
+
events.safeDispatchEvent('peer:identify', { detail: result });
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
export class AbstractIdentify {
|
|
152
|
+
host;
|
|
153
|
+
protocol;
|
|
154
|
+
started;
|
|
155
|
+
timeout;
|
|
156
|
+
peerId;
|
|
157
|
+
peerStore;
|
|
158
|
+
registrar;
|
|
159
|
+
addressManager;
|
|
160
|
+
maxInboundStreams;
|
|
161
|
+
maxOutboundStreams;
|
|
162
|
+
maxMessageSize;
|
|
163
|
+
maxObservedAddresses;
|
|
164
|
+
events;
|
|
165
|
+
runOnTransientConnection;
|
|
166
|
+
log;
|
|
167
|
+
constructor(components, init) {
|
|
168
|
+
this.protocol = init.protocol;
|
|
169
|
+
this.started = false;
|
|
170
|
+
this.peerId = components.peerId;
|
|
171
|
+
this.peerStore = components.peerStore;
|
|
172
|
+
this.registrar = components.registrar;
|
|
173
|
+
this.addressManager = components.addressManager;
|
|
174
|
+
this.events = components.events;
|
|
175
|
+
this.log = init.log;
|
|
176
|
+
this.timeout = init.timeout ?? defaultValues.timeout;
|
|
177
|
+
this.maxInboundStreams = init.maxInboundStreams ?? defaultValues.maxInboundStreams;
|
|
178
|
+
this.maxOutboundStreams = init.maxOutboundStreams ?? defaultValues.maxOutboundStreams;
|
|
179
|
+
this.maxMessageSize = init.maxMessageSize ?? defaultValues.maxMessageSize;
|
|
180
|
+
this.maxObservedAddresses = init.maxObservedAddresses ?? defaultValues.maxObservedAddresses;
|
|
181
|
+
this.runOnTransientConnection = init.runOnTransientConnection ?? defaultValues.runOnTransientConnection;
|
|
182
|
+
// Store self host metadata
|
|
183
|
+
this.host = {
|
|
184
|
+
protocolVersion: `${init.protocolPrefix ?? defaultValues.protocolPrefix}/${IDENTIFY_PROTOCOL_VERSION}`,
|
|
185
|
+
agentVersion: getAgentVersion(components.nodeInfo, init.agentVersion)
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
isStarted() {
|
|
189
|
+
return this.started;
|
|
190
|
+
}
|
|
191
|
+
async start() {
|
|
192
|
+
if (this.started) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
await this.peerStore.merge(this.peerId, {
|
|
196
|
+
metadata: {
|
|
197
|
+
AgentVersion: uint8ArrayFromString(this.host.agentVersion),
|
|
198
|
+
ProtocolVersion: uint8ArrayFromString(this.host.protocolVersion)
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
await this.registrar.handle(this.protocol, (data) => {
|
|
202
|
+
void this.handleProtocol(data).catch(err => {
|
|
203
|
+
this.log.error(err);
|
|
204
|
+
});
|
|
205
|
+
}, {
|
|
206
|
+
maxInboundStreams: this.maxInboundStreams,
|
|
207
|
+
maxOutboundStreams: this.maxOutboundStreams,
|
|
208
|
+
runOnTransientConnection: this.runOnTransientConnection
|
|
209
|
+
});
|
|
210
|
+
this.started = true;
|
|
211
|
+
}
|
|
212
|
+
async stop() {
|
|
213
|
+
await this.registrar.unhandle(this.protocol);
|
|
214
|
+
this.started = false;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/identify",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-1488a7371",
|
|
4
4
|
"description": "Implementation of the Identify Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-identify#readme",
|
|
@@ -52,12 +52,14 @@
|
|
|
52
52
|
"doc-check": "aegir doc-check"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@libp2p/interface": "
|
|
56
|
-
"@libp2p/interface-internal": "
|
|
57
|
-
"@libp2p/peer-id": "
|
|
58
|
-
"@libp2p/peer-record": "
|
|
55
|
+
"@libp2p/interface": "1.3.1-1488a7371",
|
|
56
|
+
"@libp2p/interface-internal": "1.2.0-1488a7371",
|
|
57
|
+
"@libp2p/peer-id": "4.1.1-1488a7371",
|
|
58
|
+
"@libp2p/peer-record": "7.0.16-1488a7371",
|
|
59
59
|
"@multiformats/multiaddr": "^12.2.1",
|
|
60
60
|
"@multiformats/multiaddr-matcher": "^1.2.0",
|
|
61
|
+
"it-drain": "^3.0.7",
|
|
62
|
+
"it-parallel": "^3.0.7",
|
|
61
63
|
"it-protobuf-stream": "^1.1.2",
|
|
62
64
|
"protons-runtime": "^5.4.0",
|
|
63
65
|
"uint8arraylist": "^2.4.8",
|
|
@@ -65,12 +67,11 @@
|
|
|
65
67
|
"wherearewe": "^2.0.1"
|
|
66
68
|
},
|
|
67
69
|
"devDependencies": {
|
|
68
|
-
"@libp2p/interface-compliance-tests": "
|
|
69
|
-
"@libp2p/logger": "
|
|
70
|
-
"@libp2p/peer-id-factory": "
|
|
70
|
+
"@libp2p/interface-compliance-tests": "5.4.3-1488a7371",
|
|
71
|
+
"@libp2p/logger": "4.0.12-1488a7371",
|
|
72
|
+
"@libp2p/peer-id-factory": "4.1.1-1488a7371",
|
|
71
73
|
"aegir": "^42.2.5",
|
|
72
74
|
"delay": "^6.0.0",
|
|
73
|
-
"it-drain": "^3.0.5",
|
|
74
75
|
"it-length-prefixed": "^9.0.4",
|
|
75
76
|
"it-pair": "^2.0.6",
|
|
76
77
|
"it-pushable": "^3.2.3",
|
package/src/consts.ts
CHANGED
|
@@ -7,3 +7,9 @@ export const MULTICODEC_IDENTIFY_PROTOCOL_NAME = 'id'
|
|
|
7
7
|
export const MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME = 'id/push'
|
|
8
8
|
export const MULTICODEC_IDENTIFY_PROTOCOL_VERSION = '1.0.0'
|
|
9
9
|
export const MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION = '1.0.0'
|
|
10
|
+
|
|
11
|
+
// https://github.com/libp2p/go-libp2p/blob/8d2e54e1637041d5cf4fac1e531287560bd1f4ac/p2p/protocol/identify/id.go#L52
|
|
12
|
+
export const MAX_IDENTIFY_MESSAGE_SIZE = 1024 * 8
|
|
13
|
+
|
|
14
|
+
// https://github.com/libp2p/go-libp2p/blob/0385ec924bad172f74a74db09939e97c079b1420/p2p/protocol/identify/id.go#L47C7-L47C25
|
|
15
|
+
export const MAX_PUSH_CONCURRENCY = 32
|