pub struct PinnedIdentityStore { /* private fields */ }Expand description
File-backed store of pinned identities.
Storage format: a single JSON array file (~/.auths/known_identities.json).
All mutations are atomic (write to temp + rename).
Concurrent access is guarded by an advisory lock file.
§Example
ⓘ
use auths_core::trust::PinnedIdentityStore;
let store = PinnedIdentityStore::new(PinnedIdentityStore::default_path());
// Look up a pinned identity
if let Some(pin) = store.lookup("did:keri:ETest...")? {
println!("Pinned key: {}", pin.public_key_hex);
}Implementations§
Source§impl PinnedIdentityStore
impl PinnedIdentityStore
Sourcepub fn default_path() -> PathBuf
pub fn default_path() -> PathBuf
Default path: ~/.auths/known_identities.json
Sourcepub fn lookup(&self, did: &str) -> Result<Option<PinnedIdentity>, TrustError>
pub fn lookup(&self, did: &str) -> Result<Option<PinnedIdentity>, TrustError>
Look up a pinned identity by DID.
Sourcepub fn pin(&self, identity: PinnedIdentity) -> Result<(), TrustError>
pub fn pin(&self, identity: PinnedIdentity) -> Result<(), TrustError>
Pin a new identity.
The public key hex is validated at pin-time.
Errors if the DID is already pinned (use update for rotation).
Sourcepub fn update(&self, identity: PinnedIdentity) -> Result<(), TrustError>
pub fn update(&self, identity: PinnedIdentity) -> Result<(), TrustError>
Update an existing pin (after verified rotation).
Sourcepub fn remove(&self, did: &str) -> Result<bool, TrustError>
pub fn remove(&self, did: &str) -> Result<bool, TrustError>
Remove a pinned identity by DID.
Returns true if an entry was removed, false if not found.
Sourcepub fn list(&self) -> Result<Vec<PinnedIdentity>, TrustError>
pub fn list(&self) -> Result<Vec<PinnedIdentity>, TrustError>
List all pinned identities.
Auto Trait Implementations§
impl Freeze for PinnedIdentityStore
impl RefUnwindSafe for PinnedIdentityStore
impl Send for PinnedIdentityStore
impl Sync for PinnedIdentityStore
impl Unpin for PinnedIdentityStore
impl UnsafeUnpin for PinnedIdentityStore
impl UnwindSafe for PinnedIdentityStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more