forked from cerc-io/plugeth
eth, miner: add RPC method to modify miner gaslimit (pre london: ceiling) (#23134)
This commit is contained in:
parent
13bc9c0c6e
commit
d21a069619
@ -129,6 +129,12 @@ func (api *PrivateMinerAPI) SetGasPrice(gasPrice hexutil.Big) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
// SetGasLimit sets the gaslimit to target towards during mining.
|
||||
func (api *PrivateMinerAPI) SetGasLimit(gasLimit hexutil.Uint64) bool {
|
||||
api.e.Miner().SetGasCeil(uint64(gasLimit))
|
||||
return true
|
||||
}
|
||||
|
||||
// SetEtherbase sets the etherbase of the miner
|
||||
func (api *PrivateMinerAPI) SetEtherbase(etherbase common.Address) bool {
|
||||
api.e.SetEtherbase(etherbase)
|
||||
|
@ -641,6 +641,12 @@ web3._extend({
|
||||
params: 1,
|
||||
inputFormatter: [web3._extend.utils.fromDecimal]
|
||||
}),
|
||||
new web3._extend.Method({
|
||||
name: 'setGasLimit',
|
||||
call: 'miner_setGasLimit',
|
||||
params: 1,
|
||||
inputFormatter: [web3._extend.utils.fromDecimal]
|
||||
}),
|
||||
new web3._extend.Method({
|
||||
name: 'setRecommitInterval',
|
||||
call: 'miner_setRecommitInterval',
|
||||
|
@ -204,6 +204,12 @@ func (miner *Miner) SetEtherbase(addr common.Address) {
|
||||
miner.worker.setEtherbase(addr)
|
||||
}
|
||||
|
||||
// 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) {
|
||||
miner.worker.setGasCeil(ceil)
|
||||
}
|
||||
|
||||
// EnablePreseal turns on the preseal mining feature. It's enabled by default.
|
||||
// Note this function shouldn't be exposed to API, it's unnecessary for users
|
||||
// (miners) to actually know the underlying detail. It's only for outside project
|
||||
|
@ -244,6 +244,12 @@ func (w *worker) setEtherbase(addr common.Address) {
|
||||
w.coinbase = addr
|
||||
}
|
||||
|
||||
func (w *worker) setGasCeil(ceil uint64) {
|
||||
w.mu.Lock()
|
||||
defer w.mu.Unlock()
|
||||
w.config.GasCeil = ceil
|
||||
}
|
||||
|
||||
// setExtra sets the content used to initialize the block extra field.
|
||||
func (w *worker) setExtra(extra []byte) {
|
||||
w.mu.Lock()
|
||||
|
Loading…
Reference in New Issue
Block a user