Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

chore: squash arr4n/libevm into libevm #7

Merged
merged 27 commits into from
Sep 10, 2024
Merged

chore: squash arr4n/libevm into libevm #7

merged 27 commits into from
Sep 10, 2024

Conversation

ARR4N
Copy link
Collaborator

@ARR4N ARR4N commented Sep 10, 2024

ARR4N and others added 27 commits September 8, 2024 17:34
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`.
feat: `params.ChainConfig` and `params.Rules` extra payloads
feat: precompile override via `params.Extras` hooks
feat: stateful precompiles + allowlist hooks
@ARR4N ARR4N changed the title feat: params.ChainConfig + Rules payloads and hooks chore: squash arr4n/libevm into libevm Sep 10, 2024
@ARR4N ARR4N marked this pull request as ready for review September 10, 2024 18:00
@ARR4N ARR4N requested a review from darioush September 10, 2024 18:00
@ARR4N ARR4N merged commit 5429fd8 into libevm Sep 10, 2024
@ARR4N ARR4N deleted the arr4n/libevm branch September 10, 2024 18:20
ARR4N added a commit that referenced this pull request Oct 10, 2024
* 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants