difftreelog
fix PR
in: master
1 file changed
crates/evm-coder/src/solidity/impls.rsdiffbeforeafterboth141141142impl<T: SolidityTypeName> super::SolidityStructTy for Option<T> {142impl<T: SolidityTypeName> super::SolidityStructTy for Option<T> {143 fn generate_solidity_interface(tc: &TypeCollector) -> String {143 fn generate_solidity_interface(tc: &TypeCollector) -> String {144 const option_name: &str = "Option";145 const option_name_len: usize = option_name.len();146147 let to_upper_case_generic_type_name = |s: &mut String| {144 let mut solidity_name = "Option".to_string();148 let c = s149 .chars()150 .skip(option_name_len)151 .next()152 .expect("Ethereum name must be presented");153 if c.is_ascii_uppercase() {154 return;155 }156 let uc = String::from(c.to_ascii_uppercase());157 s.replace_range(option_name_len..option_name_len + 1, uc.as_str());158 };159160 let mut solidity_name = option_name.to_string();145 let mut generic_name = String::new();161 T::solidity_name(&mut solidity_name, tc);146 T::solidity_name(&mut generic_name, tc);147 solidity_name.push(148 generic_name149 .chars()150 .next()151 .expect("Generic name is empty")152 .to_ascii_uppercase(),153 );162 to_upper_case_generic_type_name(&mut solidity_name);154 solidity_name.push_str(&generic_name[1..]);163155164 let interface = super::SolidityStruct {156 let interface = super::SolidityStruct {165 docs: &[" Optional value"],157 docs: &[" Optional value"],