diff --git a/Cargo.toml b/Cargo.toml index b57277215..797bb344b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,16 +46,16 @@ op-alloy-rpc-jsonrpsee = { version = "0.6.2", path = "crates/rpc-jsonrpsee", def op-alloy-rpc-types-engine = { version = "0.6.2", path = "crates/rpc-types-engine", default-features = false } # Alloy -alloy-eips = { version = "0.6.1", default-features = false } -alloy-serde = { version = "0.6.1", default-features = false } -alloy-signer = { version = "0.6.1", default-features = false } -alloy-network = { version = "0.6.1", default-features = false } -alloy-provider = { version = "0.6.1", default-features = false } -alloy-transport = { version = "0.6.1", default-features = false } -alloy-consensus = { version = "0.6.1", default-features = false } -alloy-rpc-types-eth = { version = "0.6.1", default-features = false } -alloy-rpc-types-engine = { version = "0.6.1", default-features = false } -alloy-network-primitives = { version = "0.6.1", default-features = false } +alloy-eips = { version = "0.6.2", default-features = false } +alloy-serde = { version = "0.6.2", default-features = false } +alloy-signer = { version = "0.6.2", default-features = false } +alloy-network = { version = "0.6.2", default-features = false } +alloy-provider = { version = "0.6.2", default-features = false } +alloy-transport = { version = "0.6.2", default-features = false } +alloy-consensus = { version = "0.6.2", default-features = false } +alloy-rpc-types-eth = { version = "0.6.2", default-features = false } +alloy-rpc-types-engine = { version = "0.6.2", default-features = false } +alloy-network-primitives = { version = "0.6.2", default-features = false } # Alloy RLP alloy-rlp = { version = "0.3", default-features = false } diff --git a/crates/rpc-types/src/transaction.rs b/crates/rpc-types/src/transaction.rs index 952a356a2..f69b85c5d 100644 --- a/crates/rpc-types/src/transaction.rs +++ b/crates/rpc-types/src/transaction.rs @@ -155,15 +155,24 @@ mod tx_serde { //! //! This is needed because we might need to deserialize the `from` field into both //! [`alloy_rpc_types_eth::Transaction::from`] and [`op_alloy_consensus::TxDeposit::from`]. + //! + //! Additionaly, we need similar logic for the `gasPrice` field use super::*; use serde::de::Error; /// Helper struct which will be flattened into the transaction and will only contain `from` /// field if inner [`OpTxEnvelope`] did not consume it. #[derive(Serialize, Deserialize)] - struct MaybeFrom { + struct OptionalFields { #[serde(default, skip_serializing_if = "Option::is_none")] from: Option
, + #[serde( + default, + rename = "gasPrice", + skip_serializing_if = "Option::is_none", + with = "alloy_serde::quantity::opt" + )] + effective_gas_price: Option