uor_addr/composition/e6/
pipeline.rs1#![cfg(feature = "alloc")]
4
5use crate::composition::canonicalize::{canonicalize_e6, check_axis, decode_operand};
6use crate::composition::e6::model::{
7 CompositionModelE6Blake3, CompositionModelE6Keccak256, CompositionModelE6Sha256,
8 CompositionModelE6Sha3_256, CompositionModelE6Sha512,
9};
10use crate::composition::e6::value::E6Carrier;
11use crate::composition::CompositionFailure;
12use crate::label::KappaLabel;
13use crate::outcome::AddressOutcome;
14use prism::pipeline::PrismModel;
15
16pub fn compose_e6_filtration(
26 operand: &KappaLabel<71>,
27) -> Result<AddressOutcome<71>, CompositionFailure> {
28 let (axis, _) = decode_operand(operand)?;
29 check_axis(axis, "sha256")?;
30 let canon = canonicalize_e6(operand)?;
31 let grounded = CompositionModelE6Sha256::forward(E6Carrier::new(&canon))
32 .map_err(|_| CompositionFailure::PipelineFailure)?;
33 AddressOutcome::<71>::from_grounded(&grounded).map_err(|_| CompositionFailure::PipelineFailure)
34}
35pub fn compose_e6_filtration_blake3(
45 operand: &KappaLabel<71>,
46) -> Result<AddressOutcome<71>, CompositionFailure> {
47 let (axis, _) = decode_operand(operand)?;
48 check_axis(axis, "blake3")?;
49 let canon = canonicalize_e6(operand)?;
50 let grounded = CompositionModelE6Blake3::forward(E6Carrier::new(&canon))
51 .map_err(|_| CompositionFailure::PipelineFailure)?;
52 AddressOutcome::<71>::from_grounded(&grounded).map_err(|_| CompositionFailure::PipelineFailure)
53}
54pub fn compose_e6_filtration_sha3_256(
64 operand: &KappaLabel<73>,
65) -> Result<AddressOutcome<73>, CompositionFailure> {
66 let (axis, _) = decode_operand(operand)?;
67 check_axis(axis, "sha3-256")?;
68 let canon = canonicalize_e6(operand)?;
69 let grounded = CompositionModelE6Sha3_256::forward(E6Carrier::new(&canon))
70 .map_err(|_| CompositionFailure::PipelineFailure)?;
71 AddressOutcome::<73>::from_grounded(&grounded).map_err(|_| CompositionFailure::PipelineFailure)
72}
73pub fn compose_e6_filtration_keccak256(
83 operand: &KappaLabel<74>,
84) -> Result<AddressOutcome<74>, CompositionFailure> {
85 let (axis, _) = decode_operand(operand)?;
86 check_axis(axis, "keccak256")?;
87 let canon = canonicalize_e6(operand)?;
88 let grounded = CompositionModelE6Keccak256::forward(E6Carrier::new(&canon))
89 .map_err(|_| CompositionFailure::PipelineFailure)?;
90 AddressOutcome::<74>::from_grounded(&grounded).map_err(|_| CompositionFailure::PipelineFailure)
91}
92pub fn compose_e6_filtration_sha512(
102 operand: &KappaLabel<135>,
103) -> Result<AddressOutcome<135, 64>, CompositionFailure> {
104 let (axis, _) = decode_operand(operand)?;
105 check_axis(axis, "sha512")?;
106 let canon = canonicalize_e6(operand)?;
107 let grounded = CompositionModelE6Sha512::forward(E6Carrier::new(&canon))
108 .map_err(|_| CompositionFailure::PipelineFailure)?;
109 AddressOutcome::<135, 64>::from_grounded(&grounded)
110 .map_err(|_| CompositionFailure::PipelineFailure)
111}