go-ethereum/core
Arran Schlosberg 5429fd87c8
chore: squash arr4n/libevm into libevm (#7)
* feat: pseudo-generic extra payloads in `params.ChainConfig` and `params.Rules`

* feat: `params.ExtraPayloadGetter` for end-user type safety

* refactor: payloads only available through `params.ExtraPayloadGetter`

* chore: make `libevm/examples/extraparams` a `params` testable example

* doc: `libevm/pseudo` package comments and improved readability

* doc: `params.*Extra*` comments and improved readability

* doc: `params.ExtraPayloadGetter` comments and improved readability

* doc: `params/config.libevm_test.go` comments and improved readability

* refactor: simplify `params.ChainConfig.UnmarshalJSON()`

* refactor: abstract new/nil-pointer creation into `pseudo.Constructor`s

* feat: precompile override via `params.Extras` hooks

* doc: flesh out `PrecompileOverride()` in example

* doc: complete commentary and improve readability

* refactor: `ChainConfig.Hooks()` + `Rules` equivalent

* chore: rename precompiles test file in keeping with geth equivalent

* feat: stateful precompiles + allowlist hooks

The allowlist hooks are included in this commit because they allow for the same functionality as stateful precompiles in `ava-labs/coreth` and `ava-labs/subnet-evm`.

* fix: `StateTransition.canExecuteTransaction()` used `msg.From` instead of `To`

* test: `params.RulesHooks.CanCreateContract` integration

* test: `params.RulesHooks.CanExecuteTransaction` integration

* test: `vm.NewStatefulPrecompile()` integration

* refactor: simplify test of `CanCreateContract`

* refactor: abstract generation of random `Address`/`Hash` values

* doc: full documentation + readability refactoring/renaming

* fix: remove circular dependency in tests
2024-09-10 19:20:32 +01:00
..
asm eth/tracers/js: fix isPush for push0 (#28520) 2023-11-14 13:14:38 +01:00
bloombits core: fix typos (#28218) 2023-09-29 10:52:22 +03:00
forkid params, core/forkid: add mainnet timestamp for Cancun (#28958) 2024-02-08 19:36:38 +01:00
rawdb all: fix typos in comments (#28881) 2024-02-05 22:16:32 +01:00
state core,eth,internal: fix typo (#29024) 2024-02-20 19:42:48 +08:00
txpool core/txpool: elevate the 'already reserved' error into a constant (#29095) 2024-02-27 13:27:50 +02:00
types core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
vm chore: squash arr4n/libevm into libevm (#7) 2024-09-10 19:20:32 +01:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
block_validator.go core/types: support for optional blob sidecar in BlobTx (#27841) 2023-08-14 10:13:34 +02:00
block_validator_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
blockchain.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
blockchain_insert.go core, eth, trie: expose more detailed dirty ram tracking for diff layers (#27971) 2023-08-23 14:08:39 +03:00
blockchain_reader.go all: remove the dependency from trie to triedb (#28824) 2024-02-13 14:49:53 +01:00
blockchain_repair_test.go core/rawdb, ethdb/pebble: avoid fsync db in tests (#27836) 2023-08-23 20:43:55 +02:00
blockchain_sethead_test.go all: remove the dependency from trie to triedb (#28824) 2024-02-13 14:49:53 +01:00
blockchain_snapshot_test.go core/rawdb, ethdb/pebble: avoid fsync db in tests (#27836) 2023-08-23 20:43:55 +02:00
blockchain_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer.go core,console: replace noarg fmt.Errorf with errors.New (#27332) 2023-05-25 08:24:09 -04:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_makers.go all: remove the dependency from trie to triedb (#28824) 2024-02-13 14:49:53 +01:00
chain_makers_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
dao_test.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
error.go internal/ethapi: handle blobs in API methods (#28786) 2024-01-17 15:06:14 +01:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go all: use uint256 in state (#28598) 2024-01-23 14:51:58 +01:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05:00
gen_genesis.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
genesis.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
genesis_alloc.go cmd, core, params: add support for the Holesky testnet (#28007) 2023-08-25 18:11:40 +03:00
genesis_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
headerchain.go all: remove ethash pow, only retain shims needed for consensus and tests (#27178) 2023-05-03 12:58:39 +03:00
headerchain_test.go all: remove the dependency from trie to triedb (#28824) 2024-02-13 14:49:53 +01:00
mkalloc.go cmd, core, params: add support for the Holesky testnet (#28007) 2023-08-25 18:11:40 +03:00
rlp_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
state_processor.go all: use uint256 in state (#28598) 2024-01-23 14:51:58 +01:00
state_processor_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
state_transition.go chore: squash arr4n/libevm into libevm (#7) 2024-09-10 19:20:32 +01:00
state_transition.libevm.go chore: squash arr4n/libevm into libevm (#7) 2024-09-10 19:20:32 +01:00
state_transition.libevm_test.go chore: squash arr4n/libevm into libevm (#7) 2024-09-10 19:20:32 +01:00
txindexer.go core: cache transaction indexing tail in memory (#28908) 2024-02-06 10:44:42 +08:00
txindexer_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
types.go core: use atomic type (#27011) 2023-03-30 06:53:32 -04:00