Skip to main content

AddressStorageModel

Struct AddressStorageModel 

Source
pub struct AddressStorageModel;

Trait Implementations§

Source§

impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, prism_model! { pub struct AddressStorageModel; pub struct AddressStorageRoute; impl PrismModel< DefaultHostTypes, AddrBounds, Sha256Hasher, AddressResolverTuple<Sha256Hasher>, StorageCommitment > for AddressStorageModel { type Input = JsonCarrier<'a>; type Output = AddressLabel; type Route = AddressStorageRoute; fn route(input: Self::Input) -> Self::Output { address_inference(input) } fn commitment() -> StorageCommitment { STORAGE_COMMITMENT_INSTANCE } } }, prism_model! { pub struct AddressStorageModel; pub struct AddressStorageRoute; impl PrismModel< DefaultHostTypes, AddrBounds, Sha256Hasher, AddressResolverTuple<Sha256Hasher>, StorageCommitment > for AddressStorageModel { type Input = JsonCarrier<'a>; type Output = AddressLabel; type Route = AddressStorageRoute; fn route(input: Self::Input) -> Self::Output { address_inference(input) } fn commitment() -> StorageCommitment { STORAGE_COMMITMENT_INSTANCE } } }, AddressResolverTuple<Sha256Hasher>, AndCommitment<EmptyCommitment, SingletonCommitment<LexicographicLessEqThreshold>>> for AddressStorageModel

Source§

type Input = JsonCarrier<'a>

Input feature type — a [ConstrainedTypeShape] impl declared in foundation vocabulary. Per wiki ADR-023 (amended by ADR-060), Input is also bound by [IntoBindingValue]<'a> so [run_route] can flow the runtime input value (as a source-polymorphic TermValue carrier) into the CompileUnit binding table for Term::Variable { name_index: 0 } (the route’s input-parameter slot per ADR-022 D3 G2). The lifetime 'a is the borrowed-input-data lifetime the carrier (and the resulting Grounded<'a> output) propagates.
Source§

type Output = AddressLabelSha256

Output label type — a [ConstrainedTypeShape] impl declared in foundation vocabulary that is also a [crate::enforcement::GroundedShape].
Source§

type Route = AddressStorageRoute

Type-level witness of the term tree mapping Input to Output. Bound by [FoundationClosed]: the prism_model! macro emits the FoundationClosed impl for this witness iff every node is a foundation-vocabulary item, satisfying the closure check at the application’s compile time per UORassembly (TC-04).
Source§

fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, { <AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha256Hasher>, StorageCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, { <AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha256Hasher>, StorageCommitment>>::Output, { _ }, { <AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }>, PipelineFailure>

The catamorphism into [run_route]’s runtime carrier. Implementations are emitted by the prism_model! macro from the syntactic Route declaration; the macro derives the body via initiality of Term (wiki ADR-019). The canonical body is run_route::<H, B, A, Self>(input) (per ADR-022 D5). Read more
Source§

impl Sealed for AddressStorageModel

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.