at protocol indexer with flexible filtering, xrpc queries, and a cursor-backed event stream, built on fjall
at-protocol atproto indexer rust fjall

[resolver] relax lifetime on resolve_signing_key to accept any Did

ptr.pet 6fe102c4 64a0e115

verified
+5 -8
+5 -8
src/resolver.rs
··· 79 79 Ok((pds, handle)) 80 80 } 81 81 82 - pub async fn resolve_signing_key(&self, did: &Did<'static>) -> Result<PublicKey<'static>> { 83 - if let Some(entry) = self.inner.key_cache.get_async(did).await { 82 + pub async fn resolve_signing_key(&self, did: &Did<'_>) -> Result<PublicKey<'static>> { 83 + let did = did.clone().into_static(); 84 + if let Some(entry) = self.inner.key_cache.get_async(&did).await { 84 85 return Ok(entry.get().clone()); 85 86 } 86 87 87 88 let doc_resp = self 88 89 .inner 89 90 .jacquard 90 - .resolve_did_doc(did) 91 + .resolve_did_doc(&did) 91 92 .await 92 93 .into_diagnostic()?; 93 94 let doc = doc_resp.parse().into_diagnostic()?; ··· 98 99 .ok_or_else(|| NoSigningKeyError(did.clone())) 99 100 .into_diagnostic()?; 100 101 101 - let _ = self 102 - .inner 103 - .key_cache 104 - .put_async(did.clone(), key.clone()) 105 - .await; 102 + let _ = self.inner.key_cache.put_async(did, key.clone()).await; 106 103 107 104 Ok(key) 108 105 }