Skip to content

chore: squash arr4n/libevm into libevm #7

New issue

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

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

Already on GitHub? Sign in to your account

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants