diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index c0b91b8569..13a2e46d25 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -533,18 +533,23 @@ func toBlockNumArg(number *big.Int) string { if number == nil { return "latest" } + pending := big.NewInt(-1) + finalized := big.NewInt(int64(rpc.FinalizedBlockNumber)) + safe := big.NewInt(int64(rpc.SafeBlockNumber)) + if number.Cmp(pending) == 0 { return "pending" } - finalized := big.NewInt(int64(rpc.FinalizedBlockNumber)) + if number.Cmp(finalized) == 0 { return "finalized" } - safe := big.NewInt(int64(rpc.SafeBlockNumber)) + if number.Cmp(safe) == 0 { return "safe" } + return hexutil.EncodeBig(number) } diff --git a/ethclient/gethclient/gethclient.go b/ethclient/gethclient/gethclient.go index ae147a40a3..2abeeaaf5c 100644 --- a/ethclient/gethclient/gethclient.go +++ b/ethclient/gethclient/gethclient.go @@ -183,18 +183,23 @@ func toBlockNumArg(number *big.Int) string { if number == nil { return "latest" } + pending := big.NewInt(-1) + finalized := big.NewInt(int64(rpc.FinalizedBlockNumber)) + safe := big.NewInt(int64(rpc.SafeBlockNumber)) + if number.Cmp(pending) == 0 { return "pending" } - finalized := big.NewInt(int64(rpc.FinalizedBlockNumber)) + if number.Cmp(finalized) == 0 { return "finalized" } - safe := big.NewInt(int64(rpc.SafeBlockNumber)) + if number.Cmp(safe) == 0 { return "safe" } + return hexutil.EncodeBig(number) }