numbat_wasm/io/contract_call_arg.rs
1use crate::DynArgOutput;
2use numbat_codec::TopEncode;
3
4/// Trait that specifies how arguments are serialized in contract calls.
5pub trait ContractCallArg: Sized {
6 fn push_dyn_arg<O: DynArgOutput>(&self, output: &mut O);
7}
8
9impl<T> ContractCallArg for T
10where
11 T: TopEncode,
12{
13 #[inline]
14 fn push_dyn_arg<O: DynArgOutput>(&self, output: &mut O) {
15 output.push_single_arg(self);
16 }
17}