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