diff --git a/core/lib/zksync_core/src/eth_sender/eth_tx_aggregator.rs b/core/lib/zksync_core/src/eth_sender/eth_tx_aggregator.rs index 9e55de888a15..130a50b2309b 100644 --- a/core/lib/zksync_core/src/eth_sender/eth_tx_aggregator.rs +++ b/core/lib/zksync_core/src/eth_sender/eth_tx_aggregator.rs @@ -10,7 +10,7 @@ use zksync_types::{ aggregated_operations::AggregatedOperation, contracts::{Multicall3Call, Multicall3Result}, eth_sender::EthTx, - ethabi::Token, + ethabi::{Contract, Token}, protocol_version::{L1VerifierConfig, VerifierParams}, vk_transform::l1_vk_commitment, web3::contract::{tokens::Tokenizable, Error, Options}, @@ -311,6 +311,15 @@ impl EthTxAggregator { // New verifier returns the hash of the verification key tracing::debug!("Calling get_verification_key"); if contracts_are_pre_boojum { + let abi = Contract { + functions: vec![( + self.functions.get_verification_key.name.clone(), + vec![self.functions.get_verification_key.clone()], + )] + .into_iter() + .collect(), + ..Default::default() + }; let vk = eth_client .call_contract_function( &self.functions.get_verification_key.name, @@ -319,7 +328,7 @@ impl EthTxAggregator { Default::default(), None, verifier_address, - self.functions.verifier_contract.clone(), + abi, ) .await?; Ok(l1_vk_commitment(vk))