diff --git a/bolt-sidecar/src/api/builder.rs b/bolt-sidecar/src/api/builder.rs index 97c63382..c6d93b45 100644 --- a/bolt-sidecar/src/api/builder.rs +++ b/bolt-sidecar/src/api/builder.rs @@ -22,7 +22,7 @@ use super::spec::{ }; use crate::{ client::mevboost::MevBoostClient, - types::{GetPayloadResponse, PayloadFetcher, SignedBuilderBid}, + primitives::{GetPayloadResponse, PayloadFetcher, SignedBuilderBid}, }; const MAX_BLINDED_BLOCK_LENGTH: usize = 1024 * 1024; diff --git a/bolt-sidecar/src/api/spec.rs b/bolt-sidecar/src/api/spec.rs index 1792142d..eb958ed5 100644 --- a/bolt-sidecar/src/api/spec.rs +++ b/bolt-sidecar/src/api/spec.rs @@ -8,9 +8,8 @@ use ethereum_consensus::{ }; use serde::{Deserialize, Serialize, Serializer}; -use crate::types::{ - constraint::BatchedSignedConstraints, GetPayloadResponse, SignedBuilderBid, - SignedBuilderBidWithProofs, +use crate::primitives::{ + BatchedSignedConstraints, GetPayloadResponse, SignedBuilderBid, SignedBuilderBidWithProofs, }; use super::builder::GetHeaderParams; diff --git a/bolt-sidecar/src/client/mevboost.rs b/bolt-sidecar/src/client/mevboost.rs index bda04828..a6735ab1 100644 --- a/bolt-sidecar/src/client/mevboost.rs +++ b/bolt-sidecar/src/client/mevboost.rs @@ -6,7 +6,6 @@ use axum::http::StatusCode; use ethereum_consensus::{ builder::SignedValidatorRegistration, deneb::mainnet::SignedBlindedBeaconBlock, }; -use serde_json::Value; use crate::{ api::{ @@ -16,9 +15,8 @@ use crate::{ GET_PAYLOAD_PATH, REGISTER_VALIDATORS_PATH, STATUS_PATH, }, }, - types::{ - constraint::BatchedSignedConstraints, GetPayloadResponse, SignedBuilderBid, - SignedBuilderBidWithProofs, + primitives::{ + BatchedSignedConstraints, GetPayloadResponse, SignedBuilderBid, SignedBuilderBidWithProofs, }, }; diff --git a/bolt-sidecar/src/json_rpc/api.rs b/bolt-sidecar/src/json_rpc/api.rs index 1780a099..cbc33d5f 100644 --- a/bolt-sidecar/src/json_rpc/api.rs +++ b/bolt-sidecar/src/json_rpc/api.rs @@ -1,17 +1,12 @@ use std::{num::NonZeroUsize, sync::Arc}; -use beacon_api_client::mainnet::Client as BeaconApiClient; use parking_lot::RwLock; use serde_json::Value; use thiserror::Error; use tokio::sync::{mpsc, oneshot}; use tracing::info; -use crate::{ - client::mevboost::MevBoostClient, - crypto::{bls::from_bls_signature_to_consensus_signature, BLSSigner}, - primitives::{CommitmentRequest, InclusionRequest, Slot}, -}; +use crate::primitives::{CommitmentRequest, InclusionRequest, Slot}; /// Default size of the api request cache (implemented as a LRU). const DEFAULT_API_REQUEST_CACHE_SIZE: usize = 1000; @@ -74,7 +69,6 @@ impl JsonRpcApi { /// Create a new instance of the JSON-RPC API. pub fn new(event_tx: mpsc::Sender) -> Arc { let cap = NonZeroUsize::new(DEFAULT_API_REQUEST_CACHE_SIZE).unwrap(); - let beacon_url = reqwest::Url::parse(&beacon_url).expect("failed to parse beacon node URL"); Arc::new(Self { cache: Arc::new(RwLock::new(lru::LruCache::new(cap))), diff --git a/bolt-sidecar/src/primitives/commitment.rs b/bolt-sidecar/src/primitives/commitment.rs index 60cd8dc0..a2d5dae9 100644 --- a/bolt-sidecar/src/primitives/commitment.rs +++ b/bolt-sidecar/src/primitives/commitment.rs @@ -96,7 +96,7 @@ fn signature_as_str( } impl InclusionRequest { - // TODO: actually use SSZ encoding here + /// TODO: actually use SSZ encoding here pub fn digest(&self) -> B256 { let mut data = Vec::new(); data.extend_from_slice(&self.slot.to_le_bytes()); diff --git a/bolt-sidecar/src/primitives/constraint.rs b/bolt-sidecar/src/primitives/constraint.rs index c7bee077..1677206c 100644 --- a/bolt-sidecar/src/primitives/constraint.rs +++ b/bolt-sidecar/src/primitives/constraint.rs @@ -2,7 +2,9 @@ use alloy_primitives::keccak256; use secp256k1::Message; use serde::{Deserialize, Serialize}; -use crate::{crypto::SignableECDSA, types::Slot}; +use crate::crypto::ecdsa::SignableECDSA; + +use super::Slot; /// The API parameters to request an inclusion commitment for a given slot. #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] diff --git a/bolt-sidecar/src/primitives/mod.rs b/bolt-sidecar/src/primitives/mod.rs index 7912f9c1..5a2284e9 100644 --- a/bolt-sidecar/src/primitives/mod.rs +++ b/bolt-sidecar/src/primitives/mod.rs @@ -1,10 +1,27 @@ use std::sync::{atomic::AtomicU64, Arc}; use alloy_primitives::{Bytes, TxHash, U256}; +use ethereum_consensus::{ + capella, + crypto::{KzgCommitment, PublicKey as BlsPublicKey, Signature as BlsSignature}, + deneb::{ + mainnet::{BlobsBundle, MAX_BLOB_COMMITMENTS_PER_BLOCK}, + presets::mainnet::ExecutionPayloadHeader, + Hash32, + }, + serde::as_str, + ssz::prelude::*, + types::mainnet::ExecutionPayload, + Fork, +}; +use tokio::sync::{mpsc, oneshot}; pub mod commitment; pub use commitment::{CommitmentRequest, InclusionRequest}; +pub mod constraint; +pub use constraint::BatchedSignedConstraints; + pub mod transaction; pub use transaction::TxInfo; diff --git a/bolt-sidecar/src/primitives/transaction.rs b/bolt-sidecar/src/primitives/transaction.rs index 91d2f74e..61c46c4a 100644 --- a/bolt-sidecar/src/primitives/transaction.rs +++ b/bolt-sidecar/src/primitives/transaction.rs @@ -1,6 +1,5 @@ use alloy_consensus::TxEnvelope; use alloy_primitives::{Address, SignatureError, U256}; -use alloy_rpc_types::Transaction; pub trait TxInfo { fn gas_price(&self) -> Option; diff --git a/bolt-sidecar/src/state/mod.rs b/bolt-sidecar/src/state/mod.rs index 9eb25491..fc79d046 100644 --- a/bolt-sidecar/src/state/mod.rs +++ b/bolt-sidecar/src/state/mod.rs @@ -5,6 +5,7 @@ use thiserror::Error; mod execution; pub use execution::{ExecutionState, ValidationError}; + pub mod fetcher; #[derive(Debug, Error)]