diff --git a/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs b/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs index 7423dbec559c886629de6fdb8c9e841cb89b96a2..72c833a18c8d3c2bc2e5a819f0ade423be04fdd2 100644 --- a/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs +++ b/substrate/primitives/api/proc-macro/src/impl_runtime_apis.rs @@ -173,7 +173,7 @@ fn generate_wasm_interface(impls: &[ItemImpl]) -> Result<TokenStream> { #( #attrs )* #[cfg(not(feature = "std"))] #[no_mangle] - pub fn #fn_name(input_data: *mut u8, input_len: usize) -> u64 { + pub unsafe fn #fn_name(input_data: *mut u8, input_len: usize) -> u64 { let mut #input = if input_len == 0 { &[0u8; 0] } else { diff --git a/substrate/primitives/runtime/src/traits.rs b/substrate/primitives/runtime/src/traits.rs index d843bdc478c49f6cf5713386be278110549f222e..9664deb51be64cc6758d670cb134bae427f7f334 100644 --- a/substrate/primitives/runtime/src/traits.rs +++ b/substrate/primitives/runtime/src/traits.rs @@ -715,7 +715,7 @@ pub trait SignedExtension: Codec + Debug + Sync + Send + Clone + Eq + PartialEq info: &DispatchInfoOf<Self::Call>, len: usize, ) -> Result<Self::Pre, TransactionValidityError> { - self.validate(who, call, info.clone(), len) + self.validate(who, call, info, len) .map(|_| Self::Pre::default()) .map_err(Into::into) } @@ -749,7 +749,7 @@ pub trait SignedExtension: Codec + Debug + Sync + Send + Clone + Eq + PartialEq info: &DispatchInfoOf<Self::Call>, len: usize, ) -> Result<Self::Pre, TransactionValidityError> { - Self::validate_unsigned(call, info.clone(), len) + Self::validate_unsigned(call, info, len) .map(|_| Self::Pre::default()) .map_err(Into::into) }