mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
4844 blob txs (#4631)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
use reth_primitives::{AccessList, Address, BlockId, Bytes, U256, U64, U8};
|
||||
use reth_primitives::{AccessList, Address, BlockId, Bytes, H256, U256, U64, U8};
|
||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||
|
||||
use crate::BlockOverrides;
|
||||
@ -88,7 +88,7 @@ impl<'de> Deserialize<'de> for TransactionIndex {
|
||||
}
|
||||
}
|
||||
|
||||
/// Call request
|
||||
/// Call request for `eth_call` and adjacent methods.
|
||||
#[derive(Debug, Clone, Default, Eq, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(default, rename_all = "camelCase")]
|
||||
pub struct CallRequest {
|
||||
@ -115,6 +115,11 @@ pub struct CallRequest {
|
||||
pub chain_id: Option<U64>,
|
||||
/// AccessList
|
||||
pub access_list: Option<AccessList>,
|
||||
/// Max Fee per Blob gas for EIP-4844 transactions
|
||||
pub max_fee_per_blob_gas: Option<U256>,
|
||||
/// Blob Versioned Hashes for EIP-4844 transactions
|
||||
#[serde(default)]
|
||||
pub blob_versioned_hashes: Vec<H256>,
|
||||
/// EIP-2718 type
|
||||
#[serde(rename = "type")]
|
||||
pub transaction_type: Option<U8>,
|
||||
|
||||
@ -469,6 +469,8 @@ where
|
||||
access_list: request.access_list.clone(),
|
||||
max_priority_fee_per_gas: Some(U256::from(max_fee_per_gas)),
|
||||
transaction_type: None,
|
||||
blob_versioned_hashes: Vec::new(),
|
||||
max_fee_per_blob_gas: None,
|
||||
},
|
||||
BlockId::Number(BlockNumberOrTag::Pending),
|
||||
)
|
||||
|
||||
@ -286,6 +286,8 @@ pub(crate) fn create_txn_env(block_env: &BlockEnv, request: CallRequest) -> EthR
|
||||
nonce,
|
||||
access_list,
|
||||
chain_id,
|
||||
blob_versioned_hashes,
|
||||
max_fee_per_blob_gas,
|
||||
..
|
||||
} = request;
|
||||
|
||||
@ -311,10 +313,9 @@ pub(crate) fn create_txn_env(block_env: &BlockEnv, request: CallRequest) -> EthR
|
||||
data: input.try_into_unique_input()?.map(|data| data.0).unwrap_or_default(),
|
||||
chain_id: chain_id.map(|c| c.as_u64()),
|
||||
access_list: access_list.map(AccessList::flattened).unwrap_or_default(),
|
||||
|
||||
// EIP-4844 fields
|
||||
blob_hashes: Default::default(),
|
||||
max_fee_per_blob_gas: None,
|
||||
blob_hashes: blob_versioned_hashes,
|
||||
max_fee_per_blob_gas,
|
||||
};
|
||||
|
||||
Ok(env)
|
||||
|
||||
Reference in New Issue
Block a user