diff --git a/package-lock.json b/package-lock.json index 53bce53fb4..cceae0b6a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,31 +9,32 @@ "version": "0.24.0", "license": "MIT OR Apache-2.0", "dependencies": { - "@chainsafe/libp2p-gossipsub": "^3.4.0", - "@chainsafe/libp2p-noise": "^7.0.1", + "@chainsafe/libp2p-gossipsub": "^4.1.1", + "@chainsafe/libp2p-noise": "^8.0.1", "@ethersproject/rlp": "^5.5.0", - "@libp2p/crypto": "^1.0.0", + "@libp2p/crypto": "^1.0.4", "@libp2p/interface-connection": "3.0.1", "@libp2p/interface-peer-discovery": "^1.0.0", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/interface-peer-info": "^1.0.1", "@libp2p/interface-peer-store": "^1.0.0", "@libp2p/interfaces": "^3.0.2", - "@libp2p/mplex": "^4.0.1", + "@libp2p/mplex": "^5.1.1", "@libp2p/peer-id": "^1.1.10", - "@libp2p/websockets": "^3.0.0", - "@multiformats/multiaddr": "^10.2.0", + "@libp2p/websockets": "^3.0.3", + "@multiformats/multiaddr": "^10.4.0", "@noble/secp256k1": "^1.3.4", "debug": "^4.3.4", "dns-query": "^0.11.2", "hi-base32": "^0.5.1", "it-all": "^1.0.6", - "it-length-prefixed": "^7.0.1", + "it-length-prefixed": "^8.0.2", "it-pipe": "^2.0.4", "js-sha3": "^0.8.0", - "libp2p": "next", + "libp2p": "0.38.0", "p-event": "^5.0.1", - "protons-runtime": "^1.0.4", + "protons-runtime": "^3.1.0", + "uint8arraylist": "^2.3.2", "uint8arrays": "^3.0.0", "uuid": "^8.3.2" }, @@ -79,7 +80,7 @@ "portfinder": "^1.0.28", "prettier": "^2.1.1", "process": "^0.11.10", - "protons": "^3.0.4", + "protons": "^5.1.0", "puppeteer": "^13.0.1", "rollup": "^2.75.0", "size-limit": "^8.0.0", @@ -259,101 +260,66 @@ "node": ">=4" } }, + "node_modules/@babel/parser": { + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", + "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@chainsafe/libp2p-gossipsub": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-3.4.0.tgz", - "integrity": "sha512-vN73j3t69TXy82Zx3guPB1AZa/8hHyDvgeHrjmegadugs6eywuR+BJTsmD3vd7FAZvD9g6Bdekt1VuE2GG8GOw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-4.1.1.tgz", + "integrity": "sha512-W3z52uTVm48qvwTAcE+tz6ML2CPWA4ErmuL2aCWAW8S7ce6iH8anqo+xI9rcedyIOChWMWLLD4Gtaj4TMrWacw==", "dependencies": { - "@libp2p/components": "^2.0.0", - "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-connection": "^2.0.0", - "@libp2p/interface-keys": "^1.0.2", - "@libp2p/interface-peer-id": "^1.0.2", - "@libp2p/interface-pubsub": "^1.0.1", - "@libp2p/interface-registrar": "^2.0.0", - "@libp2p/interfaces": "^3.0.2", + "@libp2p/components": "^2.0.3", + "@libp2p/crypto": "^1.0.3", + "@libp2p/interface-connection": "^3.0.1", + "@libp2p/interface-keys": "^1.0.3", + "@libp2p/interface-peer-id": "^1.0.4", + "@libp2p/interface-pubsub": "^2.0.1", + "@libp2p/interface-registrar": "^2.0.3", + "@libp2p/interfaces": "^3.0.3", "@libp2p/logger": "^2.0.0", - "@libp2p/peer-id": "^1.1.13", - "@libp2p/peer-record": "^2.0.0", - "@libp2p/pubsub": "^3.0.0", + "@libp2p/peer-id": "^1.1.15", + "@libp2p/peer-record": "^4.0.1", + "@libp2p/pubsub": "^3.1.2", "@libp2p/topology": "^3.0.0", "abortable-iterator": "^4.0.2", "denque": "^1.5.0", "err-code": "^3.0.1", - "it-length-prefixed": "^7.0.1", - "it-pipe": "^2.0.3", - "it-pushable": "^3.0.0", + "it-length-prefixed": "^8.0.2", + "it-pipe": "^2.0.4", + "it-pushable": "^3.1.0", "multiformats": "^9.6.4", - "protons-runtime": "^1.0.4", + "protobufjs": "^6.11.2", + "uint8arraylist": "^2.3.2", "uint8arrays": "^3.0.0" - } - }, - "node_modules/@chainsafe/libp2p-gossipsub/node_modules/@libp2p/peer-record": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-2.0.2.tgz", - "integrity": "sha512-JkH9fBpBpGQYqDMJP3+LNtXLyjNCf0fVcBkdjyfPTSwUXTPJ5NxsluJAH+MZkkrJG9YJG22NgrZO5784GSLAaA==", - "dependencies": { - "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-peer-id": "^1.0.2", - "@libp2p/interface-record": "^1.0.1", - "@libp2p/logger": "^2.0.0", - "@libp2p/peer-id": "^1.1.13", - "@libp2p/utils": "^2.0.0", - "@multiformats/multiaddr": "^10.1.5", - "err-code": "^3.0.1", - "interface-datastore": "^6.1.0", - "it-all": "^1.0.6", - "it-filter": "^1.0.3", - "it-foreach": "^0.1.1", - "it-map": "^1.0.6", - "it-pipe": "^2.0.3", - "multiformats": "^9.6.3", - "protons-runtime": "^1.0.4", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" }, "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@chainsafe/libp2p-gossipsub/node_modules/@libp2p/utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-2.0.1.tgz", - "integrity": "sha512-R0r9fkskuTmm5jMrlRXWpTdYJeDYcNQ1KdfSEmoVlCs5AlTeWn31+cdaHQihSEbkpEKtVCExfsZkwa3f7C1l8A==", - "dependencies": { - "@achingbrain/ip-address": "^8.1.0", - "@libp2p/interface-connection": "^1.0.1", - "@libp2p/interface-peer-store": "^1.0.0", - "@libp2p/logger": "^2.0.0", - "@multiformats/multiaddr": "^10.1.1", - "abortable-iterator": "^4.0.2", - "err-code": "^3.0.1", - "is-loopback-addr": "^2.0.1", - "it-stream-types": "^1.0.4", - "private-ip": "^2.1.1" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "npm": ">=8.7.0" } }, "node_modules/@chainsafe/libp2p-gossipsub/node_modules/it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" }, "node_modules/@chainsafe/libp2p-noise": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-7.0.3.tgz", - "integrity": "sha512-kr68a6zEC2y1sp9O1i8MlPu7LgC4U1sLciG/SF9Hvo0kOdDa5a13l3Il9R3rTIqaL9DoVfmQhfpOR/cxY2PWUw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-8.0.1.tgz", + "integrity": "sha512-mr1/CMTBIfraqTY4OWBdmJ2v+0+D89vbIp1nJTHz64oDPRgU0Ah8wb7K5hgs0erU8aYMkgMtbhXeouhJK3A7wA==", "dependencies": { "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-connection-encrypter": "^1.0.2", + "@libp2p/interface-connection-encrypter": "^2.0.1", "@libp2p/interface-keys": "^1.0.2", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/logger": "^2.0.0", - "@libp2p/peer-collections": "^2.0.0", "@libp2p/peer-id": "^1.1.8", "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/hkdf": "^1.0.1", @@ -361,44 +327,12 @@ "@stablelib/x25519": "^1.0.1", "it-length-prefixed": "^8.0.2", "it-pair": "^2.0.2", - "it-pb-stream": "^2.0.1", + "it-pb-stream": "^2.0.2", "it-pipe": "^2.0.3", "it-stream-types": "^1.0.4", - "protons-runtime": "^2.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@chainsafe/libp2p-noise/node_modules/it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "dependencies": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@chainsafe/libp2p-noise/node_modules/protons-runtime": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-2.0.2.tgz", - "integrity": "sha512-6aBGGn4scICr82Emc6+rS1qhxp9I5YUdfaR4lR10BJ6skyQxbh1vEHkrzGqQrawogwbChDrjLG8H6dI+PLh2tg==", - "dependencies": { - "byte-access": "^1.0.1", - "longbits": "^1.1.0", - "uint8-varint": "^1.0.2", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" + "protons-runtime": "^3.1.0", + "uint8arraylist": "^2.3.2", + "uint8arrays": "^3.1.0" }, "engines": { "node": ">=16.0.0", @@ -726,12 +660,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -950,22 +878,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/components/node_modules/@libp2p/interface-pubsub": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.1.tgz", - "integrity": "sha512-j6XSYz5Ir5yJH6KCtYMUGYlbBFfDGx/vPfFe1X3UFIC6qZ9N+IMkde6C5DCQ8calhCyM1pB2K5StAlztsZV2BQ==", - "dependencies": { - "@libp2p/interface-connection": "^3.0.0", - "@libp2p/interface-peer-id": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0", - "uint8arraylist": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/components/node_modules/interface-datastore": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.0.tgz", @@ -989,11 +901,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/components/node_modules/it-pushable": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", - "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" - }, "node_modules/@libp2p/connection": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@libp2p/connection/-/connection-4.0.1.tgz", @@ -1012,9 +919,9 @@ } }, "node_modules/@libp2p/crypto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-1.0.3.tgz", - "integrity": "sha512-YVoSu5eI8gAqfHcT27ovDXtQH6M4rUhV8x2w0FTyPmceU46fVt+lTsMR1woPeN8roByhjCwHjkPzGQ48Do/vwg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-1.0.4.tgz", + "integrity": "sha512-3hHZvqi+vI8YoTHE+0u8nA5SYGPLZRLMvbgXQoAn0IyPjez66Taaxym/3p3Duf9QkFlvJu95nzpNzv0OdHs9Yw==", "dependencies": { "@libp2p/interface-keys": "^1.0.2", "@noble/ed25519": "^1.6.0", @@ -1030,51 +937,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/crypto/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/@libp2p/crypto/node_modules/protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@libp2p/crypto/node_modules/protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.3.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, "node_modules/@libp2p/interface-address-manager": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@libp2p/interface-address-manager/-/interface-address-manager-1.0.2.tgz", @@ -1105,12 +967,13 @@ } }, "node_modules/@libp2p/interface-connection-encrypter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-1.0.2.tgz", - "integrity": "sha512-Ed5o8eP8H3KMKDgsEaId+R7BdGGFCpjT5Ng2PYtFS+7kECZ+7fYL+nYDMP7h5cf65GJTQNrelGQwyeXQqx8Z9A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.1.tgz", + "integrity": "sha512-GtqsNJuL1q7LWX3z41t9eFFFrlLSmMH92E0rupoXeFx1dJ8Gs/Zy8b6lZro96Ld6rjU1CeZa87SmYeqQQeHRmw==", "dependencies": { "@libp2p/interface-peer-id": "^1.0.0", - "it-stream-types": "^1.0.4" + "it-stream-types": "^1.0.4", + "uint8arraylist": "^2.1.1" }, "engines": { "node": ">=16.0.0", @@ -1131,6 +994,21 @@ "npm": ">=7.0.0" } }, + "node_modules/@libp2p/interface-connection-manager/node_modules/@libp2p/interface-connection": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-2.1.1.tgz", + "integrity": "sha512-gjugaMsZvfo3r4tCc/yPifVQsfLogmEmJtW+eXMNiNDna3ZfmwWD9Z+KyEwuVsXKs0C4GESXei2y4SJSCEfkbA==", + "dependencies": { + "@libp2p/interface-peer-id": "^1.0.0", + "@libp2p/interfaces": "^3.0.0", + "@multiformats/multiaddr": "^10.2.0", + "it-stream-types": "^1.0.4" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@libp2p/interface-content-routing": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@libp2p/interface-content-routing/-/interface-content-routing-1.0.2.tgz", @@ -1265,14 +1143,15 @@ } }, "node_modules/@libp2p/interface-pubsub": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-1.0.4.tgz", - "integrity": "sha512-BSkt0h4fbBBHcr3LCF7fTtAoCdQBjKbTGxCa4tIJpI3m5suxC5h6OrLC2rmrexOxR9aZRkr9da4VShRyOfRLag==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.1.tgz", + "integrity": "sha512-j6XSYz5Ir5yJH6KCtYMUGYlbBFfDGx/vPfFe1X3UFIC6qZ9N+IMkde6C5DCQ8calhCyM1pB2K5StAlztsZV2BQ==", "dependencies": { - "@libp2p/interface-connection": "^2.0.0", + "@libp2p/interface-connection": "^3.0.0", "@libp2p/interface-peer-id": "^1.0.0", "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0" + "it-pushable": "^3.0.0", + "uint8arraylist": "^2.0.0" }, "engines": { "node": ">=16.0.0", @@ -1280,21 +1159,9 @@ } }, "node_modules/@libp2p/interface-pubsub/node_modules/it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" - }, - "node_modules/@libp2p/interface-record": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-record/-/interface-record-1.0.2.tgz", - "integrity": "sha512-bYNxKtsUOsNucHeAXCZbAQxFXwR7JvoOmodwEByriMvTWYRbd6d8rm8VHZ/17QgdRFlIwNnpIPuoyyLQ8Wn1rQ==", - "dependencies": { - "@libp2p/interface-peer-id": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" }, "node_modules/@libp2p/interface-registrar": { "version": "2.0.3", @@ -1386,12 +1253,12 @@ } }, "node_modules/@libp2p/mplex": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-4.0.1.tgz", - "integrity": "sha512-LOs5xEPjY10Bq98q1Ipa4/PQ83uj6i/JkvaAZ85/hgiqLrfVYkqs31AF0G35DgvM1eaVjmJoE7f1u4UHKaCEMQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-5.1.1.tgz", + "integrity": "sha512-a4hUUzHaFUmk6hx0lV6dveyOmHlOqB/MwDJJfIDyHvDILb2ZXGLJaI3JnbMYqPCwOCeSFkKu8Ixw5HphffV0Aw==", "dependencies": { "@libp2p/components": "^2.0.0", - "@libp2p/interface-connection": "^2.0.0", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-stream-muxer": "^2.0.0", "@libp2p/logger": "^2.0.0", "@libp2p/tracked-map": "^2.0.0", @@ -1399,9 +1266,9 @@ "any-signal": "^3.0.0", "err-code": "^3.0.1", "it-pipe": "^2.0.3", - "it-pushable": "^3.0.0", + "it-pushable": "^3.1.0", "it-stream-types": "^1.0.4", - "uint8arraylist": "^1.4.0", + "uint8arraylist": "^2.1.1", "uint8arrays": "^3.0.0", "varint": "^6.0.0" }, @@ -1411,9 +1278,9 @@ } }, "node_modules/@libp2p/mplex/node_modules/it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" }, "node_modules/@libp2p/multistream-select": { "version": "3.0.0", @@ -1440,22 +1307,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/multistream-select/node_modules/it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "dependencies": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/multistream-select/node_modules/it-pushable": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", @@ -1508,51 +1359,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-id-factory/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/@libp2p/peer-id-factory/node_modules/protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@libp2p/peer-id-factory/node_modules/protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.3.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, "node_modules/@libp2p/peer-record": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-4.0.2.tgz", @@ -1620,51 +1426,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-record/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/@libp2p/peer-record/node_modules/protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@libp2p/peer-record/node_modules/protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.3.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, "node_modules/@libp2p/peer-store": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-3.1.3.tgz", @@ -1734,59 +1495,14 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-store/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/@libp2p/peer-store/node_modules/protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@libp2p/peer-store/node_modules/protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.3.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, "node_modules/@libp2p/pubsub": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-3.1.0.tgz", - "integrity": "sha512-VljbX3Vd1GaFWLDvEvvhKNb2SiAjIQhLVGWFaZR7kxR1A9mVA5JGqHzQvuhLaJF/nW3CgtiWVG/VPzcqp7PTJg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-3.1.2.tgz", + "integrity": "sha512-pCbz6JW9q10Ukw2f+gfMWzvKRdN3K3w04//JRfCOrGwRnkdHWA90k4FGEZ0j2caXK8Z0cnUGVD86UBX5uBAG7Q==", "dependencies": { "@libp2p/components": "^2.0.0", "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-connection": "^2.0.0", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/interface-pubsub": "^2.0.0", "@libp2p/interface-registrar": "^2.0.0", @@ -1811,42 +1527,10 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/pubsub/node_modules/@libp2p/interface-pubsub": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.0.tgz", - "integrity": "sha512-32Eo/GG3/sitqfOrNoIc+V8aTaNrVUk6zLb8++t1tr0p8opCQfXnbJwDe/TNxhwVkfHCEJxI8NuXMHZqGZWUgA==", - "dependencies": { - "@libp2p/interface-connection": "^2.0.0", - "@libp2p/interface-peer-id": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0", - "uint8arraylist": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/pubsub/node_modules/it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "dependencies": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/pubsub/node_modules/it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" }, "node_modules/@libp2p/topology": { "version": "3.0.0", @@ -1900,11 +1584,11 @@ } }, "node_modules/@libp2p/websockets": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-3.0.1.tgz", - "integrity": "sha512-H9xyxvZ0+0SACIGY6Ppa19K3h567set8tfSnxy/fjzUAJRM6ZwYMROh5N0dMLjyl/vjqTNh5iyJmnO3upddGGA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-3.0.3.tgz", + "integrity": "sha512-fGbXpbyJaToA3Opc/lyw3C2xGlhDiabwQeQE6bTNTCpCFsBwOq8DwE4J++lkxnvJzKu0D4oC1c7oQrQ+4oq1Fw==", "dependencies": { - "@libp2p/interface-connection": "^2.0.0", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-transport": "^1.0.0", "@libp2p/interfaces": "^3.0.1", "@libp2p/logger": "^2.0.0", @@ -1916,8 +1600,8 @@ "err-code": "^3.0.1", "it-ws": "^5.0.0", "p-defer": "^4.0.0", - "p-timeout": "^5.0.2", - "wherearewe": "^1.0.0" + "p-timeout": "^6.0.0", + "wherearewe": "^2.0.1" }, "engines": { "node": ">=16.0.0", @@ -1941,11 +1625,11 @@ } }, "node_modules/@libp2p/websockets/node_modules/p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.0.0.tgz", + "integrity": "sha512-5iS61MOdUMemWH9CORQRxVXTp9g5K8rPnI9uQpo97aWgsH3vVXKjkIhDi+OgIDmN3Ly9+AZ2fZV01Wut1yzfKA==", "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1980,13 +1664,13 @@ } }, "node_modules/@multiformats/multiaddr": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-10.3.3.tgz", - "integrity": "sha512-+LX9RovG7DJsANb+U6VchV/tApcdJzeafbi5+MPUam90oL91BbEh6ozNZOz4Qf5ZEeilexc12oomatmODJh1/w==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-10.4.0.tgz", + "integrity": "sha512-yKGscSuSmv/6anczK4WmRGgYzRRxqRrL9wLnNVIL4sYzQdaHkhqDGksI7L0z1RFZ/MY4wiud4hcB6VuKd9pmbw==", "dependencies": { "dns-over-http-resolver": "^2.1.0", "err-code": "^3.0.1", - "is-ip": "^4.0.0", + "is-ip": "^5.0.0", "multiformats": "^9.4.5", "uint8arrays": "^3.0.0", "varint": "^6.0.0" @@ -2030,14 +1714,15 @@ } }, "node_modules/@multiformats/multiaddr/node_modules/is-ip": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-4.0.0.tgz", - "integrity": "sha512-4B4XA2HEIm/PY+OSpeMBXr8pGWBYbXuHgjMAqrwbLO3CPTCAd9ArEJzBUKGZtk9viY6+aSfadGnWyjY3ydYZkw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.0.tgz", + "integrity": "sha512-uhmKwcdWJ1nTmBdoBxdHilfJs4qdLBIvVHKRels2+UCZmfcfefuQWziadaYLpN7t/bUrJOjJHv+R1di1q7Q1HQ==", "dependencies": { - "ip-regex": "^5.0.0" + "ip-regex": "^5.0.0", + "super-regex": "^0.2.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2566,11 +2251,33 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, "node_modules/@types/long": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, "node_modules/@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -3379,6 +3086,12 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/array-includes": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", @@ -3534,6 +3247,12 @@ "node": ">=8" } }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "node_modules/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -3806,6 +3525,18 @@ "url": "https://opencollective.com/browserslist" } }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/chai": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", @@ -3996,6 +3727,20 @@ "node": ">=8" } }, + "node_modules/clone-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz", + "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==", + "dependencies": { + "is-regexp": "^3.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4140,6 +3885,17 @@ "node": ">= 0.6" } }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", @@ -4974,6 +4730,15 @@ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/err-code": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", @@ -5142,16 +4907,6 @@ "node": ">= 0.8.0" } }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/escodegen/node_modules/type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -5451,12 +5206,6 @@ "node": ">=10" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", @@ -6015,6 +5764,17 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/function-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz", + "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", @@ -6600,21 +6360,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/interface-datastore": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.0.tgz", - "integrity": "sha512-oNHdsrWBsI/kDwUtEgt+aaZtQFKtQYN0TGZzc3SGiIA6m+plZ6malhmsygtbmDpfpIsNNC7ce9Gyaj+Tki+gVw==", - "dependencies": { - "interface-store": "^2.0.1", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" - }, "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -6876,6 +6621,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-shared-array-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", @@ -7035,14 +6791,15 @@ "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" }, "node_modules/it-length-prefixed": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-7.0.1.tgz", - "integrity": "sha512-UozKoT0zZPUa0LO9OSq5KaLKPn83U7Vsy/BNAN0TUXfTI/pKrOz6RuyTSOok6NDad12FZsShBGnl9DKlfDT95g==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", + "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", "dependencies": { "err-code": "^3.0.1", "it-stream-types": "^1.0.4", - "uint8arraylist": "^1.2.0", - "varint": "^6.0.0" + "uint8-varint": "^1.0.1", + "uint8arraylist": "^2.0.0", + "uint8arrays": "^3.0.0" }, "engines": { "node": ">=16.0.0", @@ -7072,11 +6829,11 @@ } }, "node_modules/it-pb-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-pb-stream/-/it-pb-stream-2.0.1.tgz", - "integrity": "sha512-nX/61k3xNeOYhQVLo2w3fhM3x9/I/WRo8Q+gBcuFTw8ki2A9mSB956CnL2bQ2qGqevWOXPeJBwMJuGGSvfgyJw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/it-pb-stream/-/it-pb-stream-2.0.2.tgz", + "integrity": "sha512-FR1FM9W71wMTZlAij1Pq4PKNcfVb0TGhUTpNQ3tv0LMV/pJ5cDh4g3jW7jhwB+kHtr7PywD1CybBHaT8iAVpKg==", "dependencies": { - "it-handshake": "^4.0.1", + "it-handshake": "^4.1.2", "it-length-prefixed": "^8.0.2", "it-stream-types": "^1.0.4", "uint8arraylist": "^2.0.0" @@ -7086,22 +6843,6 @@ "npm": ">=7.0.0" } }, - "node_modules/it-pb-stream/node_modules/it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "dependencies": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/it-pipe": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-2.0.4.tgz", @@ -7171,11 +6912,70 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, "node_modules/jsbn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, + "node_modules/jsdoc": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", + "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "taffydb": "2.6.2", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdoc/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jsdom": { "version": "19.0.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", @@ -7404,27 +7204,6 @@ "lodash": "^4.17.15" } }, - "node_modules/karma/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -7434,6 +7213,15 @@ "node": ">=0.10.0" } }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -7448,9 +7236,9 @@ } }, "node_modules/libp2p": { - "version": "0.37.3-509e56a", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.37.3-509e56a.tgz", - "integrity": "sha512-iJktQPrRhrtCXMdkIUklUzX36IjR/53cHJ7BtItg2+FgXO0ZMSHvIp96JBDMDGm+GvWpbLb7AMKh0HBnLKGJ4Q==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.38.0.tgz", + "integrity": "sha512-Wi/ptR69M5LuOrH8hwno98Dg/YeaDXmsyN2cd3vx/yuaEdcgz1RPdGtxxpyVP6J63eZbH07MYTvQcQHH5VhTkA==", "dependencies": { "@achingbrain/nat-port-mapper": "^1.0.3", "@libp2p/components": "^2.0.3", @@ -7506,7 +7294,7 @@ "merge-options": "^3.0.4", "multiformats": "^9.6.3", "mutable-proxy": "^1.0.0", - "node-forge": "^1.2.1", + "node-forge": "^1.3.1", "p-fifo": "^1.0.0", "p-retry": "^5.0.0", "p-settle": "^5.0.0", @@ -7526,20 +7314,6 @@ "npm": ">=7.0.0" } }, - "node_modules/libp2p/node_modules/@libp2p/interface-connection-encrypter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.1.tgz", - "integrity": "sha512-GtqsNJuL1q7LWX3z41t9eFFFrlLSmMH92E0rupoXeFx1dJ8Gs/Zy8b6lZro96Ld6rjU1CeZa87SmYeqQQeHRmw==", - "dependencies": { - "@libp2p/interface-peer-id": "^1.0.0", - "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.1.1" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/libp2p/node_modules/@libp2p/interface-metrics": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@libp2p/interface-metrics/-/interface-metrics-3.0.0.tgz", @@ -7553,22 +7327,6 @@ "npm": ">=7.0.0" } }, - "node_modules/libp2p/node_modules/@libp2p/interface-pubsub": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.1.tgz", - "integrity": "sha512-j6XSYz5Ir5yJH6KCtYMUGYlbBFfDGx/vPfFe1X3UFIC6qZ9N+IMkde6C5DCQ8calhCyM1pB2K5StAlztsZV2BQ==", - "dependencies": { - "@libp2p/interface-connection": "^3.0.0", - "@libp2p/interface-peer-id": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0", - "uint8arraylist": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/libp2p/node_modules/interface-datastore": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.0.tgz", @@ -7592,84 +7350,6 @@ "npm": ">=7.0.0" } }, - "node_modules/libp2p/node_modules/it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "dependencies": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/libp2p/node_modules/it-pushable": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", - "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" - }, - "node_modules/libp2p/node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/libp2p/node_modules/protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/libp2p/node_modules/protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.3.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, - "node_modules/libp2p/node_modules/wherearewe": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-2.0.1.tgz", - "integrity": "sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==", - "dependencies": { - "is-electron": "^2.2.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/lilconfig": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", @@ -7685,6 +7365,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/lint-staged": { "version": "13.0.3", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", @@ -8116,8 +7805,7 @@ "node_modules/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "node_modules/longbits": { "version": "1.1.0", @@ -8222,6 +7910,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", + "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", + "dev": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, "node_modules/marked": { "version": "4.0.19", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.19.tgz", @@ -8234,6 +7948,12 @@ "node": ">= 12" } }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -8528,12 +8248,6 @@ "url": "https://opencollective.com/mochajs" } }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "node_modules/mocha/node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -9651,7 +9365,6 @@ "version": "6.11.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "dev": true, "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", @@ -9674,13 +9387,13 @@ } }, "node_modules/protons": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/protons/-/protons-3.0.4.tgz", - "integrity": "sha512-R0X/4pCfpXo3X2CVMmhDLHnHRqVg202N32p8qESKc1Vh8cD7Lqj6DBB/Z6yk6lgrH2UEneCHmHYzqonRl+l+pg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/protons/-/protons-5.1.0.tgz", + "integrity": "sha512-U6FldjrEEIVF4ujIN5VrzAUkGKbYhYUGixy1SxlL38t85EXSnlYIvaHZHmvEdi4WTWyskQVD/zlgQdkRqkU/5Q==", "dev": true, "dependencies": { "meow": "^10.1.2", - "protobufjs": "^6.11.2" + "protobufjs-cli": "^1.0.0" }, "bin": { "protons": "dist/bin/protons.js" @@ -9691,16 +9404,229 @@ } }, "node_modules/protons-runtime": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-1.0.4.tgz", - "integrity": "sha512-DSKWjAgwaXhtYO5Jo/MrU8n/75I/P2IhxU0Fk/lSrXx6Gxl5DH+I6cHcbGAYFmAlOBmU4QRa0mvVme8VXlDeUg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", + "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", "dependencies": { - "uint8arraylist": "^1.4.0", - "uint8arrays": "^3.0.0" + "protobufjs": "^7.0.0", + "uint8arraylist": "^2.3.2" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" + }, + "peerDependencies": { + "uint8arraylist": "^2.3.2" + } + }, + "node_modules/protons-runtime/node_modules/long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" + }, + "node_modules/protons-runtime/node_modules/protobufjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.0.tgz", + "integrity": "sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protons/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/protons/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/protons/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/protons/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/protons/node_modules/long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==", + "dev": true, + "peer": true + }, + "node_modules/protons/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/protons/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/protons/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/protons/node_modules/protobufjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.0.tgz", + "integrity": "sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA==", + "dev": true, + "hasInstallScript": true, + "peer": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protons/node_modules/protobufjs-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.0.1.tgz", + "integrity": "sha512-d7m/aaXimDTaVvvPdU0HFwzieKJqo3x+z6iVly79jqLFyg5EmY9tl3vGbBqdytcOzT/acriOhOtB4xj3Kqixmw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "escodegen": "^1.13.0", + "espree": "^9.0.0", + "estraverse": "^5.1.0", + "glob": "^8.0.0", + "jsdoc": "^3.6.3", + "minimist": "^1.2.0", + "semver": "^7.1.2", + "tmp": "^0.2.1", + "uglify-js": "^3.7.7" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "protobufjs": "^7.0.0" + } + }, + "node_modules/protons/node_modules/protobufjs-cli/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/protons/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/proxy-from-env": { @@ -10210,6 +10136,15 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, + "node_modules/requizzle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", + "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -10610,6 +10545,15 @@ "node": ">=10.0.0" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", @@ -10620,15 +10564,6 @@ "source-map": "^0.6.0" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", @@ -10903,6 +10838,22 @@ "node": ">=0.8.0" } }, + "node_modules/super-regex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz", + "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==", + "dependencies": { + "clone-regexp": "^3.0.0", + "function-timeout": "^0.1.0", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -10921,6 +10872,12 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", + "dev": true + }, "node_modules/tail": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/tail/-/tail-2.2.4.tgz", @@ -11069,15 +11026,6 @@ "node": ">= 10.13.0" } }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -11111,6 +11059,20 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/timeout-abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", @@ -11119,6 +11081,18 @@ "retimer": "^3.0.0" } }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11453,6 +11427,24 @@ "node": "*" } }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", + "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "dev": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/uint8-varint": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uint8-varint/-/uint8-varint-1.0.2.tgz", @@ -11536,6 +11528,12 @@ "ieee754": "^1.1.13" } }, + "node_modules/underscore": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", + "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==", + "dev": true + }, "node_modules/undici": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz", @@ -11844,9 +11842,9 @@ } }, "node_modules/wherearewe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-1.0.2.tgz", - "integrity": "sha512-HyLZ7n1Yox+w1qWaFEgP/sMs5D7ka2UXmoVNaY0XzbEHLGljo4ScBchYm6cWRYNO33tmFX3Mgg4BiZkDOjihyw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-2.0.1.tgz", + "integrity": "sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==", "dependencies": { "is-electron": "^2.2.0" }, @@ -12023,6 +12021,12 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, "node_modules/xsalsa20": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.2.0.tgz", @@ -12308,95 +12312,59 @@ } } }, + "@babel/parser": { + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", + "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==", + "dev": true + }, "@chainsafe/libp2p-gossipsub": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-3.4.0.tgz", - "integrity": "sha512-vN73j3t69TXy82Zx3guPB1AZa/8hHyDvgeHrjmegadugs6eywuR+BJTsmD3vd7FAZvD9g6Bdekt1VuE2GG8GOw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-4.1.1.tgz", + "integrity": "sha512-W3z52uTVm48qvwTAcE+tz6ML2CPWA4ErmuL2aCWAW8S7ce6iH8anqo+xI9rcedyIOChWMWLLD4Gtaj4TMrWacw==", "requires": { - "@libp2p/components": "^2.0.0", - "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-connection": "3.0.1", - "@libp2p/interface-keys": "^1.0.2", - "@libp2p/interface-peer-id": "^1.0.2", - "@libp2p/interface-pubsub": "^1.0.1", - "@libp2p/interface-registrar": "^2.0.0", - "@libp2p/interfaces": "^3.0.2", + "@libp2p/components": "^2.0.3", + "@libp2p/crypto": "^1.0.3", + "@libp2p/interface-connection": "^3.0.1", + "@libp2p/interface-keys": "^1.0.3", + "@libp2p/interface-peer-id": "^1.0.4", + "@libp2p/interface-pubsub": "^2.0.1", + "@libp2p/interface-registrar": "^2.0.3", + "@libp2p/interfaces": "^3.0.3", "@libp2p/logger": "^2.0.0", - "@libp2p/peer-id": "^1.1.13", - "@libp2p/peer-record": "^2.0.0", - "@libp2p/pubsub": "^3.0.0", + "@libp2p/peer-id": "^1.1.15", + "@libp2p/peer-record": "^4.0.1", + "@libp2p/pubsub": "^3.1.2", "@libp2p/topology": "^3.0.0", "abortable-iterator": "^4.0.2", "denque": "^1.5.0", "err-code": "^3.0.1", - "it-length-prefixed": "^7.0.1", - "it-pipe": "^2.0.3", - "it-pushable": "^3.0.0", + "it-length-prefixed": "^8.0.2", + "it-pipe": "^2.0.4", + "it-pushable": "^3.1.0", "multiformats": "^9.6.4", - "protons-runtime": "^1.0.4", + "protobufjs": "^6.11.2", + "uint8arraylist": "^2.3.2", "uint8arrays": "^3.0.0" }, "dependencies": { - "@libp2p/peer-record": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-2.0.2.tgz", - "integrity": "sha512-JkH9fBpBpGQYqDMJP3+LNtXLyjNCf0fVcBkdjyfPTSwUXTPJ5NxsluJAH+MZkkrJG9YJG22NgrZO5784GSLAaA==", - "requires": { - "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-peer-id": "^1.0.2", - "@libp2p/interface-record": "^1.0.1", - "@libp2p/logger": "^2.0.0", - "@libp2p/peer-id": "^1.1.13", - "@libp2p/utils": "^2.0.0", - "@multiformats/multiaddr": "^10.1.5", - "err-code": "^3.0.1", - "interface-datastore": "^6.1.0", - "it-all": "^1.0.6", - "it-filter": "^1.0.3", - "it-foreach": "^0.1.1", - "it-map": "^1.0.6", - "it-pipe": "^2.0.3", - "multiformats": "^9.6.3", - "protons-runtime": "^1.0.4", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "@libp2p/utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-2.0.1.tgz", - "integrity": "sha512-R0r9fkskuTmm5jMrlRXWpTdYJeDYcNQ1KdfSEmoVlCs5AlTeWn31+cdaHQihSEbkpEKtVCExfsZkwa3f7C1l8A==", - "requires": { - "@achingbrain/ip-address": "^8.1.0", - "@libp2p/interface-connection": "3.0.1", - "@libp2p/interface-peer-store": "^1.0.0", - "@libp2p/logger": "^2.0.0", - "@multiformats/multiaddr": "^10.1.1", - "abortable-iterator": "^4.0.2", - "err-code": "^3.0.1", - "is-loopback-addr": "^2.0.1", - "it-stream-types": "^1.0.4", - "private-ip": "^2.1.1" - } - }, "it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" } } }, "@chainsafe/libp2p-noise": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-7.0.3.tgz", - "integrity": "sha512-kr68a6zEC2y1sp9O1i8MlPu7LgC4U1sLciG/SF9Hvo0kOdDa5a13l3Il9R3rTIqaL9DoVfmQhfpOR/cxY2PWUw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-8.0.1.tgz", + "integrity": "sha512-mr1/CMTBIfraqTY4OWBdmJ2v+0+D89vbIp1nJTHz64oDPRgU0Ah8wb7K5hgs0erU8aYMkgMtbhXeouhJK3A7wA==", "requires": { "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-connection-encrypter": "^1.0.2", + "@libp2p/interface-connection-encrypter": "^2.0.1", "@libp2p/interface-keys": "^1.0.2", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/logger": "^2.0.0", - "@libp2p/peer-collections": "^2.0.0", "@libp2p/peer-id": "^1.1.8", "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/hkdf": "^1.0.1", @@ -12404,38 +12372,12 @@ "@stablelib/x25519": "^1.0.1", "it-length-prefixed": "^8.0.2", "it-pair": "^2.0.2", - "it-pb-stream": "^2.0.1", + "it-pb-stream": "^2.0.2", "it-pipe": "^2.0.3", "it-stream-types": "^1.0.4", - "protons-runtime": "^2.0.1", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - }, - "dependencies": { - "it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "requires": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - } - }, - "protons-runtime": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-2.0.2.tgz", - "integrity": "sha512-6aBGGn4scICr82Emc6+rS1qhxp9I5YUdfaR4lR10BJ6skyQxbh1vEHkrzGqQrawogwbChDrjLG8H6dI+PLh2tg==", - "requires": { - "byte-access": "^1.0.1", - "longbits": "^1.1.0", - "uint8-varint": "^1.0.2", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - } - } + "protons-runtime": "^3.1.0", + "uint8arraylist": "^2.3.2", + "uint8arrays": "^3.1.0" } }, "@cspell/cspell-bundled-dicts": { @@ -12749,12 +12691,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -12891,7 +12827,7 @@ "integrity": "sha512-F04yV6ZrMUEaN8YKxUe2UPsLOnDoME4aMxm+i515aYF0fIZ6qAQfCd0PERvtOnygVnIx+3i3gLsejtL5AVPGUA==", "requires": { "@libp2p/interface-address-manager": "^1.0.1", - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-connection-manager": "^1.0.0", "@libp2p/interface-content-routing": "^1.0.0", "@libp2p/interface-dht": "^1.0.0", @@ -12916,18 +12852,6 @@ "it-stream-types": "^1.0.4" } }, - "@libp2p/interface-pubsub": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.1.tgz", - "integrity": "sha512-j6XSYz5Ir5yJH6KCtYMUGYlbBFfDGx/vPfFe1X3UFIC6qZ9N+IMkde6C5DCQ8calhCyM1pB2K5StAlztsZV2BQ==", - "requires": { - "@libp2p/interface-connection": "3.0.1", - "@libp2p/interface-peer-id": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0", - "uint8arraylist": "2.3.2" - } - }, "interface-datastore": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.0.tgz", @@ -12942,11 +12866,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.0.tgz", "integrity": "sha512-IBJn3hE6hYutwdDcStR76mcwfV98vZc49LkEN9ANHHpsxcm6YbGMJxowO2G3FITU4U5ZH4KJPlHOT6Oe2vzTWA==" - }, - "it-pushable": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", - "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" } } }, @@ -12955,7 +12874,7 @@ "resolved": "https://registry.npmjs.org/@libp2p/connection/-/connection-4.0.1.tgz", "integrity": "sha512-YT+5cYUsG5H5oaGFJyJSuuKdIdBQ4LQQljNvkuO5REiMvviAiWfiF4CMJIQvDW6m7F+s4qpxDHMYuZPJJw2jzw==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.0", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/interfaces": "^3.0.2", "@libp2p/logger": "^2.0.0", @@ -12964,9 +12883,9 @@ } }, "@libp2p/crypto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-1.0.3.tgz", - "integrity": "sha512-YVoSu5eI8gAqfHcT27ovDXtQH6M4rUhV8x2w0FTyPmceU46fVt+lTsMR1woPeN8roByhjCwHjkPzGQ48Do/vwg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-1.0.4.tgz", + "integrity": "sha512-3hHZvqi+vI8YoTHE+0u8nA5SYGPLZRLMvbgXQoAn0IyPjez66Taaxym/3p3Duf9QkFlvJu95nzpNzv0OdHs9Yw==", "requires": { "@libp2p/interface-keys": "^1.0.2", "@noble/ed25519": "^1.6.0", @@ -12976,42 +12895,6 @@ "node-forge": "^1.1.0", "protons-runtime": "^3.1.0", "uint8arrays": "^3.0.0" - }, - "dependencies": { - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "requires": { - "protobufjs": "^7.0.0", - "uint8arraylist": "2.3.2" - } - } } }, "@libp2p/interface-address-manager": { @@ -13032,16 +12915,17 @@ "@libp2p/interfaces": "^3.0.0", "@multiformats/multiaddr": "^10.2.0", "it-stream-types": "^1.0.4", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.1.1" } }, "@libp2p/interface-connection-encrypter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-1.0.2.tgz", - "integrity": "sha512-Ed5o8eP8H3KMKDgsEaId+R7BdGGFCpjT5Ng2PYtFS+7kECZ+7fYL+nYDMP7h5cf65GJTQNrelGQwyeXQqx8Z9A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.1.tgz", + "integrity": "sha512-GtqsNJuL1q7LWX3z41t9eFFFrlLSmMH92E0rupoXeFx1dJ8Gs/Zy8b6lZro96Ld6rjU1CeZa87SmYeqQQeHRmw==", "requires": { "@libp2p/interface-peer-id": "^1.0.0", - "it-stream-types": "^1.0.4" + "it-stream-types": "^1.0.4", + "uint8arraylist": "^2.1.1" } }, "@libp2p/interface-connection-manager": { @@ -13049,9 +12933,22 @@ "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-manager/-/interface-connection-manager-1.0.2.tgz", "integrity": "sha512-92gM7sZhVidD+vsQbc+LbI4MMvxgRjFy9kUrrsOosbtCt0nl68rIeRFKRpfX92/4QY40tL41VXT69ijCUskEwg==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^2.0.0", "@libp2p/interface-peer-id": "^1.0.0", "@libp2p/interfaces": "^3.0.0" + }, + "dependencies": { + "@libp2p/interface-connection": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-2.1.1.tgz", + "integrity": "sha512-gjugaMsZvfo3r4tCc/yPifVQsfLogmEmJtW+eXMNiNDna3ZfmwWD9Z+KyEwuVsXKs0C4GESXei2y4SJSCEfkbA==", + "requires": { + "@libp2p/interface-peer-id": "^1.0.0", + "@libp2p/interfaces": "^3.0.0", + "@multiformats/multiaddr": "^10.2.0", + "it-stream-types": "^1.0.4" + } + } } }, "@libp2p/interface-content-routing": { @@ -13144,43 +13041,36 @@ "integrity": "sha512-eaG4X8VDR8DsZ7fcTTJcKvJF4JdNGPlkKbuGywizLAZXtKd3ZNQKAxc8eYxO/y1aa/ZhLu3QzJdEfcP86pUbBw==", "requires": { "@libp2p/interface-peer-id": "^1.0.0", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } } } }, "@libp2p/interface-pubsub": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-1.0.4.tgz", - "integrity": "sha512-BSkt0h4fbBBHcr3LCF7fTtAoCdQBjKbTGxCa4tIJpI3m5suxC5h6OrLC2rmrexOxR9aZRkr9da4VShRyOfRLag==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.1.tgz", + "integrity": "sha512-j6XSYz5Ir5yJH6KCtYMUGYlbBFfDGx/vPfFe1X3UFIC6qZ9N+IMkde6C5DCQ8calhCyM1pB2K5StAlztsZV2BQ==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.0", "@libp2p/interface-peer-id": "^1.0.0", "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0" + "it-pushable": "^3.0.0", + "uint8arraylist": "^2.0.0" }, "dependencies": { "it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" } } }, - "@libp2p/interface-record": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-record/-/interface-record-1.0.2.tgz", - "integrity": "sha512-bYNxKtsUOsNucHeAXCZbAQxFXwR7JvoOmodwEByriMvTWYRbd6d8rm8VHZ/17QgdRFlIwNnpIPuoyyLQ8Wn1rQ==", - "requires": { - "@libp2p/interface-peer-id": "^1.0.0" - } - }, "@libp2p/interface-registrar": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@libp2p/interface-registrar/-/interface-registrar-2.0.3.tgz", "integrity": "sha512-YA/A+o+166/+noXxMFXvZdg9soZSZX2EPOlUwnGXZWR7J5B2sxyP76QxHWXL5npsEMj7suP+Rjb/GJYGz7rDyg==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.0", "@libp2p/interface-peer-id": "^1.0.0" } }, @@ -13189,7 +13079,7 @@ "resolved": "https://registry.npmjs.org/@libp2p/interface-stream-muxer/-/interface-stream-muxer-2.0.2.tgz", "integrity": "sha512-BcLsV8ZVr34G32u/w4pgSAgFju9CTuBB9OJwgX6ugasYf6LtJ0a3m5Kwddy79lvvM/gBvVv/McpCr4mPxP4WWg==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.0", "@libp2p/interfaces": "^3.0.0", "it-stream-types": "^1.0.4" } @@ -13199,7 +13089,7 @@ "resolved": "https://registry.npmjs.org/@libp2p/interface-transport/-/interface-transport-1.0.3.tgz", "integrity": "sha512-uwCWcrtKVHGUpgJdmkTgeSr4vpN3lp7lhdV7NybrgL9Ge8JZxTRbs7OlCltRwD+jZkYEb0c6xAHF8nXlBFv5rw==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.0", "@libp2p/interfaces": "^3.0.0", "@multiformats/multiaddr": "^10.2.0", "it-stream-types": "^1.0.4" @@ -13239,12 +13129,12 @@ } }, "@libp2p/mplex": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-4.0.1.tgz", - "integrity": "sha512-LOs5xEPjY10Bq98q1Ipa4/PQ83uj6i/JkvaAZ85/hgiqLrfVYkqs31AF0G35DgvM1eaVjmJoE7f1u4UHKaCEMQ==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-5.1.1.tgz", + "integrity": "sha512-a4hUUzHaFUmk6hx0lV6dveyOmHlOqB/MwDJJfIDyHvDILb2ZXGLJaI3JnbMYqPCwOCeSFkKu8Ixw5HphffV0Aw==", "requires": { "@libp2p/components": "^2.0.0", - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-stream-muxer": "^2.0.0", "@libp2p/logger": "^2.0.0", "@libp2p/tracked-map": "^2.0.0", @@ -13252,17 +13142,17 @@ "any-signal": "^3.0.0", "err-code": "^3.0.1", "it-pipe": "^2.0.3", - "it-pushable": "^3.0.0", + "it-pushable": "^3.1.0", "it-stream-types": "^1.0.4", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.1.1", "uint8arrays": "^3.0.0", "varint": "^6.0.0" }, "dependencies": { "it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" } } }, @@ -13283,22 +13173,10 @@ "it-reader": "^6.0.1", "it-stream-types": "^1.0.4", "p-defer": "^4.0.0", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.3.1", "uint8arrays": "^3.0.0" }, "dependencies": { - "it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "requires": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - } - }, "it-pushable": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", @@ -13337,44 +13215,8 @@ "@libp2p/peer-id": "^1.0.0", "multiformats": "^9.6.3", "protons-runtime": "^3.1.0", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.0.0", "uint8arrays": "^3.0.0" - }, - "dependencies": { - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "requires": { - "protobufjs": "^7.0.0", - "uint8arraylist": "2.3.2" - } - } } }, "@libp2p/peer-record": { @@ -13399,7 +13241,7 @@ "multiformats": "^9.6.3", "protons-runtime": "^3.1.0", "uint8-varint": "^1.0.2", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.1.0", "uint8arrays": "^3.0.0", "varint": "^6.0.0" }, @@ -13410,7 +13252,7 @@ "integrity": "sha512-RqF5jKukI8v3Q8MZb4d8/UVjg0OXbl0R8ErWi/LKf+uklA8kTA7rT4FQXFUBycxrkFmEu/tJnW+R1/4fwRwZVg==", "requires": { "@libp2p/interface-peer-id": "^1.0.0", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } }, "interface-datastore": { @@ -13427,40 +13269,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.0.tgz", "integrity": "sha512-IBJn3hE6hYutwdDcStR76mcwfV98vZc49LkEN9ANHHpsxcm6YbGMJxowO2G3FITU4U5ZH4KJPlHOT6Oe2vzTWA==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "requires": { - "protobufjs": "^7.0.0", - "uint8arraylist": "2.3.2" - } } } }, @@ -13489,7 +13297,7 @@ "mortice": "^3.0.0", "multiformats": "^9.6.3", "protons-runtime": "^3.1.0", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.1.1", "uint8arrays": "^3.1.0" }, "dependencies": { @@ -13499,7 +13307,7 @@ "integrity": "sha512-RqF5jKukI8v3Q8MZb4d8/UVjg0OXbl0R8ErWi/LKf+uklA8kTA7rT4FQXFUBycxrkFmEu/tJnW+R1/4fwRwZVg==", "requires": { "@libp2p/interface-peer-id": "^1.0.0", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } }, "interface-datastore": { @@ -13516,51 +13324,17 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.0.tgz", "integrity": "sha512-IBJn3hE6hYutwdDcStR76mcwfV98vZc49LkEN9ANHHpsxcm6YbGMJxowO2G3FITU4U5ZH4KJPlHOT6Oe2vzTWA==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "requires": { - "protobufjs": "^7.0.0", - "uint8arraylist": "2.3.2" - } } } }, "@libp2p/pubsub": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-3.1.0.tgz", - "integrity": "sha512-VljbX3Vd1GaFWLDvEvvhKNb2SiAjIQhLVGWFaZR7kxR1A9mVA5JGqHzQvuhLaJF/nW3CgtiWVG/VPzcqp7PTJg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-3.1.2.tgz", + "integrity": "sha512-pCbz6JW9q10Ukw2f+gfMWzvKRdN3K3w04//JRfCOrGwRnkdHWA90k4FGEZ0j2caXK8Z0cnUGVD86UBX5uBAG7Q==", "requires": { "@libp2p/components": "^2.0.0", "@libp2p/crypto": "^1.0.0", - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/interface-pubsub": "^2.0.0", "@libp2p/interface-registrar": "^2.0.0", @@ -13577,38 +13351,14 @@ "it-pushable": "^3.0.0", "multiformats": "^9.6.3", "p-queue": "^7.2.0", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.0.0", "uint8arrays": "^3.0.0" }, "dependencies": { - "@libp2p/interface-pubsub": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.0.tgz", - "integrity": "sha512-32Eo/GG3/sitqfOrNoIc+V8aTaNrVUk6zLb8++t1tr0p8opCQfXnbJwDe/TNxhwVkfHCEJxI8NuXMHZqGZWUgA==", - "requires": { - "@libp2p/interface-connection": "3.0.1", - "@libp2p/interface-peer-id": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0", - "uint8arraylist": "2.3.2" - } - }, - "it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "requires": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - } - }, "it-pushable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.0.0.tgz", - "integrity": "sha512-Lpo9Q6wghDDoX8RyA2vIkpNckd5E0EY7RzIKwgiTPakrTmwDw7tKMx6DDJ1ZXrunYnHdKHnKSHYJL3Csya5U2w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", + "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" } } }, @@ -13639,7 +13389,7 @@ "integrity": "sha512-qc1zGBb6Yrl/ihux8qmy+T3H9BymVGiZeam8b/Dr4jpHxV4mfYwySYXUxa6LZqhDp0WS2Es9B1v1UtsNRY5YxA==", "requires": { "@achingbrain/ip-address": "^8.1.0", - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-peer-store": "^1.0.0", "@libp2p/logger": "^2.0.0", "@multiformats/multiaddr": "^10.1.1", @@ -13648,15 +13398,15 @@ "is-loopback-addr": "^2.0.1", "it-stream-types": "^1.0.4", "private-ip": "^2.1.1", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.3.2" } }, "@libp2p/websockets": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-3.0.1.tgz", - "integrity": "sha512-H9xyxvZ0+0SACIGY6Ppa19K3h567set8tfSnxy/fjzUAJRM6ZwYMROh5N0dMLjyl/vjqTNh5iyJmnO3upddGGA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-3.0.3.tgz", + "integrity": "sha512-fGbXpbyJaToA3Opc/lyw3C2xGlhDiabwQeQE6bTNTCpCFsBwOq8DwE4J++lkxnvJzKu0D4oC1c7oQrQ+4oq1Fw==", "requires": { - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-transport": "^1.0.0", "@libp2p/interfaces": "^3.0.1", "@libp2p/logger": "^2.0.0", @@ -13668,8 +13418,8 @@ "err-code": "^3.0.1", "it-ws": "^5.0.0", "p-defer": "^4.0.0", - "p-timeout": "^5.0.2", - "wherearewe": "^1.0.0" + "p-timeout": "^6.0.0", + "wherearewe": "^2.0.1" }, "dependencies": { "it-ws": { @@ -13685,9 +13435,9 @@ } }, "p-timeout": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", - "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.0.0.tgz", + "integrity": "sha512-5iS61MOdUMemWH9CORQRxVXTp9g5K8rPnI9uQpo97aWgsH3vVXKjkIhDi+OgIDmN3Ly9+AZ2fZV01Wut1yzfKA==" }, "ws": { "version": "8.8.1", @@ -13706,13 +13456,13 @@ } }, "@multiformats/multiaddr": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-10.3.3.tgz", - "integrity": "sha512-+LX9RovG7DJsANb+U6VchV/tApcdJzeafbi5+MPUam90oL91BbEh6ozNZOz4Qf5ZEeilexc12oomatmODJh1/w==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-10.4.0.tgz", + "integrity": "sha512-yKGscSuSmv/6anczK4WmRGgYzRRxqRrL9wLnNVIL4sYzQdaHkhqDGksI7L0z1RFZ/MY4wiud4hcB6VuKd9pmbw==", "requires": { "dns-over-http-resolver": "^2.1.0", "err-code": "^3.0.1", - "is-ip": "^4.0.0", + "is-ip": "^5.0.0", "multiformats": "^9.4.5", "uint8arrays": "^3.0.0", "varint": "^6.0.0" @@ -13734,11 +13484,12 @@ "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==" }, "is-ip": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-4.0.0.tgz", - "integrity": "sha512-4B4XA2HEIm/PY+OSpeMBXr8pGWBYbXuHgjMAqrwbLO3CPTCAd9ArEJzBUKGZtk9viY6+aSfadGnWyjY3ydYZkw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.0.tgz", + "integrity": "sha512-uhmKwcdWJ1nTmBdoBxdHilfJs4qdLBIvVHKRels2+UCZmfcfefuQWziadaYLpN7t/bUrJOjJHv+R1di1q7Q1HQ==", "requires": { - "ip-regex": "^5.0.0" + "ip-regex": "^5.0.0", + "super-regex": "^0.2.0" } }, "native-fetch": { @@ -14203,11 +13954,33 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, "@types/long": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" }, + "@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "requires": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, "@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -14806,6 +14579,12 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "array-includes": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", @@ -14911,6 +14690,12 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -15053,7 +14838,7 @@ "resolved": "https://registry.npmjs.org/byte-access/-/byte-access-1.0.1.tgz", "integrity": "sha512-GKYa+lvxnzhgHWj9X+LCsQ4s2/C5uvib573eAOiQKywXMkzFFErY2+yQdzmdE5iWVpmqecsRx3bOtOY4/1eINw==", "requires": { - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } }, "bytes-iec": { @@ -15115,6 +14900,15 @@ "integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==", "dev": true }, + "catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, "chai": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", @@ -15256,6 +15050,14 @@ } } }, + "clone-regexp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz", + "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==", + "requires": { + "is-regexp": "^3.0.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -15378,6 +15180,11 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true }, + "convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==" + }, "cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", @@ -16022,6 +15829,12 @@ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + }, "err-code": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", @@ -16148,13 +15961,6 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -16212,12 +16018,6 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "eslint-scope": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", @@ -16803,6 +16603,11 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "function-timeout": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz", + "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==" + }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", @@ -17223,21 +17028,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "interface-datastore": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.0.tgz", - "integrity": "sha512-oNHdsrWBsI/kDwUtEgt+aaZtQFKtQYN0TGZzc3SGiIA6m+plZ6malhmsygtbmDpfpIsNNC7ce9Gyaj+Tki+gVw==", - "requires": { - "interface-store": "^2.0.1", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==" - }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -17418,6 +17208,11 @@ "has-tostringtag": "^1.0.0" } }, + "is-regexp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz", + "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==" + }, "is-shared-array-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", @@ -17528,7 +17323,7 @@ "it-reader": "^6.0.1", "it-stream-types": "^1.0.4", "p-defer": "^4.0.0", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" }, "dependencies": { "it-pushable": { @@ -17539,14 +17334,15 @@ } }, "it-length-prefixed": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-7.0.1.tgz", - "integrity": "sha512-UozKoT0zZPUa0LO9OSq5KaLKPn83U7Vsy/BNAN0TUXfTI/pKrOz6RuyTSOok6NDad12FZsShBGnl9DKlfDT95g==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", + "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", "requires": { "err-code": "^3.0.1", "it-stream-types": "^1.0.4", - "uint8arraylist": "2.3.2", - "varint": "^6.0.0" + "uint8-varint": "^1.0.1", + "uint8arraylist": "^2.0.0", + "uint8arrays": "^3.0.0" } }, "it-map": { @@ -17572,28 +17368,14 @@ } }, "it-pb-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/it-pb-stream/-/it-pb-stream-2.0.1.tgz", - "integrity": "sha512-nX/61k3xNeOYhQVLo2w3fhM3x9/I/WRo8Q+gBcuFTw8ki2A9mSB956CnL2bQ2qGqevWOXPeJBwMJuGGSvfgyJw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/it-pb-stream/-/it-pb-stream-2.0.2.tgz", + "integrity": "sha512-FR1FM9W71wMTZlAij1Pq4PKNcfVb0TGhUTpNQ3tv0LMV/pJ5cDh4g3jW7jhwB+kHtr7PywD1CybBHaT8iAVpKg==", "requires": { - "it-handshake": "^4.0.1", + "it-handshake": "^4.1.2", "it-length-prefixed": "^8.0.2", "it-stream-types": "^1.0.4", - "uint8arraylist": "2.3.2" - }, - "dependencies": { - "it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "requires": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - } - } + "uint8arraylist": "^2.0.0" } }, "it-pipe": { @@ -17627,7 +17409,7 @@ "integrity": "sha512-C+YRk3OTufbKSJMNEonfEw+9F38llmwwZvqhkjb0xIgob7l4L3p01Yt43+bHRI8SSppAOgk5AKLqas7ea0UTAw==", "requires": { "it-stream-types": "^1.0.4", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } }, "it-sort": { @@ -17659,11 +17441,57 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "requires": { + "xmlcreate": "^2.0.4" + } + }, "jsbn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=" }, + "jsdoc": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", + "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "dev": true, + "requires": { + "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "taffydb": "2.6.2", + "underscore": "~1.13.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, "jsdom": { "version": "19.0.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", @@ -17806,23 +17634,6 @@ "tmp": "^0.2.1", "ua-parser-js": "^0.7.30", "yargs": "^16.1.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - } } }, "karma-chrome-launcher": { @@ -17882,6 +17693,15 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, + "klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -17893,16 +17713,16 @@ } }, "libp2p": { - "version": "0.37.3-509e56a", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.37.3-509e56a.tgz", - "integrity": "sha512-iJktQPrRhrtCXMdkIUklUzX36IjR/53cHJ7BtItg2+FgXO0ZMSHvIp96JBDMDGm+GvWpbLb7AMKh0HBnLKGJ4Q==", + "version": "0.38.0", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.38.0.tgz", + "integrity": "sha512-Wi/ptR69M5LuOrH8hwno98Dg/YeaDXmsyN2cd3vx/yuaEdcgz1RPdGtxxpyVP6J63eZbH07MYTvQcQHH5VhTkA==", "requires": { "@achingbrain/nat-port-mapper": "^1.0.3", "@libp2p/components": "^2.0.3", "@libp2p/connection": "^4.0.1", "@libp2p/crypto": "^1.0.3", "@libp2p/interface-address-manager": "^1.0.2", - "@libp2p/interface-connection": "3.0.1", + "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-connection-encrypter": "^2.0.1", "@libp2p/interface-content-routing": "^1.0.2", "@libp2p/interface-dht": "^1.0.1", @@ -17951,7 +17771,7 @@ "merge-options": "^3.0.4", "multiformats": "^9.6.3", "mutable-proxy": "^1.0.0", - "node-forge": "^1.2.1", + "node-forge": "^1.3.1", "p-fifo": "^1.0.0", "p-retry": "^5.0.0", "p-settle": "^5.0.0", @@ -17961,22 +17781,12 @@ "sanitize-filename": "^1.6.3", "set-delayed-interval": "^1.0.0", "timeout-abort-controller": "^3.0.0", - "uint8arraylist": "2.3.2", + "uint8arraylist": "^2.3.2", "uint8arrays": "^3.0.0", "wherearewe": "^2.0.0", "xsalsa20": "^1.1.0" }, "dependencies": { - "@libp2p/interface-connection-encrypter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.1.tgz", - "integrity": "sha512-GtqsNJuL1q7LWX3z41t9eFFFrlLSmMH92E0rupoXeFx1dJ8Gs/Zy8b6lZro96Ld6rjU1CeZa87SmYeqQQeHRmw==", - "requires": { - "@libp2p/interface-peer-id": "^1.0.0", - "it-stream-types": "^1.0.4", - "uint8arraylist": "2.3.2" - } - }, "@libp2p/interface-metrics": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@libp2p/interface-metrics/-/interface-metrics-3.0.0.tgz", @@ -17986,18 +17796,6 @@ "it-stream-types": "^1.0.4" } }, - "@libp2p/interface-pubsub": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.0.1.tgz", - "integrity": "sha512-j6XSYz5Ir5yJH6KCtYMUGYlbBFfDGx/vPfFe1X3UFIC6qZ9N+IMkde6C5DCQ8calhCyM1pB2K5StAlztsZV2BQ==", - "requires": { - "@libp2p/interface-connection": "3.0.1", - "@libp2p/interface-peer-id": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "it-pushable": "^3.0.0", - "uint8arraylist": "2.3.2" - } - }, "interface-datastore": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.0.tgz", @@ -18012,65 +17810,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.0.tgz", "integrity": "sha512-IBJn3hE6hYutwdDcStR76mcwfV98vZc49LkEN9ANHHpsxcm6YbGMJxowO2G3FITU4U5ZH4KJPlHOT6Oe2vzTWA==" - }, - "it-length-prefixed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-8.0.2.tgz", - "integrity": "sha512-qYCGZ6lTaI6lcuTXUrJmVpE6clq63ULrkq1FGTxHrzexjB2cCrS/CZ5HCRDZ5IRPw33tSDUDK91S7X5S64dPyQ==", - "requires": { - "err-code": "^3.0.1", - "it-stream-types": "^1.0.4", - "uint8-varint": "^1.0.1", - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" - } - }, - "it-pushable": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.0.tgz", - "integrity": "sha512-sEAdT86u6aIWvLkH4hlOmgvHpRyUOUG22HD365H+Dh67zYpaPdILmT4Om7Wjdb+m/SjEB81z3nYCoIrgVYpOFA==" - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "protons-runtime": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", - "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", - "requires": { - "protobufjs": "^7.0.0", - "uint8arraylist": "2.3.2" - } - }, - "wherearewe": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-2.0.1.tgz", - "integrity": "sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==", - "requires": { - "is-electron": "^2.2.0" - } } } }, @@ -18086,6 +17825,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "lint-staged": { "version": "13.0.3", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", @@ -18391,8 +18139,7 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "longbits": { "version": "1.1.0", @@ -18400,7 +18147,7 @@ "integrity": "sha512-22U2exkkYy7sr7nuQJYx2NEZ2kEMsC69+BxM5h8auLvkVIJa+LwAB5mFIExnuW2dFuYXFOWsFMKXjaWiq/htYQ==", "requires": { "byte-access": "^1.0.1", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } }, "loose-envify": { @@ -18474,12 +18221,38 @@ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, + "markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "requires": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "markdown-it-anchor": { + "version": "8.6.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz", + "integrity": "sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==", + "dev": true, + "requires": {} + }, "marked": { "version": "4.0.19", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.19.tgz", "integrity": "sha512-rgQF/OxOiLcvgUAj1Q1tAf4Bgxn5h5JZTp04Fx4XUkVhs7B+7YA9JEWJhJpoO8eJt8MkZMwqLCNeNqj1bCREZQ==", "dev": true }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -18695,12 +18468,6 @@ "yargs-unparser": "2.0.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -19504,7 +19271,6 @@ "version": "6.11.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "dev": true, "requires": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", @@ -19522,22 +19288,187 @@ } }, "protons": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/protons/-/protons-3.0.4.tgz", - "integrity": "sha512-R0X/4pCfpXo3X2CVMmhDLHnHRqVg202N32p8qESKc1Vh8cD7Lqj6DBB/Z6yk6lgrH2UEneCHmHYzqonRl+l+pg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/protons/-/protons-5.1.0.tgz", + "integrity": "sha512-U6FldjrEEIVF4ujIN5VrzAUkGKbYhYUGixy1SxlL38t85EXSnlYIvaHZHmvEdi4WTWyskQVD/zlgQdkRqkU/5Q==", "dev": true, "requires": { "meow": "^10.1.2", - "protobufjs": "^6.11.2" + "protobufjs-cli": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==", + "dev": true, + "peer": true + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "protobufjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.0.tgz", + "integrity": "sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA==", + "dev": true, + "peer": true, + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + } + }, + "protobufjs-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.0.1.tgz", + "integrity": "sha512-d7m/aaXimDTaVvvPdU0HFwzieKJqo3x+z6iVly79jqLFyg5EmY9tl3vGbBqdytcOzT/acriOhOtB4xj3Kqixmw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "escodegen": "^1.13.0", + "espree": "^9.0.0", + "estraverse": "^5.1.0", + "glob": "^8.0.0", + "jsdoc": "^3.6.3", + "minimist": "^1.2.0", + "semver": "^7.1.2", + "tmp": "^0.2.1", + "uglify-js": "^3.7.7" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } } }, "protons-runtime": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-1.0.4.tgz", - "integrity": "sha512-DSKWjAgwaXhtYO5Jo/MrU8n/75I/P2IhxU0Fk/lSrXx6Gxl5DH+I6cHcbGAYFmAlOBmU4QRa0mvVme8VXlDeUg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-3.1.0.tgz", + "integrity": "sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==", "requires": { - "uint8arraylist": "2.3.2", - "uint8arrays": "^3.0.0" + "protobufjs": "^7.0.0", + "uint8arraylist": "^2.3.2" + }, + "dependencies": { + "long": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", + "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" + }, + "protobufjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.0.tgz", + "integrity": "sha512-rCuxKlh0UQKSMjrpIcTLbR5TtGQ52cgs1a5nUoPBAKOccdPblN67BJtjrbtudUJK6HmBvUdsmymyYOzO7lxZEA==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + } + } } }, "proxy-from-env": { @@ -19912,6 +19843,15 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, + "requizzle": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz", + "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -20210,6 +20150,12 @@ "debug": "~4.3.1" } }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "source-map-support": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", @@ -20218,14 +20164,6 @@ "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "sourcemap-codec": { @@ -20430,6 +20368,16 @@ } } }, + "super-regex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz", + "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==", + "requires": { + "clone-regexp": "^3.0.0", + "function-timeout": "^0.1.0", + "time-span": "^5.1.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -20445,6 +20393,12 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", + "dev": true + }, "tail": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/tail/-/tail-2.2.4.tgz", @@ -20550,12 +20504,6 @@ "supports-color": "^8.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -20579,6 +20527,14 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "requires": { + "convert-hrtime": "^5.0.0" + } + }, "timeout-abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-3.0.0.tgz", @@ -20587,6 +20543,15 @@ "retimer": "^3.0.0" } }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -20819,6 +20784,18 @@ "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", "dev": true }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "uglify-js": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", + "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "dev": true + }, "uint8-varint": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uint8-varint/-/uint8-varint-1.0.2.tgz", @@ -20826,7 +20803,7 @@ "requires": { "byte-access": "^1.0.0", "longbits": "^1.1.0", - "uint8arraylist": "2.3.2" + "uint8arraylist": "^2.0.0" } }, "uint8arraylist": { @@ -20879,6 +20856,12 @@ } } }, + "underscore": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.4.tgz", + "integrity": "sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==", + "dev": true + }, "undici": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz", @@ -21127,9 +21110,9 @@ } }, "wherearewe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-1.0.2.tgz", - "integrity": "sha512-HyLZ7n1Yox+w1qWaFEgP/sMs5D7ka2UXmoVNaY0XzbEHLGljo4ScBchYm6cWRYNO33tmFX3Mgg4BiZkDOjihyw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wherearewe/-/wherearewe-2.0.1.tgz", + "integrity": "sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw==", "requires": { "is-electron": "^2.2.0" } @@ -21254,6 +21237,12 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, + "xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, "xsalsa20": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/xsalsa20/-/xsalsa20-1.2.0.tgz", diff --git a/package.json b/package.json index 745c08e910..d95853e321 100644 --- a/package.json +++ b/package.json @@ -89,31 +89,32 @@ "node": ">=16" }, "dependencies": { - "@chainsafe/libp2p-gossipsub": "^3.4.0", - "@chainsafe/libp2p-noise": "^7.0.1", + "@chainsafe/libp2p-gossipsub": "^4.1.1", + "@chainsafe/libp2p-noise": "^8.0.1", "@ethersproject/rlp": "^5.5.0", - "@libp2p/crypto": "^1.0.0", + "@libp2p/crypto": "^1.0.4", "@libp2p/interface-connection": "3.0.1", "@libp2p/interface-peer-discovery": "^1.0.0", "@libp2p/interface-peer-id": "^1.0.2", "@libp2p/interface-peer-info": "^1.0.1", "@libp2p/interface-peer-store": "^1.0.0", "@libp2p/interfaces": "^3.0.2", - "@libp2p/mplex": "^4.0.1", + "@libp2p/mplex": "^5.1.1", "@libp2p/peer-id": "^1.1.10", - "@libp2p/websockets": "^3.0.0", - "@multiformats/multiaddr": "^10.2.0", + "@libp2p/websockets": "^3.0.3", + "@multiformats/multiaddr": "^10.4.0", "@noble/secp256k1": "^1.3.4", "debug": "^4.3.4", "dns-query": "^0.11.2", "hi-base32": "^0.5.1", "it-all": "^1.0.6", - "it-length-prefixed": "^7.0.1", + "it-length-prefixed": "^8.0.2", "it-pipe": "^2.0.4", "js-sha3": "^0.8.0", - "libp2p": "next", + "libp2p": "0.38.0", "p-event": "^5.0.1", - "protons-runtime": "^1.0.4", + "protons-runtime": "^3.1.0", + "uint8arraylist": "^2.3.2", "uint8arrays": "^3.0.0", "uuid": "^8.3.2" }, @@ -159,7 +160,7 @@ "portfinder": "^1.0.28", "prettier": "^2.1.1", "process": "^0.11.10", - "protons": "^3.0.4", + "protons": "^5.1.0", "puppeteer": "^13.0.1", "rollup": "^2.75.0", "size-limit": "^8.0.0", @@ -169,10 +170,6 @@ "typedoc": "^0.23.10", "typescript": "^4.5.5" }, - "overrides": { - "@libp2p/interface-connection": "3.0.1", - "uint8arraylist": "2.3.2" - }, "files": [ "dist", "bundle", diff --git a/src/lib/waku_light_push/index.ts b/src/lib/waku_light_push/index.ts index 2db473d525..623069d67e 100644 --- a/src/lib/waku_light_push/index.ts +++ b/src/lib/waku_light_push/index.ts @@ -4,11 +4,11 @@ import all from "it-all"; import * as lp from "it-length-prefixed"; import { pipe } from "it-pipe"; import { Libp2p } from "libp2p"; +import { Uint8ArrayList } from "uint8arraylist"; import { PushResponse } from "../../proto/light_push"; import { DefaultPubSubTopic } from "../constants"; import { getPeersForProtocol, selectRandomPeer } from "../select_peer"; -import { concat } from "../utils"; import { WakuMessage } from "../waku_message"; import { PushRPC } from "./push_rpc"; @@ -76,7 +76,11 @@ export class WakuLightPush { async (source) => await all(source) ); try { - const bytes = concat(res); + const bytes = new Uint8ArrayList(); + res.forEach((chunk) => { + bytes.append(chunk); + }); + const response = PushRPC.decode(bytes).response; if (!response) { diff --git a/src/lib/waku_light_push/push_rpc.ts b/src/lib/waku_light_push/push_rpc.ts index b3d808f75e..e610043e9c 100644 --- a/src/lib/waku_light_push/push_rpc.ts +++ b/src/lib/waku_light_push/push_rpc.ts @@ -1,3 +1,4 @@ +import type { Uint8ArrayList } from "uint8arraylist"; import { v4 as uuid } from "uuid"; import * as proto from "../../proto/light_push"; @@ -17,7 +18,7 @@ export class PushRPC { }); } - static decode(bytes: Uint8Array): PushRPC { + static decode(bytes: Uint8ArrayList): PushRPC { const res = proto.PushRPC.decode(bytes); return new PushRPC(res); } diff --git a/src/lib/waku_store/history_rpc.ts b/src/lib/waku_store/history_rpc.ts index 448c5b44af..369c9567d4 100644 --- a/src/lib/waku_store/history_rpc.ts +++ b/src/lib/waku_store/history_rpc.ts @@ -1,3 +1,4 @@ +import type { Uint8ArrayList } from "uint8arraylist"; import { v4 as uuid } from "uuid"; import * as protoV2Beta3 from "../../proto/store_v2beta3"; @@ -139,7 +140,7 @@ export class HistoryRPC { } } - decode(bytes: Uint8Array): HistoryRPC { + decode(bytes: Uint8ArrayList): HistoryRPC { const res = this.historyRpc.decode(bytes); return new HistoryRPC(res, this.storeCodec); } diff --git a/src/lib/waku_store/index.ts b/src/lib/waku_store/index.ts index d6604f3ffc..19534a7584 100644 --- a/src/lib/waku_store/index.ts +++ b/src/lib/waku_store/index.ts @@ -5,17 +5,18 @@ import all from "it-all"; import * as lp from "it-length-prefixed"; import { pipe } from "it-pipe"; import { Libp2p } from "libp2p"; +import { Uint8ArrayList } from "uint8arraylist"; import * as protoV2Beta4 from "../../proto/store_v2beta4"; import { HistoryResponse } from "../../proto/store_v2beta4"; import { DefaultPubSubTopic, StoreCodecs } from "../constants"; import { getPeersForProtocol, selectRandomPeer } from "../select_peer"; -import { concat, hexToBytes } from "../utils"; +import { hexToBytes } from "../utils"; import { DecryptionMethod, WakuMessage } from "../waku_message"; import { HistoryRPC, PageDirection } from "./history_rpc"; -import Error = HistoryResponse.Error; +import Error = HistoryResponse.HistoryError; const dbg = debug("waku:store"); @@ -211,7 +212,11 @@ export class WakuStore { lp.decode(), async (source) => await all(source) ); - const bytes = concat(res); + const bytes = new Uint8ArrayList(); + res.forEach((chunk) => { + bytes.append(chunk); + }); + const reply = historyRpcQuery.decode(bytes); if (!reply.response) { diff --git a/src/proto/filter.ts b/src/proto/filter.ts index afd99896f2..006c5c0f9d 100644 --- a/src/proto/filter.ts +++ b/src/proto/filter.ts @@ -1,17 +1,8 @@ /* eslint-disable import/export */ /* eslint-disable @typescript-eslint/no-namespace */ -import { - encodeMessage, - decodeMessage, - message, - string, - bool, - bytes, - uint32, - double, - sint64, -} from "protons-runtime"; +import { encodeMessage, decodeMessage, message } from "protons-runtime"; +import type { Uint8ArrayList } from "uint8arraylist"; import type { Codec } from "protons-runtime"; export interface FilterRequest { @@ -26,38 +17,139 @@ export namespace FilterRequest { } export namespace ContentFilter { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "contentTopic", codec: string, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.contentTopic != null) { + writer.uint32(10); + writer.string(obj.contentTopic); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.contentTopic = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: ContentFilter): Uint8Array => { return encodeMessage(obj, ContentFilter.codec()); }; - export const decode = (buf: Uint8Array): ContentFilter => { + export const decode = (buf: Uint8Array | Uint8ArrayList): ContentFilter => { return decodeMessage(buf, ContentFilter.codec()); }; } + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "subscribe", codec: bool, optional: true }, - 2: { name: "topic", codec: string, optional: true }, - 3: { - name: "contentFilters", - codec: FilterRequest.ContentFilter.codec(), - repeats: true, - }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.subscribe != null) { + writer.uint32(8); + writer.bool(obj.subscribe); + } + + if (obj.topic != null) { + writer.uint32(18); + writer.string(obj.topic); + } + + if (obj.contentFilters != null) { + for (const value of obj.contentFilters) { + writer.uint32(26); + FilterRequest.ContentFilter.codec().encode(value, writer); + } + } else { + throw new Error( + 'Protocol error: required field "contentFilters" was not found in object' + ); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + contentFilters: [], + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.subscribe = reader.bool(); + break; + case 2: + obj.topic = reader.string(); + break; + case 3: + obj.contentFilters.push( + FilterRequest.ContentFilter.codec().decode( + reader, + reader.uint32() + ) + ); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: FilterRequest): Uint8Array => { return encodeMessage(obj, FilterRequest.codec()); }; - export const decode = (buf: Uint8Array): FilterRequest => { + export const decode = (buf: Uint8Array | Uint8ArrayList): FilterRequest => { return decodeMessage(buf, FilterRequest.codec()); }; } @@ -67,17 +159,66 @@ export interface MessagePush { } export namespace MessagePush { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "messages", codec: WakuMessage.codec(), repeats: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.messages != null) { + for (const value of obj.messages) { + writer.uint32(10); + WakuMessage.codec().encode(value, writer); + } + } else { + throw new Error( + 'Protocol error: required field "messages" was not found in object' + ); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + messages: [], + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.messages.push( + WakuMessage.codec().decode(reader, reader.uint32()) + ); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: MessagePush): Uint8Array => { return encodeMessage(obj, MessagePush.codec()); }; - export const decode = (buf: Uint8Array): MessagePush => { + export const decode = (buf: Uint8Array | Uint8ArrayList): MessagePush => { return decodeMessage(buf, MessagePush.codec()); }; } @@ -89,19 +230,75 @@ export interface FilterRPC { } export namespace FilterRPC { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "requestId", codec: string, optional: true }, - 2: { name: "request", codec: FilterRequest.codec(), optional: true }, - 3: { name: "push", codec: MessagePush.codec(), optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.requestId != null) { + writer.uint32(10); + writer.string(obj.requestId); + } + + if (obj.request != null) { + writer.uint32(18); + FilterRequest.codec().encode(obj.request, writer); + } + + if (obj.push != null) { + writer.uint32(26); + MessagePush.codec().encode(obj.push, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.requestId = reader.string(); + break; + case 2: + obj.request = FilterRequest.codec().decode( + reader, + reader.uint32() + ); + break; + case 3: + obj.push = MessagePush.codec().decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: FilterRPC): Uint8Array => { return encodeMessage(obj, FilterRPC.codec()); }; - export const decode = (buf: Uint8Array): FilterRPC => { + export const decode = (buf: Uint8Array | Uint8ArrayList): FilterRPC => { return decodeMessage(buf, FilterRPC.codec()); }; } @@ -115,21 +312,88 @@ export interface WakuMessage { } export namespace WakuMessage { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "payload", codec: bytes, optional: true }, - 2: { name: "contentTopic", codec: string, optional: true }, - 3: { name: "version", codec: uint32, optional: true }, - 4: { name: "timestampDeprecated", codec: double, optional: true }, - 10: { name: "timestamp", codec: sint64, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.payload != null) { + writer.uint32(10); + writer.bytes(obj.payload); + } + + if (obj.contentTopic != null) { + writer.uint32(18); + writer.string(obj.contentTopic); + } + + if (obj.version != null) { + writer.uint32(24); + writer.uint32(obj.version); + } + + if (obj.timestampDeprecated != null) { + writer.uint32(33); + writer.double(obj.timestampDeprecated); + } + + if (obj.timestamp != null) { + writer.uint32(80); + writer.sint64(obj.timestamp); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.payload = reader.bytes(); + break; + case 2: + obj.contentTopic = reader.string(); + break; + case 3: + obj.version = reader.uint32(); + break; + case 4: + obj.timestampDeprecated = reader.double(); + break; + case 10: + obj.timestamp = reader.sint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: WakuMessage): Uint8Array => { return encodeMessage(obj, WakuMessage.codec()); }; - export const decode = (buf: Uint8Array): WakuMessage => { + export const decode = (buf: Uint8Array | Uint8ArrayList): WakuMessage => { return decodeMessage(buf, WakuMessage.codec()); }; } diff --git a/src/proto/light_push.ts b/src/proto/light_push.ts index 6b418a3210..05128d55d9 100644 --- a/src/proto/light_push.ts +++ b/src/proto/light_push.ts @@ -1,17 +1,8 @@ /* eslint-disable import/export */ /* eslint-disable @typescript-eslint/no-namespace */ -import { - encodeMessage, - decodeMessage, - message, - string, - bool, - bytes, - uint32, - double, - sint64, -} from "protons-runtime"; +import { encodeMessage, decodeMessage, message } from "protons-runtime"; +import type { Uint8ArrayList } from "uint8arraylist"; import type { Codec } from "protons-runtime"; export interface PushRequest { @@ -20,18 +11,67 @@ export interface PushRequest { } export namespace PushRequest { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "pubSubTopic", codec: string, optional: true }, - 2: { name: "message", codec: WakuMessage.codec(), optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.pubSubTopic != null) { + writer.uint32(10); + writer.string(obj.pubSubTopic); + } + + if (obj.message != null) { + writer.uint32(18); + WakuMessage.codec().encode(obj.message, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.pubSubTopic = reader.string(); + break; + case 2: + obj.message = WakuMessage.codec().decode( + reader, + reader.uint32() + ); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: PushRequest): Uint8Array => { return encodeMessage(obj, PushRequest.codec()); }; - export const decode = (buf: Uint8Array): PushRequest => { + export const decode = (buf: Uint8Array | Uint8ArrayList): PushRequest => { return decodeMessage(buf, PushRequest.codec()); }; } @@ -42,18 +82,64 @@ export interface PushResponse { } export namespace PushResponse { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "isSuccess", codec: bool, optional: true }, - 2: { name: "info", codec: string, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.isSuccess != null) { + writer.uint32(8); + writer.bool(obj.isSuccess); + } + + if (obj.info != null) { + writer.uint32(18); + writer.string(obj.info); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.isSuccess = reader.bool(); + break; + case 2: + obj.info = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: PushResponse): Uint8Array => { return encodeMessage(obj, PushResponse.codec()); }; - export const decode = (buf: Uint8Array): PushResponse => { + export const decode = (buf: Uint8Array | Uint8ArrayList): PushResponse => { return decodeMessage(buf, PushResponse.codec()); }; } @@ -65,19 +151,78 @@ export interface PushRPC { } export namespace PushRPC { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "requestId", codec: string, optional: true }, - 2: { name: "request", codec: PushRequest.codec(), optional: true }, - 3: { name: "response", codec: PushResponse.codec(), optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.requestId != null) { + writer.uint32(10); + writer.string(obj.requestId); + } + + if (obj.request != null) { + writer.uint32(18); + PushRequest.codec().encode(obj.request, writer); + } + + if (obj.response != null) { + writer.uint32(26); + PushResponse.codec().encode(obj.response, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.requestId = reader.string(); + break; + case 2: + obj.request = PushRequest.codec().decode( + reader, + reader.uint32() + ); + break; + case 3: + obj.response = PushResponse.codec().decode( + reader, + reader.uint32() + ); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: PushRPC): Uint8Array => { return encodeMessage(obj, PushRPC.codec()); }; - export const decode = (buf: Uint8Array): PushRPC => { + export const decode = (buf: Uint8Array | Uint8ArrayList): PushRPC => { return decodeMessage(buf, PushRPC.codec()); }; } @@ -91,21 +236,88 @@ export interface WakuMessage { } export namespace WakuMessage { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "payload", codec: bytes, optional: true }, - 2: { name: "contentTopic", codec: string, optional: true }, - 3: { name: "version", codec: uint32, optional: true }, - 4: { name: "timestampDeprecated", codec: double, optional: true }, - 10: { name: "timestamp", codec: sint64, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.payload != null) { + writer.uint32(10); + writer.bytes(obj.payload); + } + + if (obj.contentTopic != null) { + writer.uint32(18); + writer.string(obj.contentTopic); + } + + if (obj.version != null) { + writer.uint32(24); + writer.uint32(obj.version); + } + + if (obj.timestampDeprecated != null) { + writer.uint32(33); + writer.double(obj.timestampDeprecated); + } + + if (obj.timestamp != null) { + writer.uint32(80); + writer.sint64(obj.timestamp); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.payload = reader.bytes(); + break; + case 2: + obj.contentTopic = reader.string(); + break; + case 3: + obj.version = reader.uint32(); + break; + case 4: + obj.timestampDeprecated = reader.double(); + break; + case 10: + obj.timestamp = reader.sint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: WakuMessage): Uint8Array => { return encodeMessage(obj, WakuMessage.codec()); }; - export const decode = (buf: Uint8Array): WakuMessage => { + export const decode = (buf: Uint8Array | Uint8ArrayList): WakuMessage => { return decodeMessage(buf, WakuMessage.codec()); }; } diff --git a/src/proto/message.ts b/src/proto/message.ts index 0a57c5d9df..9f114acc2a 100644 --- a/src/proto/message.ts +++ b/src/proto/message.ts @@ -1,16 +1,8 @@ /* eslint-disable import/export */ /* eslint-disable @typescript-eslint/no-namespace */ -import { - encodeMessage, - decodeMessage, - message, - bytes, - string, - uint32, - double, - sint64, -} from "protons-runtime"; +import { encodeMessage, decodeMessage, message } from "protons-runtime"; +import type { Uint8ArrayList } from "uint8arraylist"; import type { Codec } from "protons-runtime"; export interface WakuMessage { @@ -22,21 +14,88 @@ export interface WakuMessage { } export namespace WakuMessage { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "payload", codec: bytes, optional: true }, - 2: { name: "contentTopic", codec: string, optional: true }, - 3: { name: "version", codec: uint32, optional: true }, - 4: { name: "timestampDeprecated", codec: double, optional: true }, - 10: { name: "timestamp", codec: sint64, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.payload != null) { + writer.uint32(10); + writer.bytes(obj.payload); + } + + if (obj.contentTopic != null) { + writer.uint32(18); + writer.string(obj.contentTopic); + } + + if (obj.version != null) { + writer.uint32(24); + writer.uint32(obj.version); + } + + if (obj.timestampDeprecated != null) { + writer.uint32(33); + writer.double(obj.timestampDeprecated); + } + + if (obj.timestamp != null) { + writer.uint32(80); + writer.sint64(obj.timestamp); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.payload = reader.bytes(); + break; + case 2: + obj.contentTopic = reader.string(); + break; + case 3: + obj.version = reader.uint32(); + break; + case 4: + obj.timestampDeprecated = reader.double(); + break; + case 10: + obj.timestamp = reader.sint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: WakuMessage): Uint8Array => { return encodeMessage(obj, WakuMessage.codec()); }; - export const decode = (buf: Uint8Array): WakuMessage => { + export const decode = (buf: Uint8Array | Uint8ArrayList): WakuMessage => { return decodeMessage(buf, WakuMessage.codec()); }; } diff --git a/src/proto/store_v2beta3.proto b/src/proto/store_v2beta3.proto index 8bd89ed1a2..88c37659ba 100644 --- a/src/proto/store_v2beta3.proto +++ b/src/proto/store_v2beta3.proto @@ -33,11 +33,11 @@ message HistoryQuery { message HistoryResponse { repeated WakuMessage messages = 2; optional PagingInfo paging_info = 3; - enum Error { + enum HistoryError { ERROR_NONE_UNSPECIFIED = 0; ERROR_INVALID_CURSOR = 1; } - optional Error error = 4; + optional HistoryError error = 4; } message HistoryRPC { diff --git a/src/proto/store_v2beta3.ts b/src/proto/store_v2beta3.ts index 800de7f5c3..3109fb2274 100644 --- a/src/proto/store_v2beta3.ts +++ b/src/proto/store_v2beta3.ts @@ -5,14 +5,9 @@ import { encodeMessage, decodeMessage, message, - bytes, - double, enumeration, - uint64, - string, - uint32, - sint64, } from "protons-runtime"; +import type { Uint8ArrayList } from "uint8arraylist"; import type { Codec } from "protons-runtime"; export interface Index { @@ -22,19 +17,72 @@ export interface Index { } export namespace Index { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "digest", codec: bytes, optional: true }, - 2: { name: "receivedTime", codec: double, optional: true }, - 3: { name: "senderTime", codec: double, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.digest != null) { + writer.uint32(10); + writer.bytes(obj.digest); + } + + if (obj.receivedTime != null) { + writer.uint32(17); + writer.double(obj.receivedTime); + } + + if (obj.senderTime != null) { + writer.uint32(25); + writer.double(obj.senderTime); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.digest = reader.bytes(); + break; + case 2: + obj.receivedTime = reader.double(); + break; + case 3: + obj.senderTime = reader.double(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: Index): Uint8Array => { return encodeMessage(obj, Index.codec()); }; - export const decode = (buf: Uint8Array): Index => { + export const decode = (buf: Uint8Array | Uint8ArrayList): Index => { return decodeMessage(buf, Index.codec()); }; } @@ -58,27 +106,76 @@ export namespace PagingInfo { export namespace Direction { export const codec = () => { - return enumeration(__DirectionValues); + return enumeration(__DirectionValues); }; } + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "pageSize", codec: uint64, optional: true }, - 2: { name: "cursor", codec: Index.codec(), optional: true }, - 3: { - name: "direction", - codec: PagingInfo.Direction.codec(), - optional: true, - }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.pageSize != null) { + writer.uint32(8); + writer.uint64(obj.pageSize); + } + + if (obj.cursor != null) { + writer.uint32(18); + Index.codec().encode(obj.cursor, writer); + } + + if (obj.direction != null) { + writer.uint32(24); + PagingInfo.Direction.codec().encode(obj.direction, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.pageSize = reader.uint64(); + break; + case 2: + obj.cursor = Index.codec().decode(reader, reader.uint32()); + break; + case 3: + obj.direction = PagingInfo.Direction.codec().decode(reader); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: PagingInfo): Uint8Array => { return encodeMessage(obj, PagingInfo.codec()); }; - export const decode = (buf: Uint8Array): PagingInfo => { + export const decode = (buf: Uint8Array | Uint8ArrayList): PagingInfo => { return decodeMessage(buf, PagingInfo.codec()); }; } @@ -88,17 +185,56 @@ export interface ContentFilter { } export namespace ContentFilter { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "contentTopic", codec: string, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.contentTopic != null) { + writer.uint32(10); + writer.string(obj.contentTopic); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.contentTopic = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: ContentFilter): Uint8Array => { return encodeMessage(obj, ContentFilter.codec()); }; - export const decode = (buf: Uint8Array): ContentFilter => { + export const decode = (buf: Uint8Array | Uint8ArrayList): ContentFilter => { return decodeMessage(buf, ContentFilter.codec()); }; } @@ -112,25 +248,101 @@ export interface HistoryQuery { } export namespace HistoryQuery { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 2: { name: "pubSubTopic", codec: string, optional: true }, - 3: { - name: "contentFilters", - codec: ContentFilter.codec(), - repeats: true, - }, - 4: { name: "pagingInfo", codec: PagingInfo.codec(), optional: true }, - 5: { name: "startTime", codec: double, optional: true }, - 6: { name: "endTime", codec: double, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.pubSubTopic != null) { + writer.uint32(18); + writer.string(obj.pubSubTopic); + } + + if (obj.contentFilters != null) { + for (const value of obj.contentFilters) { + writer.uint32(26); + ContentFilter.codec().encode(value, writer); + } + } else { + throw new Error( + 'Protocol error: required field "contentFilters" was not found in object' + ); + } + + if (obj.pagingInfo != null) { + writer.uint32(34); + PagingInfo.codec().encode(obj.pagingInfo, writer); + } + + if (obj.startTime != null) { + writer.uint32(41); + writer.double(obj.startTime); + } + + if (obj.endTime != null) { + writer.uint32(49); + writer.double(obj.endTime); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + contentFilters: [], + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 2: + obj.pubSubTopic = reader.string(); + break; + case 3: + obj.contentFilters.push( + ContentFilter.codec().decode(reader, reader.uint32()) + ); + break; + case 4: + obj.pagingInfo = PagingInfo.codec().decode( + reader, + reader.uint32() + ); + break; + case 5: + obj.startTime = reader.double(); + break; + case 6: + obj.endTime = reader.double(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: HistoryQuery): Uint8Array => { return encodeMessage(obj, HistoryQuery.codec()); }; - export const decode = (buf: Uint8Array): HistoryQuery => { + export const decode = (buf: Uint8Array | Uint8ArrayList): HistoryQuery => { return decodeMessage(buf, HistoryQuery.codec()); }; } @@ -138,43 +350,105 @@ export namespace HistoryQuery { export interface HistoryResponse { messages: WakuMessage[]; pagingInfo?: PagingInfo; - error?: HistoryResponse.Error; + error?: HistoryResponse.HistoryError; } export namespace HistoryResponse { - export enum Error { + export enum HistoryError { ERROR_NONE_UNSPECIFIED = "ERROR_NONE_UNSPECIFIED", ERROR_INVALID_CURSOR = "ERROR_INVALID_CURSOR", } - enum __ErrorValues { + enum __HistoryErrorValues { ERROR_NONE_UNSPECIFIED = 0, ERROR_INVALID_CURSOR = 1, } - export namespace Error { + export namespace HistoryError { export const codec = () => { - return enumeration(__ErrorValues); + return enumeration(__HistoryErrorValues); }; } + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 2: { name: "messages", codec: WakuMessage.codec(), repeats: true }, - 3: { name: "pagingInfo", codec: PagingInfo.codec(), optional: true }, - 4: { - name: "error", - codec: HistoryResponse.Error.codec(), - optional: true, - }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.messages != null) { + for (const value of obj.messages) { + writer.uint32(18); + WakuMessage.codec().encode(value, writer); + } + } else { + throw new Error( + 'Protocol error: required field "messages" was not found in object' + ); + } + + if (obj.pagingInfo != null) { + writer.uint32(26); + PagingInfo.codec().encode(obj.pagingInfo, writer); + } + + if (obj.error != null) { + writer.uint32(32); + HistoryResponse.HistoryError.codec().encode(obj.error, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + messages: [], + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 2: + obj.messages.push( + WakuMessage.codec().decode(reader, reader.uint32()) + ); + break; + case 3: + obj.pagingInfo = PagingInfo.codec().decode( + reader, + reader.uint32() + ); + break; + case 4: + obj.error = HistoryResponse.HistoryError.codec().decode(reader); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: HistoryResponse): Uint8Array => { return encodeMessage(obj, HistoryResponse.codec()); }; - export const decode = (buf: Uint8Array): HistoryResponse => { + export const decode = (buf: Uint8Array | Uint8ArrayList): HistoryResponse => { return decodeMessage(buf, HistoryResponse.codec()); }; } @@ -186,19 +460,78 @@ export interface HistoryRPC { } export namespace HistoryRPC { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "requestId", codec: string, optional: true }, - 2: { name: "query", codec: HistoryQuery.codec(), optional: true }, - 3: { name: "response", codec: HistoryResponse.codec(), optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.requestId != null) { + writer.uint32(10); + writer.string(obj.requestId); + } + + if (obj.query != null) { + writer.uint32(18); + HistoryQuery.codec().encode(obj.query, writer); + } + + if (obj.response != null) { + writer.uint32(26); + HistoryResponse.codec().encode(obj.response, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.requestId = reader.string(); + break; + case 2: + obj.query = HistoryQuery.codec().decode( + reader, + reader.uint32() + ); + break; + case 3: + obj.response = HistoryResponse.codec().decode( + reader, + reader.uint32() + ); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: HistoryRPC): Uint8Array => { return encodeMessage(obj, HistoryRPC.codec()); }; - export const decode = (buf: Uint8Array): HistoryRPC => { + export const decode = (buf: Uint8Array | Uint8ArrayList): HistoryRPC => { return decodeMessage(buf, HistoryRPC.codec()); }; } @@ -212,21 +545,88 @@ export interface WakuMessage { } export namespace WakuMessage { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "payload", codec: bytes, optional: true }, - 2: { name: "contentTopic", codec: string, optional: true }, - 3: { name: "version", codec: uint32, optional: true }, - 4: { name: "timestampDeprecated", codec: double, optional: true }, - 10: { name: "timestamp", codec: sint64, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.payload != null) { + writer.uint32(10); + writer.bytes(obj.payload); + } + + if (obj.contentTopic != null) { + writer.uint32(18); + writer.string(obj.contentTopic); + } + + if (obj.version != null) { + writer.uint32(24); + writer.uint32(obj.version); + } + + if (obj.timestampDeprecated != null) { + writer.uint32(33); + writer.double(obj.timestampDeprecated); + } + + if (obj.timestamp != null) { + writer.uint32(80); + writer.sint64(obj.timestamp); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.payload = reader.bytes(); + break; + case 2: + obj.contentTopic = reader.string(); + break; + case 3: + obj.version = reader.uint32(); + break; + case 4: + obj.timestampDeprecated = reader.double(); + break; + case 10: + obj.timestamp = reader.sint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: WakuMessage): Uint8Array => { return encodeMessage(obj, WakuMessage.codec()); }; - export const decode = (buf: Uint8Array): WakuMessage => { + export const decode = (buf: Uint8Array | Uint8ArrayList): WakuMessage => { return decodeMessage(buf, WakuMessage.codec()); }; } diff --git a/src/proto/store_v2beta4.proto b/src/proto/store_v2beta4.proto index 337c21200d..db6cefb98b 100644 --- a/src/proto/store_v2beta4.proto +++ b/src/proto/store_v2beta4.proto @@ -34,11 +34,11 @@ message HistoryQuery { message HistoryResponse { repeated WakuMessage messages = 2; optional PagingInfo paging_info = 3; - enum Error { + enum HistoryError { ERROR_NONE_UNSPECIFIED = 0; ERROR_INVALID_CURSOR = 1; } - optional Error error = 4; + optional HistoryError error = 4; } message HistoryRPC { diff --git a/src/proto/store_v2beta4.ts b/src/proto/store_v2beta4.ts index 256da55a43..547bfc53bc 100644 --- a/src/proto/store_v2beta4.ts +++ b/src/proto/store_v2beta4.ts @@ -5,14 +5,9 @@ import { encodeMessage, decodeMessage, message, - bytes, - sint64, - string, enumeration, - uint64, - uint32, - double, } from "protons-runtime"; +import type { Uint8ArrayList } from "uint8arraylist"; import type { Codec } from "protons-runtime"; export interface Index { @@ -23,20 +18,80 @@ export interface Index { } export namespace Index { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "digest", codec: bytes, optional: true }, - 2: { name: "receivedTime", codec: sint64, optional: true }, - 3: { name: "senderTime", codec: sint64, optional: true }, - 4: { name: "pubsubTopic", codec: string, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.digest != null) { + writer.uint32(10); + writer.bytes(obj.digest); + } + + if (obj.receivedTime != null) { + writer.uint32(16); + writer.sint64(obj.receivedTime); + } + + if (obj.senderTime != null) { + writer.uint32(24); + writer.sint64(obj.senderTime); + } + + if (obj.pubsubTopic != null) { + writer.uint32(34); + writer.string(obj.pubsubTopic); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.digest = reader.bytes(); + break; + case 2: + obj.receivedTime = reader.sint64(); + break; + case 3: + obj.senderTime = reader.sint64(); + break; + case 4: + obj.pubsubTopic = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: Index): Uint8Array => { return encodeMessage(obj, Index.codec()); }; - export const decode = (buf: Uint8Array): Index => { + export const decode = (buf: Uint8Array | Uint8ArrayList): Index => { return decodeMessage(buf, Index.codec()); }; } @@ -60,27 +115,76 @@ export namespace PagingInfo { export namespace Direction { export const codec = () => { - return enumeration(__DirectionValues); + return enumeration(__DirectionValues); }; } + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "pageSize", codec: uint64, optional: true }, - 2: { name: "cursor", codec: Index.codec(), optional: true }, - 3: { - name: "direction", - codec: PagingInfo.Direction.codec(), - optional: true, - }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.pageSize != null) { + writer.uint32(8); + writer.uint64(obj.pageSize); + } + + if (obj.cursor != null) { + writer.uint32(18); + Index.codec().encode(obj.cursor, writer); + } + + if (obj.direction != null) { + writer.uint32(24); + PagingInfo.Direction.codec().encode(obj.direction, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.pageSize = reader.uint64(); + break; + case 2: + obj.cursor = Index.codec().decode(reader, reader.uint32()); + break; + case 3: + obj.direction = PagingInfo.Direction.codec().decode(reader); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: PagingInfo): Uint8Array => { return encodeMessage(obj, PagingInfo.codec()); }; - export const decode = (buf: Uint8Array): PagingInfo => { + export const decode = (buf: Uint8Array | Uint8ArrayList): PagingInfo => { return decodeMessage(buf, PagingInfo.codec()); }; } @@ -90,17 +194,56 @@ export interface ContentFilter { } export namespace ContentFilter { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "contentTopic", codec: string, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.contentTopic != null) { + writer.uint32(10); + writer.string(obj.contentTopic); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.contentTopic = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: ContentFilter): Uint8Array => { return encodeMessage(obj, ContentFilter.codec()); }; - export const decode = (buf: Uint8Array): ContentFilter => { + export const decode = (buf: Uint8Array | Uint8ArrayList): ContentFilter => { return decodeMessage(buf, ContentFilter.codec()); }; } @@ -114,25 +257,101 @@ export interface HistoryQuery { } export namespace HistoryQuery { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 2: { name: "pubSubTopic", codec: string, optional: true }, - 3: { - name: "contentFilters", - codec: ContentFilter.codec(), - repeats: true, - }, - 4: { name: "pagingInfo", codec: PagingInfo.codec(), optional: true }, - 5: { name: "startTime", codec: sint64, optional: true }, - 6: { name: "endTime", codec: sint64, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.pubSubTopic != null) { + writer.uint32(18); + writer.string(obj.pubSubTopic); + } + + if (obj.contentFilters != null) { + for (const value of obj.contentFilters) { + writer.uint32(26); + ContentFilter.codec().encode(value, writer); + } + } else { + throw new Error( + 'Protocol error: required field "contentFilters" was not found in object' + ); + } + + if (obj.pagingInfo != null) { + writer.uint32(34); + PagingInfo.codec().encode(obj.pagingInfo, writer); + } + + if (obj.startTime != null) { + writer.uint32(40); + writer.sint64(obj.startTime); + } + + if (obj.endTime != null) { + writer.uint32(48); + writer.sint64(obj.endTime); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + contentFilters: [], + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 2: + obj.pubSubTopic = reader.string(); + break; + case 3: + obj.contentFilters.push( + ContentFilter.codec().decode(reader, reader.uint32()) + ); + break; + case 4: + obj.pagingInfo = PagingInfo.codec().decode( + reader, + reader.uint32() + ); + break; + case 5: + obj.startTime = reader.sint64(); + break; + case 6: + obj.endTime = reader.sint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: HistoryQuery): Uint8Array => { return encodeMessage(obj, HistoryQuery.codec()); }; - export const decode = (buf: Uint8Array): HistoryQuery => { + export const decode = (buf: Uint8Array | Uint8ArrayList): HistoryQuery => { return decodeMessage(buf, HistoryQuery.codec()); }; } @@ -140,43 +359,105 @@ export namespace HistoryQuery { export interface HistoryResponse { messages: WakuMessage[]; pagingInfo?: PagingInfo; - error?: HistoryResponse.Error; + error?: HistoryResponse.HistoryError; } export namespace HistoryResponse { - export enum Error { + export enum HistoryError { ERROR_NONE_UNSPECIFIED = "ERROR_NONE_UNSPECIFIED", ERROR_INVALID_CURSOR = "ERROR_INVALID_CURSOR", } - enum __ErrorValues { + enum __HistoryErrorValues { ERROR_NONE_UNSPECIFIED = 0, ERROR_INVALID_CURSOR = 1, } - export namespace Error { + export namespace HistoryError { export const codec = () => { - return enumeration(__ErrorValues); + return enumeration(__HistoryErrorValues); }; } + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 2: { name: "messages", codec: WakuMessage.codec(), repeats: true }, - 3: { name: "pagingInfo", codec: PagingInfo.codec(), optional: true }, - 4: { - name: "error", - codec: HistoryResponse.Error.codec(), - optional: true, - }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.messages != null) { + for (const value of obj.messages) { + writer.uint32(18); + WakuMessage.codec().encode(value, writer); + } + } else { + throw new Error( + 'Protocol error: required field "messages" was not found in object' + ); + } + + if (obj.pagingInfo != null) { + writer.uint32(26); + PagingInfo.codec().encode(obj.pagingInfo, writer); + } + + if (obj.error != null) { + writer.uint32(32); + HistoryResponse.HistoryError.codec().encode(obj.error, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + messages: [], + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 2: + obj.messages.push( + WakuMessage.codec().decode(reader, reader.uint32()) + ); + break; + case 3: + obj.pagingInfo = PagingInfo.codec().decode( + reader, + reader.uint32() + ); + break; + case 4: + obj.error = HistoryResponse.HistoryError.codec().decode(reader); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: HistoryResponse): Uint8Array => { return encodeMessage(obj, HistoryResponse.codec()); }; - export const decode = (buf: Uint8Array): HistoryResponse => { + export const decode = (buf: Uint8Array | Uint8ArrayList): HistoryResponse => { return decodeMessage(buf, HistoryResponse.codec()); }; } @@ -188,19 +469,78 @@ export interface HistoryRPC { } export namespace HistoryRPC { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "requestId", codec: string, optional: true }, - 2: { name: "query", codec: HistoryQuery.codec(), optional: true }, - 3: { name: "response", codec: HistoryResponse.codec(), optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.requestId != null) { + writer.uint32(10); + writer.string(obj.requestId); + } + + if (obj.query != null) { + writer.uint32(18); + HistoryQuery.codec().encode(obj.query, writer); + } + + if (obj.response != null) { + writer.uint32(26); + HistoryResponse.codec().encode(obj.response, writer); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.requestId = reader.string(); + break; + case 2: + obj.query = HistoryQuery.codec().decode( + reader, + reader.uint32() + ); + break; + case 3: + obj.response = HistoryResponse.codec().decode( + reader, + reader.uint32() + ); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: HistoryRPC): Uint8Array => { return encodeMessage(obj, HistoryRPC.codec()); }; - export const decode = (buf: Uint8Array): HistoryRPC => { + export const decode = (buf: Uint8Array | Uint8ArrayList): HistoryRPC => { return decodeMessage(buf, HistoryRPC.codec()); }; } @@ -214,21 +554,88 @@ export interface WakuMessage { } export namespace WakuMessage { + let _codec: Codec; + export const codec = (): Codec => { - return message({ - 1: { name: "payload", codec: bytes, optional: true }, - 2: { name: "contentTopic", codec: string, optional: true }, - 3: { name: "version", codec: uint32, optional: true }, - 4: { name: "timestampDeprecated", codec: double, optional: true }, - 10: { name: "timestamp", codec: sint64, optional: true }, - }); + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.payload != null) { + writer.uint32(10); + writer.bytes(obj.payload); + } + + if (obj.contentTopic != null) { + writer.uint32(18); + writer.string(obj.contentTopic); + } + + if (obj.version != null) { + writer.uint32(24); + writer.uint32(obj.version); + } + + if (obj.timestampDeprecated != null) { + writer.uint32(33); + writer.double(obj.timestampDeprecated); + } + + if (obj.timestamp != null) { + writer.uint32(80); + writer.sint64(obj.timestamp); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = {}; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.payload = reader.bytes(); + break; + case 2: + obj.contentTopic = reader.string(); + break; + case 3: + obj.version = reader.uint32(); + break; + case 4: + obj.timestampDeprecated = reader.double(); + break; + case 10: + obj.timestamp = reader.sint64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + return obj; + } + ); + } + + return _codec; }; export const encode = (obj: WakuMessage): Uint8Array => { return encodeMessage(obj, WakuMessage.codec()); }; - export const decode = (buf: Uint8Array): WakuMessage => { + export const decode = (buf: Uint8Array | Uint8ArrayList): WakuMessage => { return decodeMessage(buf, WakuMessage.codec()); }; }