uor_addr/composition/g2/
model.rs1#![cfg(feature = "alloc")]
4
5use crate::composition::g2::value::G2Carrier;
6#[allow(unused_imports)]
7use crate::composition::g2::verbs::{
8 compose_g2_inference, compose_g2_inference_blake3, compose_g2_inference_keccak256,
9 compose_g2_inference_sha3_256, compose_g2_inference_sha512, VERB_TERMS_COMPOSE_G2_INFERENCE,
10 VERB_TERMS_COMPOSE_G2_INFERENCE_BLAKE3, VERB_TERMS_COMPOSE_G2_INFERENCE_KECCAK256,
11 VERB_TERMS_COMPOSE_G2_INFERENCE_SHA3_256, VERB_TERMS_COMPOSE_G2_INFERENCE_SHA512,
12};
13use crate::label::{
14 CompositionLabelG2Blake3, CompositionLabelG2Keccak256, CompositionLabelG2Sha256,
15 CompositionLabelG2Sha3_256, CompositionLabelG2Sha512,
16};
17
18addr_models! {
19 input: G2Carrier<'a>,
20 {
21 hasher: prism::crypto::Sha256Hasher,
22 bounds: crate::bounds::AddrBounds,
23 shape: CompositionLabelG2Sha256,
24 model: CompositionModelG2Sha256,
25 route: CompositionRouteG2Sha256,
26 verb: compose_g2_inference
27 },
28 {
29 hasher: prism::crypto::Blake3Hasher,
30 bounds: crate::bounds::AddrBounds,
31 shape: CompositionLabelG2Blake3,
32 model: CompositionModelG2Blake3,
33 route: CompositionRouteG2Blake3,
34 verb: compose_g2_inference_blake3
35 },
36 {
37 hasher: prism::crypto::Sha3_256Hasher,
38 bounds: crate::bounds::AddrBounds,
39 shape: CompositionLabelG2Sha3_256,
40 model: CompositionModelG2Sha3_256,
41 route: CompositionRouteG2Sha3_256,
42 verb: compose_g2_inference_sha3_256
43 },
44 {
45 hasher: prism::crypto::Keccak256Hasher,
46 bounds: crate::bounds::AddrBounds,
47 shape: CompositionLabelG2Keccak256,
48 model: CompositionModelG2Keccak256,
49 route: CompositionRouteG2Keccak256,
50 verb: compose_g2_inference_keccak256
51 },
52 {
53 hasher: prism::crypto::Sha512Hasher,
54 bounds: crate::bounds::AddrBounds64,
55 shape: CompositionLabelG2Sha512,
56 model: CompositionModelG2Sha512,
57 route: CompositionRouteG2Sha512,
58 verb: compose_g2_inference_sha512
59 },
60}