Compare commits

...

3 Commits

Author SHA1 Message Date
realbigsean
796e3567c8 slog updates 2025-03-13 10:06:15 -07:00
realbigsean
56bb6c1968 add import 2025-03-13 09:59:08 -07:00
dapplion
8f2194eb2c Add logs when adding to pubkey cache 2025-03-13 09:48:44 -07:00

View File

@@ -1,6 +1,7 @@
use crate::errors::BeaconChainError;
use crate::{BeaconChainTypes, BeaconStore};
use bls::PUBLIC_KEY_UNCOMPRESSED_BYTES_LEN;
use slog::{debug, Logger};
use smallvec::SmallVec;
use ssz::{Decode, Encode};
use ssz_derive::{Decode, Encode};
@@ -18,6 +19,7 @@ use types::{BeaconState, FixedBytesExtended, Hash256, PublicKey, PublicKeyBytes}
/// keys in compressed form and they are needed in decompressed form for signature verification.
/// Decompression is expensive when many keys are involved.
pub struct ValidatorPubkeyCache<T: BeaconChainTypes> {
log: Logger,
pubkeys: Vec<PublicKey>,
indices: HashMap<PublicKeyBytes, usize>,
pubkey_bytes: Vec<PublicKeyBytes>,
@@ -33,6 +35,7 @@ impl<T: BeaconChainTypes> ValidatorPubkeyCache<T> {
store: BeaconStore<T>,
) -> Result<Self, BeaconChainError> {
let mut cache = Self {
log: store.log.clone(),
pubkeys: vec![],
indices: HashMap::new(),
pubkey_bytes: vec![],
@@ -64,7 +67,14 @@ impl<T: BeaconChainTypes> ValidatorPubkeyCache<T> {
}
}
let indices_len = indices.len();
debug!(
store.log,
"Loaded pubkey cache from store. Indices: {}", indices_len
);
Ok(ValidatorPubkeyCache {
log: store.log.clone(),
pubkeys,
indices,
pubkey_bytes,
@@ -105,6 +115,12 @@ impl<T: BeaconChainTypes> ValidatorPubkeyCache<T> {
self.pubkeys.reserve(validator_keys.len());
self.indices.reserve(validator_keys.len());
let count = validator_keys.len();
debug!(
self.log,
"Importing new pubkeys to the pubkey cache. count: {}", count
);
let mut store_ops = Vec::with_capacity(validator_keys.len());
for pubkey_bytes in validator_keys {
let i = self.pubkeys.len();