Skip to content

Commit 6fe8b29

Browse files
committed
Merge branch 'refs/heads/v1.14.9' into v1.14.9
# Conflicts: # .github/workflows/go.yml # beacon/engine/types.go # cmd/utils/flags.go # core/state/statedb.go # core/state_processor.go # core/state_transition.go # core/types/transaction_signing.go # core/vm/evm.go # eth/backend.go # eth/catalyst/simulated_beacon.go # eth/ethconfig/gen_config.go # ethclient/ethclient_test.go # go.mod # go.sum # internal/ethapi/api.go # miner/worker.go
2 parents 6da7cc2 + c350d3a commit 6fe8b29

File tree

214 files changed

+6867
-2966
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+6867
-2966
lines changed

.gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ build/_vendor/pkg
2828
/build/bin/
2929
/geth*.zip
3030

31+
# used by the build/ci.go archive + upload tool
32+
/geth*.tar.gz
33+
/geth*.tar.gz.sig
34+
/geth*.tar.gz.asc
35+
/geth*.zip.sig
36+
/geth*.zip.asc
37+
38+
3139
# travis
3240
profile.tmp
3341
profile.cov

.golangci.yml

+4
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ issues:
6262
- path: crypto/bn256/
6363
linters:
6464
- revive
65+
- path: cmd/utils/flags.go
66+
text: "SA1019: cfg.TxLookupLimit is deprecated: use 'TransactionHistory' instead."
67+
- path: cmd/utils/flags.go
68+
text: "SA1019: ethconfig.Defaults.TxLookupLimit is deprecated: use 'TransactionHistory' instead."
6569
- path: internal/build/pgp.go
6670
text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.'
6771
- path: core/vm/contracts.go

.travis.yml

+18-17
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
if: type = push
1616
os: linux
1717
arch: amd64
18-
dist: noble
19-
go: 1.22.x
18+
dist: focal
19+
go: 1.23.x
2020
env:
2121
- docker
2222
services:
@@ -32,8 +32,8 @@ jobs:
3232
if: type = push
3333
os: linux
3434
arch: arm64
35-
dist: noble
36-
go: 1.22.x
35+
dist: focal
36+
go: 1.23.x
3737
env:
3838
- docker
3939
services:
@@ -49,9 +49,9 @@ jobs:
4949
- stage: build
5050
if: type = push
5151
os: linux
52-
dist: noble
52+
dist: focal
5353
sudo: required
54-
go: 1.22.x
54+
go: 1.23.x
5555
env:
5656
- azure-linux
5757
git:
@@ -63,6 +63,7 @@ jobs:
6363

6464
# build 386
6565
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib
66+
- git status --porcelain
6667
- go run build/ci.go install -dlgo -arch 386
6768
- go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds
6869

@@ -84,7 +85,7 @@ jobs:
8485
if: type = push
8586
os: osx
8687
osx_image: xcode14.2
87-
go: 1.22.x
88+
go: 1.23.x
8889
env:
8990
- azure-osx
9091
git:
@@ -100,25 +101,25 @@ jobs:
100101
if: type = push
101102
os: linux
102103
arch: amd64
103-
dist: noble
104-
go: 1.22.x
104+
dist: focal
105+
go: 1.23.x
105106
script:
106107
- travis_wait 45 go run build/ci.go test $TEST_PACKAGES
107108

108109
- stage: build
109110
if: type = push
110111
os: linux
111-
dist: noble
112-
go: 1.21.x
112+
dist: focal
113+
go: 1.22.x
113114
script:
114115
- travis_wait 45 go run build/ci.go test $TEST_PACKAGES
115116

116117
# This builder does the Ubuntu PPA nightly uploads
117118
- stage: build
118119
if: type = cron || (type = push && tag ~= /^v[0-9]/)
119120
os: linux
120-
dist: noble
121-
go: 1.22.x
121+
dist: focal
122+
go: 1.23.x
122123
env:
123124
- ubuntu-ppa
124125
git:
@@ -133,8 +134,8 @@ jobs:
133134
- stage: build
134135
if: type = cron
135136
os: linux
136-
dist: noble
137-
go: 1.22.x
137+
dist: focal
138+
go: 1.23.x
138139
env:
139140
- azure-purge
140141
git:
@@ -146,8 +147,8 @@ jobs:
146147
- stage: build
147148
if: type = cron
148149
os: linux
149-
dist: noble
150-
go: 1.22.x
150+
dist: focal
151+
go: 1.23.x
151152
env:
152153
- racetests
153154
script:

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ARG VERSION=""
44
ARG BUILDNUM=""
55

66
# Build Geth in a stock Go builder container
7-
FROM golang:1.22-alpine as builder
7+
FROM golang:1.23-alpine as builder
88

99
RUN apk add --no-cache gcc musl-dev linux-headers git
1010

Dockerfile.alltools

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ARG VERSION=""
44
ARG BUILDNUM=""
55

66
# Build Geth in a stock Go builder container
7-
FROM golang:1.22-alpine as builder
7+
FROM golang:1.23-alpine as builder
88

99
RUN apk add --no-cache gcc musl-dev linux-headers git
1010

README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ archives are published at https://geth.ethereum.org/downloads/.
1616

1717
For prerequisites and detailed build instructions please read the [Installation Instructions](https://geth.ethereum.org/docs/getting-started/installing-geth).
1818

19-
Building `geth` requires both a Go (version 1.21 or later) and a C compiler. You can install
19+
Building `geth` requires both a Go (version 1.22 or later) and a C compiler. You can install
2020
them using your favourite package manager. Once the dependencies are installed, run
2121

2222
```shell
@@ -89,7 +89,7 @@ This command will:
8989
This tool is optional and if you leave it out you can always attach it to an already running
9090
`geth` instance with `geth attach`.
9191

92-
### A Full node on the Görli test network
92+
### A Full node on the Holesky test network
9393

9494
Transitioning towards developers, if you'd like to play around with creating Ethereum
9595
contracts, you almost certainly would like to do that without any real money involved until
@@ -98,23 +98,23 @@ network, you want to join the **test** network with your node, which is fully eq
9898
the main network, but with play-Ether only.
9999

100100
```shell
101-
$ geth --goerli console
101+
$ geth --holesky console
102102
```
103103

104104
The `console` subcommand has the same meaning as above and is equally
105105
useful on the testnet too.
106106

107-
Specifying the `--goerli` flag, however, will reconfigure your `geth` instance a bit:
107+
Specifying the `--holesky` flag, however, will reconfigure your `geth` instance a bit:
108108

109-
* Instead of connecting to the main Ethereum network, the client will connect to the Görli
109+
* Instead of connecting to the main Ethereum network, the client will connect to the Holesky
110110
test network, which uses different P2P bootnodes, different network IDs and genesis
111111
states.
112112
* Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth`
113-
will nest itself one level deeper into a `goerli` subfolder (`~/.ethereum/goerli` on
113+
will nest itself one level deeper into a `holesky` subfolder (`~/.ethereum/holesky` on
114114
Linux). Note, on OSX and Linux this also means that attaching to a running testnet node
115115
requires the use of a custom endpoint since `geth attach` will try to attach to a
116116
production node endpoint by default, e.g.,
117-
`geth attach <datadir>/goerli/geth.ipc`. Windows users are not affected by
117+
`geth attach <datadir>/holesky/geth.ipc`. Windows users are not affected by
118118
this.
119119

120120
*Note: Although some internal protective measures prevent transactions from

accounts/abi/abi_test.go

+7
Original file line numberDiff line numberDiff line change
@@ -1218,3 +1218,10 @@ func TestUnpackRevert(t *testing.T) {
12181218
})
12191219
}
12201220
}
1221+
1222+
func TestInternalContractType(t *testing.T) {
1223+
jsonData := `[{"inputs":[{"components":[{"internalType":"uint256","name":"dailyLimit","type":"uint256"},{"internalType":"uint256","name":"txLimit","type":"uint256"},{"internalType":"uint256","name":"accountDailyLimit","type":"uint256"},{"internalType":"uint256","name":"minAmount","type":"uint256"},{"internalType":"bool","name":"onlyWhitelisted","type":"bool"}],"internalType":"struct IMessagePassingBridge.BridgeLimits","name":"bridgeLimits","type":"tuple"},{"components":[{"internalType":"uint256","name":"lastTransferReset","type":"uint256"},{"internalType":"uint256","name":"bridged24Hours","type":"uint256"}],"internalType":"struct IMessagePassingBridge.AccountLimit","name":"accountDailyLimit","type":"tuple"},{"components":[{"internalType":"uint256","name":"lastTransferReset","type":"uint256"},{"internalType":"uint256","name":"bridged24Hours","type":"uint256"}],"internalType":"struct IMessagePassingBridge.BridgeDailyLimit","name":"bridgeDailyLimit","type":"tuple"},{"internalType":"contract INameService","name":"nameService","type":"INameService"},{"internalType":"bool","name":"isClosed","type":"bool"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"canBridge","outputs":[{"internalType":"bool","name":"isWithinLimit","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"decimals","type":"uint8"}],"name":"normalizeFrom18ToTokenDecimals","outputs":[{"internalType":"uint256","name":"normalized","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint8","name":"decimals","type":"uint8"}],"name":"normalizeFromTokenTo18Decimals","outputs":[{"internalType":"uint256","name":"normalized","type":"uint256"}],"stateMutability":"pure","type":"function"}]`
1224+
if _, err := JSON(strings.NewReader(jsonData)); err != nil {
1225+
t.Fatal(err)
1226+
}
1227+
}

accounts/abi/bind/util_test.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,9 @@ func TestWaitDeployed(t *testing.T) {
8282
}()
8383

8484
// Send and mine the transaction.
85-
backend.Client().SendTransaction(ctx, tx)
85+
if err := backend.Client().SendTransaction(ctx, tx); err != nil {
86+
t.Errorf("test %q: failed to send transaction: %v", name, err)
87+
}
8688
backend.Commit()
8789

8890
select {
@@ -116,7 +118,9 @@ func TestWaitDeployedCornerCases(t *testing.T) {
116118
tx, _ = types.SignTx(tx, types.LatestSigner(params.AllDevChainProtocolChanges), testKey)
117119
ctx, cancel := context.WithCancel(context.Background())
118120
defer cancel()
119-
backend.Client().SendTransaction(ctx, tx)
121+
if err := backend.Client().SendTransaction(ctx, tx); err != nil {
122+
t.Errorf("failed to send transaction: %q", err)
123+
}
120124
backend.Commit()
121125
notContractCreation := errors.New("tx is not contract creation")
122126
if _, err := bind.WaitDeployed(ctx, backend.Client(), tx); err.Error() != notContractCreation.Error() {
@@ -134,6 +138,8 @@ func TestWaitDeployedCornerCases(t *testing.T) {
134138
}
135139
}()
136140

137-
backend.Client().SendTransaction(ctx, tx)
141+
if err := backend.Client().SendTransaction(ctx, tx); err != nil {
142+
t.Errorf("failed to send transaction: %q", err)
143+
}
138144
cancel()
139145
}

accounts/abi/type.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,12 @@ func NewType(t string, internalType string, components []ArgumentMarshaling) (ty
219219
typ.T = FunctionTy
220220
typ.Size = 24
221221
default:
222-
return Type{}, fmt.Errorf("unsupported arg type: %s", t)
222+
if strings.HasPrefix(internalType, "contract ") {
223+
typ.Size = 20
224+
typ.T = AddressTy
225+
} else {
226+
return Type{}, fmt.Errorf("unsupported arg type: %s", t)
227+
}
223228
}
224229

225230
return

beacon/blsync/block_sync_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,10 @@ func TestBlockSync(t *testing.T) {
7070
t.Helper()
7171
var expNumber, headNumber uint64
7272
if expHead != nil {
73-
p, _ := expHead.ExecutionPayload()
73+
p, err := expHead.ExecutionPayload()
74+
if err != nil {
75+
t.Fatalf("expHead.ExecutionPayload() failed: %v", err)
76+
}
7477
expNumber = p.NumberU64()
7578
}
7679
select {

beacon/blsync/config.go

+1-16
Original file line numberDiff line numberDiff line change
@@ -56,32 +56,17 @@ var (
5656
AddFork("DENEB", 132608, []byte{144, 0, 0, 115}),
5757
Checkpoint: common.HexToHash("0x1005a6d9175e96bfbce4d35b80f468e9bff0b674e1e861d16e09e10005a58e81"),
5858
}
59-
60-
GoerliConfig = lightClientConfig{
61-
ChainConfig: (&types.ChainConfig{
62-
GenesisValidatorsRoot: common.HexToHash("0x043db0d9a83813551ee2f33450d23797757d430911a9320530ad8a0eabc43efb"),
63-
GenesisTime: 1614588812,
64-
}).
65-
AddFork("GENESIS", 0, []byte{0, 0, 16, 32}).
66-
AddFork("ALTAIR", 36660, []byte{1, 0, 16, 32}).
67-
AddFork("BELLATRIX", 112260, []byte{2, 0, 16, 32}).
68-
AddFork("CAPELLA", 162304, []byte{3, 0, 16, 32}).
69-
AddFork("DENEB", 231680, []byte{4, 0, 16, 32}),
70-
Checkpoint: common.HexToHash("0x53a0f4f0a378e2c4ae0a9ee97407eb69d0d737d8d8cd0a5fb1093f42f7b81c49"),
71-
}
7259
)
7360

7461
func makeChainConfig(ctx *cli.Context) lightClientConfig {
7562
var config lightClientConfig
7663
customConfig := ctx.IsSet(utils.BeaconConfigFlag.Name)
77-
utils.CheckExclusive(ctx, utils.MainnetFlag, utils.GoerliFlag, utils.SepoliaFlag, utils.BeaconConfigFlag)
64+
utils.CheckExclusive(ctx, utils.MainnetFlag, utils.SepoliaFlag, utils.BeaconConfigFlag)
7865
switch {
7966
case ctx.Bool(utils.MainnetFlag.Name):
8067
config = MainnetConfig
8168
case ctx.Bool(utils.SepoliaFlag.Name):
8269
config = SepoliaConfig
83-
case ctx.Bool(utils.GoerliFlag.Name):
84-
config = GoerliConfig
8570
default:
8671
if !customConfig {
8772
config = MainnetConfig

0 commit comments

Comments
 (0)