diff --git a/ethexe/ethereum/src/abi/mod.rs b/ethexe/ethereum/src/abi/mod.rs index 54e53e6123a..e06c037db8c 100644 --- a/ethexe/ethereum/src/abi/mod.rs +++ b/ethexe/ethereum/src/abi/mod.rs @@ -21,11 +21,17 @@ use alloy::sol; mod events; mod gear; -sol!( - #[sol(rpc)] - IMirror, - "Mirror.json" -); +pub use mirror_abi::*; + +// TODO (breathx): remove this dummy hack to avoid reentrancy issues with +// the `sol!` macro, dealing with internal libraries (e.g. 'Gear'). +mod mirror_abi { + alloy::sol!( + #[sol(rpc)] + IMirror, + "Mirror.json" + ); +} sol!( #[sol(rpc)]