b4689e20c6
## Proposed Changes Implement the consensus changes necessary for the upcoming Altair hard fork. ## Additional Info This is quite a heavy refactor, with pivotal types like the `BeaconState` and `BeaconBlock` changing from structs to enums. This ripples through the whole codebase with field accesses changing to methods, e.g. `state.slot` => `state.slot()`. Co-authored-by: realbigsean <seananderson33@gmail.com>
16 lines
473 B
Rust
16 lines
473 B
Rust
use crate::*;
|
|
use ssz::Encode;
|
|
|
|
pub mod beacon_state;
|
|
|
|
/// Prepare a signed beacon block for storage in the database.
|
|
#[must_use]
|
|
pub fn beacon_block_as_kv_store_op<T: EthSpec>(
|
|
key: &Hash256,
|
|
block: &SignedBeaconBlock<T>,
|
|
) -> KeyValueStoreOp {
|
|
// FIXME(altair): re-add block write/overhead metrics, or remove them
|
|
let db_key = get_key_for_col(DBColumn::BeaconBlock.into(), key.as_bytes());
|
|
KeyValueStoreOp::PutKeyValue(db_key, block.as_ssz_bytes())
|
|
}
|