@libp2p/kad-dht 3.0.0 → 3.0.3
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/dist/src/content-fetching/index.js +2 -2
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/message/dht.d.ts +6 -5
- package/dist/src/message/dht.d.ts.map +1 -1
- package/dist/src/message/dht.js +191 -21
- package/dist/src/message/dht.js.map +1 -1
- package/dist/src/message/index.d.ts +2 -1
- package/dist/src/message/index.d.ts.map +1 -1
- package/dist/src/message/index.js +1 -1
- package/dist/src/message/index.js.map +1 -1
- package/dist/src/network.d.ts +3 -2
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts +1 -5
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +1 -0
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/routing-table/index.d.ts.map +1 -1
- package/dist/src/routing-table/index.js +2 -0
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/src/rpc/handlers/put-value.js +1 -1
- package/dist/src/rpc/handlers/put-value.js.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +3 -3
- package/dist/src/utils.js.map +1 -1
- package/package.json +15 -10
- package/src/content-fetching/index.ts +2 -2
- package/src/message/dht.ts +229 -26
- package/src/message/index.ts +3 -2
- package/src/network.ts +3 -2
- package/src/peer-routing/index.ts +3 -1
- package/src/routing-table/index.ts +7 -3
- package/src/rpc/handlers/put-value.ts +1 -1
- package/src/utils.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAA;AA4B9D,MAAM,yBAAyB,GAAG,oBAAoB,CAAA;AACtD,MAAM,sBAAsB,GAAG,iBAAiB,CAAA;AAChD,MAAM,mBAAmB,GAAG,cAAc,CAAA;AAU1C;;;GAGG;AACH,MAAM,OAAO,YAAY;IAavB,YAAa,IAAsB;QAP3B,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAQ/C,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAEzE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAA;QACxE,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,KAAK,CAAA;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,EAAE,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,MAAM,yBAAyB,GAAG,GAAG,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;gBAClD,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;gBAChD,MAAM,EAAE,sBAAsB;gBAC9B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;aAC3B,CAAC,CAAA;YACF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;gBAClD,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;gBAChD,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;aAC9B,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAA;QAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;QAE7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,WAAW,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACnE,uBAAuB,EAAE,IAAI,CAAC,WAAW;YACzC,mBAAmB,EAAE,CAAC;SACvB,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAA;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAE,WAA0B,EAAE,UAAuB;QAC1D,uEAAuE;QACvE,sEAAsE;QACtE,eAAe;QACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAM;aACP;YAED,IAAI,SAAS,GAAG,CAAC,CAAA;YAEjB,IAAI;gBACF,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;oBACjC,IAAI,iBAAiB,CAAA;oBAErB,IAAI;wBACF,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;wBAE3D,MAAM,OAAO,GAAG;4BACd,MAAM,EAAE,iBAAiB,CAAC,MAAM;yBACjC,CAAA;wBAED,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;wBACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBACxG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;wBACjE,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,SAAS,EAAE,CAAA;qBACZ;oBAAC,OAAO,GAAQ,EAAE;wBACjB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;4BACnC,+EAA+E;4BAC/E,wCAAwC;4BACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;4BAC9D,IAAI,CAAC,GAAG,CAAC,2CAA2C,EAAE,UAAU,CAAC,CAAA;4BACjE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;yBAC9B;qBACF;4BAAS;wBACR,IAAI,iBAAiB,IAAI,IAAI,EAAE;4BAC7B,iBAAiB,CAAC,KAAK,EAAE,CAAA;yBAC1B;wBAED,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;4BAClD,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;4BAChD,MAAM,EAAE,yBAAyB;4BACjC,KAAK,EAAE,IAAI,CAAC,IAAI;yBACjB,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC,CACH,CAAA;gBAED,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACrE,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;oBAClD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBACxB;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;aAC7D;QACH,CAAC,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACN,CAAC;IAED,sBAAsB;IAEtB;;OAEG;IACH,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,OAAO,CAAC,CAAA;SACT;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAE,IAAY;QACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,OAAO,CAAA;SACf;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAA;AA4B9D,MAAM,yBAAyB,GAAG,oBAAoB,CAAA;AACtD,MAAM,sBAAsB,GAAG,iBAAiB,CAAA;AAChD,MAAM,mBAAmB,GAAG,cAAc,CAAA;AAU1C;;;GAGG;AACH,MAAM,OAAO,YAAY;IAavB,YAAa,IAAsB;QAP3B,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAQ/C,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAEzE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAA;QACxE,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,KAAK,CAAA;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,EAAE,CAAA;QAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,MAAM,yBAAyB,GAAG,GAAG,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;gBAClD,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;gBAChD,MAAM,EAAE,sBAAsB;gBAC9B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;aAC3B,CAAC,CAAA;YACF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;gBAClD,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;gBAChD,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;aAC9B,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAA;QAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;QAE7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,WAAW,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACnE,uBAAuB,EAAE,IAAI,CAAC,WAAW;YACzC,mBAAmB,EAAE,CAAC;SACvB,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,EAAE,GAAG,KAAK,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAA;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAE,WAA0B,EAAE,UAAuB;QAC1D,uEAAuE;QACvE,sEAAsE;QACtE,eAAe;QACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAM;aACP;YAED,IAAI,SAAS,GAAG,CAAC,CAAA;YAEjB,IAAI;gBACF,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;oBACjC,IAAI,iBAAiB,CAAA;oBAErB,IAAI;wBACF,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;wBAE3D,MAAM,OAAO,GAAG;4BACd,MAAM,EAAE,iBAAiB,CAAC,MAAM;yBACjC,CAAA;wBAED,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;wBACnD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;wBACxG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;wBACjE,MAAM,CAAC,KAAK,EAAE,CAAA;wBACd,SAAS,EAAE,CAAA;qBACZ;oBAAC,OAAO,GAAQ,EAAE;wBACjB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;4BACnC,+EAA+E;4BAC/E,wCAAwC;4BACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;4BAC9D,IAAI,CAAC,GAAG,CAAC,2CAA2C,EAAE,UAAU,CAAC,CAAA;4BACjE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;yBAC9B;qBACF;4BAAS;wBACR,IAAI,iBAAiB,IAAI,IAAI,EAAE;4BAC7B,iBAAiB,CAAC,KAAK,EAAE,CAAA;yBAC1B;wBAED,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;4BAClD,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;4BAChD,MAAM,EAAE,yBAAyB;4BACjC,KAAK,EAAE,IAAI,CAAC,IAAI;yBACjB,CAAC,CAAA;qBACH;gBACH,CAAC,CAAC,CACH,CAAA;gBAED,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACrE,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;oBAClD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBACxB;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;aAC7D;QACH,CAAC,CAAC;aACC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACN,CAAC;IAED,sBAAsB;IAEtB;;OAEG;IACH,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,OAAO,CAAC,CAAA;SACT;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAE,IAAY;QACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC3C,OAAO,OAAO,CAAA;SACf;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,WAAW,CAAE,GAAe;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAErC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;SACd;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,YAAY,CAAE,GAAe,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW;QACrD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,OAAO,EAAE,CAAA;SACV;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAE3C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAE,IAAY;QACrB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QAED,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAEnC,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAE7C,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;YAClD,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;YAChD,MAAM,EAAE,yBAAyB;YACjC,KAAK,EAAE,IAAI,CAAC,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAE,IAAY;QACxB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;SAC/C;QAED,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAElB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,qBAAqB,CAAC;YAClD,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;YAChD,MAAM,EAAE,yBAAyB;YACjC,KAAK,EAAE,IAAI,CAAC,IAAI;SACjB,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -26,7 +26,7 @@ export class PutValueHandler {
|
|
|
26
26
|
await verifyRecord(this.validators, record);
|
|
27
27
|
record.timeReceived = new Date();
|
|
28
28
|
const recordKey = bufferToRecordKey(record.key);
|
|
29
|
-
await this.components.getDatastore().put(recordKey, record.serialize());
|
|
29
|
+
await this.components.getDatastore().put(recordKey, record.serialize().subarray());
|
|
30
30
|
this.log('put record for %b into datastore under key %k', key, recordKey);
|
|
31
31
|
}
|
|
32
32
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAU,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK/C,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAA;AAM9D,MAAM,OAAO,eAAe;IAK1B,YAAa,IAAyB;QAH9B,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAI/C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAE3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,uCAAuC,CAAC,CAAA;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAA;SACrD;QAED,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAE3C,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;YAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"put-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAU,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK/C,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAA;AAM9D,MAAM,OAAO,eAAe;IAK1B,YAAa,IAAyB;QAH9B,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAI/C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAE3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,uCAAuC,CAAC,CAAA;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAA;SACrD;QAED,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAE3C,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;YAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClF,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;SAC1E;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;SACtE;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -29,5 +29,5 @@ export declare function fromPublicKeyKey(key: Uint8Array): PeerId;
|
|
|
29
29
|
/**
|
|
30
30
|
* Create a new put record, encodes and signs it if enabled
|
|
31
31
|
*/
|
|
32
|
-
export declare function createPutRecord(key: Uint8Array, value: Uint8Array):
|
|
32
|
+
export declare function createPutRecord(key: Uint8Array, value: Uint8Array): import("uint8arraylist").Uint8ArrayList;
|
|
33
33
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiBhE;AAED,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiB/D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,uBAInD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,MAAM,EAAE,MAAM,uBAElD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,OAE3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,UAAU,OAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,IAAI,EAAE,MAAM,cAK5C;AAED,wBAAgB,cAAc,CAAE,GAAG,EAAE,UAAU,WAE9C;AAED,wBAAgB,SAAS,CAAE,GAAG,EAAE,UAAU,WAEzC;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,UAAU,UAEhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiBhE;AAED,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiB/D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,uBAInD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,MAAM,EAAE,MAAM,uBAElD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,OAE3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,UAAU,OAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,IAAI,EAAE,MAAM,cAK5C;AAED,wBAAgB,cAAc,CAAE,GAAG,EAAE,UAAU,WAE9C;AAED,wBAAgB,SAAS,CAAE,GAAG,EAAE,UAAU,WAEzC;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,UAAU,UAEhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,2CAKlE"}
|
package/dist/src/utils.js
CHANGED
|
@@ -74,13 +74,13 @@ export function keyForPublicKey(peer) {
|
|
|
74
74
|
]);
|
|
75
75
|
}
|
|
76
76
|
export function isPublicKeyKey(key) {
|
|
77
|
-
return uint8ArrayToString(key.
|
|
77
|
+
return uint8ArrayToString(key.subarray(0, 4)) === '/pk/';
|
|
78
78
|
}
|
|
79
79
|
export function isIPNSKey(key) {
|
|
80
|
-
return uint8ArrayToString(key.
|
|
80
|
+
return uint8ArrayToString(key.subarray(0, 4)) === '/ipns/';
|
|
81
81
|
}
|
|
82
82
|
export function fromPublicKeyKey(key) {
|
|
83
|
-
return peerIdFromBytes(key.
|
|
83
|
+
return peerIdFromBytes(key.subarray(4));
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Create a new put record, encodes and signs it if enabled
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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
|
|
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/kad-dht",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"description": "JavaScript implementation of the Kad-DHT for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-kad-dht#readme",
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
"release": "patch"
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
|
-
"type": "
|
|
71
|
+
"type": "docs",
|
|
72
72
|
"release": "patch"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
|
-
"type": "
|
|
75
|
+
"type": "test",
|
|
76
76
|
"release": "patch"
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
|
-
"type": "
|
|
79
|
+
"type": "deps",
|
|
80
80
|
"release": "patch"
|
|
81
81
|
},
|
|
82
82
|
{
|
|
@@ -106,7 +106,11 @@
|
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
"type": "docs",
|
|
109
|
-
"section": "
|
|
109
|
+
"section": "Documentation"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "deps",
|
|
113
|
+
"section": "Dependencies"
|
|
110
114
|
},
|
|
111
115
|
{
|
|
112
116
|
"type": "test",
|
|
@@ -136,7 +140,7 @@
|
|
|
136
140
|
"@libp2p/components": "^2.0.0",
|
|
137
141
|
"@libp2p/crypto": "^1.0.0",
|
|
138
142
|
"@libp2p/interface-address-manager": "^1.0.1",
|
|
139
|
-
"@libp2p/interface-connection": "^
|
|
143
|
+
"@libp2p/interface-connection": "^3.0.1",
|
|
140
144
|
"@libp2p/interface-connection-manager": "^1.0.0",
|
|
141
145
|
"@libp2p/interface-dht": "^1.0.0",
|
|
142
146
|
"@libp2p/interface-peer-discovery": "^1.0.0",
|
|
@@ -160,7 +164,7 @@
|
|
|
160
164
|
"it-drain": "^1.0.5",
|
|
161
165
|
"it-first": "^1.0.6",
|
|
162
166
|
"it-length": "^1.0.3",
|
|
163
|
-
"it-length-prefixed": "^
|
|
167
|
+
"it-length-prefixed": "^8.0.2",
|
|
164
168
|
"it-map": "^1.0.6",
|
|
165
169
|
"it-merge": "^1.0.3",
|
|
166
170
|
"it-parallel": "^2.0.1",
|
|
@@ -172,13 +176,14 @@
|
|
|
172
176
|
"p-defer": "^4.0.0",
|
|
173
177
|
"p-queue": "^7.2.0",
|
|
174
178
|
"private-ip": "^2.3.3",
|
|
175
|
-
"protons-runtime": "^1.0
|
|
179
|
+
"protons-runtime": "^3.1.0",
|
|
176
180
|
"timeout-abort-controller": "^3.0.0",
|
|
181
|
+
"uint8arraylist": "^2.0.0",
|
|
177
182
|
"uint8arrays": "^3.0.0",
|
|
178
183
|
"varint": "^6.0.0"
|
|
179
184
|
},
|
|
180
185
|
"devDependencies": {
|
|
181
|
-
"@libp2p/interface-mocks": "^
|
|
186
|
+
"@libp2p/interface-mocks": "^4.0.1",
|
|
182
187
|
"@libp2p/peer-id-factory": "^1.0.9",
|
|
183
188
|
"@libp2p/peer-store": "^3.0.0",
|
|
184
189
|
"@types/lodash.random": "^3.2.6",
|
|
@@ -195,7 +200,7 @@
|
|
|
195
200
|
"lodash.random": "^3.2.0",
|
|
196
201
|
"lodash.range": "^3.2.0",
|
|
197
202
|
"p-retry": "^5.0.0",
|
|
198
|
-
"protons": "^
|
|
203
|
+
"protons": "^5.1.0",
|
|
199
204
|
"sinon": "^14.0.0",
|
|
200
205
|
"ts-sinon": "^2.0.2",
|
|
201
206
|
"which": "^2.0.2"
|
|
@@ -106,7 +106,7 @@ export class ContentFetching implements Initializable {
|
|
|
106
106
|
try {
|
|
107
107
|
const dsKey = bufferToRecordKey(key)
|
|
108
108
|
this.log(`Storing corrected record for key ${dsKey.toString()}`)
|
|
109
|
-
await this.components.getDatastore().put(dsKey, fixupRec)
|
|
109
|
+
await this.components.getDatastore().put(dsKey, fixupRec.subarray())
|
|
110
110
|
} catch (err: any) {
|
|
111
111
|
this.log.error('Failed error correcting self', err)
|
|
112
112
|
}
|
|
@@ -147,7 +147,7 @@ export class ContentFetching implements Initializable {
|
|
|
147
147
|
// store the record locally
|
|
148
148
|
const dsKey = bufferToRecordKey(key)
|
|
149
149
|
this.log(`storing record for key ${dsKey.toString()}`)
|
|
150
|
-
await this.components.getDatastore().put(dsKey, record)
|
|
150
|
+
await this.components.getDatastore().put(dsKey, record.subarray())
|
|
151
151
|
|
|
152
152
|
// put record to the closest peers
|
|
153
153
|
yield * pipe(
|
package/src/message/dht.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/* eslint-disable import/export */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
3
|
|
|
4
|
-
import { encodeMessage, decodeMessage, message,
|
|
4
|
+
import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime'
|
|
5
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
5
6
|
import type { Codec } from 'protons-runtime'
|
|
6
7
|
|
|
7
8
|
export interface Record {
|
|
@@ -13,21 +14,85 @@ export interface Record {
|
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
export namespace Record {
|
|
17
|
+
let _codec: Codec<Record>
|
|
18
|
+
|
|
16
19
|
export const codec = (): Codec<Record> => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
if (_codec == null) {
|
|
21
|
+
_codec = message<Record>((obj, writer, opts = {}) => {
|
|
22
|
+
if (opts.lengthDelimited !== false) {
|
|
23
|
+
writer.fork()
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (obj.key != null) {
|
|
27
|
+
writer.uint32(10)
|
|
28
|
+
writer.bytes(obj.key)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (obj.value != null) {
|
|
32
|
+
writer.uint32(18)
|
|
33
|
+
writer.bytes(obj.value)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (obj.author != null) {
|
|
37
|
+
writer.uint32(26)
|
|
38
|
+
writer.bytes(obj.author)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (obj.signature != null) {
|
|
42
|
+
writer.uint32(34)
|
|
43
|
+
writer.bytes(obj.signature)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (obj.timeReceived != null) {
|
|
47
|
+
writer.uint32(42)
|
|
48
|
+
writer.string(obj.timeReceived)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (opts.lengthDelimited !== false) {
|
|
52
|
+
writer.ldelim()
|
|
53
|
+
}
|
|
54
|
+
}, (reader, length) => {
|
|
55
|
+
const obj: any = {}
|
|
56
|
+
|
|
57
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
58
|
+
|
|
59
|
+
while (reader.pos < end) {
|
|
60
|
+
const tag = reader.uint32()
|
|
61
|
+
|
|
62
|
+
switch (tag >>> 3) {
|
|
63
|
+
case 1:
|
|
64
|
+
obj.key = reader.bytes()
|
|
65
|
+
break
|
|
66
|
+
case 2:
|
|
67
|
+
obj.value = reader.bytes()
|
|
68
|
+
break
|
|
69
|
+
case 3:
|
|
70
|
+
obj.author = reader.bytes()
|
|
71
|
+
break
|
|
72
|
+
case 4:
|
|
73
|
+
obj.signature = reader.bytes()
|
|
74
|
+
break
|
|
75
|
+
case 5:
|
|
76
|
+
obj.timeReceived = reader.string()
|
|
77
|
+
break
|
|
78
|
+
default:
|
|
79
|
+
reader.skipType(tag & 7)
|
|
80
|
+
break
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return obj
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return _codec
|
|
24
89
|
}
|
|
25
90
|
|
|
26
91
|
export const encode = (obj: Record): Uint8Array => {
|
|
27
92
|
return encodeMessage(obj, Record.codec())
|
|
28
93
|
}
|
|
29
94
|
|
|
30
|
-
export const decode = (buf: Uint8Array): Record => {
|
|
95
|
+
export const decode = (buf: Uint8Array | Uint8ArrayList): Record => {
|
|
31
96
|
return decodeMessage(buf, Record.codec())
|
|
32
97
|
}
|
|
33
98
|
}
|
|
@@ -62,7 +127,7 @@ export namespace Message {
|
|
|
62
127
|
|
|
63
128
|
export namespace MessageType {
|
|
64
129
|
export const codec = () => {
|
|
65
|
-
return enumeration<
|
|
130
|
+
return enumeration<MessageType>(__MessageTypeValues)
|
|
66
131
|
}
|
|
67
132
|
}
|
|
68
133
|
|
|
@@ -82,7 +147,7 @@ export namespace Message {
|
|
|
82
147
|
|
|
83
148
|
export namespace ConnectionType {
|
|
84
149
|
export const codec = () => {
|
|
85
|
-
return enumeration<
|
|
150
|
+
return enumeration<ConnectionType>(__ConnectionTypeValues)
|
|
86
151
|
}
|
|
87
152
|
}
|
|
88
153
|
|
|
@@ -93,39 +158,177 @@ export namespace Message {
|
|
|
93
158
|
}
|
|
94
159
|
|
|
95
160
|
export namespace Peer {
|
|
161
|
+
let _codec: Codec<Peer>
|
|
162
|
+
|
|
96
163
|
export const codec = (): Codec<Peer> => {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
164
|
+
if (_codec == null) {
|
|
165
|
+
_codec = message<Peer>((obj, writer, opts = {}) => {
|
|
166
|
+
if (opts.lengthDelimited !== false) {
|
|
167
|
+
writer.fork()
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (obj.id != null) {
|
|
171
|
+
writer.uint32(10)
|
|
172
|
+
writer.bytes(obj.id)
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
if (obj.addrs != null) {
|
|
176
|
+
for (const value of obj.addrs) {
|
|
177
|
+
writer.uint32(18)
|
|
178
|
+
writer.bytes(value)
|
|
179
|
+
}
|
|
180
|
+
} else {
|
|
181
|
+
throw new Error('Protocol error: required field "addrs" was not found in object')
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (obj.connection != null) {
|
|
185
|
+
writer.uint32(24)
|
|
186
|
+
Message.ConnectionType.codec().encode(obj.connection, writer)
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
if (opts.lengthDelimited !== false) {
|
|
190
|
+
writer.ldelim()
|
|
191
|
+
}
|
|
192
|
+
}, (reader, length) => {
|
|
193
|
+
const obj: any = {
|
|
194
|
+
addrs: []
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
198
|
+
|
|
199
|
+
while (reader.pos < end) {
|
|
200
|
+
const tag = reader.uint32()
|
|
201
|
+
|
|
202
|
+
switch (tag >>> 3) {
|
|
203
|
+
case 1:
|
|
204
|
+
obj.id = reader.bytes()
|
|
205
|
+
break
|
|
206
|
+
case 2:
|
|
207
|
+
obj.addrs.push(reader.bytes())
|
|
208
|
+
break
|
|
209
|
+
case 3:
|
|
210
|
+
obj.connection = Message.ConnectionType.codec().decode(reader)
|
|
211
|
+
break
|
|
212
|
+
default:
|
|
213
|
+
reader.skipType(tag & 7)
|
|
214
|
+
break
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return obj
|
|
219
|
+
})
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return _codec
|
|
102
223
|
}
|
|
103
224
|
|
|
104
225
|
export const encode = (obj: Peer): Uint8Array => {
|
|
105
226
|
return encodeMessage(obj, Peer.codec())
|
|
106
227
|
}
|
|
107
228
|
|
|
108
|
-
export const decode = (buf: Uint8Array): Peer => {
|
|
229
|
+
export const decode = (buf: Uint8Array | Uint8ArrayList): Peer => {
|
|
109
230
|
return decodeMessage(buf, Peer.codec())
|
|
110
231
|
}
|
|
111
232
|
}
|
|
112
233
|
|
|
234
|
+
let _codec: Codec<Message>
|
|
235
|
+
|
|
113
236
|
export const codec = (): Codec<Message> => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
237
|
+
if (_codec == null) {
|
|
238
|
+
_codec = message<Message>((obj, writer, opts = {}) => {
|
|
239
|
+
if (opts.lengthDelimited !== false) {
|
|
240
|
+
writer.fork()
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (obj.type != null) {
|
|
244
|
+
writer.uint32(8)
|
|
245
|
+
Message.MessageType.codec().encode(obj.type, writer)
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (obj.clusterLevelRaw != null) {
|
|
249
|
+
writer.uint32(80)
|
|
250
|
+
writer.int32(obj.clusterLevelRaw)
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (obj.key != null) {
|
|
254
|
+
writer.uint32(18)
|
|
255
|
+
writer.bytes(obj.key)
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (obj.record != null) {
|
|
259
|
+
writer.uint32(26)
|
|
260
|
+
writer.bytes(obj.record)
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (obj.closerPeers != null) {
|
|
264
|
+
for (const value of obj.closerPeers) {
|
|
265
|
+
writer.uint32(66)
|
|
266
|
+
Message.Peer.codec().encode(value, writer)
|
|
267
|
+
}
|
|
268
|
+
} else {
|
|
269
|
+
throw new Error('Protocol error: required field "closerPeers" was not found in object')
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
if (obj.providerPeers != null) {
|
|
273
|
+
for (const value of obj.providerPeers) {
|
|
274
|
+
writer.uint32(74)
|
|
275
|
+
Message.Peer.codec().encode(value, writer)
|
|
276
|
+
}
|
|
277
|
+
} else {
|
|
278
|
+
throw new Error('Protocol error: required field "providerPeers" was not found in object')
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
if (opts.lengthDelimited !== false) {
|
|
282
|
+
writer.ldelim()
|
|
283
|
+
}
|
|
284
|
+
}, (reader, length) => {
|
|
285
|
+
const obj: any = {
|
|
286
|
+
closerPeers: [],
|
|
287
|
+
providerPeers: []
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
291
|
+
|
|
292
|
+
while (reader.pos < end) {
|
|
293
|
+
const tag = reader.uint32()
|
|
294
|
+
|
|
295
|
+
switch (tag >>> 3) {
|
|
296
|
+
case 1:
|
|
297
|
+
obj.type = Message.MessageType.codec().decode(reader)
|
|
298
|
+
break
|
|
299
|
+
case 10:
|
|
300
|
+
obj.clusterLevelRaw = reader.int32()
|
|
301
|
+
break
|
|
302
|
+
case 2:
|
|
303
|
+
obj.key = reader.bytes()
|
|
304
|
+
break
|
|
305
|
+
case 3:
|
|
306
|
+
obj.record = reader.bytes()
|
|
307
|
+
break
|
|
308
|
+
case 8:
|
|
309
|
+
obj.closerPeers.push(Message.Peer.codec().decode(reader, reader.uint32()))
|
|
310
|
+
break
|
|
311
|
+
case 9:
|
|
312
|
+
obj.providerPeers.push(Message.Peer.codec().decode(reader, reader.uint32()))
|
|
313
|
+
break
|
|
314
|
+
default:
|
|
315
|
+
reader.skipType(tag & 7)
|
|
316
|
+
break
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return obj
|
|
321
|
+
})
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return _codec
|
|
122
325
|
}
|
|
123
326
|
|
|
124
327
|
export const encode = (obj: Message): Uint8Array => {
|
|
125
328
|
return encodeMessage(obj, Message.codec())
|
|
126
329
|
}
|
|
127
330
|
|
|
128
|
-
export const decode = (buf: Uint8Array): Message => {
|
|
331
|
+
export const decode = (buf: Uint8Array | Uint8ArrayList): Message => {
|
|
129
332
|
return decodeMessage(buf, Message.codec())
|
|
130
333
|
}
|
|
131
334
|
}
|
package/src/message/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Multiaddr } from '@multiformats/multiaddr'
|
|
|
3
3
|
import { Libp2pRecord } from '@libp2p/record'
|
|
4
4
|
import { Message as PBMessage } from './dht.js'
|
|
5
5
|
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
6
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
6
7
|
|
|
7
8
|
export const MESSAGE_TYPE = PBMessage.MessageType
|
|
8
9
|
export const CONNECTION_TYPE = PBMessage.ConnectionType
|
|
@@ -64,14 +65,14 @@ export class Message {
|
|
|
64
65
|
clusterLevelRaw: this.clusterLevelRaw,
|
|
65
66
|
closerPeers: this.closerPeers.map(toPbPeer),
|
|
66
67
|
providerPeers: this.providerPeers.map(toPbPeer),
|
|
67
|
-
record: this.record == null ? undefined : this.record.serialize()
|
|
68
|
+
record: this.record == null ? undefined : this.record.serialize().subarray()
|
|
68
69
|
})
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
/**
|
|
72
73
|
* Decode from protobuf
|
|
73
74
|
*/
|
|
74
|
-
static deserialize (raw: Uint8Array) {
|
|
75
|
+
static deserialize (raw: Uint8ArrayList | Uint8Array) {
|
|
75
76
|
const dec = PBMessage.decode(raw)
|
|
76
77
|
|
|
77
78
|
const msg = new Message(dec.type ?? PBMessage.MessageType.PUT_VALUE, dec.key ?? Uint8Array.from([]), dec.clusterLevelRaw ?? 0)
|
package/src/network.ts
CHANGED
|
@@ -21,6 +21,7 @@ import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
|
21
21
|
import { Components, Initializable } from '@libp2p/components'
|
|
22
22
|
import type { Stream } from '@libp2p/interface-connection'
|
|
23
23
|
import { abortableDuplex } from 'abortable-iterator'
|
|
24
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
24
25
|
|
|
25
26
|
export interface NetworkInit {
|
|
26
27
|
protocol: string
|
|
@@ -150,7 +151,7 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable, I
|
|
|
150
151
|
/**
|
|
151
152
|
* Write a message to the given stream
|
|
152
153
|
*/
|
|
153
|
-
async _writeMessage (stream: Duplex<Uint8Array>, msg: Uint8Array, options: AbortOptions) {
|
|
154
|
+
async _writeMessage (stream: Duplex<Uint8ArrayList, Uint8ArrayList | Uint8Array>, msg: Uint8Array | Uint8ArrayList, options: AbortOptions) {
|
|
154
155
|
if (options.signal != null) {
|
|
155
156
|
stream = abortableDuplex(stream, options.signal)
|
|
156
157
|
}
|
|
@@ -168,7 +169,7 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable, I
|
|
|
168
169
|
* If no response is received after the specified timeout
|
|
169
170
|
* this will error out.
|
|
170
171
|
*/
|
|
171
|
-
async _writeReadMessage (stream: Duplex<Uint8Array>, msg: Uint8Array, options: AbortOptions) {
|
|
172
|
+
async _writeReadMessage (stream: Duplex<Uint8ArrayList, Uint8ArrayList | Uint8Array>, msg: Uint8Array | Uint8ArrayList, options: AbortOptions) {
|
|
172
173
|
if (options.signal != null) {
|
|
173
174
|
stream = abortableDuplex(stream, options.signal)
|
|
174
175
|
}
|
|
@@ -58,7 +58,7 @@ export class PeerRouting implements Initializable {
|
|
|
58
58
|
* Look if we are connected to a peer with the given id.
|
|
59
59
|
* Returns its id and addresses, if found, otherwise `undefined`.
|
|
60
60
|
*/
|
|
61
|
-
async findPeerLocal (peer: PeerId) {
|
|
61
|
+
async findPeerLocal (peer: PeerId): Promise<PeerInfo | undefined> {
|
|
62
62
|
let peerData
|
|
63
63
|
const p = await this.routingTable.find(peer)
|
|
64
64
|
|
|
@@ -93,6 +93,8 @@ export class PeerRouting implements Initializable {
|
|
|
93
93
|
protocols: []
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
+
|
|
97
|
+
return undefined
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
/**
|
|
@@ -213,30 +213,34 @@ export class RoutingTable implements Startable, Initializable {
|
|
|
213
213
|
/**
|
|
214
214
|
* Find a specific peer by id
|
|
215
215
|
*/
|
|
216
|
-
async find (peer: PeerId) {
|
|
216
|
+
async find (peer: PeerId): Promise<PeerId | undefined> {
|
|
217
217
|
const key = await utils.convertPeerId(peer)
|
|
218
218
|
const closest = this.closestPeer(key)
|
|
219
219
|
|
|
220
220
|
if (closest != null && peer.equals(closest)) {
|
|
221
221
|
return closest
|
|
222
222
|
}
|
|
223
|
+
|
|
224
|
+
return undefined
|
|
223
225
|
}
|
|
224
226
|
|
|
225
227
|
/**
|
|
226
228
|
* Retrieve the closest peers to the given key
|
|
227
229
|
*/
|
|
228
|
-
closestPeer (key: Uint8Array) {
|
|
230
|
+
closestPeer (key: Uint8Array): PeerId | undefined {
|
|
229
231
|
const res = this.closestPeers(key, 1)
|
|
230
232
|
|
|
231
233
|
if (res.length > 0) {
|
|
232
234
|
return res[0]
|
|
233
235
|
}
|
|
236
|
+
|
|
237
|
+
return undefined
|
|
234
238
|
}
|
|
235
239
|
|
|
236
240
|
/**
|
|
237
241
|
* Retrieve the `count`-closest peers to the given key
|
|
238
242
|
*/
|
|
239
|
-
closestPeers (key: Uint8Array, count = this.kBucketSize) {
|
|
243
|
+
closestPeers (key: Uint8Array, count = this.kBucketSize): PeerId[] {
|
|
240
244
|
if (this.kb == null) {
|
|
241
245
|
return []
|
|
242
246
|
}
|
|
@@ -46,7 +46,7 @@ export class PutValueHandler implements DHTMessageHandler, Initializable {
|
|
|
46
46
|
|
|
47
47
|
record.timeReceived = new Date()
|
|
48
48
|
const recordKey = bufferToRecordKey(record.key)
|
|
49
|
-
await this.components.getDatastore().put(recordKey, record.serialize())
|
|
49
|
+
await this.components.getDatastore().put(recordKey, record.serialize().subarray())
|
|
50
50
|
this.log('put record for %b into datastore under key %k', key, recordKey)
|
|
51
51
|
} catch (err: any) {
|
|
52
52
|
this.log('did not put record for key %b into datastore %o', key, err)
|
package/src/utils.ts
CHANGED
|
@@ -92,15 +92,15 @@ export function keyForPublicKey (peer: PeerId) {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
export function isPublicKeyKey (key: Uint8Array) {
|
|
95
|
-
return uint8ArrayToString(key.
|
|
95
|
+
return uint8ArrayToString(key.subarray(0, 4)) === '/pk/'
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
export function isIPNSKey (key: Uint8Array) {
|
|
99
|
-
return uint8ArrayToString(key.
|
|
99
|
+
return uint8ArrayToString(key.subarray(0, 4)) === '/ipns/'
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
export function fromPublicKeyKey (key: Uint8Array) {
|
|
103
|
-
return peerIdFromBytes(key.
|
|
103
|
+
return peerIdFromBytes(key.subarray(4))
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/**
|