referrerpolicy=no-referrer-when-downgrade
pallet_revive_uapi

Macro input

Source
macro_rules! input {
    (@inner $input:expr, $cursor:expr,) => { ... };
    (@size $size:expr, ) => { ... };
    (@inner $input:expr, $cursor:expr, $var:ident: u8, $($rest:tt)*) => { ... };
    (@size $size:expr, $var:ident: u8, $($rest:tt)*) => { ... };
    (@inner $input:expr, $cursor:expr, $var:ident: u64, $($rest:tt)*) => { ... };
    (@size $size:expr, $var:ident: u64, $($rest:tt)*) => { ... };
    (@inner $input:expr, $cursor:expr, $var:ident: u32, $($rest:tt)*) => { ... };
    (@size $size:expr, $var:ident: u32, $($rest:tt)*) => { ... };
    (@inner $input:expr, $cursor:expr, $var:ident: [u8],) => { ... };
    (@inner $input:expr, $cursor:expr, $var:ident: [u8; $n:expr], $($rest:tt)*) => { ... };
    (@inner $input:expr, $cursor:expr, $var:ident: &[u8; $n:expr], $($rest:tt)*) => { ... };
    (@size $size:expr, $var:ident: [u8; $n:expr], $($rest:tt)*) => { ... };
    (@size $size:expr, $var:ident: &[u8; $n:expr], $($rest:tt)*) => { ... };
    ($buffer:ident, $size:expr, $($rest:tt)*) => { ... };
    ($buffer: ident, $($rest:tt)*) => { ... };
    ($($rest:tt)*) => { ... };
}
Expand description

Utility macro to read input passed to a contract.

Example:

input!(
		var1: u32,      // [0, 4)   var1 decoded as u32
		var2: [u8; 32], // [4, 36)  var2 decoded as a [u8] slice
		var3: u8,       // [36, 37) var3 decoded as a u8
);

// Input and size can be specified as well:
input!(
		input,      // input buffer (optional)
		512,        // input size (optional)
		var4: u32,  // [0, 4)  var4 decoded as u32
		var5: [u8], // [4, ..) var5 decoded as a [u8] slice
);