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.rsdiffbeforeafterboth165}165}166166167impl AbiWrite for Property {167impl AbiWrite for Property {168 fn abi_write<'a>(&'a self, writer: &mut AbiWriter) {168 fn abi_write(&self, writer: &mut AbiWriter) {169 (&self.key, &self.value).abi_write(writer);169 (&self.key, &self.value).abi_write(writer);170 }170 }171}171}crates/evm-coder/src/lib.rsdiffbeforeafterboth146 #[cfg(feature = "std")]146 #[cfg(feature = "std")]147 pub type string = ::std::string::String;147 pub type string = ::std::string::String;148148149 #[derive(Default, Debug, PartialEq, Clone)]149 #[derive(Default, Debug, PartialEq, Eq, Clone)]150 pub struct bytes(pub Vec<u8>);150 pub struct bytes(pub Vec<u8>);151151152 /// Solidity doesn't have `void` type, however we have special implementation152 /// Solidity doesn't have `void` type, however we have special implementationcrates/evm-coder/src/solidity/impls.rsdiffbeforeafterboth132impl_tuples! {A B C D E F G H I}132impl_tuples! {A B C D E F G H I}133impl_tuples! {A B C D E F G H I J}133impl_tuples! {A B C D E F G H I J}134134135impl sealed::CanBePlacedInVec for Property {}136impl StructCollect for Property {135impl StructCollect for Property {137 fn name() -> String {136 fn name() -> String {138 "Property".into()137 "Property".into()139 }138 }140139141 fn declaration() -> String {140 fn declaration() -> String {141 use std::fmt::Write;142142 let mut str = String::new();143 let mut str = String::new();143 writeln!(str, "/// @dev Property struct").unwrap();144 writeln!(str, "/// @dev Property struct").unwrap();167 }168 }168}169}169170170impl SolidityTupleType for Property {171impl SolidityType for Property {171 fn names(tc: &TypeCollector) -> Vec<string> {172 fn names(tc: &TypeCollector) -> Vec<string> {172 let mut collected = Vec::with_capacity(Self::len());173 let mut collected = Vec::with_capacity(Self::len());173 {174 {