diff --git a/package-lock.json b/package-lock.json index f011c81..f26c12e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,8 @@ "@libp2p/bootstrap": "10.0.7", "@libp2p/circuit-relay-v2": "1.0.7", "@libp2p/identify": "1.0.6", + "@libp2p/keychain": "4.0.7", + "@libp2p/logger": "4.0.5", "@libp2p/tcp": "9.0.7", "axios": "0.27.2", "bcryptjs": "2.4.3", @@ -1254,15 +1256,16 @@ } }, "node_modules/@libp2p/interface": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.0.2.tgz", - "integrity": "sha512-z/3Yyg+7cVyzRXwzdrDkJd7YmNaLE9iZjQaixo5luI/n9uk5OFFjb9ulAsNqpq8V1xylCo2DXIC7f94KClwzVw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.1.2.tgz", + "integrity": "sha512-uC4hxtEJuWiDiZfokkSNEEbCzdyZrqb5kp67Wc5PjZsySZ2IoImdIfie003yQXlB1xBp/XUJzdC6kVu4M7LUmg==", "dependencies": { "@multiformats/multiaddr": "^12.1.10", - "it-pushable": "^3.2.1", + "it-pushable": "^3.2.3", "it-stream-types": "^2.0.1", - "multiformats": "^12.1.3", - "uint8arraylist": "^2.4.3" + "multiformats": "^13.0.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.7" } }, "node_modules/@libp2p/interface-internal": { @@ -1276,6 +1279,11 @@ "uint8arraylist": "^2.4.3" } }, + "node_modules/@libp2p/interface/node_modules/multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" + }, "node_modules/@libp2p/kad-dht": { "version": "10.0.15", "resolved": "https://registry.npmjs.org/@libp2p/kad-dht/-/kad-dht-10.0.15.tgz", @@ -1391,84 +1399,65 @@ } }, "node_modules/@libp2p/keychain": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-3.0.8.tgz", - "integrity": "sha512-+WmW9bN9WE0uKqTG3DVk+zsd9Np63lLS+uYRhncwCGTvg0HKXq1t+i4Xd8KbZvUv7UVakE8aae1oMezW3nS+2g==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-4.0.7.tgz", + "integrity": "sha512-zWNv0SbHgFSFbvSqnK2uCIEmXGzk/HCGJtCUQCx3c0dWg/z/rPZD8oAx9rCA5eU1cjlfwXxrH1h4fDNlyBQt1w==", "dependencies": { - "@libp2p/crypto": "^2.0.8", - "@libp2p/interface": "^0.1.6", - "@libp2p/logger": "^3.1.0", - "@libp2p/peer-id": "^3.0.6", + "@libp2p/crypto": "^4.0.1", + "@libp2p/interface": "^1.1.2", + "@libp2p/peer-id": "^4.0.5", "interface-datastore": "^8.2.0", "merge-options": "^3.0.4", + "multiformats": "^13.0.0", "sanitize-filename": "^1.6.3", - "uint8arrays": "^4.0.6" + "uint8arrays": "^5.0.0" } }, "node_modules/@libp2p/keychain/node_modules/@libp2p/crypto": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-2.0.8.tgz", - "integrity": "sha512-8e5fh6bsJNpSjhrggtlm8QF+BERjelJswIjRS69aKgxp24R4z2kDM4pRYPkfQjXJDLNDtqWtKNmePgX23+QJsA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.0.1.tgz", + "integrity": "sha512-lKGbX8TvQt4JbqlttdexEz2VtYJnTwY31kVBDQviwt0pMF+6Uy2hzNnEQ1FHZBwnow8BIlyb6UevHfgyOFlnkw==", "dependencies": { - "@libp2p/interface": "^0.1.6", + "@libp2p/interface": "^1.1.2", "@noble/curves": "^1.1.0", - "@noble/hashes": "^1.3.1", - "multiformats": "^12.0.1", - "node-forge": "^1.1.0", + "@noble/hashes": "^1.3.3", + "asn1js": "^3.0.5", + "multiformats": "^13.0.0", "protons-runtime": "^5.0.0", - "uint8arraylist": "^2.4.3", - "uint8arrays": "^4.0.6" + "uint8arraylist": "^2.4.7", + "uint8arrays": "^5.0.0" } }, - "node_modules/@libp2p/keychain/node_modules/@libp2p/interface": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-0.1.6.tgz", - "integrity": "sha512-Lzc5cS/hXuoXhuAbVIxJIHLCYmfPcbU0vVgrpMoiP1Qb2Q3ETU4A46GB8s8mWXgSU6tr9RcqerUqzFYD6+OAag==", - "dependencies": { - "@multiformats/multiaddr": "^12.1.5", - "abortable-iterator": "^5.0.1", - "it-pushable": "^3.2.0", - "it-stream-types": "^2.0.1", - "multiformats": "^12.0.1", - "p-defer": "^4.0.0", - "race-signal": "^1.0.0", - "uint8arraylist": "^2.4.3" - } + "node_modules/@libp2p/keychain/node_modules/multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" }, - "node_modules/@libp2p/keychain/node_modules/@libp2p/logger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-3.1.0.tgz", - "integrity": "sha512-qJbJBAhxHVsRBtQSOIkSLi0lskUSFjzE+zm0QvoyxzZKSz+mX41mZLbnofPIVOVauoDQ40dXpe7WDUOq8AbiQQ==", + "node_modules/@libp2p/keychain/node_modules/uint8arrays": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-5.0.1.tgz", + "integrity": "sha512-ND5RpJAnPgHmZT7hWD/2T4BwRp04j8NLKvMKC/7bhiEwEjUMkQ4kvBKiH6hOqbljd6qJ2xS8reL3vl1e33grOQ==", "dependencies": { - "@libp2p/interface": "^0.1.6", - "@multiformats/multiaddr": "^12.1.5", - "debug": "^4.3.4", - "interface-datastore": "^8.2.0", - "multiformats": "^12.0.1" - } - }, - "node_modules/@libp2p/keychain/node_modules/@libp2p/peer-id": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-3.0.6.tgz", - "integrity": "sha512-iN1Ia5gH2U1V/GOVRmLHmVY6fblxzrOPUoZrMYjHl/K4s+AiI7ym/527WDeQvhQpD7j3TfDwcAYforD2dLGpLw==", - "dependencies": { - "@libp2p/interface": "^0.1.6", - "multiformats": "^12.0.1", - "uint8arrays": "^4.0.6" + "multiformats": "^13.0.0" } }, "node_modules/@libp2p/logger": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.2.tgz", - "integrity": "sha512-J9UMtMU9BKXNp+3c5kcI7HyWOPYg2B2E6sn1gEQckiSexTaz0wKJSlgTZ89f9F8bkC3AaC8ybXYuHbFQhwpTIg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.5.tgz", + "integrity": "sha512-cXETMNZINnxeQBlfQ2S4di92FDDU89R7RHagrpebGrM7oLl5nf/Mw6myc23kGaM3/2YG3ko2rl9sYjemu0azTA==", "dependencies": { - "@libp2p/interface": "^1.0.2", + "@libp2p/interface": "^1.1.2", "@multiformats/multiaddr": "^12.1.10", "debug": "^4.3.4", "interface-datastore": "^8.2.0", - "multiformats": "^12.1.3" + "multiformats": "^13.0.0" } }, + "node_modules/@libp2p/logger/node_modules/multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" + }, "node_modules/@libp2p/mdns": { "version": "9.0.14", "resolved": "https://registry.npmjs.org/@libp2p/mdns/-/mdns-9.0.14.tgz", @@ -1616,12 +1605,12 @@ } }, "node_modules/@libp2p/peer-id": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.0.2.tgz", - "integrity": "sha512-TkUA6MjLJ3CE82yyFOfGpH18eUkxouQC7FZcW4vMB1C6F1Y90sf0nPTcXPVZSabEcQxLeOzNk2oEqLgZw47E9w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.0.5.tgz", + "integrity": "sha512-/J9U6I/CWSOsYrTpFZpRQrhOhi+bp9WFp7+9Gc7kVt/oevIYTapUEjpxevjViem9ddR5RbdYeCj4ZLHA04QOoQ==", "dependencies": { - "@libp2p/interface": "^1.0.2", - "multiformats": "^12.1.3", + "@libp2p/interface": "^1.1.2", + "multiformats": "^13.0.0", "uint8arrays": "^5.0.0" } }, @@ -1647,6 +1636,11 @@ "multiformats": "^12.0.1" } }, + "node_modules/@libp2p/peer-id/node_modules/multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" + }, "node_modules/@libp2p/peer-id/node_modules/uint8arrays": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-5.0.0.tgz", @@ -1655,6 +1649,15 @@ "multiformats": "^12.0.1" } }, + "node_modules/@libp2p/peer-id/node_modules/uint8arrays/node_modules/multiformats": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", + "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/@libp2p/peer-record": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-7.0.1.tgz", @@ -3590,6 +3593,19 @@ "safer-buffer": "~2.1.0" } }, + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", + "dependencies": { + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -8070,6 +8086,21 @@ "uint8arraylist": "^2.4.3" } }, + "node_modules/helia/node_modules/@libp2p/keychain": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-3.0.8.tgz", + "integrity": "sha512-+WmW9bN9WE0uKqTG3DVk+zsd9Np63lLS+uYRhncwCGTvg0HKXq1t+i4Xd8KbZvUv7UVakE8aae1oMezW3nS+2g==", + "dependencies": { + "@libp2p/crypto": "^2.0.8", + "@libp2p/interface": "^0.1.6", + "@libp2p/logger": "^3.1.0", + "@libp2p/peer-id": "^3.0.6", + "interface-datastore": "^8.2.0", + "merge-options": "^3.0.4", + "sanitize-filename": "^1.6.3", + "uint8arrays": "^4.0.6" + } + }, "node_modules/helia/node_modules/@libp2p/logger": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-3.1.0.tgz", @@ -15213,6 +15244,22 @@ "node": ">=6" } }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -17593,6 +17640,11 @@ "json5": "lib/cli.js" } }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "node_modules/tsscmp": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", @@ -19447,15 +19499,23 @@ } }, "@libp2p/interface": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.0.2.tgz", - "integrity": "sha512-z/3Yyg+7cVyzRXwzdrDkJd7YmNaLE9iZjQaixo5luI/n9uk5OFFjb9ulAsNqpq8V1xylCo2DXIC7f94KClwzVw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-1.1.2.tgz", + "integrity": "sha512-uC4hxtEJuWiDiZfokkSNEEbCzdyZrqb5kp67Wc5PjZsySZ2IoImdIfie003yQXlB1xBp/XUJzdC6kVu4M7LUmg==", "requires": { "@multiformats/multiaddr": "^12.1.10", - "it-pushable": "^3.2.1", + "it-pushable": "^3.2.3", "it-stream-types": "^2.0.1", - "multiformats": "^12.1.3", - "uint8arraylist": "^2.4.3" + "multiformats": "^13.0.0", + "progress-events": "^1.0.0", + "uint8arraylist": "^2.4.7" + }, + "dependencies": { + "multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" + } } }, "@libp2p/interface-internal": { @@ -19586,84 +19646,67 @@ } }, "@libp2p/keychain": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-3.0.8.tgz", - "integrity": "sha512-+WmW9bN9WE0uKqTG3DVk+zsd9Np63lLS+uYRhncwCGTvg0HKXq1t+i4Xd8KbZvUv7UVakE8aae1oMezW3nS+2g==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-4.0.7.tgz", + "integrity": "sha512-zWNv0SbHgFSFbvSqnK2uCIEmXGzk/HCGJtCUQCx3c0dWg/z/rPZD8oAx9rCA5eU1cjlfwXxrH1h4fDNlyBQt1w==", "requires": { - "@libp2p/crypto": "^2.0.8", - "@libp2p/interface": "^0.1.6", - "@libp2p/logger": "^3.1.0", - "@libp2p/peer-id": "^3.0.6", + "@libp2p/crypto": "^4.0.1", + "@libp2p/interface": "^1.1.2", + "@libp2p/peer-id": "^4.0.5", "interface-datastore": "^8.2.0", "merge-options": "^3.0.4", + "multiformats": "^13.0.0", "sanitize-filename": "^1.6.3", - "uint8arrays": "^4.0.6" + "uint8arrays": "^5.0.0" }, "dependencies": { "@libp2p/crypto": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-2.0.8.tgz", - "integrity": "sha512-8e5fh6bsJNpSjhrggtlm8QF+BERjelJswIjRS69aKgxp24R4z2kDM4pRYPkfQjXJDLNDtqWtKNmePgX23+QJsA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-4.0.1.tgz", + "integrity": "sha512-lKGbX8TvQt4JbqlttdexEz2VtYJnTwY31kVBDQviwt0pMF+6Uy2hzNnEQ1FHZBwnow8BIlyb6UevHfgyOFlnkw==", "requires": { - "@libp2p/interface": "^0.1.6", + "@libp2p/interface": "^1.1.2", "@noble/curves": "^1.1.0", - "@noble/hashes": "^1.3.1", - "multiformats": "^12.0.1", - "node-forge": "^1.1.0", + "@noble/hashes": "^1.3.3", + "asn1js": "^3.0.5", + "multiformats": "^13.0.0", "protons-runtime": "^5.0.0", - "uint8arraylist": "^2.4.3", - "uint8arrays": "^4.0.6" + "uint8arraylist": "^2.4.7", + "uint8arrays": "^5.0.0" } }, - "@libp2p/interface": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-0.1.6.tgz", - "integrity": "sha512-Lzc5cS/hXuoXhuAbVIxJIHLCYmfPcbU0vVgrpMoiP1Qb2Q3ETU4A46GB8s8mWXgSU6tr9RcqerUqzFYD6+OAag==", - "requires": { - "@multiformats/multiaddr": "^12.1.5", - "abortable-iterator": "^5.0.1", - "it-pushable": "^3.2.0", - "it-stream-types": "^2.0.1", - "multiformats": "^12.0.1", - "p-defer": "^4.0.0", - "race-signal": "^1.0.0", - "uint8arraylist": "^2.4.3" - } + "multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" }, - "@libp2p/logger": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-3.1.0.tgz", - "integrity": "sha512-qJbJBAhxHVsRBtQSOIkSLi0lskUSFjzE+zm0QvoyxzZKSz+mX41mZLbnofPIVOVauoDQ40dXpe7WDUOq8AbiQQ==", + "uint8arrays": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-5.0.1.tgz", + "integrity": "sha512-ND5RpJAnPgHmZT7hWD/2T4BwRp04j8NLKvMKC/7bhiEwEjUMkQ4kvBKiH6hOqbljd6qJ2xS8reL3vl1e33grOQ==", "requires": { - "@libp2p/interface": "^0.1.6", - "@multiformats/multiaddr": "^12.1.5", - "debug": "^4.3.4", - "interface-datastore": "^8.2.0", - "multiformats": "^12.0.1" - } - }, - "@libp2p/peer-id": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-3.0.6.tgz", - "integrity": "sha512-iN1Ia5gH2U1V/GOVRmLHmVY6fblxzrOPUoZrMYjHl/K4s+AiI7ym/527WDeQvhQpD7j3TfDwcAYforD2dLGpLw==", - "requires": { - "@libp2p/interface": "^0.1.6", - "multiformats": "^12.0.1", - "uint8arrays": "^4.0.6" + "multiformats": "^13.0.0" } } } }, "@libp2p/logger": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.2.tgz", - "integrity": "sha512-J9UMtMU9BKXNp+3c5kcI7HyWOPYg2B2E6sn1gEQckiSexTaz0wKJSlgTZ89f9F8bkC3AaC8ybXYuHbFQhwpTIg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-4.0.5.tgz", + "integrity": "sha512-cXETMNZINnxeQBlfQ2S4di92FDDU89R7RHagrpebGrM7oLl5nf/Mw6myc23kGaM3/2YG3ko2rl9sYjemu0azTA==", "requires": { - "@libp2p/interface": "^1.0.2", + "@libp2p/interface": "^1.1.2", "@multiformats/multiaddr": "^12.1.10", "debug": "^4.3.4", "interface-datastore": "^8.2.0", - "multiformats": "^12.1.3" + "multiformats": "^13.0.0" + }, + "dependencies": { + "multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" + } } }, "@libp2p/mdns": { @@ -19819,21 +19862,33 @@ } }, "@libp2p/peer-id": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.0.2.tgz", - "integrity": "sha512-TkUA6MjLJ3CE82yyFOfGpH18eUkxouQC7FZcW4vMB1C6F1Y90sf0nPTcXPVZSabEcQxLeOzNk2oEqLgZw47E9w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-4.0.5.tgz", + "integrity": "sha512-/J9U6I/CWSOsYrTpFZpRQrhOhi+bp9WFp7+9Gc7kVt/oevIYTapUEjpxevjViem9ddR5RbdYeCj4ZLHA04QOoQ==", "requires": { - "@libp2p/interface": "^1.0.2", - "multiformats": "^12.1.3", + "@libp2p/interface": "^1.1.2", + "multiformats": "^13.0.0", "uint8arrays": "^5.0.0" }, "dependencies": { + "multiformats": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.0.1.tgz", + "integrity": "sha512-bt3R5iXe2O8xpp3wkmQhC73b/lC4S2ihU8Dndwcsysqbydqb8N+bpP116qMcClZ17g58iSIwtXUTcg2zT4sniA==" + }, "uint8arrays": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-5.0.0.tgz", "integrity": "sha512-RWO7gR4x6syxnKDfZO8mDCsaaYs1/BqZCxlHgrcRge50E9GTnLmtoA4kwFSGIL4s3dQkryeTkvtG6oEFEya3yg==", "requires": { "multiformats": "^12.0.1" + }, + "dependencies": { + "multiformats": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-12.1.3.tgz", + "integrity": "sha512-eajQ/ZH7qXZQR2AgtfpmSMizQzmyYVmCql7pdhldPuYQi4atACekbJaQplk6dWyIi10jCaFnd6pqvcEFXjbaJw==" + } } } } @@ -21539,6 +21594,16 @@ "safer-buffer": "~2.1.0" } }, + "asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", + "requires": { + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + } + }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -24789,6 +24854,21 @@ "uint8arraylist": "^2.4.3" } }, + "@libp2p/keychain": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-3.0.8.tgz", + "integrity": "sha512-+WmW9bN9WE0uKqTG3DVk+zsd9Np63lLS+uYRhncwCGTvg0HKXq1t+i4Xd8KbZvUv7UVakE8aae1oMezW3nS+2g==", + "requires": { + "@libp2p/crypto": "^2.0.8", + "@libp2p/interface": "^0.1.6", + "@libp2p/logger": "^3.1.0", + "@libp2p/peer-id": "^3.0.6", + "interface-datastore": "^8.2.0", + "merge-options": "^3.0.4", + "sanitize-filename": "^1.6.3", + "uint8arrays": "^4.0.6" + } + }, "@libp2p/logger": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-3.1.0.tgz", @@ -30376,6 +30456,19 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" }, + "pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "requires": { + "tslib": "^2.6.1" + } + }, + "pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==" + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -32178,6 +32271,11 @@ } } }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, "tsscmp": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", diff --git a/package.json b/package.json index e86c74c..583a669 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,8 @@ "@libp2p/bootstrap": "10.0.7", "@libp2p/circuit-relay-v2": "1.0.7", "@libp2p/identify": "1.0.6", + "@libp2p/keychain": "4.0.7", + "@libp2p/logger": "4.0.5", "@libp2p/tcp": "9.0.7", "axios": "0.27.2", "bcryptjs": "2.4.3", diff --git a/src/adapters/ipfs/ipfs.js b/src/adapters/ipfs/ipfs.js index 4dc5d8c..50d4588 100644 --- a/src/adapters/ipfs/ipfs.js +++ b/src/adapters/ipfs/ipfs.js @@ -26,6 +26,8 @@ import { webSockets } from '@libp2p/websockets' import publicIp from 'public-ip' import { multiaddr } from '@multiformats/multiaddr' import { webRTC } from '@libp2p/webrtc' +// import { keychain } from '@libp2p/keychain' +// import { defaultLogger } from '@libp2p/logger' // Local libraries import config from '../../../config/index.js' @@ -39,6 +41,10 @@ const __dirname = url.fileURLToPath(new URL('.', import.meta.url)) const ROOT_DIR = `${__dirname}../../../` const IPFS_DIR = `${__dirname}../../../.ipfsdata/ipfs` +// const keychainInit = { +// pass: 'very long, very secure password' +// } + class IpfsAdapter { constructor (localConfig) { // Encapsulate dependencies @@ -109,6 +115,18 @@ class IpfsAdapter { const blockstore = new FsBlockstore(`${IPFS_DIR}/blockstore`) const datastore = new FsDatastore(`${IPFS_DIR}/datastore`) + // Create an identity + // let peerId + // const chain = keychain(keychainInit)({ + // datastore, + // logger: defaultLogger() + // }) + // const selfKey = new Key('/pkcs8/self') + // if (await datastore.has(selfKey)) { + // // load the peer id from the keychain + // peerId = await chain.exportPeerId('self') + // } + // Configure services const services = { identify: identify(), @@ -146,6 +164,7 @@ class IpfsAdapter { // libp2p is the networking layer that underpins Helia const libp2p = await this.createLibp2p({ + // peerId, datastore, addresses: { listen: [