git.delta.rocks / unique-network / refs/commits / 695f378349e2

difftreelog

feat print selector in generated ifaces

Yaroslav Bolyukin2021-09-01parent: #4aadc00.patch.diff
in: master

2 files changed

modifiedcrates/evm-coder-macros/src/solidity_interface.rsdiffbeforeafterboth
570 .iter()570 .iter()
571 .filter(|a| !a.is_special())571 .filter(|a| !a.is_special())
572 .map(MethodArg::expand_solidity_argument);572 .map(MethodArg::expand_solidity_argument);
573 let selector = format!("{} {:0>8x}", self.selector_str, self.selector);
573574
574 quote! {575 quote! {
575 SolidityFunction {576 SolidityFunction {
577 selector: #selector,
576 name: #camel_name,578 name: #camel_name,
577 mutability: #mutability,579 mutability: #mutability,
578 args: (580 args: (
modifiedcrates/evm-coder/src/solidity.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/solidity.rs
+++ b/crates/evm-coder/src/solidity.rs
@@ -376,6 +376,7 @@
 	Mutable,
 }
 pub struct SolidityFunction<A, R> {
+	pub selector: &'static str,
 	pub name: &'static str,
 	pub args: A,
 	pub result: R,
@@ -388,6 +389,7 @@
 		writer: &mut impl fmt::Write,
 		tc: &TypeCollector,
 	) -> fmt::Result {
+		writeln!(writer, "\t// Selector: {}", self.selector)?;
 		write!(writer, "\tfunction {}(", self.name)?;
 		self.args.solidity_name(writer, tc)?;
 		write!(writer, ")")?;