Skip to main content

AnchorStore

Struct AnchorStore 

Source
pub struct AnchorStore { /* private fields */ }
Expand description

SQLite-backed store. Each operation opens its own connection so callers may safely share the store across worker threads.

Implementations§

Source§

impl AnchorStore

Source

pub fn open( path: impl AsRef<Path>, config: AnchorStoreConfig, ) -> Result<Self, AnchorStoreError>

Open or create the store and bind it to immutable runtime policy.

§Errors

Fails closed when the path, schema, or previously persisted runtime policy is unavailable or inconsistent.

Source

pub fn provision_authority( &self, provisioning: &AuthorityProvisioningV1, authorization: &AuthorityGovernanceAuthorizationV1, applied_at_ms: u64, ) -> Result<(), AnchorStoreError>

Validate and persist a signed DID/chain/scope authority snapshot. Identical provisioning is idempotent; any replacement under the same DID/key ID is rejected.

§Errors

Fails for invalid identity documents, delegation signatures, scope, key epoch, audience, validity, or persistent conflicts.

Source

pub fn retire_authority( &self, retirement: &AuthorityRetirementV1, authorization: &AuthorityGovernanceAuthorizationV1, applied_at_ms: u64, ) -> Result<(), AnchorStoreError>

Persist a signed key-epoch retirement. Identical retirement is idempotent; conflicting retirement evidence is rejected.

§Errors

Fails if the retirement is not signed by the configured intermediate, targets another authority epoch, predates the binding, or conflicts with existing evidence.

Source

pub fn revoke_authority( &self, retirement: &AuthorityRetirementV1, authorization: &AuthorityGovernanceAuthorizationV1, applied_at_ms: u64, ) -> Result<(), AnchorStoreError>

Persist a governance-authorized revocation of one exact authority epoch.

Source

pub fn record( &self, submission: SubmissionContext<'_>, signer: &dyn DurableAnchorSigner, ) -> Result<AnchorRecord, AnchorStoreError>

Validate, authorize, sign exactly once, and atomically commit one request/idempotency/receipt/response record. Exact durable replay is checked before live authority expiry or retirement.

§Errors

Fails closed for invalid protocol bytes, authority state, conflicts, signer errors, persistence errors, or failed self-verification.

Source

pub fn readback_action( &self, source_code: &str, action_hash: &[u8; 32], ) -> Result<Option<AuthenticatedAnchorReadback>, AnchorStoreError>

Read and cryptographically authenticate one stored action record.

§Errors

Returns a readback error if any persisted request, receipt, response, signature journal, authority snapshot, or binding commitment changed.

Trait Implementations§

Source§

impl Clone for AnchorStore

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AnchorStore

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more