diff --git a/package-lock.json b/package-lock.json index fa80115b..c5e4f0a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,29 @@ { "name": "fluence", - "version": "0.7.3", + "version": "0.7.6", "lockfileVersion": 1, "requires": true, "dependencies": { + "@chainsafe/discv5": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@chainsafe/discv5/-/discv5-0.3.2.tgz", + "integrity": "sha512-eb/J42uDQ7PROf1Rz6wupWeUYY+iLvMajpOmXjzed6g4zuqLJyIS9KABkUTnT/OnCQOf2E9MujULAuefOE4HBg==", + "dev": true, + "requires": { + "base64url": "^3.0.1", + "bcrypto": "^4.2.8", + "bigint-buffer": "^1.1.5", + "debug": "^4.1.1", + "dgram": "^1.0.1", + "ip6addr": "^0.2.3", + "is-ip": "^3.1.0", + "libp2p-crypto": "^0.17.5", + "multiaddr": "^7.4.2", + "peer-id": "^0.13.11", + "rlp": "^2.2.4", + "strict-event-emitter-types": "^2.0.0" + } + }, "@sinonjs/commons": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.2.tgz", @@ -445,9 +465,9 @@ } }, "any-signal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-1.1.0.tgz", - "integrity": "sha512-mtwqpy58ys+/dRdH5Z8VArUluVrfz9/5BXo8tvSZ9kcQr3k9yyOPnGrYCBJQfcC5IlMrr63kDBlf5GyQCFn+Fw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-1.2.0.tgz", + "integrity": "sha512-Cl08k4xItix3jvu4cxO/dt2rQ6iUAjO66pTyRMub+WL1VXeAyZydCpD8GqWTPKfdL28U0R0UucmQVsUsBnvCmQ==", "requires": { "abort-controller": "^3.0.0" } @@ -559,6 +579,12 @@ "util": "^0.12.0" } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, "assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -587,6 +613,11 @@ "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -596,8 +627,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -667,18 +697,45 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "dev": true + }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, + "bcrypto": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/bcrypto/-/bcrypto-4.3.2.tgz", + "integrity": "sha512-uGmeiqLvLYUPRa0XoACDgXwxZY9wE1uiFHpdtGSs7FI2YYkakqIWZklkF8sKMzXM/HaHRIjulzQ8xuDoqptjVQ==", + "dev": true, + "requires": { + "bsert": "~0.0.10", + "bufio": "~1.0.6", + "loady": "~0.0.1", + "nan": "^2.14.0" + } + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, + "bigint-buffer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz", + "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==", + "dev": true, + "requires": { + "bindings": "^1.3.0" + } + }, "bignumber.js": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", @@ -783,7 +840,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -898,6 +954,12 @@ "base-x": "^3.0.2" } }, + "bsert": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/bsert/-/bsert-0.0.10.tgz", + "integrity": "sha512-NHNwlac+WPy4t2LoNh8pXk8uaIGH3NSaIUbTTRXGpE2WEbq0te/tDykYHkFK57YKLPjv/aGHmbqvnGeVWDz57Q==", + "dev": true + }, "buffer": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", @@ -925,6 +987,12 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, + "bufio": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.0.7.tgz", + "integrity": "sha512-bd1dDQhiC+bEbEfg56IdBv7faWa6OipMs/AFFFvtFnB3wAYjlwQpQRZ0pm6ZkgtfL0pILRXhKxOiQj6UzoMR7A==", + "dev": true + }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -1234,8 +1302,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -1568,6 +1635,11 @@ "rimraf": "^2.6.3" } }, + "delay": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-4.4.0.tgz", + "integrity": "sha512-txgOrJu3OdtOfTiEOT2e76dJVfG/1dz2NZ4F0Pyt4UGZJryssMRp5vdM5wQoLwSOBNdrJv3F9PAhp/heqd7vrA==" + }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -1601,6 +1673,12 @@ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" }, + "dgram": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dgram/-/dgram-1.0.1.tgz", + "integrity": "sha1-N/OyAPgDOl/3WTAwicgc42G2UcM=", + "dev": true + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -1873,8 +1951,7 @@ "events": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" }, "eventsource": { "version": "1.0.7", @@ -2128,6 +2205,12 @@ } } }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2489,6 +2572,17 @@ } } }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -2665,8 +2759,7 @@ "graceful-fs": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "growl": { "version": "1.10.5", @@ -3093,6 +3186,28 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, + "interface-datastore": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-1.0.4.tgz", + "integrity": "sha512-nIOP/mVwDUc7OenayUyFQB3D6c3SxDG5opTPeSrhA0jS5q0XWkf8Nz2GtNBm3wkeSKUM6iXt6LwIOCH/+jFXIQ==", + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "err-code": "^2.0.1", + "ipfs-utils": "^2.2.2", + "iso-random-stream": "^1.1.1", + "it-all": "^1.0.2", + "it-drain": "^1.0.1", + "nanoid": "^3.0.2" + }, + "dependencies": { + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + } + } + }, "internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -3140,12 +3255,42 @@ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.1.0.tgz", "integrity": "sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA==" }, + "ip6addr": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/ip6addr/-/ip6addr-0.2.3.tgz", + "integrity": "sha512-qA9DXRAUW+lT47/i/4+Q3GHPwZjGt/atby1FH/THN6GVATA6+Pjp2nztH7k6iKeil7hzYnBwfSsxjthlJ8lJKw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.4.0" + } + }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, + "ipfs-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-2.4.0.tgz", + "integrity": "sha512-0RH8rMIEhrXyrbh87V8SQC6E6/5EJs+YionqZGAXnVoTzkpFhxC3x3FlsxwZ9s72yaieGP1Mx1tRYgfCFM/mJg==", + "requires": { + "abort-controller": "^3.0.0", + "any-signal": "^1.1.0", + "buffer": "^5.6.0", + "err-code": "^2.0.0", + "fs-extra": "^9.0.1", + "is-electron": "^2.2.0", + "iso-url": "^0.4.7", + "it-glob": "0.0.8", + "it-to-stream": "^0.1.2", + "merge-options": "^2.0.0", + "nanoid": "^3.1.3", + "node-fetch": "^2.6.0", + "stream-to-it": "^0.2.0" + } + }, "is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -3255,6 +3400,11 @@ } } }, + "is-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.0.tgz", + "integrity": "sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==" + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -3411,6 +3561,11 @@ "readable-stream": "^3.4.0" } }, + "iso-url": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-0.4.7.tgz", + "integrity": "sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==" + }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -3431,15 +3586,54 @@ "buffer": "^5.5.0" } }, + "it-drain": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.1.tgz", + "integrity": "sha512-4aX8AsJWjRh0inNXGLa90fvxuB7vQY70WFasvskUMtpXXz8+MUH8R7PODBtn4yXCJ25ud2iRwWwa1g8DRDbrlA==" + }, + "it-glob": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.8.tgz", + "integrity": "sha512-PmIAgb64aJPM6wwT1UTlNDAJnNgdGrvr0vRr3AYCngcUuq1KaAovuz0dQAmUkaXudDG3EQzc7OttuLW9DaL3YQ==", + "requires": { + "fs-extra": "^8.1.0", + "minimatch": "^3.0.4" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, "it-goodbye": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/it-goodbye/-/it-goodbye-2.0.1.tgz", "integrity": "sha512-6Ou0kMEqybqcEirCZH/3WuPwna+jvwyrpbwCADTZyrVSKNHwh56x4lMRwLwkGR+mvp4EihPEVW0qZni06rL56g==" }, "it-handshake": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-1.0.1.tgz", - "integrity": "sha512-ZDN6HfaS9ZMOohEUr5j0TYI8nCtiSJsucXHwoeiH9IHal3sLDYcSpYWQe+CsUHHK5rMnPHwDiiPptP/Yioc0kg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-handshake/-/it-handshake-1.0.2.tgz", + "integrity": "sha512-uutOim5xF1eyDQD3u8qd3TxbWKwxqGMlbvacZsRsPdjO1BD9lnPTVci0jSMGsvMOu+5Y3W/QQ4hPQb87qPmPVQ==", "requires": { "it-pushable": "^1.4.0", "it-reader": "^2.0.0", @@ -3504,6 +3698,19 @@ "bl": "^4.0.0" } }, + "it-to-stream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-0.1.2.tgz", + "integrity": "sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ==", + "requires": { + "buffer": "^5.6.0", + "fast-fifo": "^1.0.0", + "get-iterator": "^1.0.2", + "p-defer": "^3.0.0", + "p-fifo": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, "it-ws": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/it-ws/-/it-ws-3.0.0.tgz", @@ -3541,6 +3748,12 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -3562,6 +3775,27 @@ "minimist": "^1.2.0" } }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "just-extend": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.1.0.tgz", @@ -3584,30 +3818,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "latency-monitor": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/latency-monitor/-/latency-monitor-0.2.1.tgz", - "integrity": "sha1-QEPV8j3obiv872ztSjtbki4d1+0=", - "requires": { - "debug": "^2.6.0", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -3618,9 +3828,9 @@ } }, "libp2p": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.27.4.tgz", - "integrity": "sha512-M95MxK3c7X6Iw43JKXhDyyccuaz8tH1K0VHAbSNVgAvzS9sNKpaLS9SMTbomL5b50YXe5qrznDjBXF7bFlsuRQ==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.28.3.tgz", + "integrity": "sha512-vN+5Em6+9hI04f9/X9uP1kWXz+pOW4C2piR/J/E0AZNQJmW5wVb2yX+4jd9D2GBSYLunWGZgHVx7O1FHs1HZnQ==", "requires": { "abort-controller": "^3.0.0", "aggregate-error": "^3.0.1", @@ -3629,32 +3839,211 @@ "class-is": "^1.1.0", "debug": "^4.1.1", "err-code": "^2.0.0", + "events": "^3.1.0", "hashlru": "^2.3.0", + "interface-datastore": "^1.0.4", + "ipfs-utils": "^2.2.0", "it-all": "^1.0.1", - "it-buffer": "^0.1.1", + "it-buffer": "^0.1.2", "it-handshake": "^1.0.1", - "it-length-prefixed": "^3.0.0", + "it-length-prefixed": "^3.0.1", "it-pipe": "^1.1.0", "it-protocol-buffers": "^0.2.0", - "latency-monitor": "~0.2.1", - "libp2p-crypto": "^0.17.1", - "libp2p-interfaces": "^0.2.3", + "libp2p-crypto": "^0.17.6", + "libp2p-interfaces": "^0.3.0", "libp2p-utils": "^0.1.2", "mafmt": "^7.0.0", "merge-options": "^2.0.0", "moving-average": "^1.0.0", - "multiaddr": "^7.2.1", + "multiaddr": "^7.4.3", "multistream-select": "^0.15.0", "mutable-proxy": "^1.0.0", + "node-forge": "^0.9.1", "p-any": "^3.0.0", "p-fifo": "^1.0.0", - "p-settle": "^4.0.0", - "peer-id": "^0.13.4", - "peer-info": "^0.17.0", + "p-settle": "^4.0.1", + "peer-id": "^0.13.11", "protons": "^1.0.1", "retimer": "^2.0.0", + "sanitize-filename": "^1.6.3", + "streaming-iterables": "^4.1.0", "timeout-abort-controller": "^1.0.0", "xsalsa20": "^1.0.2" + }, + "dependencies": { + "libp2p-interfaces": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-0.3.2.tgz", + "integrity": "sha512-EZviUYO5d4T/mYwDFMC/tVvLiS95+Ui8agn/DovsnUhlYPojLJJNapEJYFqFbgKqP+dxpMVMZ5CyJXD334qsuA==", + "requires": { + "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", + "buffer": "^5.6.0", + "chai": "^4.2.0", + "chai-checkmark": "^1.0.1", + "class-is": "^1.1.0", + "delay": "^4.3.0", + "detect-node": "^2.0.4", + "dirty-chai": "^2.0.1", + "err-code": "^2.0.0", + "it-goodbye": "^2.0.1", + "it-pair": "^1.0.0", + "it-pipe": "^1.1.0", + "libp2p-tcp": "^0.14.5", + "multiaddr": "^7.5.0", + "p-defer": "^3.0.0", + "p-limit": "^2.3.0", + "p-wait-for": "^3.1.0", + "peer-id": "^0.13.13", + "sinon": "^9.0.2", + "streaming-iterables": "^5.0.2" + }, + "dependencies": { + "libp2p-crypto": { + "version": "0.17.9", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.17.9.tgz", + "integrity": "sha512-nH3vTfQ4UqhZ1SORTP7HOsmFdJBs604Qy0Xi3IFFtU6ofYt+rFAZ2QNgo4MH1ZTT38/LEM374N9K7yzj1IQm0g==", + "requires": { + "buffer": "^5.5.0", + "err-code": "^2.0.0", + "is-typedarray": "^1.0.0", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "multibase": "^1.0.1", + "multicodec": "^1.0.4", + "multihashing-async": "^0.8.1", + "node-forge": "^0.9.1", + "pem-jwk": "^2.0.0", + "protons": "^1.2.1", + "secp256k1": "^4.0.0", + "uint8arrays": "^1.0.0", + "ursa-optional": "^0.10.1" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "protons": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", + "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", + "requires": { + "buffer": "^5.5.0", + "protocol-buffers-schema": "^3.3.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + } + } + } + }, + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "peer-id": { + "version": "0.13.13", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.13.13.tgz", + "integrity": "sha512-5FpBXN6PDTcHs51gkHWPf0OIQZAO3Z10i6lWc+GaoxTU4bQHtsoKFnhxoXo5Ze04JblpzIrtowkluLSCLP1WYg==", + "requires": { + "buffer": "^5.5.0", + "cids": "^0.8.0", + "class-is": "^1.1.0", + "libp2p-crypto": "^0.17.7", + "minimist": "^1.2.5", + "multihashes": "^1.0.1", + "protons": "^1.0.2" + } + }, + "streaming-iterables": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-5.0.2.tgz", + "integrity": "sha512-9z5iBWe9WXzdT0X1JT9fVC0mCcVxWt5yzZMBUIgjZnt2k23+UQF8Ac6kiI8DnlYZJn5iysvxKl3uGzlijMQ+/g==" + } + } + }, + "libp2p-tcp": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.14.6.tgz", + "integrity": "sha512-DeOdaH5QGVMKZflJmZq3dSWROxzD/YU1MFDxfi+DT4JVMcxfVMd+SpVEPMyk2wyA28H4AdGIRsH78yPjlFIyZQ==", + "requires": { + "abortable-iterator": "^3.0.0", + "class-is": "^1.1.0", + "debug": "^4.1.1", + "err-code": "^2.0.0", + "libp2p-utils": "^0.1.2", + "mafmt": "^7.1.0", + "multiaddr": "^7.5.0", + "stream-to-it": "^0.2.2" + }, + "dependencies": { + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + } + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "stream-to-it": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.2.tgz", + "integrity": "sha512-waULBmQpVdr6TkDzci6t1P7dIaSZ0bHC1TaPXDUeJC5PpSK7U3T0H0Zeo/LWUnd6mnhXOmGGDKAkjUCHw5IOng==", + "requires": { + "get-iterator": "^1.0.2" + } + } } }, "libp2p-crypto": { @@ -3677,27 +4066,27 @@ } }, "libp2p-gossipsub": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.2.6.tgz", - "integrity": "sha512-S+Kpf1GQk3PqFxtXgWECSgCZI8EZW8eo00Pi6N9wVqEnqD83Qsrt2ICEjVf+uIGZ5fxxjwdphxIMBPUIUiMUpg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/libp2p-gossipsub/-/libp2p-gossipsub-0.4.6.tgz", + "integrity": "sha512-ViGAeWwQWmXCQxg7ya5PmtLexDVpzrFjIETFhFceMGHAUI/vv8kXhLmze7SNpIhKnWx33VfxUJfQmsiKVYWjbw==", "dev": true, "requires": { + "buffer": "^5.6.0", "debug": "^4.1.1", "err-code": "^2.0.0", "it-length-prefixed": "^3.0.0", "it-pipe": "^1.0.1", - "libp2p-pubsub": "~0.4.1", - "p-map": "^3.0.0", - "peer-id": "~0.13.3", - "peer-info": "~0.17.0", + "libp2p-pubsub": "~0.5.2", + "p-map": "^4.0.0", + "peer-id": "~0.13.12", "protons": "^1.0.1", "time-cache": "^0.3.0" }, "dependencies": { "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { "aggregate-error": "^3.0.0" @@ -3748,20 +4137,193 @@ } }, "libp2p-pubsub": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.4.3.tgz", - "integrity": "sha512-rqNxvD8p7vK+7E/GEcDquWqPDoCbwc4w7s6RLSextR/2oEHY72CFcsSQmajyLYRj1I9jZfBnrV+eB+upMoZ4Pw==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/libp2p-pubsub/-/libp2p-pubsub-0.5.6.tgz", + "integrity": "sha512-1nQ709amKckPOcK7nZZom66PZytn8VIdR9BxpxhXxwmMmeuCIUKB+65UK7tI07M4LrcWsWPwZH6PbQBKiQ+Fzw==", "dev": true, "requires": { - "bs58": "^4.0.1", "debug": "^4.1.1", "err-code": "^2.0.0", "it-length-prefixed": "^3.0.0", "it-pipe": "^1.0.1", "it-pushable": "^1.3.2", "libp2p-crypto": "~0.17.0", - "libp2p-interfaces": "^0.2.3", + "libp2p-interfaces": "^0.3.0", + "multibase": "^0.7.0", + "peer-id": "~0.13.3", "protons": "^1.0.1" + }, + "dependencies": { + "libp2p-interfaces": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/libp2p-interfaces/-/libp2p-interfaces-0.3.2.tgz", + "integrity": "sha512-EZviUYO5d4T/mYwDFMC/tVvLiS95+Ui8agn/DovsnUhlYPojLJJNapEJYFqFbgKqP+dxpMVMZ5CyJXD334qsuA==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0", + "abortable-iterator": "^3.0.0", + "buffer": "^5.6.0", + "chai": "^4.2.0", + "chai-checkmark": "^1.0.1", + "class-is": "^1.1.0", + "delay": "^4.3.0", + "detect-node": "^2.0.4", + "dirty-chai": "^2.0.1", + "err-code": "^2.0.0", + "it-goodbye": "^2.0.1", + "it-pair": "^1.0.0", + "it-pipe": "^1.1.0", + "libp2p-tcp": "^0.14.5", + "multiaddr": "^7.5.0", + "p-defer": "^3.0.0", + "p-limit": "^2.3.0", + "p-wait-for": "^3.1.0", + "peer-id": "^0.13.13", + "sinon": "^9.0.2", + "streaming-iterables": "^5.0.2" + }, + "dependencies": { + "libp2p-crypto": { + "version": "0.17.9", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.17.9.tgz", + "integrity": "sha512-nH3vTfQ4UqhZ1SORTP7HOsmFdJBs604Qy0Xi3IFFtU6ofYt+rFAZ2QNgo4MH1ZTT38/LEM374N9K7yzj1IQm0g==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "err-code": "^2.0.0", + "is-typedarray": "^1.0.0", + "iso-random-stream": "^1.1.0", + "keypair": "^1.0.1", + "multibase": "^1.0.1", + "multicodec": "^1.0.4", + "multihashing-async": "^0.8.1", + "node-forge": "^0.9.1", + "pem-jwk": "^2.0.0", + "protons": "^1.2.1", + "secp256k1": "^4.0.0", + "uint8arrays": "^1.0.0", + "ursa-optional": "^0.10.1" + }, + "dependencies": { + "protons": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.2.1.tgz", + "integrity": "sha512-2oqDyc/SN+tNcJf8XxrXhYL7sQn2/OMl8mSdD7NVGsWjMEmAbks4eDVnCyf0vAoRbBWyWTEXWk4D8XfuKVl3zg==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "protocol-buffers-schema": "^3.3.1", + "signed-varint": "^2.0.1", + "varint": "^5.0.0" + } + } + } + }, + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "peer-id": { + "version": "0.13.13", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.13.13.tgz", + "integrity": "sha512-5FpBXN6PDTcHs51gkHWPf0OIQZAO3Z10i6lWc+GaoxTU4bQHtsoKFnhxoXo5Ze04JblpzIrtowkluLSCLP1WYg==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "cids": "^0.8.0", + "class-is": "^1.1.0", + "libp2p-crypto": "^0.17.7", + "minimist": "^1.2.5", + "multihashes": "^1.0.1", + "protons": "^1.0.2" + } + } + } + }, + "libp2p-tcp": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.14.6.tgz", + "integrity": "sha512-DeOdaH5QGVMKZflJmZq3dSWROxzD/YU1MFDxfi+DT4JVMcxfVMd+SpVEPMyk2wyA28H4AdGIRsH78yPjlFIyZQ==", + "dev": true, + "requires": { + "abortable-iterator": "^3.0.0", + "class-is": "^1.1.0", + "debug": "^4.1.1", + "err-code": "^2.0.0", + "libp2p-utils": "^0.1.2", + "mafmt": "^7.1.0", + "multiaddr": "^7.5.0", + "stream-to-it": "^0.2.2" + } + }, + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-1.0.1.tgz", + "integrity": "sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "multibase": "^1.0.1", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-1.0.1.tgz", + "integrity": "sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "stream-to-it": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.2.tgz", + "integrity": "sha512-waULBmQpVdr6TkDzci6t1P7dIaSZ0bHC1TaPXDUeJC5PpSK7U3T0H0Zeo/LWUnd6mnhXOmGGDKAkjUCHw5IOng==", + "dev": true, + "requires": { + "get-iterator": "^1.0.2" + } + }, + "streaming-iterables": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-5.0.2.tgz", + "integrity": "sha512-9z5iBWe9WXzdT0X1JT9fVC0mCcVxWt5yzZMBUIgjZnt2k23+UQF8Ac6kiI8DnlYZJn5iysvxKl3uGzlijMQ+/g==", + "dev": true + } } }, "libp2p-secio": { @@ -3784,31 +4346,54 @@ } }, "libp2p-tcp": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.14.4.tgz", - "integrity": "sha512-7oU1ACrK6j5m3A08hrL7Ad0901shfljDtEk1Jdj3JWfQbUvvOIj8lzXUpMtwGZrNY5ar1gVCrH3zyHa4xohINw==", + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/libp2p-tcp/-/libp2p-tcp-0.14.6.tgz", + "integrity": "sha512-DeOdaH5QGVMKZflJmZq3dSWROxzD/YU1MFDxfi+DT4JVMcxfVMd+SpVEPMyk2wyA28H4AdGIRsH78yPjlFIyZQ==", "requires": { "abortable-iterator": "^3.0.0", "class-is": "^1.1.0", "debug": "^4.1.1", "err-code": "^2.0.0", - "libp2p-utils": "~0.1.0", - "mafmt": "^7.0.0", - "multiaddr": "^7.2.1", - "stream-to-it": "^0.2.0" + "libp2p-utils": "^0.1.2", + "mafmt": "^7.1.0", + "multiaddr": "^7.5.0", + "stream-to-it": "^0.2.2" + }, + "dependencies": { + "multiaddr": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-7.5.0.tgz", + "integrity": "sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==", + "requires": { + "buffer": "^5.5.0", + "cids": "~0.8.0", + "class-is": "^1.1.0", + "is-ip": "^3.1.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "stream-to-it": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.2.tgz", + "integrity": "sha512-waULBmQpVdr6TkDzci6t1P7dIaSZ0bHC1TaPXDUeJC5PpSK7U3T0H0Zeo/LWUnd6mnhXOmGGDKAkjUCHw5IOng==", + "requires": { + "get-iterator": "^1.0.2" + } + } } }, "libp2p-ts": { - "version": "git+https://github.com/fluencelabs/libp2p-ts.git#dd1fb02f786574826d6421928985279fa7a7b50b", - "from": "git+https://github.com/fluencelabs/libp2p-ts.git", + "version": "git+https://github.com/ChainSafe/libp2p-ts.git#1306a2248294a89ca576ff4a7fc2c348169265c4", + "from": "git+https://github.com/ChainSafe/libp2p-ts.git", "dev": true, "requires": { + "@chainsafe/discv5": "^0.3.1", "@types/node": "^13.7.0", "libp2p-crypto": "^0.17.2", - "libp2p-gossipsub": "^0.2.6", + "libp2p-gossipsub": "^0.4.5", "multiaddr": "^7.4.3", - "peer-id": "^0.13.7", - "peer-info": "^0.17.5" + "peer-id": "^0.13.12" } }, "libp2p-utils": { @@ -3858,6 +4443,12 @@ "json5": "^1.0.1" } }, + "loady": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/loady/-/loady-0.0.5.tgz", + "integrity": "sha512-uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ==", + "dev": true + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3871,7 +4462,8 @@ "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true }, "lodash.find": { "version": "4.6.0", @@ -4140,7 +4732,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4416,6 +5007,11 @@ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" }, + "nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==" + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -4480,6 +5076,11 @@ "semver": "^5.7.0" } }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, "node-forge": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", @@ -5518,6 +6119,15 @@ "inherits": "^2.0.1" } }, + "rlp": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", + "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "dev": true, + "requires": { + "bn.js": "^4.11.1" + } + }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -5546,6 +6156,14 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -6242,6 +6860,12 @@ "resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-4.1.2.tgz", "integrity": "sha512-IzhmKnQ2thkNMUcaGsjedrxdAoXPhtIFn8hUlmSqSqafa2p0QmZudu6ImG7ckvPNfazpMfr6Ef8cxUWyIyxpxA==" }, + "strict-event-emitter-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-event-emitter-types/-/strict-event-emitter-types-2.0.0.tgz", + "integrity": "sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -6431,9 +7055,9 @@ } }, "timeout-abort-controller": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.0.tgz", - "integrity": "sha512-xLV+Ms6mDc8UKpBAGGwRkZ137VqS63nGYRnzvI2f1bbv5TWqr4S7ST81870ekn+zlODruVsUexU6GCnErkM7Pw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz", + "integrity": "sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==", "requires": { "abort-controller": "^3.0.0", "retimer": "^2.0.0" @@ -6507,6 +7131,14 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, "ts-loader": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-7.0.5.tgz", @@ -6614,6 +7246,26 @@ "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==", "dev": true }, + "uint8arrays": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz", + "integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==", + "requires": { + "multibase": "^3.0.0", + "web-encoding": "^1.0.2" + }, + "dependencies": { + "multibase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.0.0.tgz", + "integrity": "sha512-fuB+zfRbF5zWV4L+CPM0dgA0gX7DHG/IMyzwhVi2RxbRVWn41Wk7SkKW8cxYDGOg6TVh7XgyoesjOAYrB1HBAA==", + "requires": { + "base-x": "^3.0.8", + "web-encoding": "^1.0.2" + } + } + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -6649,6 +7301,11 @@ "imurmurhash": "^0.1.4" } }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -6759,6 +7416,11 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" + }, "util": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/util/-/util-0.12.2.tgz", @@ -6804,6 +7466,17 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -7130,6 +7803,11 @@ "minimalistic-assert": "^1.0.0" } }, + "web-encoding": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.0.3.tgz", + "integrity": "sha512-Ajn64qJ0Z3oMwOIwBtxajFPA+4guB12n4EfmY1Mtlgb9296WJxwH1q/ykedmQrBNpjcKCM207S5OM2wpJfl4VA==" + }, "webpack": { "version": "4.43.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", diff --git a/package.json b/package.json index 33a0bfe1..81a93634 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fluence", - "version": "0.7.6", + "version": "0.7.7", "description": "the browser js-libp2p client for the Fluence network", "main": "./dist/fluence.js", "typings": "./dist/fluence.d.ts", @@ -21,12 +21,11 @@ "cids": "0.8.1", "it-length-prefixed": "3.0.1", "it-pipe": "1.1.0", - "libp2p": "0.27.4", + "libp2p": "0.28.3", "libp2p-mplex": "0.9.5", "libp2p-secio": "0.12.5", "libp2p-websockets": "0.13.6", "peer-id": "0.13.12", - "peer-info": "0.17.5", "uuid": "8.3.0" }, "devDependencies": { @@ -38,7 +37,7 @@ "assert": "2.0.0", "chai": "4.2.0", "clean-webpack-plugin": "3.0.0", - "libp2p-ts": "https://github.com/fluencelabs/libp2p-ts.git", + "libp2p-ts": "https://github.com/ChainSafe/libp2p-ts.git", "mocha": "7.2.0", "ts-loader": "7.0.5", "ts-mocha": "7.0.0", diff --git a/src/fluence.ts b/src/fluence.ts index f34f721a..a850d61f 100644 --- a/src/fluence.ts +++ b/src/fluence.ts @@ -14,7 +14,6 @@ * limitations under the License. */ -import * as PeerInfo from "peer-info"; import * as PeerId from "peer-id"; import Multiaddr from "multiaddr" import {FluenceClient} from "./fluenceClient"; @@ -36,9 +35,7 @@ export default class Fluence { * @param peerId your peer id. Should be with a private key. Could be generated by `generatePeerId()` function */ static async connect(multiaddr: string | Multiaddr, peerId: PeerId): Promise { - let peerInfo = await PeerInfo.create(peerId); - - let client = new FluenceClient(peerInfo); + let client = new FluenceClient(peerId); await client.connect(multiaddr); diff --git a/src/fluenceClient.ts b/src/fluenceClient.ts index ae3c533d..4797892c 100644 --- a/src/fluenceClient.ts +++ b/src/fluenceClient.ts @@ -27,7 +27,6 @@ import * as PeerId from "peer-id"; import {LocalServices} from "./localServices"; import Multiaddr from "multiaddr" import {Subscriptions} from "./subscriptions"; -import * as PeerInfo from "peer-info"; import {FluenceConnection} from "./fluenceConnection"; import {checkInterface, Interface} from "./Interface"; import {Service} from "./service"; @@ -51,7 +50,7 @@ interface Call { } export class FluenceClient { - readonly selfPeerInfo: PeerInfo; + readonly selfPeerId: PeerId; readonly selfPeerIdStr: string; private nodePeerIdStr: string; @@ -61,9 +60,9 @@ export class FluenceClient { private subscriptions: Subscriptions = new Subscriptions(); - constructor(selfPeerInfo: PeerInfo) { - this.selfPeerInfo = selfPeerInfo; - this.selfPeerIdStr = selfPeerInfo.id.toB58String(); + constructor(selfPeerId: PeerId) { + this.selfPeerId = selfPeerId; + this.selfPeerIdStr = selfPeerId.toB58String(); } /** @@ -305,7 +304,7 @@ export class FluenceClient { } async getAvailableBlueprints(peerId?: string): Promise { - let resp = await this.callPeer("get_available_blueprints", {}, undefined); + let resp = await this.callPeer("get_available_blueprints", {}, undefined, peerId); let blueprints = resp.available_blueprints; @@ -323,7 +322,7 @@ export class FluenceClient { } async getActiveInterfaces(peerId?: string): Promise { - let resp = await this.callPeer("get_active_interfaces", {}, undefined); + let resp = await this.callPeer("get_active_interfaces", {}, undefined, peerId); let interfaces = resp.active_interfaces; if (interfaces && interfaces instanceof Array) { @@ -417,8 +416,8 @@ export class FluenceClient { } let peerId = PeerId.createFromB58String(nodePeerId); - let relayAddress = await createRelayAddress(nodePeerId, this.selfPeerInfo.id, true); - let connection = new FluenceConnection(multiaddr, peerId, this.selfPeerInfo, relayAddress, this.handleCall()); + let relayAddress = await createRelayAddress(nodePeerId, this.selfPeerId, true); + let connection = new FluenceConnection(multiaddr, peerId, this.selfPeerId, relayAddress, this.handleCall()); await connection.connect(); diff --git a/src/fluenceConnection.ts b/src/fluenceConnection.ts index 56e02af6..e7597855 100644 --- a/src/fluenceConnection.ts +++ b/src/fluenceConnection.ts @@ -23,8 +23,7 @@ import { makeProvideMessage, parseFunctionCall } from "./functionCall"; -import * as PeerId from "peer-id"; -import * as PeerInfo from "peer-info"; + import Websockets from "libp2p-websockets"; import Mplex from "libp2p-mplex"; import SECIO from "libp2p-secio"; @@ -32,6 +31,7 @@ import Peer from "libp2p"; import {decode, encode} from "it-length-prefixed"; import pipe from "it-pipe"; import Multiaddr from "multiaddr"; +import PeerId from "peer-id"; export const PROTOCOL_NAME = '/fluence/faas/1.0.0'; @@ -43,18 +43,18 @@ enum Status { export class FluenceConnection { - private readonly selfPeerInfo: PeerInfo; + private readonly selfPeerId: PeerId; readonly sender: Address; private node: LibP2p; private readonly address: Multiaddr; readonly nodePeerId: PeerId; - private readonly selfPeerId: string; + private readonly selfPeerIdStr: string; private readonly handleCall: (call: FunctionCall) => FunctionCall | undefined; - constructor(multiaddr: Multiaddr, hostPeerId: PeerId, selfPeerInfo: PeerInfo, sender: Address, handleCall: (call: FunctionCall) => FunctionCall | undefined) { - this.selfPeerInfo = selfPeerInfo; + constructor(multiaddr: Multiaddr, hostPeerId: PeerId, selfPeerId: PeerId, sender: Address, handleCall: (call: FunctionCall) => FunctionCall | undefined) { + this.selfPeerId = selfPeerId; this.handleCall = handleCall; - this.selfPeerId = selfPeerInfo.id.toB58String(); + this.selfPeerIdStr = selfPeerId.toB58String(); this.address = multiaddr; this.nodePeerId = hostPeerId; this.sender = sender @@ -71,9 +71,9 @@ export class FluenceConnection { } async connect() { - let peerInfo = this.selfPeerInfo; + let peerInfo = this.selfPeerId; this.node = await Peer.create({ - peerInfo, + peerId: peerInfo, config: {}, modules: { transport: [Websockets], @@ -97,7 +97,7 @@ export class FluenceConnection { if (this.status === Status.Initializing) { await this.node.start(); - console.log("dialing to the node with address: " + this.node.peerInfo.id.toB58String()); + console.log("dialing to the node with address: " + this.node.peerId.toB58String()); await this.node.dial(this.address); @@ -110,7 +110,7 @@ export class FluenceConnection { async function (source: AsyncIterable) { for await (const msg of source) { try { - console.log(_this.selfPeerId); + console.log(_this.selfPeerIdStr); let call = parseFunctionCall(msg); let response = _this.handleCall(call);