Struct Keccak256Hasher
pub struct Keccak256Hasher { /* private fields */ }Expand description
The admissible σ-axes (re-exports of prism’s hashers). Every realization
binds Sha256Hasher by default and admits the others via its
address_<algorithm> entry points. Sha512Hasher is a Hasher<64>
(bound with AddrBounds64); the rest are Hasher<32>.
Keccak-256 hasher. 32-byte digest. The pre-FIPS-202 sponge (the
variant adopted by Ethereum); distinguished from SHA3-256 by the
0x01 vs 0x06 domain-separation byte.
Trait Implementations§
Source§impl AddrHash for Keccak256Hasher
impl AddrHash for Keccak256Hasher
Source§const LABEL_PREFIX: &'static str = "keccak256"
const LABEL_PREFIX: &'static str = "keccak256"
The lowercase algorithm token at the head of the κ-label.
Source§const OUTPUT_BYTES: usize = 32
const OUTPUT_BYTES: usize = 32
The σ-axis digest width in bytes (
Hasher::OUTPUT_BYTES).Source§fn digest_carrier<const N: usize>(input: &TermValue<'_, N>) -> [u8; 64]
fn digest_carrier<const N: usize>(input: &TermValue<'_, N>) -> [u8; 64]
Fold the (streamed) canonical carrier through this σ-axis, returning
the digest in a
MAX_DIGEST_BYTES buffer (first OUTPUT_BYTES
significant; the rest zero). Bounded resident memory — never
materializes the carrier.Source§const LABEL_BYTES: usize = _
const LABEL_BYTES: usize = _
Total κ-label ASCII width =
LABEL_PREFIX.len() + 1 + 2 × OUTPUT_BYTES. The realization’s output shape declares exactly this
many Site constraints, and the entry point returns
KappaLabel<{LABEL_BYTES}>.§impl<const INLINE_BYTES: usize, const FP_MAX: usize> AxisExtension<INLINE_BYTES, FP_MAX> for Keccak256Hasher
impl<const INLINE_BYTES: usize, const FP_MAX: usize> AxisExtension<INLINE_BYTES, FP_MAX> for Keccak256Hasher
§const AXIS_ADDRESS: &'static str = <Keccak256Hasher as HashAxis>::AXIS_ADDRESS
const AXIS_ADDRESS: &'static str = <Keccak256Hasher as HashAxis>::AXIS_ADDRESS
ADR-017 content address of this axis trait. The SDK macro
derives this from the trait name and method signatures.
§const MAX_OUTPUT_BYTES: usize = <Keccak256Hasher as HashAxis>::MAX_OUTPUT_BYTES
const MAX_OUTPUT_BYTES: usize = <Keccak256Hasher as HashAxis>::MAX_OUTPUT_BYTES
Maximum bytes any kernel of this axis returns.
§impl Clone for Keccak256Hasher
impl Clone for Keccak256Hasher
§fn clone(&self) -> Keccak256Hasher
fn clone(&self) -> Keccak256Hasher
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for Keccak256Hasher
impl Debug for Keccak256Hasher
§impl Default for Keccak256Hasher
impl Default for Keccak256Hasher
§fn default() -> Keccak256Hasher
fn default() -> Keccak256Hasher
Returns the “default value” for a type. Read more
§impl HashAxis for Keccak256Hasher
impl HashAxis for Keccak256Hasher
§impl Hasher for Keccak256Hasher
impl Hasher for Keccak256Hasher
§const OUTPUT_BYTES: usize = KECCAK256_BYTES
const OUTPUT_BYTES: usize = KECCAK256_BYTES
Active output width in bytes. Must lie within the bounds
the application’s selected
HostBounds declares —
[<B as HostBounds>::FINGERPRINT_MIN_BYTES, FP_MAX].§fn initial() -> Keccak256Hasher
fn initial() -> Keccak256Hasher
Initial hasher state.
§fn fold_byte(self, b: u8) -> Keccak256Hasher
fn fold_byte(self, b: u8) -> Keccak256Hasher
Fold a single byte into the running state.
§fn fold_bytes(self, bytes: &[u8]) -> Keccak256Hasher
fn fold_bytes(self, bytes: &[u8]) -> Keccak256Hasher
Fold a slice of bytes (default impl: byte-by-byte).
Source§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = Asn1Carrier<'a>
type Input = Asn1Carrier<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = CborCarrier<'a>
type Input = CborCarrier<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = CodeModuleCarrier<'a>
type Input = CodeModuleCarrier<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = GgufCarrier<'a>
type Input = GgufCarrier<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = OnnxCarrier<'a>
type Input = OnnxCarrier<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = RingElement
type Input = RingElement
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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = SExprValue<'a>
type Input = SExprValue<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for AddressModelKeccak256
Source§type Input = XmlValue<'a>
type Input = XmlValue<'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 = AddressLabelKeccak256
type Output = AddressLabelKeccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = AddressRouteKeccak256
type Route = AddressRouteKeccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for CompositionModelE6Keccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for CompositionModelE6Keccak256
Source§type Input = E6Carrier<'a>
type Input = E6Carrier<'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 = CompositionLabelE6Keccak256
type Output = CompositionLabelE6Keccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = CompositionRouteE6Keccak256
type Route = CompositionRouteE6Keccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for CompositionModelE7Keccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for CompositionModelE7Keccak256
Source§type Input = E7Carrier<'a>
type Input = E7Carrier<'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 = CompositionLabelE7Keccak256
type Output = CompositionLabelE7Keccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = CompositionRouteE7Keccak256
type Route = CompositionRouteE7Keccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for CompositionModelE8Keccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for CompositionModelE8Keccak256
Source§type Input = E8Carrier<'a>
type Input = E8Carrier<'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 = CompositionLabelE8Keccak256
type Output = CompositionLabelE8Keccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = CompositionRouteE8Keccak256
type Route = CompositionRouteE8Keccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for CompositionModelF4Keccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for CompositionModelF4Keccak256
Source§type Input = F4Carrier<'a>
type Input = F4Carrier<'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 = CompositionLabelF4Keccak256
type Output = CompositionLabelF4Keccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = CompositionRouteF4Keccak256
type Route = CompositionRouteF4Keccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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 moreSource§impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, prism::pipeline::prism_model! {
pub struct $model;
pub struct $route;
impl PrismModel<
prism::vocabulary::DefaultHostTypes,
$bounds,
$hasher,
$crate::resolvers::AddressResolverTuple<$hasher>,
prism::pipeline::EmptyCommitment
> for $model {
type Input = $input;
type Output = $shape;
type Route = $route;
fn route(input: Self::Input) -> Self::Output {
$verb(input)
}
}
}, AddressResolverTuple<Keccak256Hasher>> for CompositionModelG2Keccak256
impl<'a> PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, prism::pipeline::prism_model! { pub struct $model; pub struct $route; impl PrismModel< prism::vocabulary::DefaultHostTypes, $bounds, $hasher, $crate::resolvers::AddressResolverTuple<$hasher>, prism::pipeline::EmptyCommitment > for $model { type Input = $input; type Output = $shape; type Route = $route; fn route(input: Self::Input) -> Self::Output { $verb(input) } } }, AddressResolverTuple<Keccak256Hasher>> for CompositionModelG2Keccak256
Source§type Input = G2Carrier<'a>
type Input = G2Carrier<'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 = CompositionLabelG2Keccak256
type Output = CompositionLabelG2Keccak256
Output label type — a [
ConstrainedTypeShape] impl declared in
foundation vocabulary that is also a [crate::enforcement::GroundedShape].Source§type Route = CompositionRouteG2Keccak256
type Route = CompositionRouteG2Keccak256
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, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input,
) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, {
<crate::bounds::AddrBounds as
::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES
}>, PipelineFailure>
fn forward( input: <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Input, ) -> Result<Grounded<'a, <Self as PrismModel<'a, DefaultHostTypes, AddrBounds, Keccak256Hasher, { _ }, { <crate::bounds::AddrBounds as ::uor_foundation::HostBounds>::FINGERPRINT_MAX_BYTES }, AddressResolverTuple<Keccak256Hasher>, EmptyCommitment>>::Output, { _ }, { <crate::bounds::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§impl<const INLINE_BYTES: usize> SubstrateTermBody<INLINE_BYTES> for Keccak256Hasher
impl<const INLINE_BYTES: usize> SubstrateTermBody<INLINE_BYTES> for Keccak256Hasher
§fn body_arena() -> &'static [Term<'static, INLINE_BYTES>]
fn body_arena() -> &'static [Term<'static, INLINE_BYTES>]
The Term arena the kernel decomposes to. Empty slice signals a
primitive-fast-path axis whose body the implementation may evaluate
through
dispatch_kernel directly per ADR-055’s optional fast-path.Auto Trait Implementations§
impl Freeze for Keccak256Hasher
impl RefUnwindSafe for Keccak256Hasher
impl Send for Keccak256Hasher
impl Sync for Keccak256Hasher
impl Unpin for Keccak256Hasher
impl UnsafeUnpin for Keccak256Hasher
impl UnwindSafe for Keccak256Hasher
Blanket Implementations§
§impl<const INLINE_BYTES: usize, const FP_MAX: usize, H> AxisTuple<INLINE_BYTES, FP_MAX> for Hwhere
H: Hasher<FP_MAX>,
impl<const INLINE_BYTES: usize, const FP_MAX: usize, H> AxisTuple<INLINE_BYTES, FP_MAX> for Hwhere
H: Hasher<FP_MAX>,
§const AXIS_COUNT: usize = 1
const AXIS_COUNT: usize = 1
Number of axes carried in this tuple.
§const MAX_OUTPUT_BYTES: usize
const MAX_OUTPUT_BYTES: usize
Maximum kernel-output byte width across all axes in this tuple.
§fn dispatch(
axis_index: u32,
kernel_id: u32,
input: &[u8],
out: &mut [u8],
) -> Result<usize, ShapeViolation>
fn dispatch( axis_index: u32, kernel_id: u32, input: &[u8], out: &mut [u8], ) -> Result<usize, ShapeViolation>
Dispatch a kernel against the axis at
axis_index. Returns
the kernel’s output bytes (length up to [MAX_OUTPUT_BYTES]). Read more§fn body_arena_at(_axis_index: u32) -> &'static [Term<'static, INLINE_BYTES>]
fn body_arena_at(_axis_index: u32) -> &'static [Term<'static, INLINE_BYTES>]
ADR-055: return the substrate-Term body arena for the axis at
axis_index. An empty slice means the axis is a primitive-fast-path
axis whose body is byte-output-equivalent to its dispatch_kernel.
Non-empty slices carry the recursive-fold decomposition the
catamorphism walks per ADR-055’s amended Term::AxisInvocation
fold-rule.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