diff --git a/stylus-proc/src/macros/public/types.rs b/stylus-proc/src/macros/public/types.rs index 439e92a..7de0e89 100644 --- a/stylus-proc/src/macros/public/types.rs +++ b/stylus-proc/src/macros/public/types.rs @@ -64,7 +64,7 @@ impl PublicImpl { let fallback_deny: Option = match fallback_purity { Purity::Payable => None, _ => Some(parse_quote! { - if let Err(err) = stylus_sdk::abi::internal::deny_value("fallback") { + if let Err(err) = stylus_sdk::abi::internal::deny_value(storage.vm(), "fallback") { return Some(Err(err)); } }), @@ -82,7 +82,7 @@ impl PublicImpl { parse_quote! { impl #Router for #self_ty where - S: stylus_sdk::stylus_core::storage::TopLevelStorage + core::borrow::BorrowMut + S: stylus_sdk::stylus_core::storage::TopLevelStorage + core::borrow::BorrowMut + stylus_sdk::stylus_core::host::HostAccess, #( S: core::borrow::BorrowMut<#inheritance>, )* @@ -320,7 +320,7 @@ impl PublicFn { } else { let name = self.name.to_string(); Some(parse_quote! { - if let Err(err) = internal::deny_value(#name) { + if let Err(err) = internal::deny_value(storage.vm(), #name) { return Some(Err(err)); } }) diff --git a/stylus-sdk/src/abi/internal.rs b/stylus-sdk/src/abi/internal.rs index c8d7aae..66c4f21 100644 --- a/stylus-sdk/src/abi/internal.rs +++ b/stylus-sdk/src/abi/internal.rs @@ -49,8 +49,8 @@ pub const fn digest_to_selector(digest: [u8; 32]) -> [u8; 4] { } #[allow(unused)] -pub fn deny_value(method_name: &str) -> Result<(), Vec> { - if msg::value() == U256::ZERO { +pub fn deny_value(vm: &dyn stylus_core::host::Host, method_name: &str) -> Result<(), Vec> { + if vm.msg_value() == U256::ZERO { return Ok(()); } console!("method {method_name} not payable");