ethclient: support networkID in hex format #30263 (#1392)

Some chains’ network IDs use hexadecimal such as Optimism ("0xa" instead
of "10"), so when converting the string to big.Int, we cannot specify
base 10; otherwise, it will encounter errors with hexadecimal network
IDs.

Co-authored-by: Zhihao Lin <3955922+kkqy@users.noreply.github.com>
This commit is contained in:
Daniel Liu 2025-08-28 18:58:05 +08:00 committed by GitHub
parent e1a407d2c0
commit 0662224c31
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -365,7 +365,7 @@ func (ec *Client) NetworkID(ctx context.Context) (*big.Int, error) {
if err := ec.c.CallContext(ctx, &ver, "net_version"); err != nil {
return nil, err
}
if _, ok := version.SetString(ver, 10); !ok {
if _, ok := version.SetString(ver, 0); !ok {
return nil, fmt.Errorf("invalid net_version result %q", ver)
}
return version, nil