Skip to content

Commit

Permalink
Improve oversized block handling (#315)
Browse files Browse the repository at this point in the history
* improve oversized block handling

* bump version
  • Loading branch information
Thegaram committed May 8, 2023
1 parent c913b3e commit 27a3830
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 27 deletions.
3 changes: 2 additions & 1 deletion miner/worker.go
Expand Up @@ -837,7 +837,8 @@ func (w *worker) commitTransactions(txs *types.TransactionsByPriceAndNonce, coin
}
if !w.chainConfig.Scroll.IsValidBlockSize(w.current.blockSize + tx.Size()) {
log.Trace("Block size limit reached", "have", w.current.blockSize, "want", w.chainConfig.Scroll.MaxTxPayloadBytesPerBlock, "tx", tx.Size())
break
txs.Pop() // skip transactions from this account
continue
}
// Error may be ignored here. The error has already been checked
// during transaction acceptance is the transaction pool.
Expand Down
59 changes: 34 additions & 25 deletions params/config.go
Expand Up @@ -296,11 +296,12 @@ var (
// adding flags to the config to also have to set these fields.
AllEthashProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil,
ScrollConfig{
UseZktrie: false,
FeeVaultAddress: nil,
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
UseZktrie: false,
FeeVaultAddress: nil,
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
MaxTxPayloadBytesPerBlock: nil,
}}

// AllCliqueProtocolChanges contains every protocol change (EIPs) introduced
Expand All @@ -310,30 +311,33 @@ var (
// adding flags to the config to also have to set these fields.
AllCliqueProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, nil, nil, &CliqueConfig{Period: 0, Epoch: 30000},
ScrollConfig{
UseZktrie: false,
FeeVaultAddress: nil,
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
UseZktrie: false,
FeeVaultAddress: nil,
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
MaxTxPayloadBytesPerBlock: nil,
}}

TestChainConfig = &ChainConfig{big.NewInt(1), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil,
ScrollConfig{
UseZktrie: false,
FeeVaultAddress: &common.Address{123},
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
UseZktrie: false,
FeeVaultAddress: &common.Address{123},
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
MaxTxPayloadBytesPerBlock: nil,
}}
TestRules = TestChainConfig.Rules(new(big.Int))

TestNoL1feeChainConfig = &ChainConfig{big.NewInt(1), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil,
ScrollConfig{
UseZktrie: false,
FeeVaultAddress: nil,
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
UseZktrie: false,
FeeVaultAddress: nil,
EnableEIP2718: true,
EnableEIP1559: true,
MaxTxPerBlock: nil,
MaxTxPayloadBytesPerBlock: nil,
}}
)

Expand Down Expand Up @@ -459,13 +463,18 @@ func (s ScrollConfig) ZktrieEnabled() bool {
}

func (s ScrollConfig) String() string {
if s.MaxTxPerBlock == nil {
return fmt.Sprintf("{useZktrie: %v, maxTxPerBlock: <nil>, feeVaultAddress: %v, enableEIP2718:%v, enableEIP1559:%v}",
s.UseZktrie, s.FeeVaultAddress, s.EnableEIP2718, s.EnableEIP1559)
maxTxPerBlock := "<nil>"
if s.MaxTxPerBlock != nil {
maxTxPerBlock = fmt.Sprintf("%v", *s.MaxTxPerBlock)
}

return fmt.Sprintf("{useZktrie: %v, maxTxPerBlock: %v, feeVaultAddress: %v, enableEIP2718:%v, enableEIP1559:%v}",
s.UseZktrie, *s.MaxTxPerBlock, s.FeeVaultAddress, s.EnableEIP2718, s.EnableEIP1559)
maxTxPayloadBytesPerBlock := "<nil>"
if s.MaxTxPayloadBytesPerBlock != nil {
maxTxPayloadBytesPerBlock = fmt.Sprintf("%v", *s.MaxTxPayloadBytesPerBlock)
}

return fmt.Sprintf("{useZktrie: %v, maxTxPerBlock: %v, MaxTxPayloadBytesPerBlock: %v, feeVaultAddress: %v, enableEIP2718:%v, enableEIP1559:%v}",
s.UseZktrie, maxTxPerBlock, maxTxPayloadBytesPerBlock, s.FeeVaultAddress, s.EnableEIP2718, s.EnableEIP1559)
}

// IsValidTxCount returns whether the given block's transaction count is below the limit.
Expand Down
2 changes: 1 addition & 1 deletion params/version.go
Expand Up @@ -24,7 +24,7 @@ import (
const (
VersionMajor = 3 // Major version component of the current release
VersionMinor = 1 // Minor version component of the current release
VersionPatch = 11 // Patch version component of the current release
VersionPatch = 12 // Patch version component of the current release
VersionMeta = "alpha" // Version metadata to append to the version string
)

Expand Down

0 comments on commit 27a3830

Please sign in to comment.