Skip to main content

thruput_xdr/
auth_token.rs

1// -*-Rust-*-
2// Generated Code: DO NOT CHECK IN
3
4// Generated from xdrc commit: 6ab835b07c234abb4b0b50b61d687904727a4f32
5
6#![allow(non_camel_case_types)]
7#![allow(non_snake_case)]
8#![allow(non_upper_case_globals)]
9#![allow(unused_imports)]
10#![allow(dead_code)]
11#![allow(unused_variables)]
12#![allow(clippy::unnecessary_cast)]
13
14use crate::*;
15use core::option::Option;
16use core::ops::{Deref, DerefMut};
17
18#[cfg(feature = "std")]
19use std::io::{Read, Write};
20#[cfg(feature = "xdrs")]
21use xdrs::*;
22
23
24#[cfg(feature = "serde")]
25use ::serde::{{Serialize, Deserialize}};
26
27
28
29// 
30pub const kAuthTokenMaxLen : u32 = 256;
31
32/// Levels of node nesting a token may carry when a configuration does not
33/// state `kConfigParamMaxAuthTokenDepth`. Consensus-critical, so frozen.
34// 
35pub const kAuthTokenMaxDepth : u32 = 4;
36
37// 
38pub const kAuthTokenMaxChildNodes : u32 = 4;
39
40// 
41#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
42#[cfg_attr(feature = "xdrs", derive(ReadXDR, WriteXDR, ConstXDRSize))]
43#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
44#[derive(Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
45#[repr(transparent)]
46#[cfg_attr(feature = "serde", serde(transparent))]
47pub struct AuthTokenPayload {
48    inner: BytesM<kAuthTokenMaxLen>,
49}
50impl From<BytesM<kAuthTokenMaxLen>> for AuthTokenPayload {
51    fn from(_inner: BytesM<kAuthTokenMaxLen>) -> Self {
52        Self { inner: _inner }
53    }
54}
55impl AuthTokenPayload {
56    pub fn into_inner(self) -> BytesM<kAuthTokenMaxLen> {
57        self.inner
58    }
59    pub const fn new(_inner: BytesM<kAuthTokenMaxLen>) -> Self {
60        Self { inner: _inner }
61    }
62}
63
64impl Deref for AuthTokenPayload {
65    type Target = BytesM<kAuthTokenMaxLen>;
66
67    fn deref(&self) -> &Self::Target {
68        &self.inner
69    }
70}
71impl DerefMut for AuthTokenPayload {
72    fn deref_mut(&mut self) -> &mut Self::Target {
73        &mut self.inner
74    }
75}
76
77#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
78#[cfg_attr(feature = "xdrs", derive(ReadXDR, WriteXDR, ConstXDRSize))]
79#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
80#[derive(Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
81#[repr(C)]
82pub struct AuthTokenNode {
83    pub consumer_address: ContractAddress,
84    pub payload: AuthTokenPayload,
85    pub child_nodes: VecM<AuthTokenNode, kAuthTokenMaxChildNodes>,
86}
87
88#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
89#[cfg_attr(feature = "xdrs", derive(ReadXDR, WriteXDR, ConstXDRSize))]
90#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
91#[derive(Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
92#[repr(C)]
93pub struct AuthToken {
94    pub mint_address: ContractAddress,
95    pub expiry_height: BlockHeight,
96    pub root_node: AuthTokenNode,
97}
98
99
100//
101// XDR internals below this point
102//
103
104