From afc734267c8d24649ae97b926edaf1f30c1813de Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 7 Sep 2022 11:12:17 +0100 Subject: [PATCH 1/3] deps: update libp2p to 0.39.0 --- packages/ipfs-core/package.json | 2 +- packages/ipfs-daemon/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ipfs-core/package.json b/packages/ipfs-core/package.json index 9fb745a48b..9e23db9453 100644 --- a/packages/ipfs-core/package.json +++ b/packages/ipfs-core/package.json @@ -137,7 +137,7 @@ "it-tar": "^6.0.0", "it-to-buffer": "^2.0.0", "just-safe-set": "^4.0.2", - "libp2p": "^0.38.0", + "libp2p": "^0.39.0", "merge-options": "^3.0.4", "mortice": "^3.0.0", "multiformats": "^9.5.1", diff --git a/packages/ipfs-daemon/package.json b/packages/ipfs-daemon/package.json index 2c366511cb..64ae61f2ce 100644 --- a/packages/ipfs-daemon/package.json +++ b/packages/ipfs-daemon/package.json @@ -72,7 +72,7 @@ "ipfs-http-gateway": "^0.10.0", "ipfs-http-server": "^0.12.0", "ipfs-utils": "^9.0.6", - "libp2p": "^0.38.0" + "libp2p": "^0.39.0" }, "devDependencies": { "aegir": "^37.0.11", From 5a9034e4db8b7ccf8a1c68329c8d39324c9a62ed Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 7 Sep 2022 11:13:11 +0100 Subject: [PATCH 2/3] chore: remove keychain loading --- packages/ipfs-core/package.json | 2 +- packages/ipfs-core/src/components/network.js | 4 ---- packages/ipfs-core/src/components/storage.js | 6 ------ 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/ipfs-core/package.json b/packages/ipfs-core/package.json index 9e23db9453..4ce4520f83 100644 --- a/packages/ipfs-core/package.json +++ b/packages/ipfs-core/package.json @@ -90,7 +90,7 @@ "@libp2p/interfaces": "^3.0.3", "@libp2p/kad-dht": "^3.0.0", "@libp2p/logger": "^2.0.0", - "@libp2p/mplex": "^5.0.0", + "@libp2p/mplex": "^5.2.0", "@libp2p/peer-id": "^1.1.10", "@libp2p/peer-id-factory": "^1.0.10", "@libp2p/record": "^2.0.0", diff --git a/packages/ipfs-core/src/components/network.js b/packages/ipfs-core/src/components/network.js index b2f0f44a57..7f083d15fd 100644 --- a/packages/ipfs-core/src/components/network.js +++ b/packages/ipfs-core/src/components/network.js @@ -64,10 +64,6 @@ export class Network { keychainConfig: undefined }) - if (libp2p.keychain) { - await libp2p.loadKeychain() - } - await libp2p.start() for (const ma of libp2p.getMultiaddrs()) { diff --git a/packages/ipfs-core/src/components/storage.js b/packages/ipfs-core/src/components/storage.js index 8f7eff57b7..ed70e4d6e9 100644 --- a/packages/ipfs-core/src/components/storage.js +++ b/packages/ipfs-core/src/components/storage.js @@ -159,8 +159,6 @@ const initRepo = async (print, repo, options) => { }) if (libp2p.keychain) { - await libp2p.loadKeychain() - await repo.config.set('Keychain', { // @ts-expect-error private field DEK: libp2p.keychain.init.dek @@ -264,10 +262,6 @@ const configureRepo = async (repo, options) => { } }) - if (libp2p.keychain) { - await libp2p.loadKeychain() - } - return { peerId, keychain: libp2p.keychain } } From 8db7d7bdfa0ba7e69f22ad4e121c32bf7f76f575 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 7 Sep 2022 12:12:25 +0100 Subject: [PATCH 3/3] fix: tests --- packages/ipfs-core/src/components/storage.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/ipfs-core/src/components/storage.js b/packages/ipfs-core/src/components/storage.js index ed70e4d6e9..416e7b0118 100644 --- a/packages/ipfs-core/src/components/storage.js +++ b/packages/ipfs-core/src/components/storage.js @@ -13,6 +13,7 @@ import { ERR_REPO_NOT_INITIALIZED } from 'ipfs-repo/errors' import { createEd25519PeerId, createRSAPeerId } from '@libp2p/peer-id-factory' import errCode from 'err-code' import { unmarshalPrivateKey } from '@libp2p/crypto/keys' +import { Key } from 'interface-datastore/key' const mergeOptions = mergeOpts.bind({ ignoreUndefined: true }) const log = logger('ipfs:components:peer:storage') @@ -158,13 +159,15 @@ const initRepo = async (print, repo, options) => { keychainConfig }) - if (libp2p.keychain) { - await repo.config.set('Keychain', { - // @ts-expect-error private field - DEK: libp2p.keychain.init.dek - }) + if (!(await repo.datastore.has(new Key('/info/self')))) { + await libp2p.keychain.importPeer('self', peerId) } + await repo.config.set('Keychain', { + // @ts-expect-error private field + DEK: libp2p.keychain.init.dek + }) + return { peerId, keychain: libp2p.keychain } }