git.delta.rocks / unique-network / refs/commits / 664a920ec90a

difftreelog

fix PR

Trubnikov Sergey2023-01-12parent: #ce58d45.patch.diff
in: master

1 file changed

modifiedcrates/evm-coder/src/solidity/impls.rsdiffbeforeafterboth
141141
142impl<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();
146
147 let to_upper_case_generic_type_name = |s: &mut String| {144 let mut solidity_name = "Option".to_string();
148 let c = s
149 .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 };
159
160 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_name
149 .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..]);
163155
164 let interface = super::SolidityStruct {156 let interface = super::SolidityStruct {
165 docs: &[" Optional value"],157 docs: &[" Optional value"],