uor_addr/composition/e8/
value.rs1#![cfg(feature = "alloc")]
5
6use prism::operation::TermValue;
7use prism::pipeline::{
8 ConstrainedTypeShape, ConstraintRef, IntoBindingValue, PartitionProductFields,
9};
10
11#[derive(Clone, Copy, Debug)]
13pub struct E8Carrier<'a>(&'a [u8]);
14
15impl<'a> E8Carrier<'a> {
16 #[must_use]
18 pub fn new(canonical_bytes: &'a [u8]) -> Self {
19 Self(canonical_bytes)
20 }
21
22 #[must_use]
24 pub fn canonical_bytes(&self) -> &'a [u8] {
25 self.0
26 }
27}
28
29impl ConstrainedTypeShape for E8Carrier<'_> {
30 const IRI: &'static str = "https://uor.foundation/addr/composition/E8EmbeddingCarrier";
31 const SITE_COUNT: usize = 1;
32 const CONSTRAINTS: &'static [ConstraintRef] = &[];
33 const CYCLE_SIZE: u64 = u64::MAX;
34}
35
36impl prism::uor_foundation::pipeline::__sdk_seal::Sealed for E8Carrier<'_> {}
37
38impl<'a> IntoBindingValue<'a> for E8Carrier<'a> {
39 fn as_binding_value<const INLINE_BYTES: usize>(&self) -> TermValue<'a, INLINE_BYTES> {
40 TermValue::borrowed(self.0)
41 }
42}
43
44impl PartitionProductFields for E8Carrier<'_> {
45 const FIELDS: &'static [(u32, u32)] = &[];
46 const FIELD_NAMES: &'static [&'static str] = &[];
47}