From af0b4f0506a2282db2441360f7ca0930b77389d4 Mon Sep 17 00:00:00 2001 From: Xavier Lau Date: Wed, 14 Sep 2022 18:03:04 +0800 Subject: [PATCH] Review of #1436 (#1438) --- Cargo.lock | 2 +- frame/bridge/message-gadget/Cargo.toml | 4 ++-- frame/bridge/message-gadget/src/lib.rs | 30 +++++++++----------------- 3 files changed, 13 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b2972b2cb5..c330c9e482 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1692,8 +1692,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sha3 0.9.1", "sp-core", + "sp-io", ] [[package]] diff --git a/frame/bridge/message-gadget/Cargo.toml b/frame/bridge/message-gadget/Cargo.toml index 9faa524133..31e8919ece 100644 --- a/frame/bridge/message-gadget/Cargo.toml +++ b/frame/bridge/message-gadget/Cargo.toml @@ -13,13 +13,13 @@ version = "2.9.4" # crates.io codec = { package = "parity-scale-codec", version = "2.3", default-features = false } scale-info = { version = "1.0", default-features = false, features = ["derive"] } -sha3 = { version = "0.9", default-features = false } # darwinia-network darwinia-ethereum = { default-features = false, path = "../../dvm/ethereum" } # paritytech frame-support = { default-features = false, git = "https://github.com/darwinia-network/substrate", branch = "darwinia-v0.12.4" } frame-system = { default-features = false, git = "https://github.com/darwinia-network/substrate", branch = "darwinia-v0.12.4" } sp-core = { default-features = false, git = "https://github.com/darwinia-network/substrate", branch = "darwinia-v0.12.4" } +sp-io = { default-features = false, git = "https://github.com/darwinia-network/substrate", branch = "darwinia-v0.12.4" } [features] default = ["std"] @@ -28,11 +28,11 @@ std = [ # crates.io "codec/std", "scale-info/std", - "sha3/std", # darwinia-network "darwinia-ethereum/std", # paritytech "frame-support/std", "frame-system/std", "sp-core/std", + "sp-io/std", ] diff --git a/frame/bridge/message-gadget/src/lib.rs b/frame/bridge/message-gadget/src/lib.rs index ee17fe1e46..f5b3e194c1 100644 --- a/frame/bridge/message-gadget/src/lib.rs +++ b/frame/bridge/message-gadget/src/lib.rs @@ -20,14 +20,13 @@ // --- core --- use core::marker::PhantomData; -// --- crates.io --- -use sha3::{Digest, Keccak256}; // --- darwinia-network --- use darwinia_ethereum::InternalTransactHandler; // --- paritytech --- use frame_support::{log, pallet_prelude::*, traits::Get}; use frame_system::pallet_prelude::*; use sp_core::{H160, H256}; +use sp_io::hashing; #[frame_support::pallet] pub mod pallet { @@ -80,25 +79,16 @@ where T: Config + darwinia_ethereum::Config, { fn get() -> Option { - macro_rules! unwrap_or_return { - ($r:expr, $err_msg:expr) => { - if let Ok(r) = $r { - r - } else { - log::warn!(target: LOG_TARGET, "{}", $err_msg); + let raw_message_root = if let Ok(r) = >::read_only_call( + >::get(), + hashing::keccak_256(b"commitment()")[..4].to_vec(), + ) { + r + } else { + log::warn!(target: LOG_TARGET, "Fail to read message root from DVM, return."); - return None; - } - }; - } - - let raw_message_root = unwrap_or_return!( - >::read_only_call( - >::get(), - Keccak256::digest(b"commitment()")[0..4].to_vec() - ), - "Fail to read message root from DVM, return." - ); + return None; + }; if raw_message_root.len() != 32 { log::warn!(