Skip to content

Commit f840dbd

Browse files
Evalirmattsseklkvrgrandizzykamuik16
authored
[wip] feat: provider alloy migration (#7106)
* chore: make cast use an alloy provider * move initial methods to alloy * feat(`foundry-common`): NameOrAddress ENS util (#7122) * feat(foundry-common): NameOrAddress ENS util * chore: rename err * chore: remove from impl for str * chore: unrelated fix from alloy upgrade * nit * feat(`cast`): Move non `tx` methods to alloy (#7129) * chore: add alloy contract * feat(cast): migrate most methods to alloy * chore: leave todo for converting a tx envelope into an rpc tx * fix: use proper type for storage * readd decodetx for now * chore: extend txbuilder to build an alloy tx request * feat: migrate most methods bar send/decode raw tx * fix: include tx data * simplify txbuilder * chore: simplify back access_list * chore: remove unnecesary conversion * fmt * doctests * fmt * do not use trait * Update crates/cast/bin/main.rs Co-authored-by: Matthias Seitz <[email protected]> * cleanup builder * clippy * fix doc comments --------- Co-authored-by: Matthias Seitz <[email protected]> * DocumentMut * wip * wip * wip: bump alloy * wip * wip * wip * [wip] migrate to alloy providers and signers (#7425) wip * fix wallets after alloy bump * clean up deps * use serde on consensus types * update TypedTransaction for anvil * make anvil compile * wip: make script compile * fix script * make forge compile * fix: anvil tests * bump alloy * fix tests * fix tx builder * fix cargo.toml * fix cargo.toml * fix script gas price logic * remove ethers from anvil * clippy * rm all_derives * deps * fmt * fix tests * configure clippy * clippy * add feature * fix cargo deny * fix persist * fix doctests * fmt * fix clap * review fixes * fmt * bump alloy * Update cargo.toml * fmt * fixes * ethers clean-up * fix(fmt): fix indent closing parenthesis enclosed in { } (#7557) * fix(fmt): fix indent closing parenthesis enclosed in { } * Fix testdata bad formatting * feat(test): only compile files needed for tests (#7334) * feat(forge test): only compile files needed for tests * remove comment * clippy * update fixtures * getCode + getDeployedCode updates * fixes * fix path matching * clippy * add config flag * fix * docs * fmt * patch compilers * fix Cargo.toml * update patch * update patch * doc * rm space * cargo cheats * new output selection fn * log compiler errors on failure * fixes * fix: do not flood dictionary with data dependent on fuzz inputs (#7552) * fix dictionary * clippy + fmt * fix * Feat: Index cheatcode for Strings (#7539) * feat: index cheatcode * some nits to make it work * nit: use as_str() * final changes * chore: reviewed changes * chore: reduce logs in tests (#7566) * fix(script): decode custom error in script fail message (#7563) * clippy * bump alloy * AnyNetwork * bump alloy * add comment * clippy * bump alloy * fixes * refactor cast logs to use alloy (#7594) * refactor cast logs to use alloy * fmt * make clippy happy * cleanup * doc nits --------- Co-authored-by: evalir <[email protected]> --------- Co-authored-by: Matthias Seitz <[email protected]> Co-authored-by: Arsenii Kulikov <[email protected]> Co-authored-by: grandizzy <[email protected]> Co-authored-by: Krishang <[email protected]> Co-authored-by: DaniPopes <[email protected]> Co-authored-by: bernard-wagner <[email protected]>
1 parent a6d6a3a commit f840dbd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+3842
-4081
lines changed

Cargo.lock

Lines changed: 721 additions & 387 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,6 @@ codegen-units = 1
107107
[profile.release.package]
108108
mdbook.opt-level = 1
109109
protobuf.opt-level = 1
110-
rusoto_core.opt-level = 1
111-
rusoto_credential.opt-level = 1
112-
rusoto_kms.opt-level = 1
113110
toml_edit.opt-level = 1
114111
trezor-client.opt-level = 1
115112

@@ -140,16 +137,16 @@ foundry-wallets = { path = "crates/wallets" }
140137
foundry-linking = { path = "crates/linking" }
141138

142139
# solc & compilation utilities
143-
foundry-block-explorers = { version = "0.2.4", default-features = false }
144-
foundry-compilers = { version = "0.3.13", default-features = false }
140+
foundry-block-explorers = { version = "0.2.5", default-features = false }
141+
foundry-compilers = { version = "0.3.14", default-features = false }
145142

146143
## revm
147144
# no default features to avoid c-kzg
148-
revm = { version = "7.1", default-features = false, features = ["std"] }
149-
revm-primitives = { version = "3", default-features = false, features = ["std"] }
150-
revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "ba0b6ab", features = [
145+
revm = { version = "8", default-features = false }
146+
revm-primitives = { version = "3", default-features = false }
147+
revm-inspectors = { git = "https://github.com/paradigmxyz/evm-inspectors", rev = "510d4d0", features = [
151148
"serde",
152-
] }
149+
] }
153150

154151
## ethers
155152
ethers = { version = "2.0.14", default-features = false }
@@ -161,30 +158,34 @@ ethers-signers = { version = "2.0.14", default-features = false }
161158
ethers-middleware = { version = "2.0.14", default-features = false }
162159

163160
## alloy
164-
alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
165-
alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
166-
alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
167-
alloy-json-rpc = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
168-
alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
169-
alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
170-
alloy-providers = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
171-
alloy-pubsub = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
172-
alloy-rpc-client = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
173-
alloy-rpc-trace-types = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
174-
alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
175-
alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
176-
alloy-transport = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
177-
alloy-transport-http = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
178-
alloy-transport-ipc = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
179-
alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy", rev = "9ac2c90", default-features = false }
180-
alloy-primitives = { version = "0.6.3", features = ["getrandom"] }
181-
alloy-dyn-abi = "0.6.3"
182-
alloy-json-abi = "0.6.3"
183-
alloy-sol-types = "0.6.3"
184-
syn-solidity = "0.6.3"
161+
alloy-consensus = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
162+
alloy-contract = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
163+
alloy-eips = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
164+
alloy-genesis = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
165+
alloy-json-rpc = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
166+
alloy-network = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
167+
alloy-node-bindings = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
168+
alloy-provider = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
169+
alloy-pubsub = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
170+
alloy-rpc-client = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
171+
alloy-rpc-types-trace = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
172+
alloy-rpc-types = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
173+
alloy-signer = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
174+
alloy-signer-wallet = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
175+
alloy-signer-aws = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
176+
alloy-signer-ledger = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
177+
alloy-signer-trezor = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
178+
alloy-transport = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
179+
alloy-transport-http = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
180+
alloy-transport-ipc = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
181+
alloy-transport-ws = { git = "https://github.com/alloy-rs/alloy", rev = "5f74d4e", default-features = false }
182+
alloy-primitives = { version = "0.7.0", features = ["getrandom"] }
183+
alloy-dyn-abi = "0.7.0"
184+
alloy-json-abi = "0.7.0"
185+
alloy-sol-types = "0.7.0"
186+
syn-solidity = "0.7.0"
185187
alloy-chains = "0.1"
186-
alloy-trie = "0.3"
187-
188+
alloy-trie = "0.3.1"
188189
alloy-rlp = "0.3.3"
189190
solang-parser = "=0.3.3"
190191

clippy.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
msrv = "1.76"
2+
# bytes::Bytes is included by default and alloy_primitives::Bytes is a wrapper around it,
3+
# so it is safe to ignore it as well
4+
ignore-interior-mutability = ["bytes::Bytes", "alloy_primitives::Bytes"]

crates/anvil/Cargo.toml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ path = "src/anvil.rs"
1616
required-features = ["cli"]
1717

1818
[build-dependencies]
19-
vergen = { workspace = true, default-features = false, features = ["build", "git", "gitcl"] }
19+
vergen = { workspace = true, default-features = false, features = [
20+
"build",
21+
"git",
22+
"gitcl",
23+
] }
2024

2125
[dependencies]
2226
# foundry internal
@@ -36,12 +40,13 @@ alloy-primitives = { workspace = true, features = ["serde"] }
3640
alloy-consensus = { workspace = true, features = ["k256", "kzg"] }
3741
alloy-network.workspace = true
3842
alloy-rlp.workspace = true
39-
alloy-signer = { workspace = true, features = ["eip712", "mnemonic"] }
43+
alloy-signer = { workspace = true, features = ["eip712"] }
44+
alloy-signer-wallet = { workspace = true, features = ["mnemonic"] }
4045
alloy-sol-types = { workspace = true, features = ["std"] }
4146
alloy-dyn-abi = { workspace = true, features = ["std", "eip712"] }
4247
alloy-rpc-types.workspace = true
43-
alloy-rpc-trace-types.workspace = true
44-
alloy-providers.workspace = true
48+
alloy-rpc-types-trace.workspace = true
49+
alloy-provider = { workspace = true, features = ["pubsub"] }
4550
alloy-transport.workspace = true
4651
alloy-chains.workspace = true
4752
alloy-genesis.workspace = true
@@ -75,7 +80,11 @@ rand = "0.8"
7580
eyre.workspace = true
7681

7782
# cli
78-
clap = { version = "4", features = ["derive", "env", "wrap_help"], optional = true }
83+
clap = { version = "4", features = [
84+
"derive",
85+
"env",
86+
"wrap_help",
87+
], optional = true }
7988
clap_complete = { version = "4", optional = true }
8089
chrono.workspace = true
8190
auto_impl = "1"
@@ -89,7 +98,7 @@ tikv-jemallocator = { workspace = true, optional = true }
8998

9099
[dev-dependencies]
91100
alloy-json-abi.workspace = true
92-
ethers = { workspace = true, features = ["abigen"] }
101+
ethers = { workspace = true, features = ["abigen", "optimism"] }
93102
ethers-core = { workspace = true, features = ["optimism"] }
94103
foundry-compilers = { workspace = true, features = ["project-util", "full"] }
95104

crates/anvil/core/Cargo.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@ repository.workspace = true
1212
[dependencies]
1313
foundry-common.workspace = true
1414
foundry-evm.workspace = true
15-
revm = { workspace = true, default-features = false, features = ["std", "serde", "memory_limit"] }
15+
revm = { workspace = true, default-features = false, features = [
16+
"std",
17+
"serde",
18+
"memory_limit",
19+
] }
1620

1721
alloy-primitives = { workspace = true, features = ["serde"] }
1822
alloy-rpc-types = { workspace = true }
19-
alloy-rpc-trace-types.workspace = true
23+
alloy-rpc-types-trace.workspace = true
2024
alloy-rlp.workspace = true
2125
alloy-eips.workspace = true
2226
alloy-network = { workspace = true, features = ["k256"] }
@@ -27,7 +31,7 @@ alloy-trie.workspace = true
2731
serde = { workspace = true, optional = true }
2832
serde_json.workspace = true
2933
bytes = "1.4"
30-
c-kzg = { version = "0.4.2", features = ["serde"] }
34+
c-kzg = { version = "1", features = ["serde"] }
3135

3236
# misc
3337
rand = "0.8"

crates/anvil/core/src/eth/block.rs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use super::{
33
trie,
44
};
55
use alloy_consensus::Header;
6-
use alloy_primitives::{Address, Bloom, Bytes, B256, U256};
6+
use alloy_primitives::{Address, Bloom, Bytes, B256, B64, U256};
77
use alloy_rlp::{RlpDecodable, RlpEncodable};
88

99
// Type alias to optionally support impersonated transactions
@@ -88,13 +88,13 @@ pub struct PartialHeader {
8888
pub logs_bloom: Bloom,
8989
pub difficulty: U256,
9090
pub number: u64,
91-
pub gas_limit: u64,
92-
pub gas_used: u64,
91+
pub gas_limit: u128,
92+
pub gas_used: u128,
9393
pub timestamp: u64,
9494
pub extra_data: Bytes,
9595
pub mix_hash: B256,
96-
pub nonce: u64,
97-
pub base_fee: Option<u64>,
96+
pub nonce: B64,
97+
pub base_fee: Option<u128>,
9898
}
9999

100100
impl From<Header> for PartialHeader {
@@ -120,7 +120,6 @@ impl From<Header> for PartialHeader {
120120

121121
#[cfg(test)]
122122
mod tests {
123-
use alloy_network::Sealable;
124123
use alloy_primitives::{
125124
b256,
126125
hex::{self, FromHex},
@@ -143,11 +142,11 @@ mod tests {
143142
difficulty: Default::default(),
144143
number: 124u64,
145144
gas_limit: Default::default(),
146-
gas_used: 1337u64,
145+
gas_used: 1337u128,
147146
timestamp: 0,
148147
extra_data: Default::default(),
149148
mix_hash: Default::default(),
150-
nonce: 99u64,
149+
nonce: B64::with_last_byte(99),
151150
withdrawals_root: Default::default(),
152151
blob_gas_used: Default::default(),
153152
excess_blob_gas: Default::default(),
@@ -159,7 +158,7 @@ mod tests {
159158
let decoded: Header = Header::decode(&mut encoded.as_ref()).unwrap();
160159
assert_eq!(header, decoded);
161160

162-
header.base_fee_per_gas = Some(12345u64);
161+
header.base_fee_per_gas = Some(12345u128);
163162

164163
let encoded = alloy_rlp::encode(&header);
165164
let decoded: Header = Header::decode(&mut encoded.as_ref()).unwrap();
@@ -182,16 +181,16 @@ mod tests {
182181
logs_bloom: Bloom::from_hex("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").unwrap(),
183182
difficulty: U256::from(2222),
184183
number: 0xd05u64,
185-
gas_limit: 0x115cu64,
186-
gas_used: 0x15b3u64,
184+
gas_limit: 0x115cu128,
185+
gas_used: 0x15b3u128,
187186
timestamp: 0x1a0au64,
188187
extra_data: hex::decode("7788").unwrap().into(),
189188
mix_hash: B256::from_str("0000000000000000000000000000000000000000000000000000000000000000").unwrap(),
190189
withdrawals_root: None,
191190
blob_gas_used: None,
192191
excess_blob_gas: None,
193192
parent_beacon_block_root: None,
194-
nonce: 0,
193+
nonce: B64::ZERO,
195194
base_fee_per_gas: None,
196195
};
197196

@@ -214,12 +213,12 @@ mod tests {
214213
logs_bloom: <[u8; 256]>::from_hex("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").unwrap().into(),
215214
difficulty: U256::from(2222),
216215
number: 0xd05u64,
217-
gas_limit: 0x115cu64,
218-
gas_used: 0x15b3u64,
216+
gas_limit: 0x115cu128,
217+
gas_used: 0x15b3u128,
219218
timestamp: 0x1a0au64,
220219
extra_data: hex::decode("7788").unwrap().into(),
221220
mix_hash: B256::from_str("0000000000000000000000000000000000000000000000000000000000000000").unwrap(),
222-
nonce: 0,
221+
nonce: B64::ZERO,
223222
withdrawals_root: None,
224223
blob_gas_used: None,
225224
excess_blob_gas: None,
@@ -245,19 +244,19 @@ mod tests {
245244
logs_bloom: Bloom::from_hex("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000").unwrap(),
246245
difficulty: U256::from(0x020000),
247246
number: 1u64,
248-
gas_limit: U256::from(0x016345785d8a0000u128).to::<u64>(),
249-
gas_used: U256::from(0x015534).to::<u64>(),
247+
gas_limit: U256::from(0x016345785d8a0000u128).to::<u128>(),
248+
gas_used: U256::from(0x015534).to::<u128>(),
250249
timestamp: 0x079e,
251250
extra_data: hex::decode("42").unwrap().into(),
252251
mix_hash: B256::from_str("0000000000000000000000000000000000000000000000000000000000000000").unwrap(),
253-
nonce: 0,
252+
nonce: B64::ZERO,
254253
base_fee_per_gas: Some(875),
255254
withdrawals_root: None,
256255
blob_gas_used: None,
257256
excess_blob_gas: None,
258257
parent_beacon_block_root: None,
259258
};
260-
assert_eq!(header.hash(), expected_hash);
259+
assert_eq!(header.hash_slow(), expected_hash);
261260
}
262261

263262
#[test]

crates/anvil/core/src/eth/mod.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ use crate::{
33
types::{EvmMineOptions, Forking, Index},
44
};
55
use alloy_primitives::{Address, Bytes, TxHash, B256, B64, U256};
6-
use alloy_rpc_trace_types::geth::{GethDebugTracingOptions, GethDefaultTracingOptions};
76
use alloy_rpc_types::{
87
pubsub::{Params as SubscriptionParams, SubscriptionKind},
98
request::TransactionRequest,
109
state::StateOverride,
11-
BlockId, BlockNumberOrTag as BlockNumber, Filter,
10+
BlockId, BlockNumberOrTag as BlockNumber, Filter, WithOtherFields,
1211
};
12+
use alloy_rpc_types_trace::geth::{GethDebugTracingOptions, GethDefaultTracingOptions};
1313

1414
pub mod block;
1515
pub mod proof;
@@ -143,7 +143,7 @@ pub enum EthRequest {
143143
EthSign(Address, Bytes),
144144

145145
#[cfg_attr(feature = "serde", serde(rename = "eth_signTransaction"))]
146-
EthSignTransaction(Box<TransactionRequest>),
146+
EthSignTransaction(Box<WithOtherFields<TransactionRequest>>),
147147

148148
/// Signs data via [EIP-712](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md).
149149
#[cfg_attr(feature = "serde", serde(rename = "eth_signTypedData"))]
@@ -158,27 +158,27 @@ pub enum EthRequest {
158158
EthSignTypedDataV4(Address, alloy_dyn_abi::TypedData),
159159

160160
#[cfg_attr(feature = "serde", serde(rename = "eth_sendTransaction", with = "sequence"))]
161-
EthSendTransaction(Box<TransactionRequest>),
161+
EthSendTransaction(Box<WithOtherFields<TransactionRequest>>),
162162

163163
#[cfg_attr(feature = "serde", serde(rename = "eth_sendRawTransaction", with = "sequence"))]
164164
EthSendRawTransaction(Bytes),
165165

166166
#[cfg_attr(feature = "serde", serde(rename = "eth_call"))]
167167
EthCall(
168-
TransactionRequest,
168+
WithOtherFields<TransactionRequest>,
169169
#[cfg_attr(feature = "serde", serde(default))] Option<BlockId>,
170170
#[cfg_attr(feature = "serde", serde(default))] Option<StateOverride>,
171171
),
172172

173173
#[cfg_attr(feature = "serde", serde(rename = "eth_createAccessList"))]
174174
EthCreateAccessList(
175-
TransactionRequest,
175+
WithOtherFields<TransactionRequest>,
176176
#[cfg_attr(feature = "serde", serde(default))] Option<BlockId>,
177177
),
178178

179179
#[cfg_attr(feature = "serde", serde(rename = "eth_estimateGas"))]
180180
EthEstimateGas(
181-
TransactionRequest,
181+
WithOtherFields<TransactionRequest>,
182182
#[cfg_attr(feature = "serde", serde(default))] Option<BlockId>,
183183
#[cfg_attr(feature = "serde", serde(default))] Option<StateOverride>,
184184
),
@@ -272,7 +272,7 @@ pub enum EthRequest {
272272
/// geth's `debug_traceCall` endpoint
273273
#[cfg_attr(feature = "serde", serde(rename = "debug_traceCall"))]
274274
DebugTraceCall(
275-
TransactionRequest,
275+
WithOtherFields<TransactionRequest>,
276276
#[cfg_attr(feature = "serde", serde(default))] Option<BlockId>,
277277
#[cfg_attr(feature = "serde", serde(default))] GethDefaultTracingOptions,
278278
),
@@ -597,7 +597,7 @@ pub enum EthRequest {
597597
feature = "serde",
598598
serde(rename = "eth_sendUnsignedTransaction", with = "sequence")
599599
)]
600-
EthSendUnsignedTransaction(Box<TransactionRequest>),
600+
EthSendUnsignedTransaction(Box<WithOtherFields<TransactionRequest>>),
601601

602602
/// Turn on call traces for transactions that are returned to the user when they execute a
603603
/// transaction (instead of just txhash/receipt)

0 commit comments

Comments
 (0)