diff --git a/Cargo.lock b/Cargo.lock index 29470f29..0247f0a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9500,7 +9500,7 @@ dependencies = [ [[package]] name = "webb-bridge-registry-backends" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "async-trait", "ethereum-types 0.14.1", @@ -9514,12 +9514,12 @@ dependencies = [ "webb 0.7.3", "webb-proposals", "webb-relayer-config", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-chains-info" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "anyhow", "prettyplease", @@ -9558,7 +9558,7 @@ dependencies = [ [[package]] name = "webb-event-watcher-traits" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "async-trait", "backoff", @@ -9574,12 +9574,12 @@ dependencies = [ "webb-relayer-config", "webb-relayer-context", "webb-relayer-store", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-ew-dkg" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "async-trait", "ethereum-types 0.14.1", @@ -9593,12 +9593,12 @@ dependencies = [ "webb-proposals", "webb-relayer-config", "webb-relayer-store", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-ew-evm" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -9623,12 +9623,12 @@ dependencies = [ "webb-proposals", "webb-relayer-config", "webb-relayer-store", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-price-oracle-backends" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "async-trait", "axum", @@ -9642,7 +9642,7 @@ dependencies = [ "webb 0.7.3", "webb-chains-info", "webb-relayer-store", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] @@ -9668,7 +9668,7 @@ dependencies = [ [[package]] name = "webb-proposal-signing-backends" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "async-trait", "ethereum-types 0.14.1", @@ -9687,8 +9687,8 @@ dependencies = [ "webb 0.7.3", "webb-proposals", "webb-relayer-store", - "webb-relayer-types 0.5.7-dev", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-types 0.5.8-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] @@ -9709,7 +9709,7 @@ dependencies = [ [[package]] name = "webb-relayer" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "anyhow", "axum", @@ -9739,12 +9739,12 @@ dependencies = [ "webb-relayer-handlers", "webb-relayer-store", "webb-relayer-tx-queue", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-config" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "anyhow", "config", @@ -9765,13 +9765,13 @@ dependencies = [ "webb 0.7.3", "webb-proposals", "webb-relayer-store", - "webb-relayer-types 0.5.7-dev", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-types 0.5.8-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-context" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "http", "native-tls", @@ -9785,12 +9785,12 @@ dependencies = [ "webb-price-oracle-backends", "webb-relayer-config", "webb-relayer-store", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-handler-utils" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "native-tls", "serde", @@ -9802,7 +9802,7 @@ dependencies = [ [[package]] name = "webb-relayer-handlers" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "axum", "axum-client-ip", @@ -9823,12 +9823,12 @@ dependencies = [ "webb-relayer-handler-utils", "webb-relayer-store", "webb-relayer-tx-relay", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-store" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "hex", "native-tls", @@ -9840,12 +9840,12 @@ dependencies = [ "tracing", "webb 0.7.3", "webb-proposals", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-tx-queue" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "backoff", "ethereum-types 0.14.1", @@ -9864,13 +9864,13 @@ dependencies = [ "webb-relayer-config", "webb-relayer-context", "webb-relayer-store", - "webb-relayer-types 0.5.7-dev", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-types 0.5.8-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-tx-relay" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "chrono", "ethereum-types 0.14.1", @@ -9889,12 +9889,12 @@ dependencies = [ "webb-relayer-context", "webb-relayer-handler-utils", "webb-relayer-store", - "webb-relayer-utils 0.5.7-dev", + "webb-relayer-utils 0.5.8-dev", ] [[package]] name = "webb-relayer-tx-relay-utils" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "native-tls", "serde", @@ -9917,7 +9917,7 @@ dependencies = [ [[package]] name = "webb-relayer-types" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "ethereum-types 0.14.1", "native-tls", @@ -9960,7 +9960,7 @@ dependencies = [ [[package]] name = "webb-relayer-utils" -version = "0.5.7-dev" +version = "0.5.8-dev" dependencies = [ "ark-std", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index ba423456..fdf9b15d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace.package] -version = "0.5.7-dev" +version = "0.5.8-dev" authors = ["Webb Developers "] license = "Apache-2.0" documentation = "https://docs.rs/webb-relayer" diff --git a/event-watchers/evm/src/vanchor/vanchor_leaves_handler.rs b/event-watchers/evm/src/vanchor/vanchor_leaves_handler.rs index e07d4c62..a8398826 100644 --- a/event-watchers/evm/src/vanchor/vanchor_leaves_handler.rs +++ b/event-watchers/evm/src/vanchor/vanchor_leaves_handler.rs @@ -113,7 +113,7 @@ impl EventHandler for VAnchorLeavesHandler { _wrapper: &Self::Contract, ) -> webb_relayer_utils::Result { use VAnchorContractEvents::*; - let has_event = matches!(events, NewCommitmentFilter(_)); + let has_event = matches!(events, InsertionFilter(_)); Ok(has_event) } @@ -132,9 +132,9 @@ impl EventHandler for VAnchorLeavesHandler { let mt_snapshot = mt.tree.clone(); match event { - NewCommitmentFilter(event_data) => { + InsertionFilter(event_data) => { let commitment: [u8; 32] = event_data.commitment.into(); - let leaf_index = event_data.leaf_index.as_u32(); + let leaf_index = event_data.leaf_index; let value = (leaf_index, commitment.to_vec()); let target_system = TargetSystem::new_contract_address( wrapper.contract.address().to_fixed_bytes(), @@ -149,7 +149,7 @@ impl EventHandler for VAnchorLeavesHandler { batch.insert(leaf_index, leaf); mt.insert_batch(&batch, &self.hasher)?; // If leaf index is even number then we don't need to verify commitment - if event_data.leaf_index.as_u32() % 2 == 0 { + if event_data.leaf_index % 2 == 0 { tracing::debug!( leaf_index = leaf_index, commitment = hex::encode(commitment.as_slice()), @@ -159,30 +159,32 @@ impl EventHandler for VAnchorLeavesHandler { // We will verify commitment let root_bytes = mt.root().into_repr().to_bytes_be(); let root = U256::from_big_endian(root_bytes.as_slice()); - let is_known_root = wrapper - .contract - .is_known_root(root) - .block(log.block_number) - .call() - .await?; + let valid = root.eq(&event_data.new_merkle_root); tracing::debug!( - leaf_index = leaf_index, - root = hex::encode(root_bytes.as_slice()), - is_known_root, + %valid, + %leaf_index, + ?root, + ?event_data.new_merkle_root, "New commitment need to be verified", ); - if !is_known_root { + if !valid { tracing::warn!( - expected_root = ?root, - "Invalid merkle root. Maybe invalid leaf or commitment" + %leaf_index, + ?root, + ?event_data.new_merkle_root, + "Invalid merkle root. Maybe invalid leaf?" ); // Restore previous state of the tree. mt.tree = mt_snapshot; return Err(Error::InvalidMerkleRootError(leaf_index)); } } + tracing::trace!( + %log.block_number, + "detected block number", + ); // 2. We will insert leaf and last deposit block number into store store.insert_leaves_and_last_deposit_block_number( history_store_key, @@ -191,10 +193,6 @@ impl EventHandler for VAnchorLeavesHandler { )?; let events_bytes = serde_json::to_vec(&event_data)?; store.store_event(&events_bytes)?; - tracing::trace!( - %log.block_number, - "detected block number", - ); tracing::event!( target: webb_relayer_utils::probe::TARGET, tracing::Level::DEBUG, @@ -229,12 +227,11 @@ impl EventHandler for VAnchorLeavesHandler { H256::from(&v.nullifier.into()) ); } - InsertionFilter(v) => { + NewCommitmentFilter(v) => { tracing::debug!( - "Leaf {:?} inserted at index {} on time {}", + "Leaf {:?} inserted at index {}", H256::from(&v.commitment.into()), v.leaf_index, - v.timestamp ); } _ => {