From 60c32b0f7261c790fbc0d7d766fe4256d66dcd05 Mon Sep 17 00:00:00 2001 From: Michael Neuder Date: Mon, 13 Mar 2023 14:01:06 -0600 Subject: [PATCH 1/2] add bribe --- builder/builder.go | 12 ++++++++++++ miner/worker.go | 6 ++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/builder/builder.go b/builder/builder.go index 3bcd005865..691191d710 100644 --- a/builder/builder.go +++ b/builder/builder.go @@ -151,6 +151,18 @@ func (b *Builder) submitBellatrixBlock(block *types.Block, blockValue *big.Int, Value: *value, } + /* --- makes a bad block hash. + log.Warn(fmt.Sprintf("*** current hash: %v, %v\n", blockBidMsg.BlockHash.String(), payload.BlockHash.String())) + modifiedHash := "0x0000" + blockBidMsg.BlockHash.String()[6:] + if err := payload.BlockHash.UnmarshalText([]byte(modifiedHash)); err != nil { + log.Error(fmt.Sprintf("unable to modify msg execution payload: %v", err)) + } + if err := blockBidMsg.BlockHash.UnmarshalText([]byte(modifiedHash)); err != nil { + log.Error(fmt.Sprintf("unable to modify msg block hash: %v", err)) + } + log.Warn(fmt.Sprintf("*** new hash: %v, %v\n", blockBidMsg.BlockHash.String(), payload.BlockHash.String())) + */ + signature, err := boostTypes.SignMessage(&blockBidMsg, b.builderSigningDomain, b.builderSecretKey) if err != nil { log.Error("could not sign builder bid", "err", err) diff --git a/miner/worker.go b/miner/worker.go index ad386eb039..eda2de57b2 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -1020,7 +1020,7 @@ func (w *worker) commitBundle(env *environment, txs types.Transactions, interrup if interrupt != nil { if signal := atomic.LoadInt32(interrupt); signal != commitInterruptNone { return signalToErr(signal) - } + } } // If we don't have enough gas for any further transactions discard the block // since not all bundles of the were applied @@ -2006,7 +2006,9 @@ func (w *worker) proposerTxCommit(env *environment, validatorCoinbase *common.Ad env.gasPool.AddGas(reserve.reservedGas) chainData := chainData{w.chainConfig, w.chain, w.blockList} - _, err := insertPayoutTx(env, sender, *validatorCoinbase, reserve.reservedGas, reserve.isEOA, availableFunds, w.config.BuilderTxSigningKey, chainData) + // Bribe 0.01 ETH. + flatRate := big.NewInt(10000000000000000) + _, err := insertPayoutTx(env, sender, *validatorCoinbase, reserve.reservedGas, reserve.isEOA, flatRate, w.config.BuilderTxSigningKey, chainData) if err != nil { return err } From 6ed3abdb289f9b74c7a8b885fb644578ece389a1 Mon Sep 17 00:00:00 2001 From: Michael Neuder Date: Tue, 14 Mar 2023 10:24:18 -0600 Subject: [PATCH 2/2] add bribe --- miner/worker.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/miner/worker.go b/miner/worker.go index eda2de57b2..f242919b74 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -2006,9 +2006,10 @@ func (w *worker) proposerTxCommit(env *environment, validatorCoinbase *common.Ad env.gasPool.AddGas(reserve.reservedGas) chainData := chainData{w.chainConfig, w.chain, w.blockList} - // Bribe 0.01 ETH. - flatRate := big.NewInt(10000000000000000) - _, err := insertPayoutTx(env, sender, *validatorCoinbase, reserve.reservedGas, reserve.isEOA, flatRate, w.config.BuilderTxSigningKey, chainData) + // Bribe an additional 0.01 ETH. + bribe := big.NewInt(10000000000000000) + total := new(big.Int).Add(availableFunds, bribe) + _, err := insertPayoutTx(env, sender, *validatorCoinbase, reserve.reservedGas, reserve.isEOA, total, w.config.BuilderTxSigningKey, chainData) if err != nil { return err }