Skip to main content

CollectAuthHandles

Trait CollectAuthHandles 

Source
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§

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 ()

Source§

impl CollectAuthHandles for String

Source§

impl CollectAuthHandles for bool

Source§

impl CollectAuthHandles for i8

Source§

impl CollectAuthHandles for i16

Source§

impl CollectAuthHandles for i32

Source§

impl CollectAuthHandles for i64

Source§

impl CollectAuthHandles for i128

Source§

impl CollectAuthHandles for str

Source§

impl CollectAuthHandles for u8

Source§

impl CollectAuthHandles for u16

Source§

impl CollectAuthHandles for u32

Source§

impl CollectAuthHandles for u64

Source§

impl CollectAuthHandles for u128

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Source§

impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles, F: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E, F)

Source§

impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles, E: CollectAuthHandles> CollectAuthHandles for (A, B, C, D, E)

Source§

impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles, D: CollectAuthHandles> CollectAuthHandles for (A, B, C, D)

Source§

impl<A: CollectAuthHandles, B: CollectAuthHandles, C: CollectAuthHandles> CollectAuthHandles for (A, B, C)

Source§

impl<A: CollectAuthHandles, B: CollectAuthHandles> CollectAuthHandles for (A, B)

Source§

impl<A: CollectAuthHandles> CollectAuthHandles for (A,)

Source§

impl<T: CollectAuthHandles + ?Sized> CollectAuthHandles for &T

Source§

impl<T: CollectAuthHandles + ?Sized> CollectAuthHandles for Box<T>

Available on crate feature alloc only.
Source§

impl<T: CollectAuthHandles, const N: usize> CollectAuthHandles for [T; N]

Source§

impl<T: CollectAuthHandles> CollectAuthHandles for Option<T>

Source§

impl<T: CollectAuthHandles> CollectAuthHandles for Vec<T>

Available on crate feature alloc only.
Source§

impl<T: CollectAuthHandles> CollectAuthHandles for [T]

Source§

impl<const MAX: usize, T: CollectAuthHandles> CollectAuthHandles for Vec<T, MAX>

Source§

impl<const MAX: usize> CollectAuthHandles for String<MAX>

Implementors§