pub struct AddressSignedModel;Trait Implementations§
Source§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, prism_model! {
pub struct AddressSignedModel;
pub struct AddressSignedRoute;
impl PrismModel<
DefaultHostTypes,
AddrBounds,
Sha256Hasher,
AddressResolverTuple<Sha256Hasher>,
SignedCommitment
> for AddressSignedModel {
type Input = JsonCarrier<'a>;
type Output = AddressLabel;
type Route = AddressSignedRoute;
fn route(input: Self::Input) -> Self::Output {
address_inference(input)
}
fn commitment() -> SignedCommitment {
SIGNED_COMMITMENT_INSTANCE
}
}
}, prism_model! {
pub struct AddressSignedModel;
pub struct AddressSignedRoute;
impl PrismModel<
DefaultHostTypes,
AddrBounds,
Sha256Hasher,
AddressResolverTuple<Sha256Hasher>,
SignedCommitment
> for AddressSignedModel {
type Input = JsonCarrier<'a>;
type Output = AddressLabel;
type Route = AddressSignedRoute;
fn route(input: Self::Input) -> Self::Output {
address_inference(input)
}
fn commitment() -> SignedCommitment {
SIGNED_COMMITMENT_INSTANCE
}
}
}, AddressResolverTuple<Sha256Hasher>, SingletonCommitment<UltrametricCloseTo<2>>> for AddressSignedModel
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, prism_model! { pub struct AddressSignedModel; pub struct AddressSignedRoute; impl PrismModel< DefaultHostTypes, AddrBounds, Sha256Hasher, AddressResolverTuple<Sha256Hasher>, SignedCommitment > for AddressSignedModel { type Input = JsonCarrier<'a>; type Output = AddressLabel; type Route = AddressSignedRoute; fn route(input: Self::Input) -> Self::Output { address_inference(input) } fn commitment() -> SignedCommitment { SIGNED_COMMITMENT_INSTANCE } } }, prism_model! { pub struct AddressSignedModel; pub struct AddressSignedRoute; impl PrismModel< DefaultHostTypes, AddrBounds, Sha256Hasher, AddressResolverTuple<Sha256Hasher>, SignedCommitment > for AddressSignedModel { type Input = JsonCarrier<'a>; type Output = AddressLabel; type Route = AddressSignedRoute; fn route(input: Self::Input) -> Self::Output { address_inference(input) } fn commitment() -> SignedCommitment { SIGNED_COMMITMENT_INSTANCE } } }, AddressResolverTuple<Sha256Hasher>, SingletonCommitment<UltrametricCloseTo<2>>> for AddressSignedModel
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 = AddressSignedRoute
type Route = AddressSignedRoute
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>, SignedCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, { <AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha256Hasher>, SignedCommitment>>::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>, SignedCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Sha256Hasher, { _ }, { <AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Sha256Hasher>, SignedCommitment>>::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 AddressSignedModel
Auto Trait Implementations§
impl Freeze for AddressSignedModel
impl RefUnwindSafe for AddressSignedModel
impl Send for AddressSignedModel
impl Sync for AddressSignedModel
impl Unpin for AddressSignedModel
impl UnsafeUnpin for AddressSignedModel
impl UnwindSafe for AddressSignedModel
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