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
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>
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
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 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>
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 moreimpl Sealed for AddressStorageModel
Auto Trait Implementations§
impl Freeze for AddressStorageModel
impl RefUnwindSafe for AddressStorageModel
impl Send for AddressStorageModel
impl Sync for AddressStorageModel
impl Unpin for AddressStorageModel
impl UnsafeUnpin for AddressStorageModel
impl UnwindSafe for AddressStorageModel
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