From dc48d6fc8c457f76e7a6a6c11dca1b0d77342d9d Mon Sep 17 00:00:00 2001 From: Dorian Date: Sat, 14 Mar 2026 04:17:05 +0000 Subject: [PATCH] fix: use correct mainline v2 API for DHT operations - get_mutable takes &[u8; 32] directly (not VerifyingKey) - MutableItem::new takes bytes::Bytes (not Vec) - Remove VerifyingKey import (not exported from mainline v2) Co-Authored-By: Claude Opus 4.6 (1M context) --- core/archipelago/src/network/did_dht.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/core/archipelago/src/network/did_dht.rs b/core/archipelago/src/network/did_dht.rs index be2ec988..5484dd53 100644 --- a/core/archipelago/src/network/did_dht.rs +++ b/core/archipelago/src/network/did_dht.rs @@ -108,7 +108,7 @@ pub async fn create_and_publish( let dht = mainline::Dht::client().context("Failed to create DHT client")?; let signer = mainline::SigningKey::from_bytes(&signing_key.to_bytes()); - let item = mainline::MutableItem::new(signer, payload, 0, None); + let item = mainline::MutableItem::new(signer, bytes::Bytes::from(payload), 0, None); dht.put_mutable(item).context("Failed to publish to DHT")?; @@ -127,17 +127,13 @@ pub async fn resolve(did: &str, cache: Option<&DhtDidCache>) -> Result> - match dht.get_mutable(&target, None, None) { + match dht.get_mutable(&pubkey_bytes, None, None) { Ok(mut iter) => iter.next(), Err(_) => None, }