patch: Add safe and finalized tags to ethclient SDK (#202)

add safe and finalized tags to ethclient SDK
This commit is contained in:
Péter Garamvölgyi 2023-01-27 01:53:31 +01:00 committed by GitHub
parent cdaea93962
commit 08ba436d8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 4 deletions

View file

@ -547,10 +547,22 @@ func toBlockNumArg(number *big.Int) string {
if number == nil { if number == nil {
return "latest" return "latest"
} }
pending := big.NewInt(-1) latest := big.NewInt(int64(rpc.LatestBlockNumber))
if number.Cmp(latest) == 0 {
return "latest"
}
pending := big.NewInt(int64(rpc.PendingBlockNumber))
if number.Cmp(pending) == 0 { if number.Cmp(pending) == 0 {
return "pending" 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) return hexutil.EncodeBig(number)
} }

View file

@ -58,9 +58,11 @@ type jsonWriter interface {
type BlockNumber int64 type BlockNumber int64
const ( const (
PendingBlockNumber = BlockNumber(-2) SafeBlockNumber = BlockNumber(-4)
LatestBlockNumber = BlockNumber(-1) FinalizedBlockNumber = BlockNumber(-3)
EarliestBlockNumber = BlockNumber(0) PendingBlockNumber = BlockNumber(-2)
LatestBlockNumber = BlockNumber(-1)
EarliestBlockNumber = BlockNumber(0)
) )
// UnmarshalJSON parses the given JSON fragment into a BlockNumber. It supports: // UnmarshalJSON parses the given JSON fragment into a BlockNumber. It supports: