fluentbase_runtime/syscall_handler/host/input_size.rs
1/// Builtin to query the size of ctx.input.
2use crate::RuntimeContext;
3use rwasm::{StoreTr, TrapCode, Value};
4
5/// Writes the input length in bytes into `result[0]`.
6pub fn syscall_input_size_handler(
7 caller: &mut impl StoreTr<RuntimeContext>,
8 _params: &[Value],
9 result: &mut [Value],
10) -> Result<(), TrapCode> {
11 let input_size = syscall_input_size_impl(caller.data());
12 result[0] = Value::I32(input_size as i32);
13 Ok(())
14}
15
16pub fn syscall_input_size_impl(ctx: &RuntimeContext) -> u32 {
17 ctx.input.len() as u32
18}