mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-09 14:34:27 +00:00
Merge pull request #919 from gzliudan/final-block
rpc: support keyword `finalized` as block number
This commit is contained in:
commit
79e7aef66b
3 changed files with 7 additions and 5 deletions
|
|
@ -78,7 +78,8 @@ func (b *EthApiBackend) HeaderByNumber(ctx context.Context, blockNr rpc.BlockNum
|
||||||
// Otherwise resolve and return the block
|
// Otherwise resolve and return the block
|
||||||
if blockNr == rpc.LatestBlockNumber {
|
if blockNr == rpc.LatestBlockNumber {
|
||||||
return b.eth.blockchain.CurrentBlock().Header(), nil
|
return b.eth.blockchain.CurrentBlock().Header(), nil
|
||||||
} else if blockNr == rpc.CommittedBlockNumber {
|
}
|
||||||
|
if blockNr == rpc.CommittedBlockNumber {
|
||||||
if b.eth.chainConfig.XDPoS == nil {
|
if b.eth.chainConfig.XDPoS == nil {
|
||||||
return nil, errors.New("PoW does not support confirmed block lookup")
|
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
|
// Otherwise resolve and return the block
|
||||||
if blockNr == rpc.LatestBlockNumber {
|
if blockNr == rpc.LatestBlockNumber {
|
||||||
return b.eth.blockchain.CurrentBlock(), nil
|
return b.eth.blockchain.CurrentBlock(), nil
|
||||||
} else if blockNr == rpc.CommittedBlockNumber {
|
}
|
||||||
|
if blockNr == rpc.CommittedBlockNumber {
|
||||||
if b.eth.chainConfig.XDPoS == nil {
|
if b.eth.chainConfig.XDPoS == nil {
|
||||||
return nil, errors.New("PoW does not support confirmed block lookup")
|
return nil, errors.New("PoW does not support confirmed block lookup")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3696,7 +3696,7 @@ var outputBigNumberFormatter = function (number) {
|
||||||
};
|
};
|
||||||
|
|
||||||
var isPredefinedBlockNumber = function (blockNumber) {
|
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) {
|
var inputDefaultBlockNumberFormatter = function (blockNumber) {
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ func (bn *BlockNumber) UnmarshalJSON(data []byte) error {
|
||||||
case "pending":
|
case "pending":
|
||||||
*bn = PendingBlockNumber
|
*bn = PendingBlockNumber
|
||||||
return nil
|
return nil
|
||||||
case "committed":
|
case "committed", "finalized":
|
||||||
*bn = CommittedBlockNumber
|
*bn = CommittedBlockNumber
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
@ -181,7 +181,7 @@ func (bnh *BlockNumberOrHash) UnmarshalJSON(data []byte) error {
|
||||||
bn := PendingBlockNumber
|
bn := PendingBlockNumber
|
||||||
bnh.BlockNumber = &bn
|
bnh.BlockNumber = &bn
|
||||||
return nil
|
return nil
|
||||||
case "committed":
|
case "committed", "finalized":
|
||||||
bn := CommittedBlockNumber
|
bn := CommittedBlockNumber
|
||||||
bnh.BlockNumber = &bn
|
bnh.BlockNumber = &bn
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue