mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
core: chain maker set blobGas fields
Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
parent
7dea9c10cd
commit
b74e763a19
1 changed files with 19 additions and 0 deletions
|
|
@ -24,6 +24,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/consensus"
|
"github.com/ethereum/go-ethereum/consensus"
|
||||||
"github.com/ethereum/go-ethereum/consensus/misc"
|
"github.com/ethereum/go-ethereum/consensus/misc"
|
||||||
"github.com/ethereum/go-ethereum/consensus/misc/eip1559"
|
"github.com/ethereum/go-ethereum/consensus/misc/eip1559"
|
||||||
|
"github.com/ethereum/go-ethereum/consensus/misc/eip4844"
|
||||||
"github.com/ethereum/go-ethereum/core/rawdb"
|
"github.com/ethereum/go-ethereum/core/rawdb"
|
||||||
"github.com/ethereum/go-ethereum/core/state"
|
"github.com/ethereum/go-ethereum/core/state"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
|
|
@ -87,6 +88,11 @@ func (b *BlockGen) SetPoS() {
|
||||||
b.header.Difficulty = new(big.Int)
|
b.header.Difficulty = new(big.Int)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetBlobGas sets the data gas used by the blob in the generated block.
|
||||||
|
func (b *BlockGen) SetBlobGas(blobGasUsed uint64) {
|
||||||
|
b.header.BlobGasUsed = &blobGasUsed
|
||||||
|
}
|
||||||
|
|
||||||
// addTx adds a transaction to the generated block. If no coinbase has
|
// addTx adds a transaction to the generated block. If no coinbase has
|
||||||
// been set, the block's coinbase is set to the zero address.
|
// been set, the block's coinbase is set to the zero address.
|
||||||
//
|
//
|
||||||
|
|
@ -393,6 +399,19 @@ func makeHeader(chain consensus.ChainReader, parent *types.Block, state *state.S
|
||||||
header.GasLimit = CalcGasLimit(parentGasLimit, parentGasLimit)
|
header.GasLimit = CalcGasLimit(parentGasLimit, parentGasLimit)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if chain.Config().IsCancun(header.Number, header.Time) {
|
||||||
|
var (
|
||||||
|
parentExcessBlobGas uint64
|
||||||
|
parentBlobGasUsed uint64
|
||||||
|
)
|
||||||
|
if parent.ExcessBlobGas() != nil {
|
||||||
|
parentExcessBlobGas = *parent.ExcessBlobGas()
|
||||||
|
parentBlobGasUsed = *parent.BlobGasUsed()
|
||||||
|
}
|
||||||
|
excessBlobGas := eip4844.CalcExcessBlobGas(parentExcessBlobGas, parentBlobGasUsed)
|
||||||
|
header.ExcessBlobGas = &excessBlobGas
|
||||||
|
header.BlobGasUsed = new(uint64)
|
||||||
|
}
|
||||||
return header
|
return header
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue