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.
What?
chainId
toNetwork
(if it's not set we will still get it from the RPC node as we do now)ClientBuilder
with existing configClientBuilder
Why?
Sepolia
,Sepolia Testnet
,eth-sepolia
), which makes it difficult to match Seth network by name. ChainID doesn't have any ambivalence.Below is a summarization created by an LLM (gpt-4-0125-preview). Be mindful of hallucinations and verify accuracy.
Why
The changes improve the flexibility and configurability of the SETH client, notably by introducing a way to specify a configuration path for testing and enhancing the client builder to support modifying an existing configuration or setting a network by chain ID. Additionally, adjustments to gas estimation, error handling, and contract deployment demonstrate a broader effort to refine the tool's usability and reliability for various blockchain development scenarios.
What
seth/Makefile
SETH_CONFIG_PATH
environment variable to specify a configuration path for testing, enhancing flexibility in test environments.seth/README.md
NewClientBuilderWithConfig
andUseNetworkWithChainId
, and provided examples of their usage. This improves the documentation's comprehensiveness regarding client configuration.seth/client.go
uint64
forChainID
instead of converting to and from strings, streamlining chain ID handling.NewClientRaw
to conditionally fetchChainID
if not provided, ensuring the client has the necessary network information.seth/client_builder.go
NewClientBuilderWithConfig
,UseNetworkWithName
,UseNetworkWithChainId
,WithNetworkChainId
) for enhanced client configuration capabilities, including support for modifying existing configurations and setting the network by chain ID.seth/cmd/seth.go
ChainID
to useuint64
directly, aligning with changes in chain ID data types.seth/config.go
ChainID
as auint64
in theNetwork
struct, directly storing the chain ID in its native format for easier access and manipulation.seth/config_test.go
These changes collectively enhance the SETH tool's configurability, usability, and reliability, catering to a wider range of blockchain development scenarios.