Merge branch 'unstable' into vc-fallback

This commit is contained in:
Mac L
2024-01-16 20:36:11 +11:00
106 changed files with 3492 additions and 1987 deletions

View File

@@ -37,7 +37,7 @@ derivative = { workspace = true }
tokio = { workspace = true }
[target.'cfg(target_os = "linux")'.dependencies]
psutil = { version = "3.2.2", optional = true }
psutil = { version = "3.3.0", optional = true }
procfs = { version = "0.15.1", optional = true }
[features]

View File

@@ -47,6 +47,9 @@ pub const EXECUTION_PAYLOAD_BLINDED_HEADER: &str = "Eth-Execution-Payload-Blinde
pub const EXECUTION_PAYLOAD_VALUE_HEADER: &str = "Eth-Execution-Payload-Value";
pub const CONSENSUS_BLOCK_VALUE_HEADER: &str = "Eth-Consensus-Block-Value";
pub const CONTENT_TYPE_HEADER: &str = "Content-Type";
pub const SSZ_CONTENT_TYPE_HEADER: &str = "application/octet-stream";
#[derive(Debug)]
pub enum Error {
/// The `reqwest` client raised an error.
@@ -1832,6 +1835,7 @@ impl BeaconNodeHttpClient {
randao_reveal: &SignatureBytes,
graffiti: Option<&Graffiti>,
skip_randao_verification: SkipRandaoVerification,
builder_booster_factor: Option<u64>,
) -> Result<Url, Error> {
let mut path = self.eth_path(V3)?;
@@ -1854,6 +1858,11 @@ impl BeaconNodeHttpClient {
.append_pair("skip_randao_verification", "");
}
if let Some(builder_booster_factor) = builder_booster_factor {
path.query_pairs_mut()
.append_pair("builder_boost_factor", &builder_booster_factor.to_string());
}
Ok(path)
}
@@ -1863,12 +1872,14 @@ impl BeaconNodeHttpClient {
slot: Slot,
randao_reveal: &SignatureBytes,
graffiti: Option<&Graffiti>,
builder_booster_factor: Option<u64>,
) -> Result<(JsonProduceBlockV3Response<T>, ProduceBlockV3Metadata), Error> {
self.get_validator_blocks_v3_modular(
slot,
randao_reveal,
graffiti,
SkipRandaoVerification::No,
builder_booster_factor,
)
.await
}
@@ -1880,9 +1891,16 @@ impl BeaconNodeHttpClient {
randao_reveal: &SignatureBytes,
graffiti: Option<&Graffiti>,
skip_randao_verification: SkipRandaoVerification,
builder_booster_factor: Option<u64>,
) -> Result<(JsonProduceBlockV3Response<T>, ProduceBlockV3Metadata), Error> {
let path = self
.get_validator_blocks_v3_path(slot, randao_reveal, graffiti, skip_randao_verification)
.get_validator_blocks_v3_path(
slot,
randao_reveal,
graffiti,
skip_randao_verification,
builder_booster_factor,
)
.await?;
let opt_result = self
@@ -1923,12 +1941,14 @@ impl BeaconNodeHttpClient {
slot: Slot,
randao_reveal: &SignatureBytes,
graffiti: Option<&Graffiti>,
builder_booster_factor: Option<u64>,
) -> Result<(ProduceBlockV3Response<T>, ProduceBlockV3Metadata), Error> {
self.get_validator_blocks_v3_modular_ssz::<T>(
slot,
randao_reveal,
graffiti,
SkipRandaoVerification::No,
builder_booster_factor,
)
.await
}
@@ -1940,9 +1960,16 @@ impl BeaconNodeHttpClient {
randao_reveal: &SignatureBytes,
graffiti: Option<&Graffiti>,
skip_randao_verification: SkipRandaoVerification,
builder_booster_factor: Option<u64>,
) -> Result<(ProduceBlockV3Response<T>, ProduceBlockV3Metadata), Error> {
let path = self
.get_validator_blocks_v3_path(slot, randao_reveal, graffiti, skip_randao_verification)
.get_validator_blocks_v3_path(
slot,
randao_reveal,
graffiti,
skip_randao_verification,
builder_booster_factor,
)
.await?;
let opt_response = self

View File

@@ -243,6 +243,8 @@ pub struct ProcessHealth {
pub pid_mem_resident_set_size: u64,
/// The total virtual memory used by this pid.
pub pid_mem_virtual_memory_size: u64,
/// The total shared memory used by this pid.
pub pid_mem_shared_memory_size: u64,
/// Number of cpu seconds consumed by this pid.
pub pid_process_seconds_total: u64,
}
@@ -277,6 +279,7 @@ impl ProcessHealth {
pid_num_threads: stat.num_threads,
pid_mem_resident_set_size: process_mem.rss(),
pid_mem_virtual_memory_size: process_mem.vms(),
pid_mem_shared_memory_size: process_mem.shared(),
pid_process_seconds_total: process_times.busy().as_secs()
+ process_times.children_system().as_secs()
+ process_times.children_system().as_secs(),

View File

@@ -729,6 +729,7 @@ pub struct ValidatorBlocksQuery {
pub randao_reveal: SignatureBytes,
pub graffiti: Option<Graffiti>,
pub skip_randao_verification: SkipRandaoVerification,
pub builder_boost_factor: Option<u64>,
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Deserialize)]
@@ -1553,9 +1554,10 @@ pub struct ProduceBlockV3Metadata {
)]
pub consensus_version: ForkName,
pub execution_payload_blinded: bool,
#[serde(with = "serde_utils::u256_dec")]
pub execution_payload_value: Uint256,
#[serde(with = "serde_utils::quoted_u64")]
pub consensus_block_value: u64,
#[serde(with = "serde_utils::u256_dec")]
pub consensus_block_value: Uint256,
}
impl<T: EthSpec> FullBlockContents<T> {
@@ -1706,7 +1708,7 @@ impl TryFrom<&HeaderMap> for ProduceBlockV3Metadata {
})?;
let consensus_block_value =
parse_required_header(headers, CONSENSUS_BLOCK_VALUE_HEADER, |s| {
s.parse::<u64>()
s.parse::<Uint256>()
.map_err(|e| format!("invalid {CONSENSUS_BLOCK_VALUE_HEADER}: {e:?}"))
})?;