diff --git a/miner/worker.go b/miner/worker.go index 942deae0f5f7..c6484c347edd 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -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. diff --git a/params/config.go b/params/config.go index 687d840002f4..3f7dfd204361 100644 --- a/params/config.go +++ b/params/config.go @@ -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 @@ -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, }} ) @@ -459,13 +463,18 @@ func (s ScrollConfig) ZktrieEnabled() bool { } func (s ScrollConfig) String() string { - if s.MaxTxPerBlock == nil { - return fmt.Sprintf("{useZktrie: %v, maxTxPerBlock: , feeVaultAddress: %v, enableEIP2718:%v, enableEIP1559:%v}", - s.UseZktrie, s.FeeVaultAddress, s.EnableEIP2718, s.EnableEIP1559) + maxTxPerBlock := "" + 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 := "" + 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. diff --git a/params/version.go b/params/version.go index a22915db1ed8..d6f427db06de 100644 --- a/params/version.go +++ b/params/version.go @@ -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 )