diff --git a/accounts-db/src/ancestors.rs b/accounts-db/src/ancestors.rs index 76aabb44c3f..9159f3fc6d8 100644 --- a/accounts-db/src/ancestors.rs +++ b/accounts-db/src/ancestors.rs @@ -5,8 +5,6 @@ use { std::collections::HashMap, }; -pub type AncestorsForSerialization = HashMap; - #[cfg_attr(feature = "frozen-abi", derive(AbiExample))] #[derive(Clone, PartialEq)] pub struct Ancestors { diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 902a6728e6b..a3b5ab68b48 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -95,7 +95,7 @@ use { accounts_hash::AccountsLtHash, accounts_index::{IndexKey, ScanConfig, ScanResult}, accounts_update_notifier_interface::AccountsUpdateNotifier, - ancestors::{Ancestors, AncestorsForSerialization}, + ancestors::Ancestors, blockhash_queue::BlockhashQueue, storable_accounts::StorableAccounts, utils::create_account_shared_data, @@ -455,7 +455,6 @@ impl TransactionLogCollector { #[derive(Clone, Debug)] pub struct BankFieldsToDeserialize { pub(crate) blockhash_queue: BlockhashQueue, - pub(crate) ancestors: AncestorsForSerialization, pub(crate) hash: Hash, pub(crate) parent_hash: Hash, pub(crate) parent_slot: Slot, @@ -499,7 +498,6 @@ pub struct BankFieldsToDeserialize { #[derive(Debug)] pub struct BankFieldsToSerialize { pub blockhash_queue: BlockhashQueue, - pub ancestors: AncestorsForSerialization, pub hash: Hash, pub parent_hash: Hash, pub parent_slot: Slot, @@ -650,7 +648,6 @@ impl BankFieldsToSerialize { pub fn default_for_tests() -> Self { Self { blockhash_queue: BlockhashQueue::default(), - ancestors: AncestorsForSerialization::default(), hash: Hash::default(), parent_hash: Hash::default(), parent_slot: Slot::default(), @@ -1846,7 +1843,8 @@ impl Bank { epoch_stakes: HashMap, ) -> Self { let now = Instant::now(); - let ancestors = Ancestors::from(&fields.ancestors); + let slot = fields.slot; + let ancestors = Ancestors::from(vec![slot]); // For backward compatibility, we can only serialize and deserialize // Stakes in BankFieldsTo{Serialize,Deserialize}. But Bank // caches Stakes. Below Stakes is obtained @@ -1902,7 +1900,7 @@ impl Bank { ns_per_slot: fields.ns_per_slot, genesis_creation_time: fields.genesis_creation_time, slots_per_year: fields.slots_per_year, - slot: fields.slot, + slot, bank_id: 0, epoch: fields.epoch, block_height: fields.block_height, @@ -2008,7 +2006,6 @@ impl Bank { pub(crate) fn get_fields_to_serialize(&self) -> BankFieldsToSerialize { BankFieldsToSerialize { blockhash_queue: self.blockhash_queue.read().unwrap().clone(), - ancestors: AncestorsForSerialization::from(&self.ancestors), hash: *self.hash.read().unwrap(), parent_hash: self.parent_hash, parent_slot: self.parent_slot, diff --git a/runtime/src/bank/serde_snapshot.rs b/runtime/src/bank/serde_snapshot.rs index af08abd63cd..4758ba3899f 100644 --- a/runtime/src/bank/serde_snapshot.rs +++ b/runtime/src/bank/serde_snapshot.rs @@ -345,7 +345,7 @@ mod tests { #[cfg_attr( feature = "frozen-abi", derive(AbiExample), - frozen_abi(digest = "FCDuswxZnGvvJURSkrQPshX45a25CR6UAmPgzGeUfMFv") + frozen_abi(digest = "HKTVanoy2iLbtAVwrt2y8HxH8YaWsgw4LZC9B76X6EL4") )] #[derive(serde::Serialize)] pub struct BankAbiTestWrapper { diff --git a/runtime/src/serde_snapshot.rs b/runtime/src/serde_snapshot.rs index 23f0cf7a72f..f4b5d8b3a77 100644 --- a/runtime/src/serde_snapshot.rs +++ b/runtime/src/serde_snapshot.rs @@ -29,7 +29,6 @@ use { accounts_file::{AccountsFile, StorageAccess}, accounts_hash::AccountsLtHash, accounts_update_notifier_interface::AccountsUpdateNotifier, - ancestors::AncestorsForSerialization, blockhash_queue::BlockhashQueue, }, solana_clock::{Epoch, Slot, UnixTimestamp}, @@ -155,7 +154,7 @@ struct UnusedAccounts { #[derive(Clone, Deserialize)] struct DeserializableVersionedBank { blockhash_queue: BlockhashQueue, - ancestors: AncestorsForSerialization, + _unused_ancestors: HashMap, hash: Hash, parent_hash: Hash, parent_slot: Slot, @@ -195,7 +194,6 @@ impl From for BankFieldsToDeserialize { const LT_HASH_CANARY: LtHash = LtHash([0xCAFE; LtHash::NUM_ELEMENTS]); BankFieldsToDeserialize { blockhash_queue: dvb.blockhash_queue, - ancestors: dvb.ancestors, hash: dvb.hash, parent_hash: dvb.parent_hash, parent_slot: dvb.parent_slot, @@ -233,7 +231,7 @@ impl From for BankFieldsToDeserialize { #[derive(Serialize)] struct SerializableVersionedBank { blockhash_queue: BlockhashQueue, - ancestors: AncestorsForSerialization, + unused_ancestors: HashMap, hash: Hash, parent_hash: Hash, parent_slot: Slot, @@ -271,7 +269,7 @@ impl From for SerializableVersionedBank { fn from(rhs: BankFieldsToSerialize) -> Self { Self { blockhash_queue: rhs.blockhash_queue, - ancestors: rhs.ancestors, + unused_ancestors: HashMap::default(), hash: rhs.hash, parent_hash: rhs.parent_hash, parent_slot: rhs.parent_slot,