Merge pull request #185 from vulcanize/ian_v4

ChainID adjustment
This commit is contained in:
Ian Norden 2022-08-08 14:38:02 -05:00 committed by GitHub
commit ddc7485c08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 9 deletions

View File

@ -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:

View File

@ -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
} }
/* /*