identity_iota_core/did_resolution/
did_resolution_handler.rs1use crate::rebased::client::IdentityClientReadOnly;
5use crate::Error;
6use crate::IotaDID;
7use crate::IotaDocument;
8use crate::Result;
9
10#[cfg_attr(feature = "send-sync-client-ext", async_trait::async_trait)]
16#[cfg_attr(not(feature = "send-sync-client-ext"), async_trait::async_trait(?Send))]
17pub trait DidResolutionHandler {
18 async fn resolve_did(&self, did: &IotaDID) -> Result<IotaDocument>;
25}
26
27#[cfg_attr(feature = "send-sync-client-ext", async_trait::async_trait)]
28#[cfg_attr(not(feature = "send-sync-client-ext"), async_trait::async_trait(?Send))]
29impl DidResolutionHandler for IdentityClientReadOnly {
30 async fn resolve_did(&self, did: &IotaDID) -> Result<IotaDocument> {
31 self
32 .resolve_did(did)
33 .await
34 .map_err(|err| Error::DIDResolutionError(err.to_string()))
35 }
36}