Official Go implementation of the Ethereum protocol
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Martin HS
56c4f2bfd4
core/vm, cmd/evm: implement eof validation ( #30418 )
...
The bulk of this PR is authored by @lightclient , in the original
EOF-work. More recently, the code has been picked up and reworked for the new EOF
specification, by @MariusVanDerWijden , in https://github.com/ethereum/go-ethereum/pull/29518 , and also @shemnon has contributed with fixes.
This PR is an attempt to start eating the elephant one small bite at a
time, by selecting only the eof-validation as a standalone piece which
can be merged without interfering too much in the core stuff.
In this PR:
- [x] Validation of eof containers, lifted from #29518 , along with
test-vectors from consensus-tests and fuzzing, to ensure that the move
did not lose any functionality.
- [x] Definition of eof opcodes, which is a prerequisite for validation
- [x] Addition of `undefined` to a jumptable entry item. I'm not
super-happy with this, but for the moment it seems the least invasive
way to do it. A better way might be to go back and allowing nil-items or
nil execute-functions to denote "undefined".
- [x] benchmarks of eof validation speed
---------
Co-authored-by: lightclient <lightclient@protonmail.com>
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>
2 months ago
..
asm
core/vm, cmd/evm: implement eof validation ( #30418 )
2 months ago
bloombits
all: fix typos in comments ( #29873 )
6 months ago
forkid
all: clean up goerli flag and config ( #30289 )
3 months ago
rawdb
core/rawdb: freezer index repair ( #29792 )
2 months ago
state
core/state: commit snapshot only if the base layer exists ( #30493 )
2 months ago
stateless
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago
tracing
core/tracing, core/vm: add ContractCode to the OpContext ( #30466 )
2 months ago
txpool
core/txpool/blobpool: use types.Sender instead of signer.Sender ( #30473 )
2 months ago
types
core, trie: prealloc capacity for maps ( #30437 )
2 months ago
vm
core/vm, cmd/evm: implement eof validation ( #30418 )
2 months ago
.gitignore
Renamed `chain` => `core`
10 years ago
bench_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
block_validator.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago
block_validator_test.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago
blockchain.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago
blockchain_insert.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
blockchain_reader.go
core/state: state reader abstraction ( #29761 )
3 months ago
blockchain_repair_test.go
core: minor fix for the log wrapper with debug purpose ( #30454 )
2 months ago
blockchain_sethead_test.go
core: minor fix for the log wrapper with debug purpose ( #30454 )
2 months ago
blockchain_snapshot_test.go
core: minor fix for the log wrapper with debug purpose ( #30454 )
2 months ago
blockchain_test.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago
bloom_indexer.go
core: preallocate batch size in bloomIndexer ( #25289 )
2 years ago
chain_indexer.go
core,console: replace noarg fmt.Errorf with errors.New ( #27332 )
2 years ago
chain_indexer_test.go
all: improve some error strings ( #29842 )
6 months ago
chain_makers.go
core/state: state reader abstraction ( #29761 )
3 months ago
chain_makers_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
dao_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
error.go
cmd, core, params, trie: add verkle access witness gas charging ( #29338 )
7 months ago
events.go
eth/filters: remove use of event.TypeMux for pending logs ( #20312 )
5 years ago
evm.go
all: use big.Sign to compare with zero ( #29490 )
8 months ago
gaspool.go
core, miner: revert block gas counter in case of invalid transaction ( #26799 )
2 years ago
gen_genesis.go
core: go fmt ( #29544 )
7 months ago
genesis.go
genesis: fix dev mode alloc ( #30460 )
2 months ago
genesis_alloc.go
all: clean up goerli flag and config ( #30289 )
3 months ago
genesis_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
headerchain.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
headerchain_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
3 months ago
mkalloc.go
accounts, cmd/geth, core: close opened files ( #29598 )
7 months ago
rlp_test.go
core: move genesis alloc types to core/types ( #29003 )
9 months ago
sender_cacher.go
all: refactor txpool into it's own package in prep for 4844
2 years ago
state_prefetcher.go
all: stateless witness builder and (self-)cross validator ( #29719 )
5 months ago
state_processor.go
internal/ethapi: eth_multicall ( #27720 )
3 months ago
state_processor_test.go
core/state: state reader abstraction ( #29761 )
3 months ago
state_transition.go
internal/ethapi: eth_multicall ( #27720 )
3 months ago
stateless.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago
txindexer.go
core: cache transaction indexing tail in memory ( #28908 )
10 months ago
txindexer_test.go
core: use in-memory freezer for tests ( #29720 )
7 months ago
types.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
2 months ago