From 4f248a8a8acdce71f5723e64bde40405140077d8 Mon Sep 17 00:00:00 2001 From: Marius van der Wijden Date: Wed, 6 Mar 2024 11:54:13 +0100 Subject: [PATCH] eth: get rid of miner.setEtherbase --- cmd/geth/main.go | 1 + cmd/utils/flags.go | 16 ++++++++++++---- eth/api_miner.go | 12 ------------ eth/backend.go | 9 --------- eth/catalyst/api_test.go | 5 +++-- internal/web3ext/web3ext.go | 6 ------ miner/miner.go | 15 --------------- 7 files changed, 16 insertions(+), 48 deletions(-) diff --git a/cmd/geth/main.go b/cmd/geth/main.go index 5116a0bd7d..f27a20f4cf 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -121,6 +121,7 @@ var ( utils.MinerEtherbaseFlag, // deprecated utils.MinerExtraDataFlag, utils.MinerRecommitIntervalFlag, + utils.MinerPendingBlockProducerFlag, utils.MinerNewPayloadTimeoutFlag, // deprecated utils.NATFlag, utils.NoDiscoverFlag, diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index a0c92c6de6..12f03ef530 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -448,6 +448,11 @@ var ( Value: ethconfig.Defaults.Miner.Recommit, Category: flags.MinerCategory, } + MinerPendingBlockProducerFlag = &cli.StringFlag{ + Name: "miner.pendingBlockProducer", + Usage: "0x prefixed public address for the pending block producer (not used for actual block production)", + Category: flags.MinerCategory, + } // Account settings UnlockedAccountFlag = &cli.StringFlag{ @@ -1252,17 +1257,20 @@ func MakeAddress(ks *keystore.KeyStore, account string) (accounts.Account, error // setEtherbase retrieves the etherbase from the directly specified command line flags. func setEtherbase(ctx *cli.Context, cfg *ethconfig.Config) { - if !ctx.IsSet(MinerEtherbaseFlag.Name) { + if ctx.IsSet(MinerEtherbaseFlag.Name) { + log.Warn("Option --miner.etherbase is deprecated as the etherbase is set by the consensus client post-merge") return } - log.Warn("Option --miner.etherbase is deprecated as the etherbase is set by the consensus client post-merge") - addr := ctx.String(MinerEtherbaseFlag.Name) + if !ctx.IsSet(MinerPendingBlockProducerFlag.Name) { + return + } + addr := ctx.String(MinerPendingBlockProducerFlag.Name) if strings.HasPrefix(addr, "0x") || strings.HasPrefix(addr, "0X") { addr = addr[2:] } b, err := hex.DecodeString(addr) if err != nil || len(b) != common.AddressLength { - Fatalf("-%s: invalid etherbase address %q", MinerEtherbaseFlag.Name, addr) + Fatalf("-%s: invalid pending block producer address %q", MinerPendingBlockProducerFlag.Name, addr) return } cfg.Miner.Etherbase = common.BytesToAddress(b) diff --git a/eth/api_miner.go b/eth/api_miner.go index c7f98eaf2a..8c96f4c54a 100644 --- a/eth/api_miner.go +++ b/eth/api_miner.go @@ -19,7 +19,6 @@ package eth import ( "math/big" - "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common/hexutil" ) @@ -57,14 +56,3 @@ func (api *MinerAPI) SetGasLimit(gasLimit hexutil.Uint64) bool { api.e.Miner().SetGasCeil(uint64(gasLimit)) return true } - -// SetEtherbase sets the etherbase of the miner. -func (api *MinerAPI) SetEtherbase(etherbase common.Address) bool { - api.e.SetEtherbase(etherbase) - return true -} - -// Etherbase is the address that mining rewards will be sent to. -func (api *MinerAPI) Etherbase() common.Address { - return api.e.Miner().Etherbase() -} diff --git a/eth/backend.go b/eth/backend.go index 05a70f9f32..57e25848d3 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -402,15 +402,6 @@ func (s *Ethereum) shouldPreserve(header *types.Header) bool { return s.isLocalBlock(header) } -// SetEtherbase sets the mining reward address. -func (s *Ethereum) SetEtherbase(etherbase common.Address) { - s.lock.Lock() - s.etherbase = etherbase - s.lock.Unlock() - - s.miner.SetEtherbase(etherbase) -} - func (s *Ethereum) Miner() *miner.Miner { return s.miner } func (s *Ethereum) AccountManager() *accounts.Manager { return s.accountManager } diff --git a/eth/catalyst/api_test.go b/eth/catalyst/api_test.go index cc1258ca55..94a780b504 100644 --- a/eth/catalyst/api_test.go +++ b/eth/catalyst/api_test.go @@ -447,7 +447,9 @@ func startEthService(t *testing.T, genesis *core.Genesis, blocks []*types.Block) t.Fatal("can't create node:", err) } - ethcfg := ðconfig.Config{Genesis: genesis, SyncMode: downloader.FullSync, TrieTimeout: time.Minute, TrieDirtyCache: 256, TrieCleanCache: 256} + mcfg := miner.DefaultConfig + mcfg.Etherbase = testAddr + ethcfg := ðconfig.Config{Genesis: genesis, SyncMode: downloader.FullSync, TrieTimeout: time.Minute, TrieDirtyCache: 256, TrieCleanCache: 256, Miner: mcfg} ethservice, err := eth.New(n, ethcfg) if err != nil { t.Fatal("can't create eth service:", err) @@ -460,7 +462,6 @@ func startEthService(t *testing.T, genesis *core.Genesis, blocks []*types.Block) t.Fatal("can't import test blocks:", err) } - ethservice.SetEtherbase(testAddr) ethservice.SetSynced() return n, ethservice } diff --git a/internal/web3ext/web3ext.go b/internal/web3ext/web3ext.go index 51251a4238..1da7d737dd 100644 --- a/internal/web3ext/web3ext.go +++ b/internal/web3ext/web3ext.go @@ -649,12 +649,6 @@ const MinerJs = ` web3._extend({ property: 'miner', methods: [ - new web3._extend.Method({ - name: 'setEtherbase', - call: 'miner_setEtherbase', - params: 1, - inputFormatter: [web3._extend.formatters.inputAddressFormatter] - }), new web3._extend.Method({ name: 'setExtra', call: 'miner_setExtra', diff --git a/miner/miner.go b/miner/miner.go index 346fbc254f..4d47770e96 100644 --- a/miner/miner.go +++ b/miner/miner.go @@ -107,21 +107,6 @@ func (miner *Miner) SetExtra(extra []byte) error { return nil } -// Etherbase returns the address of fee recipient. -func (miner *Miner) Etherbase() common.Address { - miner.confMu.RLock() - addr := miner.config.Etherbase - miner.confMu.RUnlock() - return addr -} - -// SetEtherbase sets the address of fee recipient. -func (miner *Miner) SetEtherbase(addr common.Address) { - miner.confMu.Lock() - miner.config.Etherbase = addr - miner.confMu.Unlock() -} - // SetGasCeil sets the gaslimit to strive for when mining blocks post 1559. // For pre-1559 blocks, it sets the ceiling. func (miner *Miner) SetGasCeil(ceil uint64) {