-
Notifications
You must be signed in to change notification settings - Fork 460
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
simulators/eth2/common: create client interfaces, update mock builder #738
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hi @marioevz, thanks for all these extensive restructuring/refactoring works and efforts, really appreciated by "the users"!! 🤗 🤩 ❤️ |
marioevz
force-pushed
the
refactor-clients
branch
from
April 5, 2023 00:23
a89fce9
to
f096a8e
Compare
I've been running these changes locally for quite some time now, and they are required to introduce more tests into the branch, so I will be merging now. |
mattsse
pushed a commit
to paradigmxyz/hive
that referenced
this pull request
May 12, 2023
* simulators/ethereum/engine: send `eth_` requests to port 8545 (ethereum#752) simulators/ethereum/engine: send `eth_` requests to 8545 * clients/ethereumjs: Update branch (ethereum#753) * clients/ethereumjs: Change git branch * clients/ethereumjs: Fix bash script issues * simulators/ethereum/engine: node: unsubscribe from events * simulators/ethereum/engine: clmock: add extra logs * simulators/ethereum/engine: correctly stop secondary clients * simulators/eth2/common: create client interfaces, update mock builder (ethereum#738) * simulators/eth2/common: refactor clients * simulators/eth2/engine: fixes due to refactor * simulators/eth2/common: builder: invalidate payloads * simulators/eth2/common: builder readme * simulators/eth2/common: builder: add option to build a payload on an outdated version * simulators/eth2/withdrawals: add invalid built payload version test * simulators/eth2/common: builder: remove check to build invalid payload * simulators/eth2/withdrawals: Fix check * simulators/eth2/withdrawals: test case validation * simulators/eth2/common: builder: fix invalidation * simulators/eth2/withdrawals: fix verifications again * simulators/ethereum/pyspec: Comment Dockerfile to run local fixtures (ethereum#755) simulators/ethereum/pyspec: Add Dockerfile comment to run locally generated fixtures * clients/besu: add --data-storage-format=BONSAI (ethereum#758) * simulators/ethereum/engine: Unique Payload ID Tests (ethereum#757) * simulators/ethereum/engine: expose generic fcu, np * simulators/ethereum/engine: Unique payload id test * simulators/ethereum/engine: Add payload id test * simulators/ethereum/engine: Parallel getPayloadBodies Test (ethereum#749) * simulators/ethereum/engine: parallel getpayloadbodies * simulators/ethereum/withdrawals: readme * clients/erigon: --externalcl flag is not supported anymore (ethereum#760) * graphql: consistent rule for Long outputs and args (ethereum#746) * simulators/eth2: Verify block signatures on blocks sent to builder (ethereum#756) * simulators/eth2/common/builder: interfaces changes * simulators/eth2/common/builder: verify signatures * simulators/eth2/withdrawals: Verify block signatures * simulators/eth2/withdrawals: Update README * simulators/eth2/withdrawals: minor nit comment * clients/erigon: explicit --db.size.limit value (ethereum#766) * clients/nethermind: Cancun support (ethereum#762) * clients/nethermind: Cancun Support * clients/nethermind: Dockerfile args * clients/besu: Cancun Support (ethereum#769) * clients/ethereumjs: Cancun Support (ethereum#768) clients/ethereumjs: Cancun Support. * clients/go-ethereum: remove deprecated PoW (ethereum#773) Remove ethash-related flags and utils from go-ethereum, since they were deprecated upstream. --------- Co-authored-by: Martin Holst Swende <[email protected]> * clients/nethermind: Add excessDataGas to genesis mapper. (ethereum#771) * sim/pyspec: bubble error (ethereum#777) * simulators/devp2p: fix issue causing ethereumjs to crash (ethereum#778) sim/devp2p: fix issue causing ethereumjs to crash It seems ethereumjs crashes if the chainid is not present in the genesis. --------- Co-authored-by: Mario Vega <[email protected]> Co-authored-by: Gabriel Fukushima <[email protected]> Co-authored-by: Andrew Ashikhmin <[email protected]> Co-authored-by: Sina Mahmoodi <[email protected]> Co-authored-by: Spencer Taylor-Brown <[email protected]> Co-authored-by: Martin Holst Swende <[email protected]>
This was referenced Jul 17, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces the interfaces
Client
andManagedClient
which are now used by theExecutionClient
,BeaconClient
andValidatorClient
structures to communicate with the clients.Previously, the structures directly used
hivesim.Client
, which required a client launched and managed by hive.hivesim.Client
is now abstracted throughManagedClient
to allow instantiation ofExecutionClient
,BeaconClient
orValidatorClient
and use an external client.With this change, modules like the mock builder can now be imported by other non-hive modules, and even compiled separately as standalone commands.
Changes Included
Testnet Clients
Client
/ManagedClient
interfacesExecutionClientConfig
andBeaconClientConfig
respectivelyWithdrawals Test Suite
Mock builder