From d367e150205b362b73493b92fbf2866f36598068 Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Fri, 09 Jul 2021 12:39:09 +0000 Subject: [PATCH] fix: limit indexed field amount to 3 --- --- a/crates/evm-coder-macros/src/to_log.rs +++ b/crates/evm-coder-macros/src/to_log.rs @@ -56,6 +56,12 @@ for field in &named.named { fields.push(EventField::try_from(field)?); } + if fields.iter().filter(|f| f.indexed).count() > 3 { + return Err(syn::Error::new( + variant.fields.span(), + "events can have at most 4 indexed fields (1 indexed field is reserved for event signature)" + )); + } let mut selector_str = format!("{}(", name); for (i, arg) in fields.iter().enumerate() { if i != 0 { -- gitstuff