diff --git a/state-chain/runtime/src/chainflip/bitcoin_block_processor.rs b/state-chain/runtime/src/chainflip/bitcoin_block_processor.rs index 251b692a85..95a13107dd 100644 --- a/state-chain/runtime/src/chainflip/bitcoin_block_processor.rs +++ b/state-chain/runtime/src/chainflip/bitcoin_block_processor.rs @@ -10,7 +10,7 @@ use crate::chainflip::bitcoin_elections::BlockDataVaultDeposit; use pallet_cf_elections::electoral_systems::{ block_witnesser::state_machine::BWProcessorTypes, state_machine::core::Hook, }; -use pallet_cf_ingress_egress::{DepositWitness, ProcessedUpTo, VaultDepositWitness}; +use pallet_cf_ingress_egress::{DepositWitness, VaultDepositWitness}; #[derive(Debug, Clone, PartialEq, Eq, Encode, Decode, TypeInfo, Deserialize, Serialize)] pub enum BtcEvent { @@ -50,7 +50,6 @@ impl Hook<(BlockNumber, BtcEvent>), ()> for ExecuteEvent }, BtcEvent::Witness(deposit) => { BitcoinIngressEgress::process_channel_deposit_full_witness(deposit, block); - ProcessedUpTo::::set(block); }, } } @@ -68,9 +67,6 @@ impl Hook<(BlockNumber, BtcEvent>) }, BtcEvent::Witness(deposit) => { BitcoinIngressEgress::process_vault_swap_request_full_witness(block, deposit); - // How do we decide to update this? should be done only when all the block - // processors for the given block completed - ProcessedUpTo::::set(block); }, } } diff --git a/state-chain/runtime/src/chainflip/bitcoin_elections.rs b/state-chain/runtime/src/chainflip/bitcoin_elections.rs index ce9fede412..2614215187 100644 --- a/state-chain/runtime/src/chainflip/bitcoin_elections.rs +++ b/state-chain/runtime/src/chainflip/bitcoin_elections.rs @@ -46,7 +46,7 @@ use pallet_cf_elections::{ RunnerStorageAccess, }; use pallet_cf_ingress_egress::{ - DepositChannelDetails, DepositWitness, PalletSafeMode, ProcessedUpTo, VaultDepositWitness, + DepositChannelDetails, DepositWitness, PalletSafeMode, VaultDepositWitness, }; use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; @@ -482,18 +482,16 @@ impl RunnerStorageAccess, >, >(vault_deposits_identifiers.clone(), &chain_progress)?; - // We use `ProcessedUpTo` as our upper limit to avoid not reaching consensus in - // case there is a reorg, using this block means safety margin will be kept into account for - // this election, and thus are much less likely to ask nodes to query for a block they don't - // have. - let last_processed_block = ProcessedUpTo::::get(); + + let last_btc_block = + pallet_cf_chain_tracking::CurrentChainState::::get().unwrap(); BitcoinLiveness::on_finalize::< DerivedElectoralAccess< _, BitcoinLiveness, RunnerStorageAccess, >, - >(liveness_identifiers, &(current_sc_block_number, last_processed_block))?; + >(liveness_identifiers, &(current_sc_block_number, last_btc_block.block_height - 3))?; Ok(()) }