Merge pull request #919 from gzliudan/final-block

rpc: support keyword `finalized` as block number
This commit is contained in:
Daniel Liu 2025-03-19 17:48:37 +08:00 committed by GitHub
commit 79e7aef66b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 5 deletions

View file

@ -78,7 +78,8 @@ func (b *EthApiBackend) HeaderByNumber(ctx context.Context, blockNr rpc.BlockNum
// Otherwise resolve and return the block
if blockNr == rpc.LatestBlockNumber {
return b.eth.blockchain.CurrentBlock().Header(), nil
} else if blockNr == rpc.CommittedBlockNumber {
}
if blockNr == rpc.CommittedBlockNumber {
if b.eth.chainConfig.XDPoS == nil {
return nil, errors.New("PoW does not support confirmed block lookup")
}
@ -131,7 +132,8 @@ func (b *EthApiBackend) BlockByNumber(ctx context.Context, blockNr rpc.BlockNumb
// Otherwise resolve and return the block
if blockNr == rpc.LatestBlockNumber {
return b.eth.blockchain.CurrentBlock(), nil
} else if blockNr == rpc.CommittedBlockNumber {
}
if blockNr == rpc.CommittedBlockNumber {
if b.eth.chainConfig.XDPoS == nil {
return nil, errors.New("PoW does not support confirmed block lookup")
}

View file

@ -3696,7 +3696,7 @@ var outputBigNumberFormatter = function (number) {
};
var isPredefinedBlockNumber = function (blockNumber) {
return ['latest','pending','earliest','committed'].indexOf(blockNumber) >= 0;
return ['latest','pending','earliest','committed', 'finalized'].indexOf(blockNumber) >= 0;
};
var inputDefaultBlockNumberFormatter = function (blockNumber) {

View file

@ -101,7 +101,7 @@ func (bn *BlockNumber) UnmarshalJSON(data []byte) error {
case "pending":
*bn = PendingBlockNumber
return nil
case "committed":
case "committed", "finalized":
*bn = CommittedBlockNumber
return nil
}
@ -181,7 +181,7 @@ func (bnh *BlockNumberOrHash) UnmarshalJSON(data []byte) error {
bn := PendingBlockNumber
bnh.BlockNumber = &bn
return nil
case "committed":
case "committed", "finalized":
bn := CommittedBlockNumber
bnh.BlockNumber = &bn
return nil