From 31c972febfacd093179b900ad9bd95bab456ee66 Mon Sep 17 00:00:00 2001 From: Shude Li Date: Sat, 1 Mar 2025 21:11:51 +0800 Subject: [PATCH] ethclient: add BlobBaseFee method (#31290) --- ethclient/ethclient.go | 9 +++++++++ ethclient/ethclient_test.go | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/ethclient/ethclient.go b/ethclient/ethclient.go index c761d4f8d3..3d6a28eabf 100644 --- a/ethclient/ethclient.go +++ b/ethclient/ethclient.go @@ -598,6 +598,15 @@ func (ec *Client) SuggestGasTipCap(ctx context.Context) (*big.Int, error) { return (*big.Int)(&hex), nil } +// BlobBaseFee retrieves the current blob base fee. +func (ec *Client) BlobBaseFee(ctx context.Context) (*big.Int, error) { + var hex hexutil.Big + if err := ec.c.CallContext(ctx, &hex, "eth_blobBaseFee"); err != nil { + return nil, err + } + return (*big.Int)(&hex), nil +} + type feeHistoryResultMarshaling struct { OldestBlock *hexutil.Big `json:"oldestBlock"` Reward [][]*hexutil.Big `json:"reward,omitempty"` diff --git a/ethclient/ethclient_test.go b/ethclient/ethclient_test.go index 5fc7ed68f9..787cad3f96 100644 --- a/ethclient/ethclient_test.go +++ b/ethclient/ethclient_test.go @@ -404,6 +404,15 @@ func testStatusFunctions(t *testing.T, client *rpc.Client) { t.Fatalf("unexpected gas tip cap: %v", gasTipCap) } + // BlobBaseFee + blobBaseFee, err := ec.BlobBaseFee(context.Background()) + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if blobBaseFee.Cmp(big.NewInt(1)) != 0 { + t.Fatalf("unexpected blob base fee: %v", blobBaseFee) + } + // FeeHistory history, err := ec.FeeHistory(context.Background(), 1, big.NewInt(2), []float64{95, 99}) if err != nil {