pub trait CollectAuthHandles {
// Required method
fn collect_auth_handles(
&self,
out: &mut AuthHandleBuf,
) -> Result<(), FaultString>;
}Expand description
Extract the auth-token handles of every Signed
value nested in self, in declaration order, so they can travel
alongside the XDR payload of a contract call (Signed encodes to zero
bytes; the handles are passed out-of-band).
This is the write half of an order-matching pair with
ReceiveAuthHandles:
the callee re-attaches handles to its decoded Signed fields by walking
the same structure in the same order. Implementations of the two traits
for a type MUST visit Signed fields in the identical order — a mismatch
silently assigns auth tokens to the wrong fields. Derived implementations
(via #[contract_type]) visit struct fields in declaration order.
Required Methods§
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl CollectAuthHandles for ()
impl CollectAuthHandles for ()
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for String
impl CollectAuthHandles for String
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for bool
impl CollectAuthHandles for bool
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for i8
impl CollectAuthHandles for i8
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for i16
impl CollectAuthHandles for i16
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for i32
impl CollectAuthHandles for i32
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for i64
impl CollectAuthHandles for i64
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for i128
impl CollectAuthHandles for i128
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for str
impl CollectAuthHandles for str
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for u8
impl CollectAuthHandles for u8
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for u16
impl CollectAuthHandles for u16
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for u32
impl CollectAuthHandles for u32
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for u64
impl CollectAuthHandles for u64
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl CollectAuthHandles for u128
impl CollectAuthHandles for u128
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles, R: CollectAuthHandles, S: CollectAuthHandles, T: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles, R: CollectAuthHandles, S: CollectAuthHandles, T: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles, R: CollectAuthHandles, S: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles, R: CollectAuthHandles, S: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles, R: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles, R: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles, Q: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles, P: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles, O: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles, N: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles, M: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L, M)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles, L: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K, L)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles, K: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J, K)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles, J: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I, J)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles, I: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H, I)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles, H: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G, H)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles, G: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F, G)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles> CollectAuthHandles for (A, B, C, D)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles> CollectAuthHandles for (A, B, C, D)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles> CollectAuthHandles for (A, B, C)
impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles> CollectAuthHandles for (A, B, C)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles, B: CollectAuthHandles> CollectAuthHandles for (A, B)
impl<A: CollectAuthHandles, B: CollectAuthHandles> CollectAuthHandles for (A, B)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<A: CollectAuthHandles> CollectAuthHandles for (A,)
impl<A: CollectAuthHandles> CollectAuthHandles for (A,)
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<T: CollectAuthHandles + ?Sized> CollectAuthHandles for &T
impl<T: CollectAuthHandles + ?Sized> CollectAuthHandles for &T
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<T: CollectAuthHandles + ?Sized> CollectAuthHandles for Box<T>
Available on crate feature alloc only.
impl<T: CollectAuthHandles + ?Sized> CollectAuthHandles for Box<T>
alloc only.fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<T: CollectAuthHandles, const N: usize> CollectAuthHandles for [T; N]
impl<T: CollectAuthHandles, const N: usize> CollectAuthHandles for [T; N]
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<T: CollectAuthHandles> CollectAuthHandles for Option<T>
impl<T: CollectAuthHandles> CollectAuthHandles for Option<T>
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<T: CollectAuthHandles> CollectAuthHandles for Vec<T>
Available on crate feature alloc only.
impl<T: CollectAuthHandles> CollectAuthHandles for Vec<T>
alloc only.fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<T: CollectAuthHandles> CollectAuthHandles for [T]
impl<T: CollectAuthHandles> CollectAuthHandles for [T]
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<const MAX: usize, T: CollectAuthHandles> CollectAuthHandles for Vec<T, MAX>
impl<const MAX: usize, T: CollectAuthHandles> CollectAuthHandles for Vec<T, MAX>
fn collect_auth_handles( &self, out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Source§impl<const MAX: usize> CollectAuthHandles for String<MAX>
impl<const MAX: usize> CollectAuthHandles for String<MAX>
fn collect_auth_handles( &self, _out: &mut AuthHandleBuf, ) -> Result<(), FaultString>
Implementors§
impl CollectAuthHandles for BlockHeight
impl CollectAuthHandles for ContractAddress
impl CollectAuthHandles for ContractEntrypointID
impl CollectAuthHandles for Ed25519PublicKey
impl CollectAuthHandles for Ed25519Signature
impl CollectAuthHandles for I256
impl CollectAuthHandles for MlDsa65PublicKey
impl CollectAuthHandles for MlDsa65Signature
impl CollectAuthHandles for PublicKey
impl CollectAuthHandles for SHA256Hash
impl CollectAuthHandles for Signature
impl CollectAuthHandles for U256
impl<T: CollectAuthHandles, const MAX: u32> CollectAuthHandles for VecM<T, MAX>
alloc only.