|
|
|
@ -75,6 +75,9 @@ func (b *EthAPIBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumb |
|
|
|
|
return b.eth.blockchain.CurrentBlock(), nil |
|
|
|
|
} |
|
|
|
|
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 |
|
|
|
@ -82,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 |
|
|
|
@ -124,10 +130,16 @@ func (b *EthAPIBackend) BlockByNumber(ctx context.Context, number rpc.BlockNumbe |
|
|
|
|
return b.eth.blockchain.GetBlock(header.Hash(), header.Number.Uint64()), nil |
|
|
|
|
} |
|
|
|
|
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 |
|
|
|
|
} |
|
|
|
|