casper-execution-engine 9.0.0

Casper execution engine crates.
use casper_wasmi::{FromValue, RuntimeArgs, Trap};

pub(crate) trait Args
where
    Self: Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap>;
}

impl<T1> Args for (T1,)
where
    T1: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        Ok((a0,))
    }
}

impl<T1, T2> Args for (T1, T2)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        Ok((a0, a1))
    }
}

impl<T1, T2, T3> Args for (T1, T2, T3)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        Ok((a0, a1, a2))
    }
}

impl<T1, T2, T3, T4> Args for (T1, T2, T3, T4)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        Ok((a0, a1, a2, a3))
    }
}

impl<T1, T2, T3, T4, T5> Args for (T1, T2, T3, T4, T5)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        Ok((a0, a1, a2, a3, a4))
    }
}

impl<T1, T2, T3, T4, T5, T6> Args for (T1, T2, T3, T4, T5, T6)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
    T6: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        let a5: T6 = args.nth_checked(5)?;
        Ok((a0, a1, a2, a3, a4, a5))
    }
}

impl<T1, T2, T3, T4, T5, T6, T7> Args for (T1, T2, T3, T4, T5, T6, T7)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
    T6: FromValue + Sized,
    T7: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        let a5: T6 = args.nth_checked(5)?;
        let a6: T7 = args.nth_checked(6)?;
        Ok((a0, a1, a2, a3, a4, a5, a6))
    }
}

impl<T1, T2, T3, T4, T5, T6, T7, T8> Args for (T1, T2, T3, T4, T5, T6, T7, T8)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
    T6: FromValue + Sized,
    T7: FromValue + Sized,
    T8: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        let a5: T6 = args.nth_checked(5)?;
        let a6: T7 = args.nth_checked(6)?;
        let a7: T8 = args.nth_checked(7)?;
        Ok((a0, a1, a2, a3, a4, a5, a6, a7))
    }
}

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> Args for (T1, T2, T3, T4, T5, T6, T7, T8, T9)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
    T6: FromValue + Sized,
    T7: FromValue + Sized,
    T8: FromValue + Sized,
    T9: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        let a5: T6 = args.nth_checked(5)?;
        let a6: T7 = args.nth_checked(6)?;
        let a7: T8 = args.nth_checked(7)?;
        let a8: T9 = args.nth_checked(8)?;
        Ok((a0, a1, a2, a3, a4, a5, a6, a7, a8))
    }
}

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Args for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
    T6: FromValue + Sized,
    T7: FromValue + Sized,
    T8: FromValue + Sized,
    T9: FromValue + Sized,
    T10: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        let a5: T6 = args.nth_checked(5)?;
        let a6: T7 = args.nth_checked(6)?;
        let a7: T8 = args.nth_checked(7)?;
        let a8: T9 = args.nth_checked(8)?;
        let a9: T10 = args.nth_checked(9)?;
        Ok((a0, a1, a2, a3, a4, a5, a6, a7, a8, a9))
    }
}

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Args
    for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where
    T1: FromValue + Sized,
    T2: FromValue + Sized,
    T3: FromValue + Sized,
    T4: FromValue + Sized,
    T5: FromValue + Sized,
    T6: FromValue + Sized,
    T7: FromValue + Sized,
    T8: FromValue + Sized,
    T9: FromValue + Sized,
    T10: FromValue + Sized,
    T11: FromValue + Sized,
{
    fn parse(args: RuntimeArgs) -> Result<Self, Trap> {
        let a0: T1 = args.nth_checked(0)?;
        let a1: T2 = args.nth_checked(1)?;
        let a2: T3 = args.nth_checked(2)?;
        let a3: T4 = args.nth_checked(3)?;
        let a4: T5 = args.nth_checked(4)?;
        let a5: T6 = args.nth_checked(5)?;
        let a6: T7 = args.nth_checked(6)?;
        let a7: T8 = args.nth_checked(7)?;
        let a8: T9 = args.nth_checked(8)?;
        let a9: T10 = args.nth_checked(9)?;
        let a10: T11 = args.nth_checked(10)?;
        Ok((a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10))
    }
}