mirror of https://github.com/status-im/js-waku.git
Merge #36
36: Add websocket transport r=D4nte a=D4nte Resolves #34 Co-authored-by: Franck Royer <franck@royer.one>
This commit is contained in:
commit
9d64ac84ad
|
@ -56,7 +56,8 @@
|
||||||
"untracked",
|
"untracked",
|
||||||
"upgrader",
|
"upgrader",
|
||||||
"waku",
|
"waku",
|
||||||
"wakunode"
|
"wakunode",
|
||||||
|
"websockets"
|
||||||
],
|
],
|
||||||
"flagWords": [],
|
"flagWords": [],
|
||||||
"ignorePaths": [
|
"ignorePaths": [
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
"libp2p-noise": "^2.0.5",
|
"libp2p-noise": "^2.0.5",
|
||||||
"libp2p-secio": "^0.13.1",
|
"libp2p-secio": "^0.13.1",
|
||||||
"libp2p-tcp": "^0.15.3",
|
"libp2p-tcp": "^0.15.3",
|
||||||
|
"libp2p-websockets": "^0.15.5",
|
||||||
"multiaddr": "^8.1.2",
|
"multiaddr": "^8.1.2",
|
||||||
"prompt-sync": "^4.2.0",
|
"prompt-sync": "^4.2.0",
|
||||||
"ts-proto": "^1.74.0",
|
"ts-proto": "^1.74.0",
|
||||||
|
@ -3687,6 +3688,7 @@
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||||
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
||||||
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"object-keys": "^1.0.12"
|
"object-keys": "^1.0.12"
|
||||||
},
|
},
|
||||||
|
@ -4557,6 +4559,11 @@
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/event-iterator": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-iterator/-/event-iterator-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ=="
|
||||||
|
},
|
||||||
"node_modules/event-target-shim": {
|
"node_modules/event-target-shim": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
@ -6157,17 +6164,6 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/globalthis": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"define-properties": "^1.1.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/globby": {
|
"node_modules/globby": {
|
||||||
"version": "11.0.2",
|
"version": "11.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
|
||||||
|
@ -6924,27 +6920,26 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ipfs-utils": {
|
"node_modules/ipfs-utils": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-6.0.7.tgz",
|
||||||
"integrity": "sha512-u6fJDi/LpCEj96JM//cdDWJV44YR7jLdxQ6I0d8Hj/BCPIQPTWsjQeSppKxudMjYRpX4kzdv9WxrNM8dc4rtlQ==",
|
"integrity": "sha512-VlFDyRuCSOKXPOXb68nXSUVEPA+eXbdS7LT22k4aZvFNIoB2OtysDEt8lal93UOB/QS0Gy+6DUoxj1wJ37SIxQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"abort-controller": "^3.0.0",
|
"abort-controller": "^3.0.0",
|
||||||
"any-signal": "^2.1.0",
|
"any-signal": "^2.1.0",
|
||||||
"buffer": "^6.0.1",
|
"buffer": "^6.0.1",
|
||||||
"electron-fetch": "^1.7.2",
|
"electron-fetch": "^1.7.2",
|
||||||
"err-code": "^2.0.3",
|
"err-code": "^3.0.1",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"is-electron": "^2.2.0",
|
"is-electron": "^2.2.0",
|
||||||
"iso-url": "^1.0.0",
|
"iso-url": "^1.0.0",
|
||||||
"it-glob": "0.0.10",
|
"it-glob": "~0.0.11",
|
||||||
"it-to-stream": "^0.1.2",
|
"it-to-stream": "^1.0.0",
|
||||||
"merge-options": "^3.0.4",
|
"merge-options": "^3.0.4",
|
||||||
"nanoid": "^3.1.20",
|
"nanoid": "^3.1.20",
|
||||||
"native-abort-controller": "^1.0.3",
|
"native-abort-controller": "^1.0.3",
|
||||||
"native-fetch": "2.0.1",
|
"native-fetch": "^3.0.0",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.1",
|
||||||
"stream-to-it": "^0.2.2",
|
"stream-to-it": "^0.2.2"
|
||||||
"web-encoding": "^1.0.6"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ipfs-utils/node_modules/buffer": {
|
"node_modules/ipfs-utils/node_modules/buffer": {
|
||||||
|
@ -6956,13 +6951,10 @@
|
||||||
"ieee754": "^1.2.1"
|
"ieee754": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ipfs-utils/node_modules/native-fetch": {
|
"node_modules/ipfs-utils/node_modules/err-code": {
|
||||||
"version": "2.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
|
||||||
"integrity": "sha512-gv4Bea+ga9QdXINurpkEqun3ap3vnB+WYoe4c8ddqUYEH7B2h6iD39RF8uVN7OwmSfMY3RDxkvBnoI4e2/vLXQ==",
|
"integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
|
||||||
"dependencies": {
|
|
||||||
"globalthis": "^1.0.1"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/is-accessor-descriptor": {
|
"node_modules/is-accessor-descriptor": {
|
||||||
"version": "0.1.6",
|
"version": "0.1.6",
|
||||||
|
@ -7549,9 +7541,9 @@
|
||||||
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
||||||
},
|
},
|
||||||
"node_modules/it-glob": {
|
"node_modules/it-glob": {
|
||||||
"version": "0.0.10",
|
"version": "0.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.11.tgz",
|
||||||
"integrity": "sha512-p1PR15djgPV7pxdLOW9j4WcJdla8+91rJdUU2hU2Jm68vkxpIEXK55VHBeH8Lvqh2vqLtM83t8q4BuJxue6niA==",
|
"integrity": "sha512-p02iVYsvOPU7cW4sV9BC62Kz6Mz2aUTJz/cKWDeFqc05kzB3WgSq8OobZabVA/K4boSm6q+s0xOZ8xiArLSoXQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
|
@ -7575,14 +7567,6 @@
|
||||||
"p-defer": "^3.0.0"
|
"p-defer": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/it-handshake/node_modules/p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/it-length-prefixed": {
|
"node_modules/it-length-prefixed": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-3.1.0.tgz",
|
||||||
|
@ -7669,11 +7653,11 @@
|
||||||
"integrity": "sha512-zfr2iAtekTGhHVWzCqqqgDnHhmzdzfCW92L0GvbaSFlvc3n2Ep/sponzmlNl2Kg39N5Py+02v+Aypc+i2c+9og=="
|
"integrity": "sha512-zfr2iAtekTGhHVWzCqqqgDnHhmzdzfCW92L0GvbaSFlvc3n2Ep/sponzmlNl2Kg39N5Py+02v+Aypc+i2c+9og=="
|
||||||
},
|
},
|
||||||
"node_modules/it-to-stream": {
|
"node_modules/it-to-stream": {
|
||||||
"version": "0.1.2",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz",
|
||||||
"integrity": "sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ==",
|
"integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"buffer": "^5.6.0",
|
"buffer": "^6.0.3",
|
||||||
"fast-fifo": "^1.0.0",
|
"fast-fifo": "^1.0.0",
|
||||||
"get-iterator": "^1.0.2",
|
"get-iterator": "^1.0.2",
|
||||||
"p-defer": "^3.0.0",
|
"p-defer": "^3.0.0",
|
||||||
|
@ -7681,12 +7665,61 @@
|
||||||
"readable-stream": "^3.6.0"
|
"readable-stream": "^3.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/it-to-stream/node_modules/p-defer": {
|
"node_modules/it-to-stream/node_modules/buffer": {
|
||||||
"version": "3.0.0",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||||
"engines": {
|
"funding": [
|
||||||
"node": ">=8"
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/it-ws": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/it-ws/-/it-ws-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XmTzpMkevc6rUboy73r0CCNhciMmL/Yxir9O6FujRwdrjysztqLBQ1Xkr4CpY2m7BVSCObKotaCWJeZ29lOXRA==",
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": "^6.0.3",
|
||||||
|
"event-iterator": "^2.0.0",
|
||||||
|
"iso-url": "^1.1.2",
|
||||||
|
"ws": "^7.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/it-ws/node_modules/buffer": {
|
||||||
|
"version": "6.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||||
|
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "patreon",
|
||||||
|
"url": "https://www.patreon.com/feross"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "consulting",
|
||||||
|
"url": "https://feross.org/support"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/iterable-to-stream": {
|
"node_modules/iterable-to-stream": {
|
||||||
|
@ -8099,14 +8132,6 @@
|
||||||
"node": ">= 4.5.0"
|
"node": ">= 4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/libp2p-gossipsub/node_modules/p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/libp2p-gossipsub/node_modules/varint": {
|
"node_modules/libp2p-gossipsub/node_modules/varint": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
||||||
|
@ -8161,14 +8186,6 @@
|
||||||
"npm": ">=6.0.0"
|
"npm": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/libp2p-interfaces/node_modules/p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/libp2p-interfaces/node_modules/p-limit": {
|
"node_modules/libp2p-interfaces/node_modules/p-limit": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
|
@ -8360,14 +8377,6 @@
|
||||||
"node": ">= 4.5.0"
|
"node": ">= 4.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/libp2p-secio/node_modules/p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/libp2p-secio/node_modules/varint": {
|
"node_modules/libp2p-secio/node_modules/varint": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
||||||
|
@ -8406,6 +8415,108 @@
|
||||||
"private-ip": "^2.1.1"
|
"private-ip": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/libp2p-websockets": {
|
||||||
|
"version": "0.15.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.15.5.tgz",
|
||||||
|
"integrity": "sha512-pD/J5lp4QM8oyQKjLcnnfwwcNbCRDG33+C4njQ7MUKuD5MphF1s2U0z8FiAlTtyNVflYX82dhTYgI4cPzmoBeA==",
|
||||||
|
"dependencies": {
|
||||||
|
"abortable-iterator": "^3.0.0",
|
||||||
|
"class-is": "^1.1.0",
|
||||||
|
"debug": "^4.3.1",
|
||||||
|
"err-code": "^3.0.1",
|
||||||
|
"ipfs-utils": "^6.0.6",
|
||||||
|
"it-ws": "^4.0.0",
|
||||||
|
"libp2p-utils": "^0.3.0",
|
||||||
|
"mafmt": "^9.0.0",
|
||||||
|
"multiaddr": "^9.0.1",
|
||||||
|
"multiaddr-to-uri": "^6.0.0",
|
||||||
|
"p-defer": "^3.0.0",
|
||||||
|
"p-timeout": "^4.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/err-code": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/ip-address": {
|
||||||
|
"version": "7.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-7.1.0.tgz",
|
||||||
|
"integrity": "sha512-V9pWC/VJf2lsXqP7IWJ+pe3P1/HCYGBMZrrnT62niLGjAfCbeiwXMUxaeHvnVlz19O27pvXP4azs+Pj/A0x+SQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"jsbn": "1.1.0",
|
||||||
|
"sprintf-js": "1.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/libp2p-utils": {
|
||||||
|
"version": "0.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.3.1.tgz",
|
||||||
|
"integrity": "sha512-LOVfww7a6Rhtoupl3z1ABuTEli5whY3VLTB9QntsOIwbOcX9GfmjuhqYbEDht9lVPAQl+rCUWbfDMvK121ryUg==",
|
||||||
|
"dependencies": {
|
||||||
|
"abortable-iterator": "^3.0.0",
|
||||||
|
"debug": "^4.3.0",
|
||||||
|
"err-code": "^3.0.1",
|
||||||
|
"ip-address": "^7.1.0",
|
||||||
|
"is-loopback-addr": "^1.0.0",
|
||||||
|
"multiaddr": "^9.0.1",
|
||||||
|
"private-ip": "^2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/mafmt": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mafmt/-/mafmt-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-BwKL6FJxc6R85K6gFE/pX7MVyCp0NkM2DJHg0RatxVgDlK4g9kqtfXQUt2iReSmTcgZss/Q/Bdfa2KTg4KyC+g==",
|
||||||
|
"dependencies": {
|
||||||
|
"multiaddr": "^9.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/multiaddr": {
|
||||||
|
"version": "9.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-9.0.1.tgz",
|
||||||
|
"integrity": "sha512-fubxMjVoRPcz3GYBb63Z6ADCY6BoqezbnL2o8owDcfYqhwW61oFtIlsZGiNKIVC2Fk1Od5rf/3z34QSGJFT/uA==",
|
||||||
|
"dependencies": {
|
||||||
|
"cids": "^1.0.0",
|
||||||
|
"dns-over-http-resolver": "^1.0.0",
|
||||||
|
"err-code": "^3.0.1",
|
||||||
|
"is-ip": "^3.1.0",
|
||||||
|
"multibase": "^4.0.2",
|
||||||
|
"uint8arrays": "^2.1.3",
|
||||||
|
"varint": "^6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/multibase": {
|
||||||
|
"version": "4.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
|
||||||
|
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
|
||||||
|
"dependencies": {
|
||||||
|
"@multiformats/base-x": "^4.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.0.0",
|
||||||
|
"npm": ">=6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/sprintf-js": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/uint8arrays": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.4.tgz",
|
||||||
|
"integrity": "sha512-Q/Ys2JhFWpZkw8Hi2Zz7NFpVDH8avK9k2NjYKdOHoOAn5dTtOSNT9xMtaQz5D4kWVPOGKte8CAroEIdTzvF9AA==",
|
||||||
|
"dependencies": {
|
||||||
|
"multibase": "^4.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/libp2p-websockets/node_modules/varint": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
|
||||||
|
},
|
||||||
"node_modules/libp2p/node_modules/multicodec": {
|
"node_modules/libp2p/node_modules/multicodec": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-2.1.3.tgz",
|
||||||
|
@ -9153,6 +9264,14 @@
|
||||||
"varint": "^5.0.0"
|
"varint": "^5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/multiaddr-to-uri": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==",
|
||||||
|
"dependencies": {
|
||||||
|
"multiaddr": "^8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/multibase": {
|
"node_modules/multibase": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
|
||||||
|
@ -9293,14 +9412,6 @@
|
||||||
"uint8arrays": "^1.1.0"
|
"uint8arrays": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/multistream-select/node_modules/p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/murmurhash3js-revisited": {
|
"node_modules/murmurhash3js-revisited": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz",
|
||||||
|
@ -10089,6 +10200,7 @@
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
||||||
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
|
@ -10293,6 +10405,14 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/p-defer": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/p-fifo": {
|
"node_modules/p-fifo": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz",
|
||||||
|
@ -10302,14 +10422,6 @@
|
||||||
"p-defer": "^3.0.0"
|
"p-defer": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/p-fifo/node_modules/p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/p-finally": {
|
"node_modules/p-finally": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
|
||||||
|
@ -10405,7 +10517,6 @@
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz",
|
||||||
"integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==",
|
"integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
|
@ -13309,6 +13420,26 @@
|
||||||
"typedarray-to-buffer": "^3.1.5"
|
"typedarray-to-buffer": "^3.1.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ws": {
|
||||||
|
"version": "7.4.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
|
||||||
|
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.3.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"bufferutil": "^4.0.1",
|
||||||
|
"utf-8-validate": "^5.0.2"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"bufferutil": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"utf-8-validate": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/xdg-basedir": {
|
"node_modules/xdg-basedir": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
|
||||||
|
@ -16505,6 +16636,7 @@
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||||
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
||||||
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"object-keys": "^1.0.12"
|
"object-keys": "^1.0.12"
|
||||||
}
|
}
|
||||||
|
@ -17219,6 +17351,11 @@
|
||||||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"event-iterator": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-iterator/-/event-iterator-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ=="
|
||||||
|
},
|
||||||
"event-target-shim": {
|
"event-target-shim": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
@ -18516,14 +18653,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"globalthis": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==",
|
|
||||||
"requires": {
|
|
||||||
"define-properties": "^1.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"globby": {
|
"globby": {
|
||||||
"version": "11.0.2",
|
"version": "11.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
|
||||||
|
@ -19128,27 +19257,26 @@
|
||||||
"integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q=="
|
"integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q=="
|
||||||
},
|
},
|
||||||
"ipfs-utils": {
|
"ipfs-utils": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-6.0.7.tgz",
|
||||||
"integrity": "sha512-u6fJDi/LpCEj96JM//cdDWJV44YR7jLdxQ6I0d8Hj/BCPIQPTWsjQeSppKxudMjYRpX4kzdv9WxrNM8dc4rtlQ==",
|
"integrity": "sha512-VlFDyRuCSOKXPOXb68nXSUVEPA+eXbdS7LT22k4aZvFNIoB2OtysDEt8lal93UOB/QS0Gy+6DUoxj1wJ37SIxQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"abort-controller": "^3.0.0",
|
"abort-controller": "^3.0.0",
|
||||||
"any-signal": "^2.1.0",
|
"any-signal": "^2.1.0",
|
||||||
"buffer": "^6.0.1",
|
"buffer": "^6.0.1",
|
||||||
"electron-fetch": "^1.7.2",
|
"electron-fetch": "^1.7.2",
|
||||||
"err-code": "^2.0.3",
|
"err-code": "^3.0.1",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"is-electron": "^2.2.0",
|
"is-electron": "^2.2.0",
|
||||||
"iso-url": "^1.0.0",
|
"iso-url": "^1.0.0",
|
||||||
"it-glob": "0.0.10",
|
"it-glob": "~0.0.11",
|
||||||
"it-to-stream": "^0.1.2",
|
"it-to-stream": "^1.0.0",
|
||||||
"merge-options": "^3.0.4",
|
"merge-options": "^3.0.4",
|
||||||
"nanoid": "^3.1.20",
|
"nanoid": "^3.1.20",
|
||||||
"native-abort-controller": "^1.0.3",
|
"native-abort-controller": "^1.0.3",
|
||||||
"native-fetch": "2.0.1",
|
"native-fetch": "^3.0.0",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.1",
|
||||||
"stream-to-it": "^0.2.2",
|
"stream-to-it": "^0.2.2"
|
||||||
"web-encoding": "^1.0.6"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"buffer": {
|
"buffer": {
|
||||||
|
@ -19160,13 +19288,10 @@
|
||||||
"ieee754": "^1.2.1"
|
"ieee754": "^1.2.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"native-fetch": {
|
"err-code": {
|
||||||
"version": "2.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
|
||||||
"integrity": "sha512-gv4Bea+ga9QdXINurpkEqun3ap3vnB+WYoe4c8ddqUYEH7B2h6iD39RF8uVN7OwmSfMY3RDxkvBnoI4e2/vLXQ==",
|
"integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
|
||||||
"requires": {
|
|
||||||
"globalthis": "^1.0.1"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -19630,9 +19755,9 @@
|
||||||
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
"integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ=="
|
||||||
},
|
},
|
||||||
"it-glob": {
|
"it-glob": {
|
||||||
"version": "0.0.10",
|
"version": "0.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/it-glob/-/it-glob-0.0.11.tgz",
|
||||||
"integrity": "sha512-p1PR15djgPV7pxdLOW9j4WcJdla8+91rJdUU2hU2Jm68vkxpIEXK55VHBeH8Lvqh2vqLtM83t8q4BuJxue6niA==",
|
"integrity": "sha512-p02iVYsvOPU7cW4sV9BC62Kz6Mz2aUTJz/cKWDeFqc05kzB3WgSq8OobZabVA/K4boSm6q+s0xOZ8xiArLSoXQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
|
@ -19654,13 +19779,6 @@
|
||||||
"it-pushable": "^1.4.0",
|
"it-pushable": "^1.4.0",
|
||||||
"it-reader": "^2.0.0",
|
"it-reader": "^2.0.0",
|
||||||
"p-defer": "^3.0.0"
|
"p-defer": "^3.0.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"it-length-prefixed": {
|
"it-length-prefixed": {
|
||||||
|
@ -19748,11 +19866,11 @@
|
||||||
"integrity": "sha512-zfr2iAtekTGhHVWzCqqqgDnHhmzdzfCW92L0GvbaSFlvc3n2Ep/sponzmlNl2Kg39N5Py+02v+Aypc+i2c+9og=="
|
"integrity": "sha512-zfr2iAtekTGhHVWzCqqqgDnHhmzdzfCW92L0GvbaSFlvc3n2Ep/sponzmlNl2Kg39N5Py+02v+Aypc+i2c+9og=="
|
||||||
},
|
},
|
||||||
"it-to-stream": {
|
"it-to-stream": {
|
||||||
"version": "0.1.2",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz",
|
||||||
"integrity": "sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ==",
|
"integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"buffer": "^5.6.0",
|
"buffer": "^6.0.3",
|
||||||
"fast-fifo": "^1.0.0",
|
"fast-fifo": "^1.0.0",
|
||||||
"get-iterator": "^1.0.2",
|
"get-iterator": "^1.0.2",
|
||||||
"p-defer": "^3.0.0",
|
"p-defer": "^3.0.0",
|
||||||
|
@ -19760,10 +19878,36 @@
|
||||||
"readable-stream": "^3.6.0"
|
"readable-stream": "^3.6.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"p-defer": {
|
"buffer": {
|
||||||
"version": "3.0.0",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.2.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"it-ws": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/it-ws/-/it-ws-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-XmTzpMkevc6rUboy73r0CCNhciMmL/Yxir9O6FujRwdrjysztqLBQ1Xkr4CpY2m7BVSCObKotaCWJeZ29lOXRA==",
|
||||||
|
"requires": {
|
||||||
|
"buffer": "^6.0.3",
|
||||||
|
"event-iterator": "^2.0.0",
|
||||||
|
"iso-url": "^1.1.2",
|
||||||
|
"ws": "^7.3.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": {
|
||||||
|
"version": "6.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||||
|
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "^1.3.1",
|
||||||
|
"ieee754": "^1.2.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -20143,11 +20287,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz",
|
||||||
"integrity": "sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw=="
|
"integrity": "sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw=="
|
||||||
},
|
},
|
||||||
"p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
|
||||||
},
|
|
||||||
"varint": {
|
"varint": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
||||||
|
@ -20200,11 +20339,6 @@
|
||||||
"varint": "^6.0.0"
|
"varint": "^6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
|
||||||
},
|
|
||||||
"p-limit": {
|
"p-limit": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
|
||||||
|
@ -20382,11 +20516,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz",
|
||||||
"integrity": "sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw=="
|
"integrity": "sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw=="
|
||||||
},
|
},
|
||||||
"p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
|
||||||
},
|
|
||||||
"varint": {
|
"varint": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
||||||
|
@ -20423,6 +20552,103 @@
|
||||||
"private-ip": "^2.1.1"
|
"private-ip": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"libp2p-websockets": {
|
||||||
|
"version": "0.15.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.15.5.tgz",
|
||||||
|
"integrity": "sha512-pD/J5lp4QM8oyQKjLcnnfwwcNbCRDG33+C4njQ7MUKuD5MphF1s2U0z8FiAlTtyNVflYX82dhTYgI4cPzmoBeA==",
|
||||||
|
"requires": {
|
||||||
|
"abortable-iterator": "^3.0.0",
|
||||||
|
"class-is": "^1.1.0",
|
||||||
|
"debug": "^4.3.1",
|
||||||
|
"err-code": "^3.0.1",
|
||||||
|
"ipfs-utils": "^6.0.6",
|
||||||
|
"it-ws": "^4.0.0",
|
||||||
|
"libp2p-utils": "^0.3.0",
|
||||||
|
"mafmt": "^9.0.0",
|
||||||
|
"multiaddr": "^9.0.1",
|
||||||
|
"multiaddr-to-uri": "^6.0.0",
|
||||||
|
"p-defer": "^3.0.0",
|
||||||
|
"p-timeout": "^4.1.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"err-code": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
|
||||||
|
},
|
||||||
|
"ip-address": {
|
||||||
|
"version": "7.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-7.1.0.tgz",
|
||||||
|
"integrity": "sha512-V9pWC/VJf2lsXqP7IWJ+pe3P1/HCYGBMZrrnT62niLGjAfCbeiwXMUxaeHvnVlz19O27pvXP4azs+Pj/A0x+SQ==",
|
||||||
|
"requires": {
|
||||||
|
"jsbn": "1.1.0",
|
||||||
|
"sprintf-js": "1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libp2p-utils": {
|
||||||
|
"version": "0.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.3.1.tgz",
|
||||||
|
"integrity": "sha512-LOVfww7a6Rhtoupl3z1ABuTEli5whY3VLTB9QntsOIwbOcX9GfmjuhqYbEDht9lVPAQl+rCUWbfDMvK121ryUg==",
|
||||||
|
"requires": {
|
||||||
|
"abortable-iterator": "^3.0.0",
|
||||||
|
"debug": "^4.3.0",
|
||||||
|
"err-code": "^3.0.1",
|
||||||
|
"ip-address": "^7.1.0",
|
||||||
|
"is-loopback-addr": "^1.0.0",
|
||||||
|
"multiaddr": "^9.0.1",
|
||||||
|
"private-ip": "^2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mafmt": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mafmt/-/mafmt-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-BwKL6FJxc6R85K6gFE/pX7MVyCp0NkM2DJHg0RatxVgDlK4g9kqtfXQUt2iReSmTcgZss/Q/Bdfa2KTg4KyC+g==",
|
||||||
|
"requires": {
|
||||||
|
"multiaddr": "^9.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"multiaddr": {
|
||||||
|
"version": "9.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-9.0.1.tgz",
|
||||||
|
"integrity": "sha512-fubxMjVoRPcz3GYBb63Z6ADCY6BoqezbnL2o8owDcfYqhwW61oFtIlsZGiNKIVC2Fk1Od5rf/3z34QSGJFT/uA==",
|
||||||
|
"requires": {
|
||||||
|
"cids": "^1.0.0",
|
||||||
|
"dns-over-http-resolver": "^1.0.0",
|
||||||
|
"err-code": "^3.0.1",
|
||||||
|
"is-ip": "^3.1.0",
|
||||||
|
"multibase": "^4.0.2",
|
||||||
|
"uint8arrays": "^2.1.3",
|
||||||
|
"varint": "^6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"multibase": {
|
||||||
|
"version": "4.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
|
||||||
|
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
|
||||||
|
"requires": {
|
||||||
|
"@multiformats/base-x": "^4.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sprintf-js": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
|
||||||
|
},
|
||||||
|
"uint8arrays": {
|
||||||
|
"version": "2.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.4.tgz",
|
||||||
|
"integrity": "sha512-Q/Ys2JhFWpZkw8Hi2Zz7NFpVDH8avK9k2NjYKdOHoOAn5dTtOSNT9xMtaQz5D4kWVPOGKte8CAroEIdTzvF9AA==",
|
||||||
|
"requires": {
|
||||||
|
"multibase": "^4.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"varint": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"lines-and-columns": {
|
"lines-and-columns": {
|
||||||
"version": "1.1.6",
|
"version": "1.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
|
||||||
|
@ -20991,6 +21217,14 @@
|
||||||
"varint": "^5.0.0"
|
"varint": "^5.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"multiaddr-to-uri": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==",
|
||||||
|
"requires": {
|
||||||
|
"multiaddr": "^8.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"multibase": {
|
"multibase": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
|
||||||
|
@ -21111,13 +21345,6 @@
|
||||||
"it-reader": "^2.0.0",
|
"it-reader": "^2.0.0",
|
||||||
"p-defer": "^3.0.0",
|
"p-defer": "^3.0.0",
|
||||||
"uint8arrays": "^1.1.0"
|
"uint8arrays": "^1.1.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"murmurhash3js-revisited": {
|
"murmurhash3js-revisited": {
|
||||||
|
@ -21746,7 +21973,8 @@
|
||||||
"object-keys": {
|
"object-keys": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
|
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
||||||
|
"dev": true
|
||||||
},
|
},
|
||||||
"object-visit": {
|
"object-visit": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
|
@ -21912,6 +22140,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"p-defer": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
||||||
|
},
|
||||||
"p-fifo": {
|
"p-fifo": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz",
|
||||||
|
@ -21919,13 +22152,6 @@
|
||||||
"requires": {
|
"requires": {
|
||||||
"fast-fifo": "^1.0.0",
|
"fast-fifo": "^1.0.0",
|
||||||
"p-defer": "^3.0.0"
|
"p-defer": "^3.0.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"p-defer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"p-finally": {
|
"p-finally": {
|
||||||
|
@ -21997,8 +22223,7 @@
|
||||||
"p-timeout": {
|
"p-timeout": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz",
|
||||||
"integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==",
|
"integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"p-try": {
|
"p-try": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
|
@ -24356,6 +24581,12 @@
|
||||||
"typedarray-to-buffer": "^3.1.5"
|
"typedarray-to-buffer": "^3.1.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "7.4.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
|
||||||
|
"integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
|
||||||
|
"requires": {}
|
||||||
|
},
|
||||||
"xdg-basedir": {
|
"xdg-basedir": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
"libp2p-noise": "^2.0.5",
|
"libp2p-noise": "^2.0.5",
|
||||||
"libp2p-secio": "^0.13.1",
|
"libp2p-secio": "^0.13.1",
|
||||||
"libp2p-tcp": "^0.15.3",
|
"libp2p-tcp": "^0.15.3",
|
||||||
|
"libp2p-websockets": "^0.15.5",
|
||||||
"multiaddr": "^8.1.2",
|
"multiaddr": "^8.1.2",
|
||||||
"prompt-sync": "^4.2.0",
|
"prompt-sync": "^4.2.0",
|
||||||
"ts-proto": "^1.74.0",
|
"ts-proto": "^1.74.0",
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import readline from 'readline';
|
import readline from 'readline';
|
||||||
import util from 'util';
|
import util from 'util';
|
||||||
|
|
||||||
|
import TCP from 'libp2p-tcp';
|
||||||
import Multiaddr from 'multiaddr';
|
import Multiaddr from 'multiaddr';
|
||||||
import PeerId from 'peer-id';
|
import PeerId from 'peer-id';
|
||||||
|
|
||||||
|
@ -15,21 +16,39 @@ const ChatContentTopic = 'dingpu';
|
||||||
(async function () {
|
(async function () {
|
||||||
const opts = processArguments();
|
const opts = processArguments();
|
||||||
|
|
||||||
|
const waku = await Waku.create({
|
||||||
|
listenAddresses: [opts.listenAddr],
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
|
console.log('PeerId: ', waku.libp2p.peerId);
|
||||||
|
console.log('Listening on ');
|
||||||
|
waku.libp2p.multiaddrs.forEach((address) => {
|
||||||
|
console.log(`\t- ${address}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
// TODO: Automatically subscribe, tracked with
|
||||||
|
// https://github.com/status-im/js-waku/issues/17
|
||||||
|
await waku.relay.subscribe();
|
||||||
|
console.log('Subscribed to waku relay');
|
||||||
|
|
||||||
|
if (opts.staticNode) {
|
||||||
|
console.log(`Dialing ${opts.staticNode}`);
|
||||||
|
await waku.dial(opts.staticNode);
|
||||||
|
}
|
||||||
|
|
||||||
const rl = readline.createInterface({
|
const rl = readline.createInterface({
|
||||||
input: process.stdin,
|
input: process.stdin,
|
||||||
output: process.stdout,
|
output: process.stdout,
|
||||||
});
|
});
|
||||||
|
|
||||||
const question = util.promisify(rl.question).bind(rl);
|
const question = util.promisify(rl.question).bind(rl);
|
||||||
|
|
||||||
// Looks like wrong type definition of promisify is picked.
|
// Looks like wrong type definition of promisify is picked.
|
||||||
// May be related to https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20497
|
// May be related to https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20497
|
||||||
const nick = ((await question(
|
const nick = ((await question(
|
||||||
'Please choose a nickname: '
|
'Please choose a nickname: '
|
||||||
)) as unknown) as string;
|
)) as unknown) as string;
|
||||||
console.log(`Hi ${nick}!`);
|
|
||||||
|
|
||||||
const waku = await Waku.create({ listenAddresses: [opts.listenAddr] });
|
console.log(`Hi, ${nick}!`);
|
||||||
|
|
||||||
// TODO: Bubble event to waku, infer topic, decode msg
|
// TODO: Bubble event to waku, infer topic, decode msg
|
||||||
// Tracked with https://github.com/status-im/js-waku/issues/19
|
// Tracked with https://github.com/status-im/js-waku/issues/19
|
||||||
|
@ -41,18 +60,6 @@ const ChatContentTopic = 'dingpu';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('Waku started');
|
|
||||||
|
|
||||||
if (opts.staticNode) {
|
|
||||||
console.log(`dialing ${opts.staticNode}`);
|
|
||||||
await waku.dial(opts.staticNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Automatically subscribe, tracked with
|
|
||||||
// https://github.com/status-im/js-waku/issues/17
|
|
||||||
await waku.relay.subscribe();
|
|
||||||
console.log('Subscribed to waku relay');
|
|
||||||
|
|
||||||
const staticNodeId = opts.staticNode?.getPeerId();
|
const staticNodeId = opts.staticNode?.getPeerId();
|
||||||
if (staticNodeId) {
|
if (staticNodeId) {
|
||||||
const storePeerId = PeerId.createFromB58String(staticNodeId);
|
const storePeerId = PeerId.createFromB58String(staticNodeId);
|
||||||
|
|
|
@ -1,15 +1,47 @@
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import TCP from 'libp2p-tcp';
|
||||||
|
|
||||||
import { makeLogFileName, NimWaku, NOISE_KEY_1 } from '../test_utils/';
|
import {
|
||||||
|
makeLogFileName,
|
||||||
|
NimWaku,
|
||||||
|
NOISE_KEY_1,
|
||||||
|
NOISE_KEY_2,
|
||||||
|
} from '../test_utils/';
|
||||||
|
|
||||||
import Waku from './waku';
|
import Waku from './waku';
|
||||||
import { RelayCodec } from './waku_relay';
|
import { RelayCodec } from './waku_relay';
|
||||||
|
|
||||||
describe('Waku', function () {
|
describe('Waku Dial', function () {
|
||||||
|
it('js connects to js', async function () {
|
||||||
|
this.timeout(10_000);
|
||||||
|
const [waku1, waku2] = await Promise.all([
|
||||||
|
Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
listenAddresses: ['/ip4/0.0.0.0/tcp/0/wss'],
|
||||||
|
}),
|
||||||
|
Waku.create({ staticNoiseKey: NOISE_KEY_2 }),
|
||||||
|
]);
|
||||||
|
const waku1MultiAddrWithId = waku1.getLocalMultiaddrWithID();
|
||||||
|
|
||||||
|
await waku2.dial(waku1MultiAddrWithId);
|
||||||
|
|
||||||
|
const waku2PeerId = waku2.libp2p.peerId;
|
||||||
|
|
||||||
|
const waku1Peers = waku1.libp2p.peerStore.peers;
|
||||||
|
|
||||||
|
expect(waku1Peers.has(waku2PeerId.toB58String())).to.be.true;
|
||||||
|
|
||||||
|
await Promise.all([waku1.stop(), waku2.stop()]);
|
||||||
|
});
|
||||||
|
|
||||||
describe('Interop: Nim', function () {
|
describe('Interop: Nim', function () {
|
||||||
it('nim connects to js', async function () {
|
it('nim connects to js', async function () {
|
||||||
this.timeout(10_000);
|
this.timeout(10_000);
|
||||||
const waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1 });
|
const waku = await Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
listenAddresses: ['/ip4/0.0.0.0/tcp/0'],
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
|
|
||||||
const multiAddrWithId = waku.getLocalMultiaddrWithID();
|
const multiAddrWithId = waku.getLocalMultiaddrWithID();
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ import Libp2p from 'libp2p';
|
||||||
import Mplex from 'libp2p-mplex';
|
import Mplex from 'libp2p-mplex';
|
||||||
import { bytes } from 'libp2p-noise/dist/src/@types/basic';
|
import { bytes } from 'libp2p-noise/dist/src/@types/basic';
|
||||||
import { Noise } from 'libp2p-noise/dist/src/noise';
|
import { Noise } from 'libp2p-noise/dist/src/noise';
|
||||||
import TCP from 'libp2p-tcp';
|
import Websockets from 'libp2p-websockets';
|
||||||
import Multiaddr from 'multiaddr';
|
import Multiaddr from 'multiaddr';
|
||||||
import pTimeout from 'p-timeout';
|
import pTimeout from 'p-timeout';
|
||||||
import PeerId from 'peer-id';
|
import PeerId from 'peer-id';
|
||||||
|
@ -17,6 +17,12 @@ const WaitForIdentityTimeoutMs = 2_000;
|
||||||
export interface CreateOptions {
|
export interface CreateOptions {
|
||||||
listenAddresses: string[];
|
listenAddresses: string[];
|
||||||
staticNoiseKey: bytes | undefined;
|
staticNoiseKey: bytes | undefined;
|
||||||
|
modules: {
|
||||||
|
transport: import('libp2p-interfaces/src/transport/types').TransportFactory<
|
||||||
|
any,
|
||||||
|
any
|
||||||
|
>[];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class Waku {
|
export default class Waku {
|
||||||
|
@ -28,26 +34,37 @@ export default class Waku {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create new waku node
|
* Create new waku node
|
||||||
* @param listenAddresses: Array of Multiaddrs on which the node should listen. If not present, defaults to ['/ip4/0.0.0.0/tcp/0'].
|
* @param listenAddresses: Array of Multiaddrs on which the node should listen.
|
||||||
|
* If not present, the node is dial only.
|
||||||
* @param staticNoiseKey: A static key to use for noise,
|
* @param staticNoiseKey: A static key to use for noise,
|
||||||
* mainly used for test to reduce entropy usage.
|
* mainly used for test to reduce entropy usage.
|
||||||
|
* @throws If
|
||||||
* @returns {Promise<Waku>}
|
* @returns {Promise<Waku>}
|
||||||
*/
|
*/
|
||||||
static async create(options: Partial<CreateOptions>): Promise<Waku> {
|
static async create(options: Partial<CreateOptions>): Promise<Waku> {
|
||||||
const opts = Object.assign(
|
const opts = Object.assign(
|
||||||
{
|
{
|
||||||
listenAddresses: ['/ip4/0.0.0.0/tcp/0'],
|
listenAddresses: [],
|
||||||
staticNoiseKey: undefined,
|
staticNoiseKey: undefined,
|
||||||
},
|
},
|
||||||
options
|
options
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let transport = [Websockets];
|
||||||
|
if (opts.modules?.transport) {
|
||||||
|
transport = transport.concat(opts.modules?.transport);
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: By controlling the creation of libp2p we have to think about what
|
||||||
|
// needs to be exposed and what does not. Ideally, we should be able to let
|
||||||
|
// the user create the WakuStore, WakuRelay instances and pass them when
|
||||||
|
// creating the libp2p instance.
|
||||||
const libp2p = await Libp2p.create({
|
const libp2p = await Libp2p.create({
|
||||||
addresses: {
|
addresses: {
|
||||||
listen: opts.listenAddresses,
|
listen: opts.listenAddresses,
|
||||||
},
|
},
|
||||||
modules: {
|
modules: {
|
||||||
transport: [TCP],
|
transport,
|
||||||
streamMuxer: [Mplex],
|
streamMuxer: [Mplex],
|
||||||
connEncryption: [new Noise(opts.staticNoiseKey)],
|
connEncryption: [new Noise(opts.staticNoiseKey)],
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import Pubsub from 'libp2p-interfaces/src/pubsub';
|
import Pubsub from 'libp2p-interfaces/src/pubsub';
|
||||||
|
import TCP from 'libp2p-tcp';
|
||||||
|
|
||||||
import { NOISE_KEY_1, NOISE_KEY_2 } from '../../test_utils/constants';
|
import {
|
||||||
import { makeLogFileName } from '../../test_utils/log_file';
|
makeLogFileName,
|
||||||
import { NimWaku } from '../../test_utils/nim_waku';
|
NimWaku,
|
||||||
|
NOISE_KEY_1,
|
||||||
|
NOISE_KEY_2,
|
||||||
|
} from '../../test_utils';
|
||||||
import { delay } from '../delay';
|
import { delay } from '../delay';
|
||||||
import Waku from '../waku';
|
import Waku from '../waku';
|
||||||
import { WakuMessage } from '../waku_message';
|
import { WakuMessage } from '../waku_message';
|
||||||
|
@ -22,7 +26,10 @@ describe('Waku Relay', () => {
|
||||||
beforeEach(async function () {
|
beforeEach(async function () {
|
||||||
[waku1, waku2] = await Promise.all([
|
[waku1, waku2] = await Promise.all([
|
||||||
Waku.create({ staticNoiseKey: NOISE_KEY_1 }),
|
Waku.create({ staticNoiseKey: NOISE_KEY_1 }),
|
||||||
Waku.create({ staticNoiseKey: NOISE_KEY_2 }),
|
Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_2,
|
||||||
|
listenAddresses: ['/ip4/0.0.0.0/tcp/0/wss'],
|
||||||
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
await waku1.dialWithMultiAddr(waku2.libp2p.peerId, waku2.libp2p.multiaddrs);
|
await waku1.dialWithMultiAddr(waku2.libp2p.peerId, waku2.libp2p.multiaddrs);
|
||||||
|
@ -45,6 +52,7 @@ describe('Waku Relay', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async function () {
|
afterEach(async function () {
|
||||||
|
this.timeout(5000);
|
||||||
await waku1.stop();
|
await waku1.stop();
|
||||||
await waku2.stop();
|
await waku2.stop();
|
||||||
});
|
});
|
||||||
|
@ -89,7 +97,11 @@ describe('Waku Relay', () => {
|
||||||
|
|
||||||
beforeEach(async function () {
|
beforeEach(async function () {
|
||||||
this.timeout(12_000);
|
this.timeout(12_000);
|
||||||
waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1 });
|
waku = await Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
listenAddresses: ['/ip4/0.0.0.0/tcp/0'],
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
|
|
||||||
const multiAddrWithId = waku.getLocalMultiaddrWithID();
|
const multiAddrWithId = waku.getLocalMultiaddrWithID();
|
||||||
nimWaku = new NimWaku(makeLogFileName(this));
|
nimWaku = new NimWaku(makeLogFileName(this));
|
||||||
|
@ -160,7 +172,10 @@ describe('Waku Relay', () => {
|
||||||
|
|
||||||
beforeEach(async function () {
|
beforeEach(async function () {
|
||||||
this.timeout(10_000);
|
this.timeout(10_000);
|
||||||
waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1 });
|
waku = await Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
|
|
||||||
nimWaku = new NimWaku(this.test?.ctx?.currentTest?.title + '');
|
nimWaku = new NimWaku(this.test?.ctx?.currentTest?.title + '');
|
||||||
await nimWaku.start();
|
await nimWaku.start();
|
||||||
|
@ -185,6 +200,8 @@ describe('Waku Relay', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Js publishes to nim', async function () {
|
it('Js publishes to nim', async function () {
|
||||||
|
this.timeout(5000);
|
||||||
|
|
||||||
const message = WakuMessage.fromUtf8String('This is a message');
|
const message = WakuMessage.fromUtf8String('This is a message');
|
||||||
|
|
||||||
await waku.relay.publish(message);
|
await waku.relay.publish(message);
|
||||||
|
@ -230,8 +247,14 @@ describe('Waku Relay', () => {
|
||||||
beforeEach(async function () {
|
beforeEach(async function () {
|
||||||
this.timeout(10_000);
|
this.timeout(10_000);
|
||||||
[waku1, waku2] = await Promise.all([
|
[waku1, waku2] = await Promise.all([
|
||||||
Waku.create({ staticNoiseKey: NOISE_KEY_1 }),
|
Waku.create({
|
||||||
Waku.create({ staticNoiseKey: NOISE_KEY_2 }),
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
}),
|
||||||
|
Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_2,
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
nimWaku = new NimWaku(this.test?.ctx?.currentTest?.title + '');
|
nimWaku = new NimWaku(this.test?.ctx?.currentTest?.title + '');
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
import TCP from 'libp2p-tcp';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
makeLogFileName,
|
makeLogFileName,
|
||||||
|
@ -19,7 +20,10 @@ describe('Waku Store', () => {
|
||||||
nimWaku = new NimWaku(makeLogFileName(this));
|
nimWaku = new NimWaku(makeLogFileName(this));
|
||||||
await nimWaku.start({ store: true });
|
await nimWaku.start({ store: true });
|
||||||
|
|
||||||
const waku0 = await Waku.create({ staticNoiseKey: NOISE_KEY_2 });
|
const waku0 = await Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_2,
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
await waku0.dial(await nimWaku.getMultiaddrWithId());
|
await waku0.dial(await nimWaku.getMultiaddrWithId());
|
||||||
|
|
||||||
await waku0.relay.subscribe();
|
await waku0.relay.subscribe();
|
||||||
|
@ -41,7 +45,10 @@ describe('Waku Store', () => {
|
||||||
await nimWaku.sendMessage(WakuMessage.fromUtf8String(`Message ${i}`));
|
await nimWaku.sendMessage(WakuMessage.fromUtf8String(`Message ${i}`));
|
||||||
}
|
}
|
||||||
|
|
||||||
waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1 });
|
waku = await Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
await waku.dial(await nimWaku.getMultiaddrWithId());
|
await waku.dial(await nimWaku.getMultiaddrWithId());
|
||||||
|
|
||||||
const nimPeerId = await nimWaku.getPeerId();
|
const nimPeerId = await nimWaku.getPeerId();
|
||||||
|
@ -62,7 +69,10 @@ describe('Waku Store', () => {
|
||||||
await nimWaku.sendMessage(WakuMessage.fromUtf8String(`Message ${i}`));
|
await nimWaku.sendMessage(WakuMessage.fromUtf8String(`Message ${i}`));
|
||||||
}
|
}
|
||||||
|
|
||||||
waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1 });
|
waku = await Waku.create({
|
||||||
|
staticNoiseKey: NOISE_KEY_1,
|
||||||
|
modules: { transport: [TCP] },
|
||||||
|
});
|
||||||
await waku.dial(await nimWaku.getMultiaddrWithId());
|
await waku.dial(await nimWaku.getMultiaddrWithId());
|
||||||
|
|
||||||
const nimPeerId = await nimWaku.getPeerId();
|
const nimPeerId = await nimWaku.getPeerId();
|
||||||
|
|
|
@ -13,3 +13,4 @@ declare module 'libp2p-secio' {
|
||||||
const Secio: any;
|
const Secio: any;
|
||||||
export = Secio;
|
export = Secio;
|
||||||
}
|
}
|
||||||
|
declare module 'libp2p-websockets';
|
||||||
|
|
Loading…
Reference in New Issue