diff --git a/builder/files/genesis-testnet-v4.json b/builder/files/genesis-testnet-v4.json
index afad138492..f3881b0166 100644
--- a/builder/files/genesis-testnet-v4.json
+++ b/builder/files/genesis-testnet-v4.json
@@ -14,6 +14,7 @@
"berlinBlock": 13996000,
"londonBlock": 22640000,
"shanghaiBlock": 41874000,
+ "cancunBlock": 45648608,
"bor": {
"jaipurBlock": 22770000,
"delhiBlock": 29638656,
diff --git a/cmd/bootnode/main.go b/cmd/bootnode/main.go
index 491a35fb6d..4f744e102b 100644
--- a/cmd/bootnode/main.go
+++ b/cmd/bootnode/main.go
@@ -15,7 +15,8 @@
// along with go-ethereum. If not, see .
// bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
-package main
+// Keep package as bootnode during upstram merge.
+package bootnode
import (
"crypto/ecdsa"
@@ -34,6 +35,7 @@ import (
"github.com/ethereum/go-ethereum/p2p/netutil"
)
+// nolint
func main() {
var (
listenAddr = flag.String("addr", ":30301", "listen address")
@@ -213,3 +215,12 @@ func doPortMapping(natm nat.Interface, ln *enode.LocalNode, addr *net.UDPAddr) *
return extaddr
}
+
+// Implemented separate functions so that there are minimal conflicts during upstream merge
+func PrintNotice(nodeKey *ecdsa.PublicKey, addr net.UDPAddr) {
+ printNotice(nodeKey, addr)
+}
+
+func DoPortMapping(natm nat.Interface, ln *enode.LocalNode, addr *net.UDPAddr) *net.UDPAddr {
+ return doPortMapping(natm, ln, addr)
+}
diff --git a/eth/bor_checkpoint_verifier.go b/eth/bor_checkpoint_verifier.go
index f8ac341e74..a0bdfeac8e 100644
--- a/eth/bor_checkpoint_verifier.go
+++ b/eth/bor_checkpoint_verifier.go
@@ -37,6 +37,8 @@ var (
rewindLengthMeter = metrics.NewRegisteredMeter("chain/autorewind/length", nil)
)
+const maxRewindLen uint64 = 126
+
type borVerifier struct {
verify func(ctx context.Context, eth *Ethereum, handler *ethHandler, start uint64, end uint64, hash string, isCheckpoint bool) (string, error)
}
@@ -117,8 +119,8 @@ func borVerify(ctx context.Context, eth *Ethereum, handler *ethHandler, start ui
}
}
- if head-rewindTo > 255 {
- rewindTo = head - 255
+ if head-rewindTo > maxRewindLen {
+ rewindTo = head - maxRewindLen
}
if isCheckpoint {
diff --git a/internal/cli/bootnode.go b/internal/cli/bootnode.go
index 756956daa9..979d69ec23 100644
--- a/internal/cli/bootnode.go
+++ b/internal/cli/bootnode.go
@@ -13,6 +13,7 @@ import (
"syscall"
"time"
+ "github.com/ethereum/go-ethereum/cmd/bootnode"
"github.com/ethereum/go-ethereum/cmd/utils"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/internal/cli/flagset"
@@ -213,33 +214,25 @@ func (b *BootnodeCommand) Run(args []string) int {
}
conn, err := net.ListenUDP("udp", addr)
-
if err != nil {
b.UI.Error(fmt.Sprintf("failed to listen udp addr '%s': %v", b.listenAddr, err))
return 1
}
-
- realaddr := conn.LocalAddr().(*net.UDPAddr)
- if natm != nil {
- if !realaddr.IP.IsLoopback() {
- go nat.Map(natm, nil, "udp", realaddr.Port, realaddr.Port, "ethereum discovery")
- }
-
- if ext, err := natm.ExternalIP(); err == nil {
- // nolint: govet
- realaddr = &net.UDPAddr{IP: ext, Port: realaddr.Port}
- }
- }
-
- n := enode.NewV4(&nodeKey.PublicKey, addr.IP, addr.Port, addr.Port)
- b.UI.Info(n.String())
-
- if b.dryRun {
- return 0
- }
+ defer conn.Close()
db, _ := enode.OpenDB("")
ln := enode.NewLocalNode(db, nodeKey)
+
+ listenerAddr := conn.LocalAddr().(*net.UDPAddr)
+ if natm != nil {
+ natAddr := bootnode.DoPortMapping(natm, ln, listenerAddr)
+ if natAddr != nil {
+ listenerAddr = natAddr
+ }
+ }
+
+ bootnode.PrintNotice(&nodeKey.PublicKey, *listenerAddr)
+
cfg := discover.Config{
PrivateKey: nodeKey,
Log: log.Root(),
diff --git a/internal/cli/server/chains/mumbai.go b/internal/cli/server/chains/mumbai.go
index 7fe25554c5..56fe8a1d47 100644
--- a/internal/cli/server/chains/mumbai.go
+++ b/internal/cli/server/chains/mumbai.go
@@ -28,6 +28,7 @@ var mumbaiTestnet = &Chain{
BerlinBlock: big.NewInt(13996000),
LondonBlock: big.NewInt(22640000),
ShanghaiBlock: big.NewInt(41874000),
+ CancunBlock: big.NewInt(45648608),
Bor: ¶ms.BorConfig{
JaipurBlock: big.NewInt(22770000),
DelhiBlock: big.NewInt(29638656),
diff --git a/internal/cli/server/chains/test_files/chain_legacy_test.json b/internal/cli/server/chains/test_files/chain_legacy_test.json
index c3e9b3c7bf..cc81db1608 100644
--- a/internal/cli/server/chains/test_files/chain_legacy_test.json
+++ b/internal/cli/server/chains/test_files/chain_legacy_test.json
@@ -15,6 +15,7 @@
"berlinBlock": 13996000,
"londonBlock": 13996000,
"shanghaiBlock": 41874000,
+ "cancunBlock": 45648608,
"bor": {
"period": {
"0": 2,
diff --git a/internal/cli/server/chains/test_files/chain_test.json b/internal/cli/server/chains/test_files/chain_test.json
index 8555833321..3f826d285f 100644
--- a/internal/cli/server/chains/test_files/chain_test.json
+++ b/internal/cli/server/chains/test_files/chain_test.json
@@ -17,6 +17,7 @@
"berlinBlock":13996000,
"londonBlock":13996000,
"shanghaiBlock": 41874000,
+ "cancunBlock": 45648608,
"bor":{
"period":{
"0":2,
diff --git a/miner/worker.go b/miner/worker.go
index af346ae21a..fab64cc6b7 100644
--- a/miner/worker.go
+++ b/miner/worker.go
@@ -925,7 +925,7 @@ func (w *worker) commitTransactions(env *environment, txs *transactionsByPriceAn
EnableMVHashMap := w.chainConfig.IsCancun(env.header.Number)
// create and add empty mvHashMap in statedb
- if EnableMVHashMap {
+ if EnableMVHashMap && w.IsRunning() {
deps = map[int]map[int]bool{}
chDeps = make(chan blockstm.TxDep)
@@ -961,7 +961,7 @@ func (w *worker) commitTransactions(env *environment, txs *transactionsByPriceAn
mainloop:
for {
if interruptCtx != nil {
- if EnableMVHashMap {
+ if EnableMVHashMap && w.IsRunning() {
env.state.AddEmptyMVHashMap()
}
@@ -1070,7 +1070,7 @@ mainloop:
coalescedLogs = append(coalescedLogs, logs...)
env.tcount++
- if EnableMVHashMap {
+ if EnableMVHashMap && w.IsRunning() {
env.depsMVFullWriteList = append(env.depsMVFullWriteList, env.state.MVFullWriteList())
env.mvReadMapList = append(env.mvReadMapList, env.state.MVReadMap())
@@ -1100,7 +1100,7 @@ mainloop:
txs.Pop()
}
- if EnableMVHashMap {
+ if EnableMVHashMap && w.IsRunning() {
env.state.ClearReadMap()
env.state.ClearWriteMap()
}
diff --git a/packaging/templates/package_scripts/control b/packaging/templates/package_scripts/control
index 94eeea3661..0dfbbab07f 100644
--- a/packaging/templates/package_scripts/control
+++ b/packaging/templates/package_scripts/control
@@ -1,5 +1,5 @@
Source: bor
-Version: 1.2.3
+Version: 1.2.5-beta
Section: develop
Priority: standard
Maintainer: Polygon
diff --git a/packaging/templates/package_scripts/control.arm64 b/packaging/templates/package_scripts/control.arm64
index 809d705aa6..e7114840d5 100644
--- a/packaging/templates/package_scripts/control.arm64
+++ b/packaging/templates/package_scripts/control.arm64
@@ -1,5 +1,5 @@
Source: bor
-Version: 1.2.3
+Version: 1.2.5-beta
Section: develop
Priority: standard
Maintainer: Polygon
diff --git a/packaging/templates/package_scripts/control.profile.amd64 b/packaging/templates/package_scripts/control.profile.amd64
index 22470ccd49..5264be314c 100644
--- a/packaging/templates/package_scripts/control.profile.amd64
+++ b/packaging/templates/package_scripts/control.profile.amd64
@@ -1,5 +1,5 @@
Source: bor-profile
-Version: 1.2.3
+Version: 1.2.5-beta
Section: develop
Priority: standard
Maintainer: Polygon
diff --git a/packaging/templates/package_scripts/control.profile.arm64 b/packaging/templates/package_scripts/control.profile.arm64
index 4a52b2e063..76f68f8708 100644
--- a/packaging/templates/package_scripts/control.profile.arm64
+++ b/packaging/templates/package_scripts/control.profile.arm64
@@ -1,5 +1,5 @@
Source: bor-profile
-Version: 1.2.3
+Version: 1.2.5-beta
Section: develop
Priority: standard
Maintainer: Polygon
diff --git a/packaging/templates/package_scripts/control.validator b/packaging/templates/package_scripts/control.validator
index 00b517c3b0..b1816d185f 100644
--- a/packaging/templates/package_scripts/control.validator
+++ b/packaging/templates/package_scripts/control.validator
@@ -1,5 +1,5 @@
Source: bor-profile
-Version: 1.2.3
+Version: 1.2.5-beta
Section: develop
Priority: standard
Maintainer: Polygon
diff --git a/packaging/templates/package_scripts/control.validator.arm64 b/packaging/templates/package_scripts/control.validator.arm64
index 725a4ec394..b8e1430029 100644
--- a/packaging/templates/package_scripts/control.validator.arm64
+++ b/packaging/templates/package_scripts/control.validator.arm64
@@ -1,5 +1,5 @@
Source: bor-profile
-Version: 1.2.3
+Version: 1.2.5-beta
Section: develop
Priority: standard
Maintainer: Polygon
diff --git a/params/config.go b/params/config.go
index faf1d360e5..d2a591beea 100644
--- a/params/config.go
+++ b/params/config.go
@@ -199,6 +199,7 @@ var (
BerlinBlock: big.NewInt(13996000),
LondonBlock: big.NewInt(22640000),
ShanghaiBlock: big.NewInt(41874000),
+ CancunBlock: big.NewInt(45648608),
Bor: &BorConfig{
JaipurBlock: big.NewInt(22770000),
DelhiBlock: big.NewInt(29638656),
diff --git a/params/version.go b/params/version.go
index b44ab8079c..c08eb9c4b6 100644
--- a/params/version.go
+++ b/params/version.go
@@ -21,10 +21,10 @@ import (
)
const (
- VersionMajor = 1 // Major version component of the current release
- VersionMinor = 2 // Minor version component of the current release
- VersionPatch = 3 // Patch version component of the current release
- VersionMeta = "" // Version metadata to append to the version string
+ VersionMajor = 1 // Major version component of the current release
+ VersionMinor = 2 // Minor version component of the current release
+ VersionPatch = 5 // Patch version component of the current release
+ VersionMeta = "beta" // Version metadata to append to the version string
)
var GitCommit string