Skip to content

Commit

Permalink
Merge pull request #77 from yoomee1313/fix-crashing-methods
Browse files Browse the repository at this point in the history
api: do not crash with unknown blocknumber input
  • Loading branch information
yoomee1313 authored Sep 5, 2024
2 parents 149854d + 1d74db0 commit 1cf2543
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions governance/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ func (api *GovernanceKaiaAPI) NodeAddress() common.Address {
// GetRewards returns detailed information of the block reward at a given block number.
func (api *GovernanceKaiaAPI) GetRewards(num *rpc.BlockNumber) (*reward.RewardSpec, error) {
blockNumber := uint64(0)
if num == nil || *num == rpc.LatestBlockNumber {
if num == nil || *num == rpc.LatestBlockNumber || *num == rpc.PendingBlockNumber {
blockNumber = api.chain.CurrentBlock().NumberU64()
} else {
blockNumber = uint64(num.Int64())
Expand Down Expand Up @@ -365,8 +365,11 @@ func checkStateForStakingInfo(governance Engine, blockNumber uint64) error {
if !governance.BlockChain().Config().IsKaiaForkEnabled(big.NewInt(int64(blockNumber + 1))) {
return nil
}

_, err := governance.BlockChain().StateAt(governance.BlockChain().GetHeaderByNumber(blockNumber).Root)
header := governance.BlockChain().GetHeaderByNumber(blockNumber)
if header == nil {
return errUnknownBlock
}
_, err := governance.BlockChain().StateAt(header.Root)
return err
}

Expand Down

0 comments on commit 1cf2543

Please sign in to comment.