Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ members = [
"boot_node",
"common/account_utils",
"common/axum_utils",
"common/builder_types",
"common/clap_utils",
"common/deposit_contract",
"common/directory",
Expand Down Expand Up @@ -118,6 +119,7 @@ beacon_processor = { path = "beacon_node/beacon_processor" }
bincode = "1"
bitvec = "1"
bls = { path = "crypto/bls" }
builder_types = { path = "common/builder_types" }
byteorder = "1"
bytes = "1.11.1"
cargo_metadata = "0.19"
Expand Down
1 change: 1 addition & 0 deletions beacon_node/http_api/src/produce_block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ pub fn build_response_v4<T: BeaconChainTypes>(
consensus_block_value: consensus_block_value_wei,
execution_payload_value,
execution_payload_included,
builder_url: None,
};

let add_v4_headers = |res: Response| {
Expand Down
54 changes: 44 additions & 10 deletions beacon_node/http_api/tests/broadcast_validation_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,11 @@ pub async fn gossip_invalid() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&PublishBlockRequest::new(block, blobs), validation_level)
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block, blobs),
validation_level,
None,
)
.await;
assert!(response.is_err());

Expand Down Expand Up @@ -140,7 +144,11 @@ pub async fn gossip_partial_pass() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&PublishBlockRequest::new(block, blobs), validation_level)
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block, blobs),
validation_level,
None,
)
.await;
assert_eq!(response.unwrap().status(), StatusCode::ACCEPTED);
}
Expand Down Expand Up @@ -180,6 +188,7 @@ pub async fn gossip_full_pass() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block.clone(), blobs),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -228,7 +237,7 @@ pub async fn gossip_full_pass_ssz() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&block_contents, validation_level)
.post_beacon_blocks_v2_ssz(&block_contents, validation_level, None)
.await;

assert!(response.is_ok());
Expand Down Expand Up @@ -277,7 +286,11 @@ pub async fn consensus_invalid() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&PublishBlockRequest::new(block, blobs), validation_level)
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block, blobs),
validation_level,
None,
)
.await;
assert!(response.is_err());

Expand Down Expand Up @@ -339,7 +352,11 @@ pub async fn consensus_gossip() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&PublishBlockRequest::new(block, blobs), validation_level)
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block, blobs),
validation_level,
None,
)
.await;
assert!(response.is_err());

Expand Down Expand Up @@ -463,6 +480,7 @@ pub async fn consensus_full_pass() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block.clone(), blobs),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -514,7 +532,11 @@ pub async fn equivocation_invalid() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&PublishBlockRequest::new(block, blobs), validation_level)
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block, blobs),
validation_level,
None,
)
.await;
assert!(response.is_err());

Expand Down Expand Up @@ -587,7 +609,8 @@ pub async fn equivocation_consensus_early_equivocation() {
.client
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block_a.clone(), blobs_a),
validation_level
validation_level,
None
)
.await
.is_ok()
Expand All @@ -605,6 +628,7 @@ pub async fn equivocation_consensus_early_equivocation() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block_b.clone(), blobs_b),
validation_level,
None,
)
.await;
assert!(response.is_err());
Expand Down Expand Up @@ -656,7 +680,11 @@ pub async fn equivocation_gossip() {

let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&PublishBlockRequest::new(block, blobs), validation_level)
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block, blobs),
validation_level,
None,
)
.await;
assert!(response.is_err());

Expand Down Expand Up @@ -786,6 +814,7 @@ pub async fn equivocation_full_pass() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block.clone(), blobs),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -1631,6 +1660,7 @@ pub async fn block_seen_on_gossip_without_blobs_or_columns() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block.clone(), Some(blobs)),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -1716,6 +1746,7 @@ pub async fn block_seen_on_gossip_with_columns() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block.clone(), Some(blobs)),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -1787,6 +1818,7 @@ pub async fn columns_seen_on_gossip_without_block() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block.clone(), Some((kzg_proofs, blobs))),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -1861,6 +1893,7 @@ async fn columns_seen_on_gossip_without_block_and_no_http_columns() {
Some((Default::default(), Default::default())),
),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -1931,6 +1964,7 @@ async fn slashable_columns_seen_on_gossip_cause_failure() {
.post_beacon_blocks_v2_ssz(
&PublishBlockRequest::new(block_a.clone(), Some((kzg_proofs_a, blobs_a))),
validation_level,
None,
)
.await;

Expand Down Expand Up @@ -2001,7 +2035,7 @@ pub async fn duplicate_block_status_code() {
let block_request = PublishBlockRequest::new(block.clone(), Some((kzg_proofs, blobs)));
let response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&block_request, validation_level)
.post_beacon_blocks_v2_ssz(&block_request, validation_level, None)
.await;

// This should result in the block being fully imported.
Expand All @@ -2016,7 +2050,7 @@ pub async fn duplicate_block_status_code() {
// Post again.
let duplicate_response: Result<Response, eth2::Error> = tester
.client
.post_beacon_blocks_v2_ssz(&block_request, validation_level)
.post_beacon_blocks_v2_ssz(&block_request, validation_level, None)
.await;
let err = duplicate_response.unwrap_err();
assert_eq!(err.status().unwrap(), duplicate_block_status_code);
Expand Down
29 changes: 12 additions & 17 deletions beacon_node/http_api/tests/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1987,7 +1987,7 @@ impl ApiTester {
let next_block = &self.next_block;

self.client
.post_beacon_blocks_v2_ssz(next_block, None)
.post_beacon_blocks_v2_ssz(next_block, None, None)
.await
.unwrap();

Expand Down Expand Up @@ -2085,7 +2085,7 @@ impl ApiTester {
.await
.unwrap(),
self.client
.post_beacon_blocks_v2_ssz(&block_contents, None)
.post_beacon_blocks_v2_ssz(&block_contents, None, None)
.await
.unwrap(),
self.client
Expand Down Expand Up @@ -4544,7 +4544,7 @@ impl ApiTester {
block_contents.sign(&sk, &fork, genesis_validators_root, &self.chain.spec);

self.client
.post_beacon_blocks_v2_ssz(&signed_block_contents, None)
.post_beacon_blocks_v2_ssz(&signed_block_contents, None, None)
.await
.unwrap();

Expand Down Expand Up @@ -4666,7 +4666,7 @@ impl ApiTester {
block_contents.sign(&sk, &fork, genesis_validators_root, &self.chain.spec);

self.client
.post_beacon_blocks_v2_ssz(&signed_block_contents, None)
.post_beacon_blocks_v2_ssz(&signed_block_contents, None, None)
.await
.unwrap();

Expand Down Expand Up @@ -4976,14 +4976,13 @@ impl ApiTester {

let mut url = self
.client
.get_validator_blocks_v4_path(
.post_validator_blocks_v4_path(
slot,
&randao_reveal,
None,
SkipRandaoVerification::No,
false,
None,
None,
)
.await
.unwrap();
Expand Down Expand Up @@ -5272,7 +5271,7 @@ impl ApiTester {
let signed_block_request =
PublishBlockRequest::try_from(Arc::new(signed_block.clone())).unwrap();
self.client
.post_beacon_blocks_v2_ssz(&signed_block_request, None)
.post_beacon_blocks_v2_ssz(&signed_block_request, None, None)
.await
.unwrap();
assert_eq!(self.chain.head_beacon_block(), Arc::new(signed_block));
Expand Down Expand Up @@ -5347,7 +5346,7 @@ impl ApiTester {
PublishBlockRequest::try_from(Arc::new(signed_block.clone())).unwrap();
if ssz {
self.client
.post_beacon_blocks_v2_ssz(&signed_block_request, None)
.post_beacon_blocks_v2_ssz(&signed_block_request, None, None)
.await
.unwrap();
} else {
Expand Down Expand Up @@ -9217,23 +9216,21 @@ impl ApiTester {
self
}

async fn get_validator_blocks_v4_path_graffiti_policy(self) -> Self {
async fn post_validator_blocks_v4_path_graffiti_policy(self) -> Self {
let slot = self.chain.slot().unwrap();
let epoch = self.chain.epoch().unwrap();
let (_, randao_reveal) = self.get_test_randao(slot, epoch).await;
let graffiti = Some(Graffiti::from([0; GRAFFITI_BYTES_LEN]));
let builder_boost_factor = None;

// When GraffitiPolicy is None
let no_graffiti_policy_path = self
.client
.get_validator_blocks_v4_path(
.post_validator_blocks_v4_path(
slot,
&randao_reveal,
graffiti.as_ref(),
SkipRandaoVerification::Yes,
false,
builder_boost_factor,
None,
)
.await
Expand All @@ -9242,13 +9239,12 @@ impl ApiTester {
// Default case where GraffitiPolicy is AppendClientVersions
let default_path = self
.client
.get_validator_blocks_v4_path(
.post_validator_blocks_v4_path(
slot,
&randao_reveal,
graffiti.as_ref(),
SkipRandaoVerification::Yes,
false,
builder_boost_factor,
Some(GraffitiPolicy::AppendClientVersions),
)
.await
Expand All @@ -9267,13 +9263,12 @@ impl ApiTester {

let preserve_path = self
.client
.get_validator_blocks_v4_path(
.post_validator_blocks_v4_path(
slot,
&randao_reveal,
graffiti.as_ref(),
SkipRandaoVerification::Yes,
false,
builder_boost_factor,
Some(GraffitiPolicy::PreserveUserGraffiti),
)
.await
Expand Down Expand Up @@ -10884,7 +10879,7 @@ async fn get_validator_blocks_http_api_path() {
.await
.get_validator_blocks_v3_path_graffiti_policy()
.await
.get_validator_blocks_v4_path_graffiti_policy()
.post_validator_blocks_v4_path_graffiti_policy()
.await;
}

Expand Down
Loading
Loading