From 152595e027f832f92ac82e9253f6096786cbb0d9 Mon Sep 17 00:00:00 2001 From: weboko Date: Sat, 28 Jan 2023 01:59:54 +0100 Subject: [PATCH] use types in the most straightforward way --- package-lock.json | 1756 ++++++++++++--------------------------------- package.json | 4 +- src/codec.ts | 100 +-- src/pairing.ts | 6 +- 4 files changed, 472 insertions(+), 1394 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9268658..85db941 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,6 +38,9 @@ "@types/uuid": "^8.3.0", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", + "@waku/core": "^0.0.10", + "@waku/interfaces": "^0.0.7", + "@waku/proto": "^0.0.2", "app-root-path": "^3.0.0", "chai": "^4.3.4", "cspell": "^5.14.0", @@ -51,7 +54,6 @@ "gh-pages": "^3.2.3", "husky": "^7.0.4", "ignore-loader": "^0.1.2", - "js-waku": "^0.30.0", "jsdom": "^19.0.0", "jsdom-global": "^3.0.2", "karma": "^6.3.12", @@ -111,6 +113,12 @@ "npm": ">=7.0.0" } }, + "node_modules/@achingbrain/nat-port-mapper/node_modules/it-first": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", + "dev": true + }, "node_modules/@achingbrain/nat-port-mapper/node_modules/p-timeout": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", @@ -140,6 +148,15 @@ "npm": ">=7.0.0" } }, + "node_modules/@achingbrain/ssdp/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -253,87 +270,41 @@ "dev": true }, "node_modules/@chainsafe/libp2p-gossipsub": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-4.1.1.tgz", - "integrity": "sha512-W3z52uTVm48qvwTAcE+tz6ML2CPWA4ErmuL2aCWAW8S7ce6iH8anqo+xI9rcedyIOChWMWLLD4Gtaj4TMrWacw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-gossipsub/-/libp2p-gossipsub-5.4.1.tgz", + "integrity": "sha512-lcqtG74lwQevxC/OTZHZzszb8HS91VkmJxTyndQUu9a6AXBok2a95lyWCK2l8/VPLg0JxIpwYgUCHTTTExDK/A==", "dev": true, "dependencies": { - "@libp2p/components": "^2.0.3", "@libp2p/crypto": "^1.0.3", "@libp2p/interface-connection": "^3.0.1", + "@libp2p/interface-connection-manager": "^1.3.0", "@libp2p/interface-keys": "^1.0.3", "@libp2p/interface-peer-id": "^1.0.4", - "@libp2p/interface-pubsub": "^2.0.1", + "@libp2p/interface-peer-store": "^1.2.2", + "@libp2p/interface-pubsub": "^3.0.0", "@libp2p/interface-registrar": "^2.0.3", "@libp2p/interfaces": "^3.0.3", "@libp2p/logger": "^2.0.0", "@libp2p/peer-id": "^1.1.15", "@libp2p/peer-record": "^4.0.1", - "@libp2p/pubsub": "^3.1.2", + "@libp2p/pubsub": "^5.0.0", "@libp2p/topology": "^3.0.0", + "@multiformats/multiaddr": "^11.0.0", "abortable-iterator": "^4.0.2", "denque": "^1.5.0", "err-code": "^3.0.1", "it-length-prefixed": "^8.0.2", "it-pipe": "^2.0.4", "it-pushable": "^3.1.0", - "multiformats": "^9.6.4", + "multiformats": "^10.0.0", "protobufjs": "^6.11.2", "uint8arraylist": "^2.3.2", - "uint8arrays": "^3.0.0" + "uint8arrays": "^4.0.2" }, "engines": { "npm": ">=8.7.0" } }, - "node_modules/@chainsafe/libp2p-gossipsub/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/@chainsafe/libp2p-noise": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-noise/-/libp2p-noise-8.0.2.tgz", - "integrity": "sha512-YouGuPOZcP9VG8jarL21KseZZXLsa9RCkFnec3EMrRLIiL5qbbxgpDhbGzocAXSbsbitNBNrexQA524R/GB+2Q==", - "dev": true, - "dependencies": { - "@libp2p/crypto": "^1.0.0", - "@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-id": "^1.1.8", - "@stablelib/chacha20poly1305": "^1.0.1", - "@stablelib/hkdf": "^1.0.1", - "@stablelib/sha256": "^1.0.1", - "@stablelib/x25519": "^1.0.1", - "it-length-prefixed": "^8.0.2", - "it-pair": "^2.0.2", - "it-pb-stream": "^2.0.2", - "it-pipe": "^2.0.3", - "it-stream-types": "^1.0.4", - "protons-runtime": "^3.1.0", - "uint8arraylist": "^2.3.2", - "uint8arrays": "^3.1.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@chainsafe/libp2p-noise/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -833,74 +804,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@leichtgewicht/base64-codec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@leichtgewicht/base64-codec/-/base64-codec-1.0.0.tgz", - "integrity": "sha512-0cgP4lRBzh3F4tlpTfs7F+PJyBN8j5yUC9KrQFWp/bREswgzZVHE8T1rNyRDWgvALwwpPtnJDQfqWUmxI33Epg==", - "dev": true - }, - "node_modules/@leichtgewicht/dns-packet": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@leichtgewicht/dns-packet/-/dns-packet-6.0.3.tgz", - "integrity": "sha512-qmVHhFBFiBvPsk/wJ/EdoWHb+tGkzY4haybmDPukhF6w0+8wpEbrHTIRE9LzeUu2P0bAbmrK8WOXt5V5QN6jQg==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.4", - "bytes.js": "^0.0.2", - "utf8-bytes": "^0.0.1", - "utf8-codec": "^1.0.0", - "utf8-length": "^0.0.1", - "utf8-string-bytes": "^1.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@leichtgewicht/dns-socket": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@leichtgewicht/dns-socket/-/dns-socket-5.0.0.tgz", - "integrity": "sha512-Sbrn/OG0HTTPGSkwIDCHy8/tUI6UglIzFsMNjzZn/Na1/i5owSm6rVi9CfKNNjRcUlYEzICELYW6EoZdjwVY2A==", - "dev": true, - "dependencies": { - "@leichtgewicht/dns-packet": "^6.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "node_modules/@libp2p/components": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/components/-/components-2.1.1.tgz", - "integrity": "sha512-/XtfEdBHaNhwiaf9RowiSYnyVFIl+shuZNGQlCsJmOnn5X490TMo9GJ9PVfrTRnRn3ZXPBLS5Vp0s6++ShSv7g==", - "dev": true, - "dependencies": { - "@libp2p/interface-address-manager": "^1.0.2", - "@libp2p/interface-connection": "^3.0.1", - "@libp2p/interface-connection-manager": "^1.1.0", - "@libp2p/interface-content-routing": "^1.0.2", - "@libp2p/interface-dht": "^1.0.1", - "@libp2p/interface-metrics": "^3.0.0", - "@libp2p/interface-peer-id": "^1.0.2", - "@libp2p/interface-peer-routing": "^1.0.1", - "@libp2p/interface-peer-store": "^1.2.1", - "@libp2p/interface-pubsub": "^2.1.0", - "@libp2p/interface-registrar": "^2.0.3", - "@libp2p/interface-transport": "^1.0.3", - "@libp2p/interfaces": "^3.0.3", - "err-code": "^3.0.1", - "interface-datastore": "^7.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/connection": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@libp2p/connection/-/connection-4.0.2.tgz", @@ -919,64 +822,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/connection/node_modules/@libp2p/interface-connection": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.8.tgz", - "integrity": "sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==", - "dev": true, - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interfaces": "^3.0.0", - "@multiformats/multiaddr": "^11.0.0", - "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.1.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/connection/node_modules/@libp2p/interface-connection/node_modules/@libp2p/interface-peer-id": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", - "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", - "dev": true, - "dependencies": { - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/connection/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/connection/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/crypto": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-1.0.11.tgz", @@ -997,12 +842,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/crypto/node_modules/long": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==", - "dev": true - }, "node_modules/@libp2p/crypto/node_modules/multiformats": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", @@ -1013,51 +852,10 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/crypto/node_modules/protobufjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.0.tgz", - "integrity": "sha512-hYCqTDuII4iJ4stZqiuGCSU8xxWl5JeXYpwARGtn/tWcKCAro6h3WQz+xpsNbXW0UYqpmTQFEyFWO0G0Kjt64g==", - "dev": true, - "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/@libp2p/crypto/node_modules/protons-runtime": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-4.0.2.tgz", - "integrity": "sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw==", - "dev": true, - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.4.3" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, "node_modules/@libp2p/interface-address-manager": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@libp2p/interface-address-manager/-/interface-address-manager-1.0.3.tgz", - "integrity": "sha512-/DNGUQEXA0Ks+EOp0IVv3TsWq1H+4ZlSnyBozzNGDmufz6wG+EvUDBbwIXieHR898bj4pHfmmogK+Vwz5s5Kdw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@libp2p/interface-address-manager/-/interface-address-manager-2.0.4.tgz", + "integrity": "sha512-RcSi+z+xpVKJXq3BsfLf2rq8zb8VTAFown6uJBu02towMc0enYqqhwlV9DxcCaC573MgQ7gY2s/3XvxQdFraVA==", "dev": true, "dependencies": { "@libp2p/interfaces": "^3.0.0", @@ -1068,45 +866,17 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-address-manager/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/interface-address-manager/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interface-connection": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.1.tgz", - "integrity": "sha512-x+Ws74EhxvSym2fTQMP8/xpV3p8A3ar8yOq4dq/44HSvEMMKcuQvEq2jShVK0aXEpg1ce/KHY83FgY1zToFM2A==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.8.tgz", + "integrity": "sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==", "dev": true, "dependencies": { - "@libp2p/interface-peer-id": "^1.0.0", + "@libp2p/interface-peer-id": "^2.0.0", "@libp2p/interfaces": "^3.0.0", - "@multiformats/multiaddr": "^10.2.0", + "@multiformats/multiaddr": "^11.0.0", "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.1.1" + "uint8arraylist": "^2.1.2" }, "engines": { "node": ">=16.0.0", @@ -1114,20 +884,43 @@ } }, "node_modules/@libp2p/interface-connection-encrypter": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-2.0.2.tgz", - "integrity": "sha512-kp8CgNICXTE/j21l6j3H7y028OR+I7yqwQH1769c5A1ikh2Gl/e1rgoMcwz8HPVNyS8qtw2TEWn45th8Kn4NMQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-encrypter/-/interface-connection-encrypter-3.0.6.tgz", + "integrity": "sha512-LwyYBN/aSa3IPCe7gBxffx/vaC0rFxAXlCbx4QGaWGtg6qK80Ouj89LEDWb3HkMbecNVWaV4TEqJIM5WnAAx1Q==", "dev": true, "dependencies": { - "@libp2p/interface-peer-id": "^1.0.0", + "@libp2p/interface-peer-id": "^2.0.0", "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.1.1" + "uint8arraylist": "^2.1.2" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, + "node_modules/@libp2p/interface-connection-encrypter/node_modules/@libp2p/interface-peer-id": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", + "dev": true, + "dependencies": { + "multiformats": "^11.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@libp2p/interface-connection-encrypter/node_modules/multiformats": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", + "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@libp2p/interface-connection-manager": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/@libp2p/interface-connection-manager/-/interface-connection-manager-1.3.7.tgz", @@ -1157,25 +950,30 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-connection-manager/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", + "node_modules/@libp2p/interface-connection-manager/node_modules/multiformats": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", + "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@libp2p/interface-connection/node_modules/@libp2p/interface-peer-id": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", "dev": true, "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" + "multiformats": "^11.0.0" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-connection-manager/node_modules/multiformats": { + "node_modules/@libp2p/interface-connection/node_modules/multiformats": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", @@ -1200,16 +998,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-content-routing/node_modules/multiformats": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interface-dht": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@libp2p/interface-dht/-/interface-dht-1.0.5.tgz", @@ -1227,16 +1015,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-dht/node_modules/multiformats": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interface-keys": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/@libp2p/interface-keys/-/interface-keys-1.0.7.tgz", @@ -1288,16 +1066,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-peer-id/node_modules/multiformats": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interface-peer-info": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.8.tgz", @@ -1325,24 +1093,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-peer-info/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interface-peer-info/node_modules/multiformats": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", @@ -1421,24 +1171,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-peer-store/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interface-peer-store/node_modules/multiformats": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", @@ -1450,22 +1182,45 @@ } }, "node_modules/@libp2p/interface-pubsub": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-2.1.0.tgz", - "integrity": "sha512-X+SIqzfeCO8ZDGrFTzH9EMwMf8ojW5nk20rxv3h1sCXEdfvyJCARZ51r9UlwJcnucnHqvFChfkbubAkrr3R4Cw==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.6.tgz", + "integrity": "sha512-c1aVHAhxmEh9IpLBgJyCsMscVDl7YUeP1Iq6ILEQoWiPJhNpQqdfmqyk7ZfrzuBU19VFe1EqH0bLuLDbtfysTQ==", "dev": true, "dependencies": { "@libp2p/interface-connection": "^3.0.0", - "@libp2p/interface-peer-id": "^1.0.0", + "@libp2p/interface-peer-id": "^2.0.0", "@libp2p/interfaces": "^3.0.0", "it-pushable": "^3.0.0", - "uint8arraylist": "^2.0.0" + "uint8arraylist": "^2.1.2" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, + "node_modules/@libp2p/interface-pubsub/node_modules/@libp2p/interface-peer-id": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", + "dev": true, + "dependencies": { + "multiformats": "^11.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@libp2p/interface-pubsub/node_modules/multiformats": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", + "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@libp2p/interface-record": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@libp2p/interface-record/-/interface-record-2.0.6.tgz", @@ -1541,9 +1296,9 @@ } }, "node_modules/@libp2p/interface-stream-muxer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface-stream-muxer/-/interface-stream-muxer-2.0.2.tgz", - "integrity": "sha512-BcLsV8ZVr34G32u/w4pgSAgFju9CTuBB9OJwgX6ugasYf6LtJ0a3m5Kwddy79lvvM/gBvVv/McpCr4mPxP4WWg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@libp2p/interface-stream-muxer/-/interface-stream-muxer-3.0.5.tgz", + "integrity": "sha512-815aJ+qVswNcTEOuOUTcB+7OLzAfROyjjqoWpK0bD0P/xqTHqOQcqdaDuK02zPuAZqYq9uR3+SoBasrCg6k3zw==", "dev": true, "dependencies": { "@libp2p/interface-connection": "^3.0.0", @@ -1556,12 +1311,13 @@ } }, "node_modules/@libp2p/interface-transport": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@libp2p/interface-transport/-/interface-transport-1.0.4.tgz", - "integrity": "sha512-MOkhtykUrrbgHC1CcAFe/6QTz/BEBbHfu5sf+go6dhBlHXeHI+AcV8Fic5zTZNz71E1SRi2UR+5TVi7ORPL57Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-transport/-/interface-transport-2.1.1.tgz", + "integrity": "sha512-xDM/s8iPN/XfNqD9qNelibRMPKkhOLinXwQeNtoTZjarq+Cg6rtO6/5WBG/49hyI3+r+5jd2eykjPGQbb86NFQ==", "dev": true, "dependencies": { "@libp2p/interface-connection": "^3.0.0", + "@libp2p/interface-stream-muxer": "^3.0.0", "@libp2p/interfaces": "^3.0.0", "@multiformats/multiaddr": "^11.0.0", "it-stream-types": "^1.0.4" @@ -1571,34 +1327,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/interface-transport/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/interface-transport/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/interfaces": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.1.tgz", @@ -1648,42 +1376,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/mplex": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-5.2.4.tgz", - "integrity": "sha512-DyyDaDjSaCNT5eIgtlvyMvDejFhHEoPmICElPVHxFF0Wo7kr2CV8WLlYmwxdO7fKUZQA6NYhX5E1ZrQltCbBqg==", - "dev": true, - "dependencies": { - "@libp2p/components": "^2.0.0", - "@libp2p/interface-connection": "^3.0.1", - "@libp2p/interface-stream-muxer": "^2.0.0", - "@libp2p/logger": "^2.0.0", - "abortable-iterator": "^4.0.2", - "any-signal": "^3.0.0", - "benchmark": "^2.1.4", - "err-code": "^3.0.1", - "it-pipe": "^2.0.3", - "it-pushable": "^3.1.0", - "it-stream-types": "^1.0.4", - "rate-limiter-flexible": "^2.3.9", - "uint8arraylist": "^2.1.1", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/mplex/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/@libp2p/multistream-select": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-3.1.2.tgz", @@ -1711,16 +1403,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/multistream-select/node_modules/it-first": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.0.tgz", - "integrity": "sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/peer-collections": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-2.2.2.tgz", @@ -1771,73 +1453,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-id-factory/node_modules/long": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==", - "dev": true - }, - "node_modules/@libp2p/peer-id-factory/node_modules/multiformats": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/peer-id-factory/node_modules/protobufjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.0.tgz", - "integrity": "sha512-hYCqTDuII4iJ4stZqiuGCSU8xxWl5JeXYpwARGtn/tWcKCAro6h3WQz+xpsNbXW0UYqpmTQFEyFWO0G0Kjt64g==", - "dev": true, - "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/@libp2p/peer-id-factory/node_modules/protons-runtime": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-4.0.2.tgz", - "integrity": "sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw==", - "dev": true, - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.4.3" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, - "node_modules/@libp2p/peer-id/node_modules/multiformats": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/peer-record": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-4.0.5.tgz", @@ -1870,34 +1485,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-record/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/peer-record/node_modules/@multiformats/multiaddr/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@libp2p/peer-record/node_modules/it-all": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", @@ -1908,70 +1495,12 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-record/node_modules/long": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==", - "dev": true - }, - "node_modules/@libp2p/peer-record/node_modules/multiformats": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/peer-record/node_modules/protobufjs": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.0.tgz", - "integrity": "sha512-hYCqTDuII4iJ4stZqiuGCSU8xxWl5JeXYpwARGtn/tWcKCAro6h3WQz+xpsNbXW0UYqpmTQFEyFWO0G0Kjt64g==", - "dev": true, - "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/@libp2p/peer-record/node_modules/protons-runtime": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-4.0.2.tgz", - "integrity": "sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw==", - "dev": true, - "dependencies": { - "protobufjs": "^7.0.0", - "uint8arraylist": "^2.4.3" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - }, - "peerDependencies": { - "uint8arraylist": "^2.3.2" - } - }, "node_modules/@libp2p/peer-store": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-3.1.5.tgz", - "integrity": "sha512-tChz3TqkQj1t0+yugWroeGhHbX+q7e1goVRJQbli4sZ1j5NEAQlxHpPq2yDOOCB5RVvX0oZ8b32999ILOJXbvA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-5.0.1.tgz", + "integrity": "sha512-TeHxy5Qv+KzajbEZH1wdE6ubk8G7IUyU+Dyl4W06unZpxq6rD+OTnCkvYuEdglROUxmvSBEkFqJnxV6xgVBWJA==", "dev": true, "dependencies": { - "@libp2p/components": "^2.0.0", "@libp2p/interface-peer-id": "^1.0.4", "@libp2p/interface-peer-info": "^1.0.3", "@libp2p/interface-peer-store": "^1.2.2", @@ -1983,101 +1512,42 @@ "@multiformats/multiaddr": "^11.0.0", "err-code": "^3.0.1", "interface-datastore": "^7.0.0", - "it-all": "^1.0.6", - "it-filter": "^1.0.3", - "it-foreach": "^0.1.1", - "it-map": "^1.0.6", + "it-all": "^2.0.0", + "it-filter": "^2.0.0", + "it-foreach": "^1.0.0", + "it-map": "^2.0.0", "it-pipe": "^2.0.3", "mortice": "^3.0.0", - "multiformats": "^9.6.3", - "protons-runtime": "^3.1.0", + "multiformats": "^10.0.0", + "protons-runtime": "^4.0.1", "uint8arraylist": "^2.1.1", - "uint8arrays": "^3.1.0" + "uint8arrays": "^4.0.2" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", + "node_modules/@libp2p/peer-store/node_modules/it-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", + "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==", "dev": true, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, - "node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/node_modules/uint8arrays": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", - "dev": true, - "dependencies": { - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/peer-store/node_modules/it-filter": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", - "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==", - "dev": true - }, - "node_modules/@libp2p/peer-store/node_modules/it-foreach": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/it-foreach/-/it-foreach-0.1.1.tgz", - "integrity": "sha512-ZLxL651N5w5SL/EIIcrXELgYrrkuEKj/TErG93C4lr6lNZziKsf338ljSG85PjQfu7Frg/1wESl5pLrPSFXI9g==", - "dev": true - }, - "node_modules/@libp2p/peer-store/node_modules/it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", - "dev": true - }, - "node_modules/@libp2p/peer-store/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/@libp2p/pubsub": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-3.1.3.tgz", - "integrity": "sha512-lo3Ay3NHdll2Wt0kzs2RNyWagyECGDx7d4dyKwGQgzhZyoy3FnYQW8vbMLyLLX1FV9DSiWEbFsBxX2MKJXUMyQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/pubsub/-/pubsub-5.0.1.tgz", + "integrity": "sha512-pQNpUC6KWDKCm7A9bv4tT2t3a7a4IpJdfzHsRBjAaKEcIRgP/s/q0Xn8ySdcggg1fvdjMp5VY6NfuuRbSCu9LA==", "dev": true, "dependencies": { - "@libp2p/components": "^2.0.0", "@libp2p/crypto": "^1.0.0", "@libp2p/interface-connection": "^3.0.1", "@libp2p/interface-peer-id": "^1.0.2", - "@libp2p/interface-pubsub": "^2.0.0", + "@libp2p/interface-pubsub": "^3.0.0", "@libp2p/interface-registrar": "^2.0.0", "@libp2p/interfaces": "^3.0.2", "@libp2p/logger": "^2.0.0", @@ -2090,66 +1560,16 @@ "it-length-prefixed": "^8.0.2", "it-pipe": "^2.0.3", "it-pushable": "^3.0.0", - "multiformats": "^9.6.3", + "multiformats": "^10.0.0", "p-queue": "^7.2.0", "uint8arraylist": "^2.0.0", - "uint8arrays": "^3.0.0" + "uint8arrays": "^4.0.2" }, "engines": { "node": ">=16.0.0", "npm": ">=7.0.0" } }, - "node_modules/@libp2p/pubsub/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/pubsub/node_modules/@multiformats/multiaddr/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/pubsub/node_modules/@multiformats/multiaddr/node_modules/uint8arrays": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", - "dev": true, - "dependencies": { - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/pubsub/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/@libp2p/topology": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@libp2p/topology/-/topology-3.0.2.tgz", @@ -2213,160 +1633,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@libp2p/utils/node_modules/@libp2p/interface-connection": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.8.tgz", - "integrity": "sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==", - "dev": true, - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interfaces": "^3.0.0", - "@multiformats/multiaddr": "^11.0.0", - "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.1.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/utils/node_modules/@libp2p/interface-peer-id": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", - "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", - "dev": true, - "dependencies": { - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/utils/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/utils/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/websockets": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-3.0.4.tgz", - "integrity": "sha512-Xu2ENTcc05D+QALo7ayVlMJjKPUoABToUve1JQQmfH2Pb6ck1fACmjLTTpumoRDNm6UZTbkW1k8SgUmzg57iiw==", - "dev": true, - "dependencies": { - "@libp2p/interface-connection": "^3.0.2", - "@libp2p/interface-transport": "^1.0.4", - "@libp2p/interfaces": "^3.0.3", - "@libp2p/logger": "^2.0.0", - "@libp2p/utils": "^3.0.2", - "@multiformats/mafmt": "^11.0.3", - "@multiformats/multiaddr": "^11.0.0", - "@multiformats/multiaddr-to-uri": "^9.0.2", - "abortable-iterator": "^4.0.2", - "err-code": "^3.0.1", - "it-ws": "^5.0.0", - "p-defer": "^4.0.0", - "p-timeout": "^6.0.0", - "wherearewe": "^2.0.1" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/@libp2p/interface-connection": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.8.tgz", - "integrity": "sha512-JiI9xVPkiSgW9hkvHWA4e599OLPNSACrpgtx6UffHG9N+Jpt0IOmM4iLic8bSIYkZJBOQFG1Sv/gVNB98Uq0Nw==", - "dev": true, - "dependencies": { - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interfaces": "^3.0.0", - "@multiformats/multiaddr": "^11.0.0", - "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.1.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/@libp2p/interface-peer-id": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", - "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", - "dev": true, - "dependencies": { - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/p-timeout": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.0.tgz", - "integrity": "sha512-s0y6Le9QYGELLzNpFIt6h8B2DHTVUDLStvxtvRMSKNKeuNVVWby2dZ+pIJpW4/pWr5a3s8W85wBNtc0ZA+lzCg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@multiformats/mafmt": { "version": "11.0.3", "resolved": "https://registry.npmjs.org/@multiformats/mafmt/-/mafmt-11.0.3.tgz", @@ -2380,66 +1646,7 @@ "npm": ">=7.0.0" } }, - "node_modules/@multiformats/mafmt/node_modules/@multiformats/multiaddr": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", - "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", - "dev": true, - "dependencies": { - "@chainsafe/is-ip": "^2.0.1", - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "multiformats": "^11.0.0", - "uint8arrays": "^4.0.2", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@multiformats/mafmt/node_modules/multiformats": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", - "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/@multiformats/multiaddr": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-10.5.0.tgz", - "integrity": "sha512-u4qHMyv25iAqCb9twJROoN1M8UDm8bureOCIzwz03fVhwJzV6DpgH1eFz9UAzDn7CpSShQ9SLS5MiC4hJjTfig==", - "dev": true, - "dependencies": { - "dns-over-http-resolver": "^2.1.0", - "err-code": "^3.0.1", - "is-ip": "^5.0.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@multiformats/multiaddr-to-uri": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-9.0.2.tgz", - "integrity": "sha512-vrWmfFadmix5Ab9l//oRQdQ7O3J5bGJpJRMSm21bHlQB0XV4xtNU6vMZBVXeu3Su79LgflEp37cjTFE3yKf3Hw==", - "dev": true, - "dependencies": { - "@multiformats/multiaddr": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@multiformats/multiaddr-to-uri/node_modules/@multiformats/multiaddr": { "version": "11.3.0", "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.3.0.tgz", "integrity": "sha512-Inrmp986nHe92pgYyOWNVnB8QDmYe5EhR/7TStc46O4YEm87pbc1i4DWiTlEJ6tOpL8V6IBH5ol8BZsIaN+Tww==", @@ -2457,7 +1664,7 @@ "npm": ">=7.0.0" } }, - "node_modules/@multiformats/multiaddr-to-uri/node_modules/multiformats": { + "node_modules/@multiformats/multiaddr/node_modules/multiformats": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.1.tgz", "integrity": "sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA==", @@ -2467,15 +1674,6 @@ "npm": ">=7.0.0" } }, - "node_modules/@multiformats/multiaddr/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/@noble/ed25519": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.1.tgz", @@ -2488,6 +1686,18 @@ } ] }, + "node_modules/@noble/hashes": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.1.5.tgz", + "integrity": "sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, "node_modules/@noble/secp256k1": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", @@ -3274,6 +2484,203 @@ "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", "dev": true }, + "node_modules/@waku/byte-utils": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@waku/byte-utils/-/byte-utils-0.0.2.tgz", + "integrity": "sha512-CnInExxFX48ocn1wqjdg7B+TCGsi8mjpiek4wRIbwmk96IrsuwMtT0PVtTyKKQyU7MqS4ou0Hrz51nnsDFig2A==", + "dev": true, + "dependencies": { + "uint8arrays": "^4.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@waku/core": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@waku/core/-/core-0.0.10.tgz", + "integrity": "sha512-PyQYO41jwT8dEdkyJ+TSjXc4/4S3fsHXn47l1uITa+vkQ2y2uoSiKXpl1eF+hofqJAxcMn7Mh+Ul3UTAWdGC+g==", + "dev": true, + "dependencies": { + "@chainsafe/libp2p-gossipsub": "^5.2.1", + "@libp2p/interface-connection": "^3.0.3", + "@libp2p/interface-peer-discovery": "^1.0.0", + "@libp2p/interface-peer-id": "^1.0.6", + "@libp2p/interface-peer-info": "^1.0.4", + "@libp2p/interface-peer-store": "^1.2.3", + "@libp2p/interface-pubsub": "^3.0.1", + "@libp2p/interface-registrar": "^2.0.4", + "@libp2p/interfaces": "^3.0.4", + "@libp2p/peer-id": "^1.1.10", + "@multiformats/multiaddr": "^11.0.6", + "@noble/hashes": "^1.1.3", + "@waku/byte-utils": "*", + "@waku/interfaces": "*", + "@waku/libp2p-utils": "*", + "@waku/peer-exchange": "*", + "@waku/proto": "*", + "debug": "^4.3.4", + "it-all": "^1.0.6", + "it-length-prefixed": "^8.0.2", + "it-pipe": "^2.0.4", + "libp2p": "0.40.0", + "p-event": "^5.0.1", + "uint8arraylist": "^2.3.2", + "uint8arrays": "^4.0.2", + "uuid": "^9.0.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@multiformats/multiaddr": "^11.0.6" + }, + "peerDependenciesMeta": { + "@multiformats/multiaddr": { + "optional": true + } + } + }, + "node_modules/@waku/enr": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@waku/enr/-/enr-0.0.5.tgz", + "integrity": "sha512-6S5vYRga6bnQo+eE0kBIXXJF9qz+rpjuPHRY0SDztwB4/otFF02TK/w9L3Z6Zc4LrU+Hl/CE5yD+wrCEJXQKKw==", + "dev": true, + "dependencies": { + "@ethersproject/rlp": "^5.5.0", + "@libp2p/crypto": "^1.0.4", + "@libp2p/interface-peer-id": "^1.0.2", + "@libp2p/peer-id": "^1.1.10", + "@multiformats/multiaddr": "^11.0.6", + "@noble/secp256k1": "^1.3.4", + "@waku/byte-utils": "*", + "debug": "^4.3.4", + "js-sha3": "^0.8.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@waku/interfaces": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@waku/interfaces/-/interfaces-0.0.7.tgz", + "integrity": "sha512-bccey2of+Id5v2gWriKMm5mXSGvImGZ5PQUvsabx8T/0A1/kiOnRFSHuujeMtSi14z318Se7xXIfOYFmXbdH5w==", + "dev": true, + "dependencies": { + "@chainsafe/libp2p-gossipsub": "^5.2.1", + "@libp2p/interface-connection": "^3.0.2", + "@libp2p/interface-peer-id": "^1.0.5", + "@libp2p/interface-peer-store": "^1.2.3", + "@multiformats/multiaddr": "^11.0.6", + "libp2p": "0.40.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@waku/libp2p-utils": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@waku/libp2p-utils/-/libp2p-utils-0.0.3.tgz", + "integrity": "sha512-E3QIGMwtISQu3TJws3JSocM70/yQrohbd4+2DzkPmu2+7X0EYMRRhn4qkoFK6R2egj0g6ibNsg/oyUp1WOLLFQ==", + "dev": true, + "dependencies": { + "@libp2p/interface-connection": "^3.0.3", + "@libp2p/interface-peer-id": "^1.0.6", + "@libp2p/interface-peer-info": "^1.0.1", + "@libp2p/interface-peer-store": "^1.2.3", + "@libp2p/peer-id": "^1.1.10", + "@multiformats/multiaddr": "^11.0.6", + "debug": "^4.3.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@waku/peer-exchange": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@waku/peer-exchange/-/peer-exchange-0.0.3.tgz", + "integrity": "sha512-D1/A0Bk0utPJaxDweWBg3e8J7mF/sScuGEqfsveCwLtsFtoBDvZwJ9fxFv08Ht8oB5LzCfzDz4teiIJwntvO0w==", + "dev": true, + "dependencies": { + "@libp2p/interface-connection": "^3.0.3", + "@libp2p/interface-peer-discovery": "^1.0.0", + "@libp2p/interface-peer-id": "^1.0.6", + "@libp2p/interface-peer-info": "^1.0.4", + "@libp2p/interface-peer-store": "^1.2.3", + "@waku/core": "*", + "@waku/enr": "*", + "@waku/interfaces": "*", + "@waku/libp2p-utils": "*", + "@waku/proto": "*", + "debug": "^4.3.4", + "it-all": "^1.0.6", + "it-length-prefixed": "^8.0.2", + "it-pipe": "^2.0.4", + "uint8arraylist": "^2.3.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@waku/proto": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@waku/proto/-/proto-0.0.2.tgz", + "integrity": "sha512-5+hERUscSRbERu2BkTqvSR4Jl3YMvtPegQ/YZbhwBTk5MBS23kGzMBxf1MdQ3Sfy5TiU7yc2Q5G5vItvPkEOUw==", + "dev": true, + "dependencies": { + "protons-runtime": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@waku/proto/node_modules/long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==", + "dev": true + }, + "node_modules/@waku/proto/node_modules/protobufjs": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.0.tgz", + "integrity": "sha512-hYCqTDuII4iJ4stZqiuGCSU8xxWl5JeXYpwARGtn/tWcKCAro6h3WQz+xpsNbXW0UYqpmTQFEyFWO0G0Kjt64g==", + "dev": true, + "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/@waku/proto/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==", + "dev": true, + "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/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -3831,16 +3238,6 @@ "node": "^4.5.0 || >= 5.9" } }, - "node_modules/benchmark": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", - "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", - "dev": true, - "dependencies": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4061,12 +3458,6 @@ "node": ">= 0.8" } }, - "node_modules/bytes.js": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/bytes.js/-/bytes.js-0.0.2.tgz", - "integrity": "sha512-KrLm4hv5Qs9w6b0U7h1bCdqxrsf+e9QMsfHeyQFzAz94x/5Aqa+FTEUSNBtt5d2VuV3Hfiea3c4ti74RZDDYkg==", - "dev": true - }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -4102,9 +3493,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001448", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001448.tgz", - "integrity": "sha512-tq2YI+MJnooG96XpbTRYkBxLxklZPOdLmNIOdIhvf7SNJan6u5vCKum8iT7ZfCt70m1GPkuC7P3TtX6UuhupuA==", + "version": "1.0.30001449", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz", + "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==", "dev": true, "funding": [ { @@ -4307,21 +3698,6 @@ "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==", - "dev": true, - "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", @@ -4451,18 +3827,6 @@ "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==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cookie": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", @@ -4789,16 +4153,6 @@ "npm": ">=7.0.0" } }, - "node_modules/datastore-core/node_modules/it-drain": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==", - "dev": true, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", @@ -4993,22 +4347,6 @@ "npm": ">=7.0.0" } }, - "node_modules/dns-query": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/dns-query/-/dns-query-0.11.2.tgz", - "integrity": "sha512-zF8qxQpqCB467o4A63DLpQClo77H642JEKMx0Ra9GFww7Rx0234Fo8NoG0LBoSBZxamWkXfLxhzDG19bTBHvXQ==", - "dev": true, - "dependencies": { - "@leichtgewicht/base64-codec": "^1.0.0", - "@leichtgewicht/dns-packet": "^6.0.2", - "@leichtgewicht/dns-socket": "^5.0.0", - "@leichtgewicht/ip-codec": "^2.0.4", - "utf8-codec": "^1.0.0" - }, - "bin": { - "dns-query": "bin/dns-query" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -6274,18 +5612,6 @@ "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==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/function.prototype.name": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", @@ -6735,12 +6061,6 @@ "he": "bin/he" } }, - "node_modules/hi-base32": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/hi-base32/-/hi-base32-0.5.1.tgz", - "integrity": "sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA==", - "dev": true - }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -7205,19 +6525,24 @@ } }, "node_modules/is-ip": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.0.tgz", - "integrity": "sha512-uhmKwcdWJ1nTmBdoBxdHilfJs4qdLBIvVHKRels2+UCZmfcfefuQWziadaYLpN7t/bUrJOjJHv+R1di1q7Q1HQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", "dev": true, "dependencies": { - "ip-regex": "^5.0.0", - "super-regex": "^0.2.0" + "ip-regex": "^4.0.0" }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" + } + }, + "node_modules/is-ip/node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/is-loopback-addr": { @@ -7326,18 +6651,6 @@ "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==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -7459,15 +6772,6 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/iso-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", - "dev": true, - "engines": { - "node": ">=12" - } - }, "node_modules/it-all": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", @@ -7475,10 +6779,14 @@ "dev": true }, "node_modules/it-drain": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", - "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", + "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } }, "node_modules/it-filter": { "version": "2.0.0", @@ -7491,10 +6799,14 @@ } }, "node_modules/it-first": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.0.tgz", + "integrity": "sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } }, "node_modules/it-foreach": { "version": "1.0.0", @@ -7577,22 +6889,6 @@ "npm": ">=7.0.0" } }, - "node_modules/it-pb-stream": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/it-pb-stream/-/it-pb-stream-2.0.3.tgz", - "integrity": "sha512-nuJzftDqk52gZmVD6T0sIKggXMhBkLSAFCD1OecxqGTVwk2wuDYY0ZHpcXZJuHty3kIuLY4xlWZrnDH9efV4YA==", - "dev": true, - "dependencies": { - "it-handshake": "^4.1.2", - "it-length-prefixed": "^8.0.2", - "it-stream-types": "^1.0.4", - "uint8arraylist": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/it-pipe": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/it-pipe/-/it-pipe-2.0.5.tgz", @@ -7633,12 +6929,26 @@ } }, "node_modules/it-sort": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-1.0.1.tgz", - "integrity": "sha512-c+C48cP7XMMebB9irLrJs2EmpLILId8NYSojqAqN8etE8ienx0azBgaKvZHYH1DkerqIul0Fl2FqISu2BZgTEQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-2.0.0.tgz", + "integrity": "sha512-yeAE97b5PEjCrWFUiNyR90eJdGslj8FB3cjT84rsc+mzx9lxPyR2zJkYB9ZOJoWE5MMebxqcQCLRT3OSlzo7Zg==", "dev": true, "dependencies": { - "it-all": "^1.0.6" + "it-all": "^2.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/it-sort/node_modules/it-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", + "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/it-stream-types": { @@ -7661,23 +6971,6 @@ "npm": ">=7.0.0" } }, - "node_modules/it-ws": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/it-ws/-/it-ws-5.0.6.tgz", - "integrity": "sha512-TEEJQaGtkxgP/nGVq8dq48nPT85Afu8kwwvtDFLj4rQLWRhZcb26RWdXLdn9qhXkWPiWbK5H7JWBW1Bebj/SuQ==", - "dev": true, - "dependencies": { - "event-iterator": "^2.0.0", - "iso-url": "^1.1.2", - "it-stream-types": "^1.0.2", - "uint8arrays": "^4.0.2", - "ws": "^8.4.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -7734,55 +7027,6 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "node_modules/js-waku": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/js-waku/-/js-waku-0.30.0.tgz", - "integrity": "sha512-CcPsPXbuIIoaMwRU/jw+U4pVCqRPbt4h/tjpk4skXnlTLTSGDOkfpvQ45Aj5tS0yXgwKdAjOMziV14OwfeZw/w==", - "dev": true, - "dependencies": { - "@chainsafe/libp2p-gossipsub": "^4.1.1", - "@chainsafe/libp2p-noise": "^8.0.1", - "@ethersproject/rlp": "^5.5.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/interface-pubsub": "^2.0.1", - "@libp2p/interfaces": "^3.0.2", - "@libp2p/mplex": "^5.1.1", - "@libp2p/peer-id": "^1.1.10", - "@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": "^8.0.2", - "it-pipe": "^2.0.4", - "js-sha3": "^0.8.0", - "libp2p": "0.38.0", - "p-event": "^5.0.1", - "protons-runtime": "^3.1.0", - "uint8arraylist": "^2.3.2", - "uint8arrays": "^3.0.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/js-waku/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -8009,42 +7253,42 @@ } }, "node_modules/libp2p": { - "version": "0.38.0", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.38.0.tgz", - "integrity": "sha512-Wi/ptR69M5LuOrH8hwno98Dg/YeaDXmsyN2cd3vx/yuaEdcgz1RPdGtxxpyVP6J63eZbH07MYTvQcQHH5VhTkA==", + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.40.0.tgz", + "integrity": "sha512-AeLaA+8KIhUhjpXZcs20+Pnf2wIBp+zdSYPD1IgGCF0PlMbTdCvaIqhPzpTSd3+e5k7NZlgpd/BvCOLgQbfm5Q==", "dev": true, "dependencies": { "@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-encrypter": "^2.0.1", + "@libp2p/connection": "^4.0.2", + "@libp2p/crypto": "^1.0.4", + "@libp2p/interface-address-manager": "^2.0.0", + "@libp2p/interface-connection": "^3.0.2", + "@libp2p/interface-connection-encrypter": "^3.0.1", + "@libp2p/interface-connection-manager": "^1.1.1", "@libp2p/interface-content-routing": "^1.0.2", "@libp2p/interface-dht": "^1.0.1", "@libp2p/interface-metrics": "^3.0.0", "@libp2p/interface-peer-discovery": "^1.0.1", "@libp2p/interface-peer-id": "^1.0.4", - "@libp2p/interface-peer-info": "^1.0.2", + "@libp2p/interface-peer-info": "^1.0.3", "@libp2p/interface-peer-routing": "^1.0.1", - "@libp2p/interface-peer-store": "^1.2.1", - "@libp2p/interface-pubsub": "^2.0.1", + "@libp2p/interface-peer-store": "^1.2.2", + "@libp2p/interface-pubsub": "^3.0.0", "@libp2p/interface-registrar": "^2.0.3", - "@libp2p/interface-stream-muxer": "^2.0.2", - "@libp2p/interface-transport": "^1.0.3", + "@libp2p/interface-stream-muxer": "^3.0.0", + "@libp2p/interface-transport": "^2.0.0", "@libp2p/interfaces": "^3.0.3", "@libp2p/logger": "^2.0.1", "@libp2p/multistream-select": "^3.0.0", "@libp2p/peer-collections": "^2.0.0", "@libp2p/peer-id": "^1.1.15", "@libp2p/peer-id-factory": "^1.0.18", - "@libp2p/peer-record": "^4.0.2", - "@libp2p/peer-store": "^3.1.3", + "@libp2p/peer-record": "^4.0.3", + "@libp2p/peer-store": "^5.0.0", "@libp2p/tracked-map": "^2.0.1", - "@libp2p/utils": "^3.0.1", + "@libp2p/utils": "^3.0.2", "@multiformats/mafmt": "^11.0.2", - "@multiformats/multiaddr": "^10.3.3", + "@multiformats/multiaddr": "^11.0.0", "abortable-iterator": "^4.0.2", "any-signal": "^3.0.0", "datastore-core": "^8.0.1", @@ -8052,34 +7296,35 @@ "events": "^3.3.0", "hashlru": "^2.3.0", "interface-datastore": "^7.0.0", - "it-all": "^1.0.6", - "it-drain": "^1.0.5", - "it-filter": "^1.0.3", - "it-first": "^1.0.6", - "it-foreach": "^0.1.1", + "it-all": "^2.0.0", + "it-drain": "^2.0.0", + "it-filter": "^2.0.0", + "it-first": "^2.0.0", + "it-foreach": "^1.0.0", "it-handshake": "^4.1.2", "it-length-prefixed": "^8.0.2", - "it-map": "^1.0.6", - "it-merge": "^1.0.3", + "it-map": "^2.0.0", + "it-merge": "^2.0.0", "it-pair": "^2.0.2", "it-pipe": "^2.0.3", - "it-sort": "^1.0.1", + "it-sort": "^2.0.0", "it-stream-types": "^1.0.4", "merge-options": "^3.0.4", - "multiformats": "^9.6.3", + "multiformats": "^10.0.0", "mutable-proxy": "^1.0.0", "node-forge": "^1.3.1", "p-fifo": "^1.0.0", "p-retry": "^5.0.0", "p-settle": "^5.0.0", "private-ip": "^2.3.3", - "protons-runtime": "^3.0.1", + "protons-runtime": "^4.0.1", + "rate-limiter-flexible": "^2.3.11", "retimer": "^3.0.0", "sanitize-filename": "^1.6.3", "set-delayed-interval": "^1.0.0", "timeout-abort-controller": "^3.0.0", "uint8arraylist": "^2.3.2", - "uint8arrays": "^3.0.0", + "uint8arrays": "^4.0.2", "wherearewe": "^2.0.0", "xsalsa20": "^1.1.0" }, @@ -8097,52 +7342,14 @@ "node": ">=8" } }, - "node_modules/libp2p/node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "node_modules/libp2p/node_modules/it-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", + "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==", "dev": true, - "dependencies": { - "ip-regex": "^4.0.0" - }, "engines": { - "node": ">=8" - } - }, - "node_modules/libp2p/node_modules/it-filter": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", - "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==", - "dev": true - }, - "node_modules/libp2p/node_modules/it-foreach": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/it-foreach/-/it-foreach-0.1.1.tgz", - "integrity": "sha512-ZLxL651N5w5SL/EIIcrXELgYrrkuEKj/TErG93C4lr6lNZziKsf338ljSG85PjQfu7Frg/1wESl5pLrPSFXI9g==", - "dev": true - }, - "node_modules/libp2p/node_modules/it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", - "dev": true - }, - "node_modules/libp2p/node_modules/it-merge": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-1.0.4.tgz", - "integrity": "sha512-DcL6GksTD2HQ7+5/q3JznXaLNfwjyG3/bObaF98da+oHfUiPmdo64oJlT9J8R8G5sJRU7thwaY5zxoAKCn7FJw==", - "dev": true, - "dependencies": { - "it-pushable": "^1.4.0" - } - }, - "node_modules/libp2p/node_modules/it-pushable": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-1.4.2.tgz", - "integrity": "sha512-vVPu0CGRsTI8eCfhMknA7KIBqqGFolbRx+1mbQ6XuZ7YCz995Qj7L4XUviwClFunisDq96FdxzF5FnAbw15afg==", - "dev": true, - "dependencies": { - "fast-fifo": "^1.0.0" + "node": ">=16.0.0", + "npm": ">=7.0.0" } }, "node_modules/libp2p/node_modules/private-ip": { @@ -8157,15 +7364,6 @@ "netmask": "^2.0.2" } }, - "node_modules/libp2p/node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "dev": true, - "dependencies": { - "multiformats": "^9.4.2" - } - }, "node_modules/lilconfig": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", @@ -9029,10 +8227,14 @@ "dev": true }, "node_modules/multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", - "dev": true + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } }, "node_modules/mutable-proxy": { "version": "1.0.0", @@ -9976,12 +9178,6 @@ "node": ">=8" } }, - "node_modules/platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", - "dev": true - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10078,13 +9274,13 @@ } }, "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==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-4.0.2.tgz", + "integrity": "sha512-R4N6qKHgz8T2Gl45CTcZfITzXPQY9ym8lbLb4VyFMS4ag1KusCRZwkQXTBRhxQ+93ck3K3aDhK1wIk98AMtNyw==", "dev": true, "dependencies": { "protobufjs": "^7.0.0", - "uint8arraylist": "^2.3.2" + "uint8arraylist": "^2.4.3" }, "engines": { "node": ">=16.0.0", @@ -11209,23 +10405,6 @@ "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==", - "dev": true, - "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", @@ -11382,21 +10561,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "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==", - "dev": true, - "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", @@ -11934,30 +11098,6 @@ "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", "dev": true }, - "node_modules/utf8-bytes": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/utf8-bytes/-/utf8-bytes-0.0.1.tgz", - "integrity": "sha512-GifWmJAx2qAXT+lZLhbkWhBsy7pr6xWHiPWlVToDiELdWgZwt4Ogjf9tlgvKuALzTFR/d+EPQQI9ogJV3957Jg==", - "dev": true - }, - "node_modules/utf8-codec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utf8-codec/-/utf8-codec-1.0.0.tgz", - "integrity": "sha512-S/QSLezp3qvG4ld5PUfXiH7mCFxLKjSVZRFkB3DOjgwHuJPFDkInAXc/anf7BAbHt/D38ozDzL+QMZ6/7gsI6w==", - "dev": true - }, - "node_modules/utf8-length": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/utf8-length/-/utf8-length-0.0.1.tgz", - "integrity": "sha512-j/XH2ftofBiobnyApxlN/J6j/ixwT89WEjDcjT66d2i0+GIn9RZfzt8lpEXXE4jUe4NsjBSUq70kS2euQ4nnMw==", - "dev": true - }, - "node_modules/utf8-string-bytes": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/utf8-string-bytes/-/utf8-string-bytes-1.0.3.tgz", - "integrity": "sha512-i/I1Omf6lADjVBlwJpQifZOePV15snHny9w04+lc71+3t8PyWuLC/7clyoOSHOBNGXFe2PAGxmTiZ+Z4HWsPyw==", - "dev": true - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -11974,9 +11114,9 @@ } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "dev": true, "bin": { "uuid": "dist/bin/uuid" diff --git a/package.json b/package.json index 54c5923..1c93da4 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,9 @@ "gh-pages": "^3.2.3", "husky": "^7.0.4", "ignore-loader": "^0.1.2", - "js-waku": "^0.30.0", + "@waku/core": "^0.0.10", + "@waku/interfaces": "^0.0.7", + "@waku/proto": "^0.0.2", "jsdom": "^19.0.0", "jsdom-global": "^3.0.2", "karma": "^6.3.12", diff --git a/src/codec.ts b/src/codec.ts index fe6a28f..94d9219 100644 --- a/src/codec.ts +++ b/src/codec.ts @@ -1,7 +1,5 @@ import debug from "debug"; -import { proto_message } from "js-waku"; -import { Decoder, Encoder, Message, ProtoMessage } from "js-waku/lib/interfaces"; -import { MessageV0 } from "js-waku/lib/waku_message/version_0"; +import { DecodedMessage, Decoder, Encoder, proto } from "@waku/core/lib/message/version_0"; import { HandshakeResult, HandshakeStepResult } from "./handshake.js"; import { PayloadV2 } from "./payload.js"; @@ -16,7 +14,7 @@ const version = 2; /** * Used internally in the pairing object to represent a handshake message */ -export class NoiseHandshakeMessage extends MessageV0 implements Message { +export class NoiseHandshakeMessage extends DecodedMessage { get payloadV2(): PayloadV2 { if (!this.payload) throw new Error("no payload available"); return PayloadV2.deserialize(this.payload); @@ -27,28 +25,13 @@ export class NoiseHandshakeMessage extends MessageV0 implements Message { * Used in the pairing object for encoding the messages exchanged * during the handshake process */ -export class NoiseHandshakeEncoder implements Encoder { +export class NoiseHandshakeEncoder extends Encoder { /** * @param contentTopic content topic on which the encoded WakuMessages will be sent * @param hsStepResult the result of a step executed while performing the handshake process */ - constructor(public contentTopic: string, private hsStepResult: HandshakeStepResult) {} - - async toWire(message: Partial): Promise { - const protoMessage = await this.toProtoObj(message); - if (!protoMessage) return; - return proto_message.WakuMessage.encode(protoMessage); - } - - async toProtoObj(message: Partial): Promise { - const timestamp = message.timestamp ?? new Date(); - return { - rateLimitProof: undefined, - payload: this.hsStepResult.payload2.serialize(), - version: version, - contentTopic: this.contentTopic, - timestamp: BigInt(timestamp.valueOf()) * OneMillion, - }; + constructor(public contentTopic: string, private hsStepResult: HandshakeStepResult) { + super(contentTopic); } } @@ -56,21 +39,15 @@ export class NoiseHandshakeEncoder implements Encoder { * Used in the pairing object for decoding the messages exchanged * during the handshake process */ -export class NoiseHandshakeDecoder implements Decoder { +export class NoiseHandshakeDecoder extends Decoder { /** * @param contentTopic content topic on which the encoded WakuMessages were sent */ - constructor(public contentTopic: string) {} - - fromWireToProtoObj(bytes: Uint8Array): Promise { - const protoMessage = proto_message.WakuMessage.decode(bytes); - log("Message decoded", protoMessage); - // TODO(@weboko): remove type casting when released - // https://github.com/waku-org/js-waku/pull/1136 - return Promise.resolve(protoMessage as ProtoMessage); + constructor(public contentTopic: string) { + super(contentTopic); } - async fromProtoObj(proto: ProtoMessage): Promise { + async fromProtoObj(proto: proto.WakuMessage): Promise { // https://github.com/status-im/js-waku/issues/921 if (proto.version === undefined) { proto.version = 0; @@ -94,18 +71,7 @@ export class NoiseHandshakeDecoder implements Decoder { * Represents a secure message. These are messages that are transmitted * after a successful handshake is performed. */ -export class NoiseSecureMessage extends MessageV0 implements Message { - private readonly _decodedPayload: Uint8Array; - - constructor(proto: proto_message.WakuMessage, decodedPayload: Uint8Array) { - super(proto); - this._decodedPayload = decodedPayload; - } - - get payload(): Uint8Array { - return this._decodedPayload; - } -} +export class NoiseSecureMessage extends DecodedMessage {} /** * js-waku encoder for secure messages. After a handshake is successful, a @@ -113,37 +79,13 @@ export class NoiseSecureMessage extends MessageV0 implements Message { * codec will be encrypted with the cipherstates and message nametags that were * created after a handshake is complete */ -export class NoiseSecureTransferEncoder implements Encoder { +export class NoiseSecureTransferEncoder extends Encoder { /** * @param contentTopic content topic on which the encoded WakuMessages were sent * @param hsResult handshake result obtained after the handshake is successful */ - constructor(public contentTopic: string, private hsResult: HandshakeResult) {} - - async toWire(message: Partial): Promise { - const protoMessage = await this.toProtoObj(message); - if (!protoMessage) return; - return proto_message.WakuMessage.encode(protoMessage); - } - - async toProtoObj(message: Partial): Promise { - const timestamp = message.timestamp ?? new Date(); - if (!message.payload) { - log("No payload to encrypt, skipping: ", message); - return; - } - - const preparedPayload = this.hsResult.writeMessage(message.payload); - - const payload = preparedPayload.serialize(); - - return { - payload, - rateLimitProof: undefined, - version: version, - contentTopic: this.contentTopic, - timestamp: BigInt(timestamp.valueOf()) * OneMillion, - }; + constructor(public contentTopic: string, private hsResult: HandshakeResult) { + super(contentTopic); } } @@ -153,22 +95,16 @@ export class NoiseSecureTransferEncoder implements Encoder { * messages with the cipherstates and message nametags that were created after a * handshake is complete */ -export class NoiseSecureTransferDecoder implements Decoder { +export class NoiseSecureTransferDecoder extends Decoder { /** * @param contentTopic content topic on which the encoded WakuMessages were sent * @param hsResult handshake result obtained after the handshake is successful */ - constructor(public contentTopic: string, private hsResult: HandshakeResult) {} - - fromWireToProtoObj(bytes: Uint8Array): Promise { - const protoMessage = proto_message.WakuMessage.decode(bytes); - log("Message decoded", protoMessage); - // TODO(@weboko): remove type casting when released - // https://github.com/waku-org/js-waku/pull/1136 - return Promise.resolve(protoMessage as ProtoMessage); + constructor(public contentTopic: string, private hsResult: HandshakeResult) { + super(contentTopic); } - async fromProtoObj(proto: ProtoMessage): Promise { + async fromProtoObj(proto: proto.WakuMessage): Promise { // https://github.com/status-im/js-waku/issues/921 if (proto.version === undefined) { proto.version = 0; @@ -187,7 +123,7 @@ export class NoiseSecureTransferDecoder implements Decoder { try { const payloadV2 = PayloadV2.deserialize(proto.payload); const decryptedPayload = this.hsResult.readMessage(payloadV2); - return new NoiseSecureMessage(proto, decryptedPayload); + return new NoiseSecureMessage(proto); } catch (err) { log("could not decode message ", err); return; diff --git a/src/pairing.ts b/src/pairing.ts index 5b3995f..fa389af 100644 --- a/src/pairing.ts +++ b/src/pairing.ts @@ -2,7 +2,7 @@ import { HMACDRBG } from "@stablelib/hmac-drbg"; import { randomBytes } from "@stablelib/random"; import debug from "debug"; import { EventEmitter } from "eventemitter3"; -import { Decoder, Encoder, Message } from "js-waku/lib/interfaces"; +import { Decoder, Encoder, DecodedMessage } from "@waku/core/lib/message/version_0"; import { pEvent } from "p-event"; import { equals as uint8ArrayEquals } from "uint8arrays/equals"; @@ -32,7 +32,7 @@ export interface Sender { * @param encoder NoiseHandshakeEncoder encoder to use to encrypt the messages * @param msg message to broadcast */ - publish(encoder: Encoder, msg: Message): Promise; + publish(encoder: Encoder, msg: DecodedMessage): Promise; } /** @@ -43,7 +43,7 @@ export interface Responder { * subscribe to receive the messages from a content topic * @param decoder Decoder to use to decrypt the NoiseHandshakeMessages */ - subscribe(decoder: Decoder): Promise; + subscribe(decoder: Decoder): Promise; /** * should return messages received in a content topic