diff --git a/crates/rpc/rpc-types/src/eth/call.rs b/crates/rpc/rpc-types/src/eth/call.rs index 7f4eb1de599b..66d2e28cb8c0 100644 --- a/crates/rpc/rpc-types/src/eth/call.rs +++ b/crates/rpc/rpc-types/src/eth/call.rs @@ -125,12 +125,13 @@ pub struct CallRequest { /// AccessList pub access_list: Option, /// Max Fee per Blob gas for EIP-4844 transactions + #[serde(skip_serializing_if = "Option::is_none")] pub max_fee_per_blob_gas: Option, /// Blob Versioned Hashes for EIP-4844 transactions #[serde(skip_serializing_if = "Option::is_none")] pub blob_versioned_hashes: Option>, /// EIP-2718 type - #[serde(rename = "type")] + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] pub transaction_type: Option, } @@ -160,10 +161,12 @@ impl CallRequest { #[derive(Debug, Clone, Default, Eq, PartialEq, Serialize, Deserialize)] pub struct CallInput { /// Transaction data + #[serde(skip_serializing_if = "Option::is_none")] pub input: Option, /// Transaction data /// /// This is the same as `input` but is used for backwards compatibility: + #[serde(skip_serializing_if = "Option::is_none")] pub data: Option, } diff --git a/crates/rpc/rpc-types/src/eth/transaction/request.rs b/crates/rpc/rpc-types/src/eth/transaction/request.rs index 716c3960b299..7c82db2b5580 100644 --- a/crates/rpc/rpc-types/src/eth/transaction/request.rs +++ b/crates/rpc/rpc-types/src/eth/transaction/request.rs @@ -18,28 +18,24 @@ pub struct TransactionRequest { /// to address pub to: Option
, /// legacy, gas Price - #[serde(default)] pub gas_price: Option, /// max base fee per gas sender is willing to pay - #[serde(default)] pub max_fee_per_gas: Option, /// miner tip - #[serde(default)] pub max_priority_fee_per_gas: Option, /// gas pub gas: Option, /// value of th tx in wei pub value: Option, /// Any additional data sent - #[serde(alias = "input")] - pub data: Option, + #[serde(alias = "data")] + pub input: Option, /// Transaction nonce pub nonce: Option, /// warm storage access pre-payment - #[serde(default)] pub access_list: Option, /// EIP-2718 type - #[serde(rename = "type")] + #[serde(rename = "type", skip_serializing_if = "Option::is_none")] pub transaction_type: Option, } @@ -58,7 +54,7 @@ impl TransactionRequest { max_priority_fee_per_gas, gas, value, - data, + input: data, nonce, mut access_list, .. @@ -161,8 +157,8 @@ impl TransactionRequest { } /// Sets the input data for the transaction. - pub fn input(mut self, input: Bytes) -> Self { - self.data = Some(input); + pub fn input(mut self, input: impl Into) -> Self { + self.input = Some(input.into()); self } diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index 2b6efcf5b1da..d7d21615e2d4 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -531,7 +531,7 @@ where gas_price: Some(U256::from(gas_price)), max_fee_per_gas: Some(U256::from(max_fee_per_gas)), value: request.value, - input: request.data.clone().into(), + input: request.input.clone().into(), nonce: request.nonce, chain_id: Some(chain_id), access_list: request.access_list.clone(),