ChainID adjustment #185
6
.github/workflows/tests.yaml
vendored
6
.github/workflows/tests.yaml
vendored
@ -37,7 +37,7 @@ jobs:
|
|||||||
BUILD_KEY: ${{ secrets.BUILD_KEY }}
|
BUILD_KEY: ${{ secrets.BUILD_KEY }}
|
||||||
#strategy:
|
#strategy:
|
||||||
# matrix:
|
# matrix:
|
||||||
# go-version: [1.16.x, 1.17.x]
|
# go-version: [1.16.x, 1.17.x, 1.18.x]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -89,7 +89,7 @@ jobs:
|
|||||||
run: mkdir -p /tmp/go
|
run: mkdir -p /tmp/go
|
||||||
- uses: actions/setup-go@v3
|
- uses: actions/setup-go@v3
|
||||||
with:
|
with:
|
||||||
go-version: ">=1.18.0"
|
go-version: "1.18.x"
|
||||||
check-latest: true
|
check-latest: true
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
@ -157,7 +157,7 @@ jobs:
|
|||||||
run: mkdir -p /tmp/go
|
run: mkdir -p /tmp/go
|
||||||
- uses: actions/setup-go@v3
|
- uses: actions/setup-go@v3
|
||||||
with:
|
with:
|
||||||
go-version: ">=1.18.0"
|
go-version: "1.18.x"
|
||||||
check-latest: true
|
check-latest: true
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
|
@ -66,6 +66,9 @@ type PublicEthAPI struct {
|
|||||||
|
|
||||||
// NewPublicEthAPI creates a new PublicEthAPI with the provided underlying Backend
|
// NewPublicEthAPI creates a new PublicEthAPI with the provided underlying Backend
|
||||||
func NewPublicEthAPI(b *Backend, client *rpc.Client, supportsStateDiff, forwardEthCalls, proxyOnError bool) (*PublicEthAPI, error) {
|
func NewPublicEthAPI(b *Backend, client *rpc.Client, supportsStateDiff, forwardEthCalls, proxyOnError bool) (*PublicEthAPI, error) {
|
||||||
|
if b == nil {
|
||||||
|
return nil, errors.New("ipld-eth-server must be configured with an ethereum backend")
|
||||||
|
}
|
||||||
if forwardEthCalls && client == nil {
|
if forwardEthCalls && client == nil {
|
||||||
return nil, errors.New("ipld-eth-server is configured to forward eth_calls to proxy node but no proxy node is configured")
|
return nil, errors.New("ipld-eth-server is configured to forward eth_calls to proxy node but no proxy node is configured")
|
||||||
}
|
}
|
||||||
@ -191,8 +194,7 @@ func (pea *PublicEthAPI) GetBlockByHash(ctx context.Context, hash common.Hash, f
|
|||||||
|
|
||||||
// ChainId is the EIP-155 replay-protection chain id for the current ethereum chain config.
|
// ChainId is the EIP-155 replay-protection chain id for the current ethereum chain config.
|
||||||
func (pea *PublicEthAPI) ChainId() *hexutil.Big {
|
func (pea *PublicEthAPI) ChainId() *hexutil.Big {
|
||||||
block, err := pea.B.CurrentBlock()
|
if pea.B.Config.ChainConfig.ChainID == nil || pea.B.Config.ChainConfig.ChainID.Cmp(big.NewInt(0)) <= 0 {
|
||||||
if err != nil {
|
|
||||||
if pea.proxyOnError {
|
if pea.proxyOnError {
|
||||||
if id, err := pea.ethClient.ChainID(context.Background()); err == nil {
|
if id, err := pea.ethClient.ChainID(context.Background()); err == nil {
|
||||||
return (*hexutil.Big)(id)
|
return (*hexutil.Big)(id)
|
||||||
@ -201,10 +203,7 @@ func (pea *PublicEthAPI) ChainId() *hexutil.Big {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if config := pea.B.Config.ChainConfig; config.IsEIP155(block.Number()) {
|
return (*hexutil.Big)(pea.B.Config.ChainConfig.ChainID)
|
||||||
return (*hexutil.Big)(config.ChainID)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user