From d06966e11f9b3e008a33e5d3851b56dd30fdd3c8 Mon Sep 17 00:00:00 2001 From: "lightclient@protonmail.com" Date: Sat, 11 Mar 2023 08:02:34 -0700 Subject: [PATCH 1/6] eth/api_backend: return error if pos tag used pre-merge --- eth/api_backend.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/eth/api_backend.go b/eth/api_backend.go index 78b9b08ecb3..022e4b110d3 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -19,6 +19,7 @@ package eth import ( "context" "errors" + "fmt" "math/big" "time" @@ -74,6 +75,9 @@ func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumb if number == rpc.LatestBlockNumber { return b.eth.blockchain.CurrentBlock(), nil } + if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { + return nil, fmt.Errorf("tag not supported on pre-merge network") + } if number == rpc.FinalizedBlockNumber { block := b.eth.blockchain.CurrentFinalBlock() if block != nil { @@ -123,6 +127,9 @@ func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumbe header := b.eth.blockchain.CurrentBlock() return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil } + if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { + return nil, fmt.Errorf("tag not supported on pre-merge network") + } if number == rpc.FinalizedBlockNumber { header := b.eth.blockchain.CurrentFinalBlock() return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil From 7726410bc6088bcd240af0d01d84a397bf81b4a3 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 13 Mar 2023 05:21:04 -0400 Subject: [PATCH 2/6] Update eth/api_backend.go --- eth/api_backend.go | 1 - 1 file changed, 1 deletion(-) diff --git a/eth/api_backend.go b/eth/api_backend.go index 022e4b110d3..721cbeead4a 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -19,7 +19,6 @@ package eth import ( "context" "errors" - "fmt" "math/big" "time" From 347862d2f42c22af53151e284914b383a56509de Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 13 Mar 2023 05:21:23 -0400 Subject: [PATCH 3/6] Update eth/api_backend.go --- eth/api_backend.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth/api_backend.go b/eth/api_backend.go index 721cbeead4a..f6b75040875 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -75,7 +75,7 @@ func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumb return b.eth.blockchain.CurrentBlock(), nil } if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { - return nil, fmt.Errorf("tag not supported on pre-merge network") + return nil, errors.New("tag not supported on pre-merge network") } if number == rpc.FinalizedBlockNumber { block := b.eth.blockchain.CurrentFinalBlock() From 8cbf6effcbdd921f9631fc2d76708ab9b0d28b0b Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 13 Mar 2023 05:21:31 -0400 Subject: [PATCH 4/6] Update eth/api_backend.go --- eth/api_backend.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth/api_backend.go b/eth/api_backend.go index f6b75040875..5f85e777254 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -127,7 +127,7 @@ func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumbe return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil } if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { - return nil, fmt.Errorf("tag not supported on pre-merge network") + return nil, errors.New("tag not supported on pre-merge network") } if number == rpc.FinalizedBlockNumber { header := b.eth.blockchain.CurrentFinalBlock() From 4c8e217191e610b83509a910f8ac0559d700592c Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Mon, 13 Mar 2023 10:45:33 +0100 Subject: [PATCH 5/6] Update api_backend.go --- eth/api_backend.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eth/api_backend.go b/eth/api_backend.go index 5f85e777254..5cb8c23e90e 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -75,7 +75,7 @@ func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumb return b.eth.blockchain.CurrentBlock(), nil } if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { - return nil, errors.New("tag not supported on pre-merge network") + return nil, errors.New("finalized/safe is not supported on pre-merge network") } if number == rpc.FinalizedBlockNumber { block := b.eth.blockchain.CurrentFinalBlock() @@ -127,7 +127,7 @@ func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumbe return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil } if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { - return nil, errors.New("tag not supported on pre-merge network") + return nil, errors.New("finalized/safe is not supported on pre-merge network") } if number == rpc.FinalizedBlockNumber { header := b.eth.blockchain.CurrentFinalBlock() From e0881c0d677be840404e8db5a497bf84682ba692 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 13 Mar 2023 10:48:45 +0100 Subject: [PATCH 6/6] eth: minor change in error-handling --- eth/api_backend.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/eth/api_backend.go b/eth/api_backend.go index 5cb8c23e90e..643f6369df0 100644 --- a/eth/api_backend.go +++ b/eth/api_backend.go @@ -74,10 +74,10 @@ func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumb if number == rpc.LatestBlockNumber { return b.eth.blockchain.CurrentBlock(), nil } - if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { - return nil, errors.New("finalized/safe is not supported on pre-merge network") - } if number == rpc.FinalizedBlockNumber { + if !b.eth.Merger().TDDReached() { + return nil, errors.New("'finalized' tag not supported on pre-merge network") + } block := b.eth.blockchain.CurrentFinalBlock() if block != nil { return block, nil @@ -85,6 +85,9 @@ func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumb return nil, errors.New("finalized block not found") } if number == rpc.SafeBlockNumber { + if !b.eth.Merger().TDDReached() { + return nil, errors.New("'safe' tag not supported on pre-merge network") + } block := b.eth.blockchain.CurrentSafeBlock() if block != nil { return block, nil @@ -126,14 +129,17 @@ func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumbe header := b.eth.blockchain.CurrentBlock() return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil } - if !b.eth.Merger().TDDReached() && (number == rpc.FinalizedBlockNumber || number == rpc.SafeBlockNumber) { - return nil, errors.New("finalized/safe is not supported on pre-merge network") - } if number == rpc.FinalizedBlockNumber { + if !b.eth.Merger().TDDReached() { + return nil, errors.New("'finalized' tag not supported on pre-merge network") + } header := b.eth.blockchain.CurrentFinalBlock() return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil } if number == rpc.SafeBlockNumber { + if !b.eth.Merger().TDDReached() { + return nil, errors.New("'safe' tag not supported on pre-merge network") + } header := b.eth.blockchain.CurrentSafeBlock() return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil }