--- a/crates/evm-coder/procedural/src/abi_derive.rs +++ b/crates/evm-coder/procedural/src/abi_derive.rs @@ -30,6 +30,7 @@ let abi_type = impl_abi_type(name, field_types.clone()); let abi_read = impl_abi_read(name, is_named_fields, field_names.clone(), field_types); let abi_write = impl_abi_write(name, is_named_fields, params_count, field_names); + // let solidity_tuple_type = Ok(quote! { #can_be_plcaed_in_vec --- a/crates/evm-coder/src/solidity/impls.rs +++ b/crates/evm-coder/src/solidity/impls.rs @@ -1,4 +1,4 @@ -use super::{TypeCollector, SolidityTypeName, SolidityTupleType}; +use super::{TypeCollector, SolidityTypeName, SolidityType}; use crate::{sealed, types::*}; use core::fmt; @@ -70,7 +70,7 @@ macro_rules! impl_tuples { ($($ident:ident)+) => { - impl<$($ident: SolidityTypeName + 'static),+> SolidityTupleType for ($($ident,)+) { + impl<$($ident: SolidityTypeName + 'static),+> SolidityType for ($($ident,)+) { fn names(tc: &TypeCollector) -> Vec { let mut collected = Vec::with_capacity(Self::len()); $({ --- a/crates/evm-coder/src/solidity/mod.rs +++ b/crates/evm-coder/src/solidity/mod.rs @@ -59,7 +59,7 @@ self.id.set(v + 1); v } - pub fn collect_tuple(&self) -> String { + pub fn collect_tuple(&self) -> String { let names = T::names(self); if let Some(id) = self.anonymous.borrow().get(&names).cloned() { return format!("Tuple{}", id); --- a/crates/evm-coder/src/solidity/traits.rs +++ b/crates/evm-coder/src/solidity/traits.rs @@ -19,7 +19,7 @@ } } -pub trait SolidityTupleType { +pub trait SolidityType { fn names(tc: &TypeCollector) -> Vec; fn len() -> usize; } --- a/pallets/common/src/eth.rs +++ b/pallets/common/src/eth.rs @@ -156,10 +156,10 @@ } #[cfg(feature = "stubgen")] -impl ::evm_coder::solidity::SolidityTupleType for EthCrossAccount { +impl ::evm_coder::solidity::SolidityType for EthCrossAccount { fn names(tc: &::evm_coder::solidity::TypeCollector) -> Vec { let mut collected = - Vec::with_capacity(::len()); + Vec::with_capacity(::len()); { let mut out = String::new();
::solidity_name(&mut out, tc)