Skip to main content

uor_addr/composition/f4/
model.rs

1//! CS-F4 `PrismModel*` declarations, one per σ-axis.
2
3#![cfg(feature = "alloc")]
4
5use crate::composition::f4::value::F4Carrier;
6#[allow(unused_imports)]
7use crate::composition::f4::verbs::{
8    compose_f4_inference, compose_f4_inference_blake3, compose_f4_inference_keccak256,
9    compose_f4_inference_sha3_256, compose_f4_inference_sha512, VERB_TERMS_COMPOSE_F4_INFERENCE,
10    VERB_TERMS_COMPOSE_F4_INFERENCE_BLAKE3, VERB_TERMS_COMPOSE_F4_INFERENCE_KECCAK256,
11    VERB_TERMS_COMPOSE_F4_INFERENCE_SHA3_256, VERB_TERMS_COMPOSE_F4_INFERENCE_SHA512,
12};
13use crate::label::{
14    CompositionLabelF4Blake3, CompositionLabelF4Keccak256, CompositionLabelF4Sha256,
15    CompositionLabelF4Sha3_256, CompositionLabelF4Sha512,
16};
17
18addr_models! {
19    input: F4Carrier<'a>,
20    {
21        hasher: prism::crypto::Sha256Hasher,
22        bounds: crate::bounds::AddrBounds,
23        shape: CompositionLabelF4Sha256,
24        model: CompositionModelF4Sha256,
25        route: CompositionRouteF4Sha256,
26        verb: compose_f4_inference
27    },
28    {
29        hasher: prism::crypto::Blake3Hasher,
30        bounds: crate::bounds::AddrBounds,
31        shape: CompositionLabelF4Blake3,
32        model: CompositionModelF4Blake3,
33        route: CompositionRouteF4Blake3,
34        verb: compose_f4_inference_blake3
35    },
36    {
37        hasher: prism::crypto::Sha3_256Hasher,
38        bounds: crate::bounds::AddrBounds,
39        shape: CompositionLabelF4Sha3_256,
40        model: CompositionModelF4Sha3_256,
41        route: CompositionRouteF4Sha3_256,
42        verb: compose_f4_inference_sha3_256
43    },
44    {
45        hasher: prism::crypto::Keccak256Hasher,
46        bounds: crate::bounds::AddrBounds,
47        shape: CompositionLabelF4Keccak256,
48        model: CompositionModelF4Keccak256,
49        route: CompositionRouteF4Keccak256,
50        verb: compose_f4_inference_keccak256
51    },
52    {
53        hasher: prism::crypto::Sha512Hasher,
54        bounds: crate::bounds::AddrBounds64,
55        shape: CompositionLabelF4Sha512,
56        model: CompositionModelF4Sha512,
57        route: CompositionRouteF4Sha512,
58        verb: compose_f4_inference_sha512
59    },
60}