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.
rjl493456442
03c37cdb2b
core/state: introduce code reader interface ( #30816 )
...
This PR introduces a `ContractCodeReader` interface with functions defined:
type ContractCodeReader interface {
Code(addr common.Address, codeHash common.Hash) ([]byte, error)
CodeSize(addr common.Address, codeHash common.Hash) (int, error)
}
This interface can be implemented in various ways. Although the codebase
currently includes only one implementation, additional implementations
could be created for different purposes and scenarios, such as a code
reader designed for the Verkle tree approach or one that reads code from
the witness.
*Notably, this interface modifies the function’s semantics. If the
contract code is not found, no error will be returned. An error should
only be returned in the event of an unexpected issue, primarily for
future implementations.*
The original state.Reader interface is extended with ContractCodeReader
methods, it gives us more flexibility to manipulate the reader with additional
logic on top, e.g. Hooks.
type Reader interface {
ContractCodeReader
StateReader
}
---------
Co-authored-by: Felix Lange <fjl@twurst.com>
3 months ago
..
asm
core/vm, cmd/evm: implement eof validation ( #30418 )
5 months ago
bloombits
…
forkid
all: remove TerminalTotalDifficultyPassed ( #30609 )
4 months ago
rawdb
all: fix issues with benchmarks ( #30667 )
4 months ago
state
core/state: introduce code reader interface ( #30816 )
3 months ago
stateless
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
5 months ago
tracing
core/tracing: add GetCodeHash to StateDB ( #30784 )
3 months ago
txpool
core/txpool, eth/catalyst: clear transaction pool in Rollback ( #30534 )
3 months ago
types
core/types: add length check in CalcRequestsHash ( #30829 )
3 months ago
vm
all: typos in comments ( #30779 )
3 months ago
.gitignore
…
bench_test.go
all: fix issues with benchmarks ( #30667 )
4 months ago
block_validator.go
build: update to golangci-lint 1.61.0 ( #30587 )
4 months ago
block_validator_test.go
all: remove TerminalTotalDifficultyPassed ( #30609 )
4 months ago
blockchain.go
core/state: move state log mechanism to a separate layer ( #30569 )
4 months ago
blockchain_insert.go
all: remove forkchoicer and reorgNeeded ( #29179 )
6 months ago
blockchain_reader.go
core/state: introduce code reader interface ( #30816 )
3 months ago
blockchain_repair_test.go
core, eth, node: break rawdb -> {leveldb, pebble} dependency ( #30689 )
4 months ago
blockchain_sethead_test.go
core, eth, node: break rawdb -> {leveldb, pebble} dependency ( #30689 )
4 months ago
blockchain_snapshot_test.go
core, eth, node: break rawdb -> {leveldb, pebble} dependency ( #30689 )
4 months ago
blockchain_test.go
core, eth, node: break rawdb -> {leveldb, pebble} dependency ( #30689 )
4 months ago
bloom_indexer.go
…
chain_indexer.go
core, eth, ethstats: simplify chain head events ( #30601 )
4 months ago
chain_indexer_test.go
…
chain_makers.go
all: exclude empty outputs in requests commitment ( #30670 )
3 months ago
chain_makers_test.go
all: remove TerminalTotalDifficultyPassed ( #30609 )
4 months ago
dao_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
6 months ago
error.go
…
events.go
core, eth, ethstats: simplify chain head events ( #30601 )
4 months ago
evm.go
…
gaspool.go
…
gen_genesis.go
…
genesis.go
all: exclude empty outputs in requests commitment ( #30670 )
3 months ago
genesis_alloc.go
all: clean up goerli flag and config ( #30289 )
6 months ago
genesis_test.go
all: remove TerminalTotalDifficultyPassed ( #30609 )
4 months ago
headerchain.go
all: remove forkchoicer and reorgNeeded ( #29179 )
6 months ago
headerchain_test.go
all: remove forkchoicer and reorgNeeded ( #29179 )
6 months ago
mkalloc.go
…
rlp_test.go
…
sender_cacher.go
…
state_prefetcher.go
core, eth, internal, cmd: rework EVM constructor ( #30745 )
3 months ago
state_processor.go
all: exclude empty outputs in requests commitment ( #30670 )
3 months ago
state_processor_test.go
core, trie: verkle state processor tests ( #30672 )
4 months ago
state_transition.go
common: drop BigMin and BigMax, they pollute our dep graph ( #30645 )
4 months ago
stateless.go
beacon, core, eth, miner: integrate witnesses into production Geth ( #30069 )
5 months ago
txindexer.go
core, eth, ethstats: simplify chain head events ( #30601 )
4 months ago
txindexer_test.go
…
types.go
all: implement flat deposit requests encoding ( #30425 )
5 months ago
verkle_witness_test.go
all: typos in comments ( #30779 )
3 months ago