├── .arcconfig ├── .cargo └── config.toml ├── .editorconfig ├── .github └── workflows │ └── rust.yml ├── .gitignore ├── .gitmodules ├── AUTHORS ├── Cargo.toml ├── LICENSE ├── README.md ├── compat ├── Cargo.toml └── src │ ├── lib.rs │ └── v0x.rs ├── docs ├── development.md └── ethtests.md ├── features └── evm64 │ ├── Cargo.toml │ └── src │ ├── eval.rs │ ├── gasometer.rs │ └── lib.rs ├── future ├── Cargo.toml ├── src │ └── lib.rs └── tests │ └── usability.rs ├── fuzz ├── .gitignore ├── Cargo.toml ├── README.md └── src │ ├── backend.rs │ ├── grammar.rs │ └── main.rs ├── interpreter ├── Cargo.toml ├── src │ ├── error │ │ ├── exit.rs │ │ └── mod.rs │ ├── etable.rs │ ├── eval │ │ ├── arithmetic.rs │ │ ├── bitwise.rs │ │ ├── macros.rs │ │ ├── misc.rs │ │ ├── mod.rs │ │ └── system.rs │ ├── interpreter │ │ ├── etable.rs │ │ ├── mod.rs │ │ └── valids.rs │ ├── lib.rs │ ├── machine │ │ ├── memory.rs │ │ ├── mod.rs │ │ └── stack.rs │ ├── opcode.rs │ ├── runtime.rs │ ├── trap.rs │ └── utils.rs └── tests │ ├── performance.rs │ └── usability.rs ├── jsontests ├── Cargo.toml ├── proc-macro │ ├── Cargo.toml │ └── src │ │ └── lib.rs ├── src │ ├── error.rs │ ├── hash.rs │ ├── lib.rs │ ├── main.rs │ ├── run.rs │ └── types.rs └── tests │ ├── legacytests.rs │ └── oldethtests.rs ├── mainnet ├── Cargo.toml └── src │ └── lib.rs ├── precompile ├── Cargo.toml └── src │ ├── blake2 │ ├── eip152.rs │ └── mod.rs │ ├── bn128.rs │ ├── kzg.rs │ ├── lib.rs │ ├── modexp.rs │ └── simple.rs ├── rust-toolchain.toml ├── rustfmt.toml ├── src ├── backend │ ├── in_memory.rs │ ├── mod.rs │ └── overlayed.rs ├── call_stack.rs ├── gasometer.rs ├── invoker.rs ├── lib.rs └── standard │ ├── config.rs │ ├── gasometer │ ├── consts.rs │ ├── costs.rs │ ├── mod.rs │ └── utils.rs │ ├── invoker │ ├── mod.rs │ ├── resolver.rs │ ├── routines.rs │ └── state.rs │ └── mod.rs └── tests ├── contract ├── DeployAndDestroy.sol ├── SimpleContract.sol ├── deploy_and_destroy_init_code └── simple_contract_bytecode.txt ├── eip_6780.rs └── mock.rs /.arcconfig: -------------------------------------------------------------------------------- 1 | { 2 | "phabricator.uri" : "https://source.that.world/" 3 | } -------------------------------------------------------------------------------- /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.'cfg(all())'] 2 | rustflags = [ 3 | "-Aclippy::blocks_in_conditions", 4 | ] -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/.gitmodules -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/AUTHORS -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/README.md -------------------------------------------------------------------------------- /compat/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/compat/Cargo.toml -------------------------------------------------------------------------------- /compat/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![cfg_attr(not(feature = "std"), no_std)] 2 | 3 | extern crate alloc; 4 | 5 | mod v0x; 6 | -------------------------------------------------------------------------------- /compat/src/v0x.rs: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/development.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/docs/development.md -------------------------------------------------------------------------------- /docs/ethtests.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/docs/ethtests.md -------------------------------------------------------------------------------- /features/evm64/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/features/evm64/Cargo.toml -------------------------------------------------------------------------------- /features/evm64/src/eval.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/features/evm64/src/eval.rs -------------------------------------------------------------------------------- /features/evm64/src/gasometer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/features/evm64/src/gasometer.rs -------------------------------------------------------------------------------- /features/evm64/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/features/evm64/src/lib.rs -------------------------------------------------------------------------------- /future/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/future/Cargo.toml -------------------------------------------------------------------------------- /future/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/future/src/lib.rs -------------------------------------------------------------------------------- /future/tests/usability.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/future/tests/usability.rs -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | output 3 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/fuzz/README.md -------------------------------------------------------------------------------- /fuzz/src/backend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/fuzz/src/backend.rs -------------------------------------------------------------------------------- /fuzz/src/grammar.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/fuzz/src/grammar.rs -------------------------------------------------------------------------------- /fuzz/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/fuzz/src/main.rs -------------------------------------------------------------------------------- /interpreter/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/Cargo.toml -------------------------------------------------------------------------------- /interpreter/src/error/exit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/error/exit.rs -------------------------------------------------------------------------------- /interpreter/src/error/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/error/mod.rs -------------------------------------------------------------------------------- /interpreter/src/etable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/etable.rs -------------------------------------------------------------------------------- /interpreter/src/eval/arithmetic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/eval/arithmetic.rs -------------------------------------------------------------------------------- /interpreter/src/eval/bitwise.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/eval/bitwise.rs -------------------------------------------------------------------------------- /interpreter/src/eval/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/eval/macros.rs -------------------------------------------------------------------------------- /interpreter/src/eval/misc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/eval/misc.rs -------------------------------------------------------------------------------- /interpreter/src/eval/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/eval/mod.rs -------------------------------------------------------------------------------- /interpreter/src/eval/system.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/eval/system.rs -------------------------------------------------------------------------------- /interpreter/src/interpreter/etable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/interpreter/etable.rs -------------------------------------------------------------------------------- /interpreter/src/interpreter/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/interpreter/mod.rs -------------------------------------------------------------------------------- /interpreter/src/interpreter/valids.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/interpreter/valids.rs -------------------------------------------------------------------------------- /interpreter/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/lib.rs -------------------------------------------------------------------------------- /interpreter/src/machine/memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/machine/memory.rs -------------------------------------------------------------------------------- /interpreter/src/machine/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/machine/mod.rs -------------------------------------------------------------------------------- /interpreter/src/machine/stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/machine/stack.rs -------------------------------------------------------------------------------- /interpreter/src/opcode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/opcode.rs -------------------------------------------------------------------------------- /interpreter/src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/runtime.rs -------------------------------------------------------------------------------- /interpreter/src/trap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/trap.rs -------------------------------------------------------------------------------- /interpreter/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/src/utils.rs -------------------------------------------------------------------------------- /interpreter/tests/performance.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/tests/performance.rs -------------------------------------------------------------------------------- /interpreter/tests/usability.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/interpreter/tests/usability.rs -------------------------------------------------------------------------------- /jsontests/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/Cargo.toml -------------------------------------------------------------------------------- /jsontests/proc-macro/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/proc-macro/Cargo.toml -------------------------------------------------------------------------------- /jsontests/proc-macro/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/proc-macro/src/lib.rs -------------------------------------------------------------------------------- /jsontests/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/src/error.rs -------------------------------------------------------------------------------- /jsontests/src/hash.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/src/hash.rs -------------------------------------------------------------------------------- /jsontests/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/src/lib.rs -------------------------------------------------------------------------------- /jsontests/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/src/main.rs -------------------------------------------------------------------------------- /jsontests/src/run.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/src/run.rs -------------------------------------------------------------------------------- /jsontests/src/types.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/src/types.rs -------------------------------------------------------------------------------- /jsontests/tests/legacytests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/tests/legacytests.rs -------------------------------------------------------------------------------- /jsontests/tests/oldethtests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/jsontests/tests/oldethtests.rs -------------------------------------------------------------------------------- /mainnet/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/mainnet/Cargo.toml -------------------------------------------------------------------------------- /mainnet/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/mainnet/src/lib.rs -------------------------------------------------------------------------------- /precompile/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/Cargo.toml -------------------------------------------------------------------------------- /precompile/src/blake2/eip152.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/blake2/eip152.rs -------------------------------------------------------------------------------- /precompile/src/blake2/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/blake2/mod.rs -------------------------------------------------------------------------------- /precompile/src/bn128.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/bn128.rs -------------------------------------------------------------------------------- /precompile/src/kzg.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/kzg.rs -------------------------------------------------------------------------------- /precompile/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/lib.rs -------------------------------------------------------------------------------- /precompile/src/modexp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/modexp.rs -------------------------------------------------------------------------------- /precompile/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/precompile/src/simple.rs -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | hard_tabs = true 2 | -------------------------------------------------------------------------------- /src/backend/in_memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/backend/in_memory.rs -------------------------------------------------------------------------------- /src/backend/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/backend/mod.rs -------------------------------------------------------------------------------- /src/backend/overlayed.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/backend/overlayed.rs -------------------------------------------------------------------------------- /src/call_stack.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/call_stack.rs -------------------------------------------------------------------------------- /src/gasometer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/gasometer.rs -------------------------------------------------------------------------------- /src/invoker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/invoker.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/standard/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/config.rs -------------------------------------------------------------------------------- /src/standard/gasometer/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/gasometer/consts.rs -------------------------------------------------------------------------------- /src/standard/gasometer/costs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/gasometer/costs.rs -------------------------------------------------------------------------------- /src/standard/gasometer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/gasometer/mod.rs -------------------------------------------------------------------------------- /src/standard/gasometer/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/gasometer/utils.rs -------------------------------------------------------------------------------- /src/standard/invoker/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/invoker/mod.rs -------------------------------------------------------------------------------- /src/standard/invoker/resolver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/invoker/resolver.rs -------------------------------------------------------------------------------- /src/standard/invoker/routines.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/invoker/routines.rs -------------------------------------------------------------------------------- /src/standard/invoker/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/invoker/state.rs -------------------------------------------------------------------------------- /src/standard/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/src/standard/mod.rs -------------------------------------------------------------------------------- /tests/contract/DeployAndDestroy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/tests/contract/DeployAndDestroy.sol -------------------------------------------------------------------------------- /tests/contract/SimpleContract.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/tests/contract/SimpleContract.sol -------------------------------------------------------------------------------- /tests/contract/deploy_and_destroy_init_code: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/tests/contract/deploy_and_destroy_init_code -------------------------------------------------------------------------------- /tests/contract/simple_contract_bytecode.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/tests/contract/simple_contract_bytecode.txt -------------------------------------------------------------------------------- /tests/eip_6780.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/tests/eip_6780.rs -------------------------------------------------------------------------------- /tests/mock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rust-ethereum/evm/HEAD/tests/mock.rs --------------------------------------------------------------------------------