Skip to content

Commit c3830cd

Browse files
committed
feat: Update sputnik (#144)
* temp: use patched evm for auto_impl & update lock rust-ethereum/evm#85 * fix sputnik breaking changes * fix(dapp): breaking changes * fix(cli): breaking changes * cli: default to london * chore: fmt
1 parent 8f179c5 commit c3830cd

File tree

18 files changed

+201
-104
lines changed

18 files changed

+201
-104
lines changed

Diff for: Cargo.lock

+56-39
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: Cargo.toml

+3
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ opt-level = "z"
1313
lto = true
1414
codegen-units = 1
1515
panic = "abort"
16+
17+
[patch."https://github.com/rust-blockchain/evm"]
18+
evm = { git = "https://github.com/gakonst/evm", branch = "feat/auto-impl" }

Diff for: dapp/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@ proptest = "1.0.0"
2929
[dev-dependencies]
3030
evm-adapters = { path = "./../evm-adapters", features = ["sputnik", "sputnik-helpers", "evmodin", "evmodin-helpers"] }
3131
evmodin = { git = "https://github.com/vorot93/evmodin", features = ["util"] }
32-
evm = { version = "0.31" }
32+
evm = { git = "https://github.com/rust-blockchain/evm" }
3333
ethers = { git = "https://github.com/gakonst/ethers-rs", features = ["solc-full", "solc-tests"] }

Diff for: dapp/src/multi_runner.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ mod tests {
221221
use evm::Config;
222222
use evm_adapters::sputnik::{
223223
helpers::{new_backend, new_vicinity},
224-
Executor,
224+
Executor, PRECOMPILES_MAP,
225225
};
226226

227227
#[test]
@@ -231,7 +231,9 @@ mod tests {
231231
let env = new_vicinity();
232232
let backend = new_backend(&env, Default::default());
233233
// important to instantiate the VM with cheatcodes
234-
let evm = Executor::new_with_cheatcodes(backend, gas_limit, &config, false);
234+
let precompiles = PRECOMPILES_MAP.clone();
235+
let evm =
236+
Executor::new_with_cheatcodes(backend, gas_limit, &config, &precompiles, false);
235237

236238
let mut runner = runner(evm);
237239
let results = runner.test(Regex::new(".*").unwrap()).unwrap();
@@ -256,7 +258,8 @@ mod tests {
256258
let gas_limit = 12_500_000;
257259
let env = new_vicinity();
258260
let backend = new_backend(&env, Default::default());
259-
let evm = Executor::new(gas_limit, &config, &backend);
261+
let precompiles = PRECOMPILES_MAP.clone();
262+
let evm = Executor::new(gas_limit, &config, &backend, &precompiles);
260263
test_multi_runner(evm);
261264
}
262265
}

Diff for: dapp/src/runner.rs

+9-5
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ mod tests {
239239
use crate::test_helpers::COMPILED;
240240
use ethers::solc::artifacts::CompactContractRef;
241241
use evm::Config;
242-
use std::marker::PhantomData;
242+
use evm_adapters::sputnik::PRECOMPILES_MAP;
243243

244244
mod sputnik {
245245
use std::str::FromStr;
@@ -259,7 +259,8 @@ mod tests {
259259
let compiled = COMPILED.find("GreeterTest").expect("could not find contract");
260260
let vicinity = new_vicinity();
261261
let backend = new_backend(&vicinity, Default::default());
262-
let evm = Executor::new(12_000_000, &cfg, &backend);
262+
let precompiles = PRECOMPILES_MAP.clone();
263+
let evm = Executor::new(12_000_000, &cfg, &backend, &precompiles);
263264
super::test_runner(evm, compiled);
264265
}
265266

@@ -270,7 +271,8 @@ mod tests {
270271
let vicinity = new_vicinity();
271272
let backend = new_backend(&vicinity, Default::default());
272273

273-
let mut evm = Executor::new(12_000_000, &cfg, &backend);
274+
let precompiles = PRECOMPILES_MAP.clone();
275+
let mut evm = Executor::new(12_000_000, &cfg, &backend, &precompiles);
274276
let (addr, _, _, _) =
275277
evm.deploy(Address::zero(), compiled.bin.unwrap().clone(), 0.into()).unwrap();
276278

@@ -296,7 +298,8 @@ mod tests {
296298
let vicinity = new_vicinity();
297299
let backend = new_backend(&vicinity, Default::default());
298300

299-
let mut evm = Executor::new(u64::MAX, &cfg, &backend);
301+
let precompiles = PRECOMPILES_MAP.clone();
302+
let mut evm = Executor::new(u64::MAX, &cfg, &backend, &precompiles);
300303
let (addr, _, _, _) =
301304
evm.deploy(Address::zero(), compiled.bin.unwrap().clone(), 0.into()).unwrap();
302305

@@ -319,7 +322,8 @@ mod tests {
319322
let vicinity = new_vicinity();
320323
let backend = new_backend(&vicinity, Default::default());
321324

322-
let mut evm = Executor::new(12_000_000, &cfg, &backend);
325+
let precompiles = PRECOMPILES_MAP.clone();
326+
let mut evm = Executor::new(12_000_000, &cfg, &backend, &precompiles);
323327
let (addr, _, _, _) =
324328
evm.deploy(Address::zero(), compiled.bin.unwrap().clone(), 0.into()).unwrap();
325329

Diff for: dapptools/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ tracing = "0.1.26"
2727

2828
## EVM Implementations
2929
# evm = { version = "0.30.1" }
30-
sputnik = { package = "evm", version = "0.31", optional = true }
30+
sputnik = { package = "evm", git = "https://github.com/rust-blockchain/evm", optional = true }
3131
evmodin = { git = "https://github.com/vorot93/evmodin", optional = true }
3232
proptest = "1.0.0"
3333
git2 = "0.13.22"

Diff for: dapptools/src/dapp.rs

+9-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use ethers::{
33
solc::{remappings::Remapping, ArtifactOutput, Project},
44
};
55
use evm_adapters::{
6-
sputnik::{vicinity, ForkMemoryBackend},
6+
sputnik::{vicinity, ForkMemoryBackend, PRECOMPILES_MAP},
77
FAUCET_ACCOUNT,
88
};
99
use regex::Regex;
@@ -98,7 +98,14 @@ fn main() -> eyre::Result<()> {
9898
};
9999
let backend = Arc::new(backend);
100100

101-
let evm = Executor::new_with_cheatcodes(backend, env.gas_limit, &cfg, ffi);
101+
let precompiles = PRECOMPILES_MAP.clone();
102+
let evm = Executor::new_with_cheatcodes(
103+
backend,
104+
env.gas_limit,
105+
&cfg,
106+
&precompiles,
107+
ffi,
108+
);
102109

103110
test(builder, project, evm, pattern, json, verbosity)?;
104111
}

0 commit comments

Comments
 (0)