Skip to content
Closed
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
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ use tracing::{debug, warn};
use types::SignedExecutionPayloadBid;
use warp::{Filter, Rejection, Reply, hyper::Body, hyper::Response};

// POST /eth/v1/beacon/execution_payload_bid (SSZ)
pub(crate) fn post_beacon_execution_payload_bid_ssz<T: BeaconChainTypes>(
// POST /eth/v1/beacon/execution_payload_bids (SSZ)
pub(crate) fn post_beacon_execution_payload_bids_ssz<T: BeaconChainTypes>(
eth_v1: EthV1Filter,
task_spawner_filter: TaskSpawnerFilter<T>,
chain_filter: ChainFilter<T>,
network_tx_filter: NetworkTxFilter<T>,
) -> ResponseFilter {
eth_v1
.and(warp::path("beacon"))
.and(warp::path("execution_payload_bid"))
.and(warp::path("execution_payload_bids"))
.and(warp::path::end())
.and(warp::body::bytes())
.and(task_spawner_filter)
Expand All @@ -46,16 +46,16 @@ pub(crate) fn post_beacon_execution_payload_bid_ssz<T: BeaconChainTypes>(
.boxed()
}

// POST /eth/v1/beacon/execution_payload_bid
pub(crate) fn post_beacon_execution_payload_bid<T: BeaconChainTypes>(
// POST /eth/v1/beacon/execution_payload_bids
pub(crate) fn post_beacon_execution_payload_bids<T: BeaconChainTypes>(
eth_v1: EthV1Filter,
task_spawner_filter: TaskSpawnerFilter<T>,
chain_filter: ChainFilter<T>,
network_tx_filter: NetworkTxFilter<T>,
) -> ResponseFilter {
eth_v1
.and(warp::path("beacon"))
.and(warp::path("execution_payload_bid"))
.and(warp::path("execution_payload_bids"))
.and(warp::path::end())
.and(warp::body::json())
.and(task_spawner_filter)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ use warp::{
hyper::{Body, Response},
};

// POST beacon/execution_payload_envelope (SSZ)
pub(crate) fn post_beacon_execution_payload_envelope_ssz<T: BeaconChainTypes>(
// POST beacon/execution_payload_envelopes (SSZ)
pub(crate) fn post_beacon_execution_payload_envelopes_ssz<T: BeaconChainTypes>(
eth_v1: EthV1Filter,
task_spawner_filter: TaskSpawnerFilter<T>,
chain_filter: ChainFilter<T>,
network_tx_filter: NetworkTxFilter<T>,
) -> ResponseFilter {
eth_v1
.and(warp::path("beacon"))
.and(warp::path("execution_payload_envelope"))
.and(warp::path("execution_payload_envelopes"))
.and(warp::path::end())
.and(warp::body::bytes())
.and(task_spawner_filter)
Expand All @@ -57,16 +57,16 @@ pub(crate) fn post_beacon_execution_payload_envelope_ssz<T: BeaconChainTypes>(
.boxed()
}

// POST beacon/execution_payload_envelope
pub(crate) fn post_beacon_execution_payload_envelope<T: BeaconChainTypes>(
// POST beacon/execution_payload_envelopes
pub(crate) fn post_beacon_execution_payload_envelopes<T: BeaconChainTypes>(
eth_v1: EthV1Filter,
task_spawner_filter: TaskSpawnerFilter<T>,
chain_filter: ChainFilter<T>,
network_tx_filter: NetworkTxFilter<T>,
) -> ResponseFilter {
eth_v1
.and(warp::path("beacon"))
.and(warp::path("execution_payload_envelope"))
.and(warp::path("execution_payload_envelopes"))
.and(warp::path::end())
.and(warp::body::json())
.and(task_spawner_filter.clone())
Expand All @@ -85,7 +85,7 @@ pub(crate) fn post_beacon_execution_payload_envelope<T: BeaconChainTypes>(
.boxed()
}
/// Publishes a signed execution payload envelope to the network. Implements
/// `POST /eth/v1/beacon/execution_payload_envelope` per the in-flight beacon-APIs PR
/// `POST /eth/v1/beacon/execution_payload_envelopes` per the in-flight beacon-APIs PR
/// <https://github.com/ethereum/beacon-APIs/pull/580>.
pub async fn publish_execution_payload_envelope<T: BeaconChainTypes>(
envelope: SignedExecutionPayloadEnvelope<T::EthSpec>,
Expand Down Expand Up @@ -292,8 +292,8 @@ fn build_gloas_data_columns<T: BeaconChainTypes>(
}

// TODO(gloas): add tests for this endpoint once we support importing payloads into the db
// GET beacon/execution_payload_envelope/{block_id}
pub(crate) fn get_beacon_execution_payload_envelope<T: BeaconChainTypes>(
// GET beacon/execution_payload_envelopes/{block_id}
pub(crate) fn get_beacon_execution_payload_envelopes<T: BeaconChainTypes>(
eth_v1: EthV1Filter,
block_id_or_err: impl Filter<Extract = (BlockId,), Error = Rejection>
+ Clone
Expand All @@ -305,7 +305,7 @@ pub(crate) fn get_beacon_execution_payload_envelope<T: BeaconChainTypes>(
) -> ResponseFilter {
eth_v1
.and(warp::path("beacon"))
.and(warp::path("execution_payload_envelope"))
.and(warp::path("execution_payload_envelopes"))
.and(block_id_or_err)
.and(warp::path::end())
.and(task_spawner_filter)
Expand Down
4 changes: 2 additions & 2 deletions beacon_node/http_api/src/beacon/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pub mod execution_payload_bid;
pub mod execution_payload_envelope;
pub mod execution_payload_bids;
pub mod execution_payload_envelopes;
pub mod pool;
pub mod states;
48 changes: 24 additions & 24 deletions beacon_node/http_api/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ mod validator_inclusion;
mod validators;
mod version;

use crate::beacon::execution_payload_bid::{
post_beacon_execution_payload_bid, post_beacon_execution_payload_bid_ssz,
use crate::beacon::execution_payload_bids::{
post_beacon_execution_payload_bids, post_beacon_execution_payload_bids_ssz,
};
use crate::beacon::execution_payload_envelope::{
get_beacon_execution_payload_envelope, post_beacon_execution_payload_envelope,
post_beacon_execution_payload_envelope_ssz,
use crate::beacon::execution_payload_envelopes::{
get_beacon_execution_payload_envelopes, post_beacon_execution_payload_envelopes,
post_beacon_execution_payload_envelopes_ssz,
};
use crate::beacon::pool::*;
use crate::caches::DEFAULT_HISTORICAL_COMMITTEE_CACHE_SIZE;
Expand Down Expand Up @@ -101,7 +101,7 @@ use types::{
BeaconStateError, Checkpoint, ConfigAndPreset, Epoch, EthSpec, ForkName, Hash256,
SignedBlindedBeaconBlock,
};
use validator::execution_payload_envelope::get_validator_execution_payload_envelope;
use validator::execution_payload_envelopes::get_validator_execution_payload_envelopes;
use version::{
ResponseIncludesVersion, V1, V2, add_consensus_version_header, add_ssz_content_type_header,
execution_optimistic_finalized_beacon_response, inconsistent_fork_rejection,
Expand Down Expand Up @@ -1542,40 +1542,40 @@ pub fn serve<T: BeaconChainTypes>(
network_tx_filter.clone(),
);

// POST beacon/execution_payload_envelope
let post_beacon_execution_payload_envelope = post_beacon_execution_payload_envelope(
// POST beacon/execution_payload_envelopes
let post_beacon_execution_payload_envelopes = post_beacon_execution_payload_envelopes(
eth_v1.clone(),
task_spawner_filter.clone(),
chain_filter.clone(),
network_tx_filter.clone(),
);

// POST beacon/execution_payload_envelope (SSZ)
let post_beacon_execution_payload_envelope_ssz = post_beacon_execution_payload_envelope_ssz(
// POST beacon/execution_payload_envelopes (SSZ)
let post_beacon_execution_payload_envelopes_ssz = post_beacon_execution_payload_envelopes_ssz(
eth_v1.clone(),
task_spawner_filter.clone(),
chain_filter.clone(),
network_tx_filter.clone(),
);

// POST beacon/execution_payload_bid
let post_beacon_execution_payload_bid = post_beacon_execution_payload_bid(
// POST beacon/execution_payload_bids
let post_beacon_execution_payload_bids = post_beacon_execution_payload_bids(
eth_v1.clone(),
task_spawner_filter.clone(),
chain_filter.clone(),
network_tx_filter.clone(),
);

// POST beacon/execution_payload_bid (SSZ)
let post_beacon_execution_payload_bid_ssz = post_beacon_execution_payload_bid_ssz(
// POST beacon/execution_payload_bids (SSZ)
let post_beacon_execution_payload_bids_ssz = post_beacon_execution_payload_bids_ssz(
eth_v1.clone(),
task_spawner_filter.clone(),
chain_filter.clone(),
network_tx_filter.clone(),
);

// GET beacon/execution_payload_envelope/{block_id}
let get_beacon_execution_payload_envelope = get_beacon_execution_payload_envelope(
// GET beacon/execution_payload_envelopes/{block_id}
let get_beacon_execution_payload_envelopes = get_beacon_execution_payload_envelopes(
eth_v1.clone(),
block_id_or_err,
task_spawner_filter.clone(),
Expand Down Expand Up @@ -2584,8 +2584,8 @@ pub fn serve<T: BeaconChainTypes>(
task_spawner_filter.clone(),
);

// GET validator/execution_payload_envelope/{slot}/{builder_index}
let get_validator_execution_payload_envelope = get_validator_execution_payload_envelope(
// GET validator/execution_payload_envelopes/{slot}/{builder_index}
let get_validator_execution_payload_envelopes = get_validator_execution_payload_envelopes(
eth_v1.clone(),
chain_filter.clone(),
not_while_syncing_filter.clone(),
Expand Down Expand Up @@ -3401,7 +3401,7 @@ pub fn serve<T: BeaconChainTypes>(
.uor(get_beacon_block_root)
.uor(get_blob_sidecars)
.uor(get_blobs)
.uor(get_beacon_execution_payload_envelope)
.uor(get_beacon_execution_payload_envelopes)
.uor(get_beacon_pool_attestations)
.uor(get_beacon_pool_attester_slashings)
.uor(get_beacon_pool_proposer_slashings)
Expand All @@ -3425,7 +3425,7 @@ pub fn serve<T: BeaconChainTypes>(
.uor(get_validator_duties_proposer)
.uor(get_validator_blocks)
.uor(get_validator_blinded_blocks)
.uor(get_validator_execution_payload_envelope)
.uor(get_validator_execution_payload_envelopes)
.uor(get_validator_attestation_data)
.uor(get_validator_payload_attestation_data)
.uor(get_validator_aggregate_attestation)
Expand Down Expand Up @@ -3463,8 +3463,8 @@ pub fn serve<T: BeaconChainTypes>(
.uor(post_beacon_blocks_v2_ssz)
.uor(post_beacon_blinded_blocks_ssz)
.uor(post_beacon_blinded_blocks_v2_ssz)
.uor(post_beacon_execution_payload_envelope_ssz)
.uor(post_beacon_execution_payload_bid_ssz)
.uor(post_beacon_execution_payload_envelopes_ssz)
.uor(post_beacon_execution_payload_bids_ssz)
.uor(post_beacon_pool_payload_attestations_ssz)
.uor(post_validator_proposer_preferences_ssz),
)
Expand All @@ -3480,8 +3480,8 @@ pub fn serve<T: BeaconChainTypes>(
.uor(post_beacon_pool_payload_attestations)
.uor(post_beacon_pool_bls_to_execution_changes)
.uor(post_validator_proposer_preferences)
.uor(post_beacon_execution_payload_envelope)
.uor(post_beacon_execution_payload_bid)
.uor(post_beacon_execution_payload_envelopes)
.uor(post_beacon_execution_payload_bids)
.uor(post_beacon_state_validators)
.uor(post_beacon_state_validator_balances)
.uor(post_beacon_state_validator_identities)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ use types::Slot;
use warp::http::Response;
use warp::{Filter, Rejection};

// GET validator/execution_payload_envelope/{slot}
pub fn get_validator_execution_payload_envelope<T: BeaconChainTypes>(
// GET validator/execution_payload_envelopes/{slot}
pub fn get_validator_execution_payload_envelopes<T: BeaconChainTypes>(
eth_v1: EthV1Filter,
chain_filter: ChainFilter<T>,
not_while_syncing_filter: NotWhileSyncingFilter,
task_spawner_filter: TaskSpawnerFilter<T>,
) -> ResponseFilter {
eth_v1
.and(warp::path("validator"))
.and(warp::path("execution_payload_envelope"))
.and(warp::path("execution_payload_envelopes"))
.and(warp::path::param::<Slot>().or_else(|_| async {
Err(warp_utils::reject::custom_bad_request(
"Invalid slot".to_string(),
Expand Down
2 changes: 1 addition & 1 deletion beacon_node/http_api/src/validator/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ use types::{
use warp::{Filter, Rejection, Reply};
use warp_utils::reject::convert_rejection;

pub mod execution_payload_envelope;
pub mod execution_payload_envelopes;

/// Uses the `chain.validator_pubkey_cache` to resolve a pubkey to a validator
/// index and then ensures that the validator exists in the given `state`.
Expand Down
26 changes: 13 additions & 13 deletions beacon_node/http_api/tests/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3085,12 +3085,12 @@ impl ApiTester {
}

/// JSON bid with a valid structure reaches gossip verification and is rejected with 400.
pub async fn test_post_beacon_execution_payload_bid_json(self) -> Self {
pub async fn test_post_beacon_execution_payload_bids_json(self) -> Self {
let (bid, fork_name) = self.make_signed_execution_payload_bid();

let result = self
.client
.post_beacon_execution_payload_bid(&bid, fork_name)
.post_beacon_execution_payload_bids(&bid, fork_name)
.await;

assert!(
Expand All @@ -3102,12 +3102,12 @@ impl ApiTester {
}

/// SSZ bid with a valid structure reaches gossip verification and is rejected with 400.
pub async fn test_post_beacon_execution_payload_bid_ssz(self) -> Self {
pub async fn test_post_beacon_execution_payload_bids_ssz(self) -> Self {
let (bid, fork_name) = self.make_signed_execution_payload_bid();

let result = self
.client
.post_beacon_execution_payload_bid_ssz(&bid, fork_name)
.post_beacon_execution_payload_bids_ssz(&bid, fork_name)
.await;

assert!(
Expand Down Expand Up @@ -4433,7 +4433,7 @@ impl ApiTester {

let envelope = self
.client
.get_validator_execution_payload_envelope::<E>(slot)
.get_validator_execution_payload_envelopes::<E>(slot)
.await
.unwrap()
.data;
Expand All @@ -4452,7 +4452,7 @@ impl ApiTester {
let signed_envelope =
self.sign_envelope(envelope, &sk, epoch, &fork, genesis_validators_root);
self.client
.post_beacon_execution_payload_envelope(&signed_envelope, fork_name)
.post_beacon_execution_payload_envelopes(&signed_envelope, fork_name)
.await
.unwrap();

Expand Down Expand Up @@ -4495,7 +4495,7 @@ impl ApiTester {

let envelope = self
.client
.get_validator_execution_payload_envelope_ssz::<E>(slot)
.get_validator_execution_payload_envelopes_ssz::<E>(slot)
.await
.unwrap();

Expand All @@ -4513,7 +4513,7 @@ impl ApiTester {
let signed_envelope =
self.sign_envelope(envelope, &sk, epoch, &fork, genesis_validators_root);
self.client
.post_beacon_execution_payload_envelope_ssz(&signed_envelope, fork_name)
.post_beacon_execution_payload_envelopes_ssz(&signed_envelope, fork_name)
.await
.unwrap();

Expand Down Expand Up @@ -4942,15 +4942,15 @@ impl ApiTester {
// Retrieve and publish the envelope.
let envelope = self
.client
.get_validator_execution_payload_envelope::<E>(slot)
.get_validator_execution_payload_envelopes::<E>(slot)
.await
.unwrap()
.data;

let signed_envelope =
self.sign_envelope(envelope, &sk, epoch, &fork, genesis_validators_root);
self.client
.post_beacon_execution_payload_envelope(&signed_envelope, fork_name)
.post_beacon_execution_payload_envelopes(&signed_envelope, fork_name)
.await
.unwrap();

Expand Down Expand Up @@ -9558,14 +9558,14 @@ async fn post_validator_proposer_preferences() {
}

#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn post_beacon_execution_payload_bid() {
async fn post_beacon_execution_payload_bids() {
if !fork_name_from_env().is_some_and(|f| f.gloas_enabled()) {
return;
}
ApiTester::new_with_hard_forks()
.await
.test_post_beacon_execution_payload_bid_json()
.test_post_beacon_execution_payload_bids_json()
.await
.test_post_beacon_execution_payload_bid_ssz()
.test_post_beacon_execution_payload_bids_ssz()
.await;
}
Loading
Loading