Skip to content

Commit 5513bf3

Browse files
committed
codegen: Ensure Solidity selector and selector ids are always computed at compile time
1 parent d80d0ba commit 5513bf3

File tree

1 file changed

+6
-2
lines changed
  • crates/ink/codegen/src/generator/sol

1 file changed

+6
-2
lines changed

crates/ink/codegen/src/generator/sol/utils.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ pub fn sol_type(ty: &Type) -> TokenStream2 {
4040
pub fn selector(message: &Message) -> TokenStream2 {
4141
let signature = call_signature(message.ident().to_string(), message.inputs());
4242
quote! {
43-
::ink::codegen::sol::selector_bytes(#signature)
43+
const {
44+
::ink::codegen::sol::selector_bytes(#signature)
45+
}
4446
}
4547
}
4648

@@ -50,7 +52,9 @@ pub fn selector_id(message: &Message) -> TokenStream2 {
5052
let selector_bytes = selector(message);
5153
quote!(
5254
{
53-
::core::primitive::u32::from_be_bytes(#selector_bytes)
55+
const {
56+
::core::primitive::u32::from_be_bytes(#selector_bytes)
57+
}
5458
}
5559
)
5660
}

0 commit comments

Comments
 (0)