Macro rpc_encode_decode

macro_rules! rpc_encode_decode {
    (le $ty:ty) => { ... };
    (struct $name:ident $(<$($T:ident),+>)? { $($field:ident),* $(,)? }) => { ... };
    (enum $name:ident $(<$($T:ident),+>)? { $($variant:ident $(($field:ident))*),* $(,)? }) => { ... };
}