From 50d005ef0b3cb4ba01fed45904cc6b62956ea47d Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Tue, 12 Jul 2022 11:19:53 +0000 Subject: [PATCH] refactor(evm-coder): fancier selector doccomment Make it closer to format used in standards --- --- a/crates/evm-coder-macros/src/solidity_interface.rs +++ b/crates/evm-coder-macros/src/solidity_interface.rs @@ -765,11 +765,13 @@ .filter(|a| !a.is_special()) .map(MethodArg::expand_solidity_argument); let docs = self.docs.iter(); - let selector = format!("{} {:0>8x}", self.selector_str, self.selector); + let selector_str = &self.selector_str; + let selector = self.selector; quote! { SolidityFunction { docs: &[#(#docs),*], + selector_str: #selector_str, selector: #selector, name: #camel_name, mutability: #mutability, --- a/crates/evm-coder/src/solidity.rs +++ b/crates/evm-coder/src/solidity.rs @@ -402,7 +402,8 @@ } pub struct SolidityFunction { pub docs: &'static [&'static str], - pub selector: &'static str, + pub selector_str: &'static str, + pub selector: u32, pub name: &'static str, pub args: A, pub result: R, @@ -421,7 +422,8 @@ if !self.docs.is_empty() { writeln!(writer, "\t///")?; } - writeln!(writer, "\t/// Selector: {}", self.selector)?; + writeln!(writer, "\t/// @dev EVM selector for this function is: 0x{:0>8x},", self.selector)?; + writeln!(writer, "\t/// or in textual repr: {}", self.selector_str)?; write!(writer, "\tfunction {}(", self.name)?; self.args.solidity_name(writer, tc)?; write!(writer, ")")?; -- gitstuff