difftreelog
fix generate stubs build ans remove warnings
in: master
4 files changed
crates/evm-coder/procedural/src/abi_derive.rsdiffbeforeafterboth1use proc_macro2::TokenStream;2use quote::quote;1use quote::quote;324pub(crate) fn impl_abi_macro(ast: &syn::DeriveInput) -> syn::Result<proc_macro2::TokenStream> {3pub(crate) fn impl_abi_macro(ast: &syn::DeriveInput) -> syn::Result<proc_macro2::TokenStream> {128 }127 }129}128}130129131fn extract_docs(attrs: &Vec<syn::Attribute>) -> syn::Result<Vec<String>> {130fn extract_docs(attrs: &[syn::Attribute]) -> syn::Result<Vec<String>> {132 attrs131 attrs133 .iter()132 .iter()134 .filter_map(|attr| {133 .filter_map(|attr| {163 }162 }164}163}165164166fn map_field_to_type<'a>(field: &'a syn::Field) -> &'a syn::Type {165fn map_field_to_type(field: &syn::Field) -> &syn::Type {167 &field.ty166 &field.ty168}167}169168177 }176 }178}177}179178180fn impl_abi_type<'a>(179fn impl_abi_type(181 name: &syn::Ident,180 name: &syn::Ident,182 tuple_type: proc_macro2::TokenStream,181 tuple_type: proc_macro2::TokenStream,183) -> proc_macro2::TokenStream {182) -> proc_macro2::TokenStream {194 }193 }195}194}196195197fn impl_abi_read<'a>(196fn impl_abi_read(198 name: &syn::Ident,197 name: &syn::Ident,199 tuple_type: proc_macro2::TokenStream,198 tuple_type: proc_macro2::TokenStream,200 tuple_names: proc_macro2::TokenStream,199 tuple_names: proc_macro2::TokenStream,210 )209 )211}210}212211213fn impl_abi_write<'a>(212fn impl_abi_write(214 name: &syn::Ident,213 name: &syn::Ident,215 is_named_fields: bool,214 _is_named_fields: bool,216 tuple_type: proc_macro2::TokenStream,215 tuple_type: proc_macro2::TokenStream,217 tuple_data: proc_macro2::TokenStream,216 tuple_data: proc_macro2::TokenStream,218) -> proc_macro2::TokenStream {217) -> proc_macro2::TokenStream {301 field_names: impl Iterator<Item = proc_macro2::Ident> + Clone,300 field_names: impl Iterator<Item = proc_macro2::Ident> + Clone,302 field_types: impl Iterator<Item = &'a syn::Type> + Clone,301 field_types: impl Iterator<Item = &'a syn::Type> + Clone,303 field_docs: impl Iterator<Item = syn::Result<Vec<String>>> + Clone,302 field_docs: impl Iterator<Item = syn::Result<Vec<String>>> + Clone,304 docs: &Vec<String>,303 docs: &[String],305) -> syn::Result<proc_macro2::TokenStream> {304) -> syn::Result<proc_macro2::TokenStream> {306 let string_name = name.to_string();305 let string_name = name.to_string();307 let name_type = field_names306 let name_type = field_namescrates/evm-coder/src/abi/impls.rsdiffbeforeafterboth--- a/crates/evm-coder/src/abi/impls.rs
+++ b/crates/evm-coder/src/abi/impls.rs
@@ -165,7 +165,7 @@
}
impl AbiWrite for Property {
- fn abi_write<'a>(&'a self, writer: &mut AbiWriter) {
+ fn abi_write(&self, writer: &mut AbiWriter) {
(&self.key, &self.value).abi_write(writer);
}
}
crates/evm-coder/src/lib.rsdiffbeforeafterboth--- a/crates/evm-coder/src/lib.rs
+++ b/crates/evm-coder/src/lib.rs
@@ -146,7 +146,7 @@
#[cfg(feature = "std")]
pub type string = ::std::string::String;
- #[derive(Default, Debug, PartialEq, Clone)]
+ #[derive(Default, Debug, PartialEq, Eq, Clone)]
pub struct bytes(pub Vec<u8>);
/// Solidity doesn't have `void` type, however we have special implementation
crates/evm-coder/src/solidity/impls.rsdiffbeforeafterboth--- a/crates/evm-coder/src/solidity/impls.rs
+++ b/crates/evm-coder/src/solidity/impls.rs
@@ -132,13 +132,14 @@
impl_tuples! {A B C D E F G H I}
impl_tuples! {A B C D E F G H I J}
-impl sealed::CanBePlacedInVec for Property {}
impl StructCollect for Property {
fn name() -> String {
"Property".into()
}
fn declaration() -> String {
+ use std::fmt::Write;
+
let mut str = String::new();
writeln!(str, "/// @dev Property struct").unwrap();
writeln!(str, "struct {} {{", Self::name()).unwrap();
@@ -167,7 +168,7 @@
}
}
-impl SolidityTupleType for Property {
+impl SolidityType for Property {
fn names(tc: &TypeCollector) -> Vec<string> {
let mut collected = Vec::with_capacity(Self::len());
{