Skip to content

Commit 7f0851d

Browse files
authored
Merge pull request bnb-chain#2787 from bnb-chain/develop
merge: develop to master for v1.5.0-alpha
2 parents 2df94c3 + e874fb1 commit 7f0851d

File tree

826 files changed

+37213
-34131
lines changed

Some content is hidden

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

826 files changed

+37213
-34131
lines changed

.github/CODEOWNERS

+7-4
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,22 @@
33
accounts/usbwallet @karalabe
44
accounts/scwallet @gballet
55
accounts/abi @gballet @MariusVanDerWijden
6+
beacon/engine @lightclient
67
cmd/clef @holiman
8+
cmd/evm @holiman @MariusVanDerWijden @lightclient
79
consensus @karalabe
810
core/ @karalabe @holiman @rjl493456442
911
eth/ @karalabe @holiman @rjl493456442
10-
eth/catalyst/ @gballet
12+
eth/catalyst/ @gballet @lightclient
1113
eth/tracers/ @s1na
14+
core/tracing/ @s1na
1215
graphql/ @s1na
16+
internal/ethapi @lightclient
17+
internal/era @lightclient
1318
les/ @zsfelfoldi @rjl493456442
1419
light/ @zsfelfoldi @rjl493456442
1520
node/ @fjl
1621
p2p/ @fjl @zsfelfoldi
22+
params/ @fjl @holiman @karalabe @gballet @rjl493456442 @zsfelfoldi
1723
rpc/ @fjl @holiman
18-
p2p/simulations @fjl
19-
p2p/protocols @fjl
20-
p2p/testing @fjl
2124
signer/ @holiman

.github/workflows/build-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
unit-test:
1616
strategy:
1717
matrix:
18-
go-version: [1.21.x]
18+
go-version: [1.23.x]
1919
os: [ubuntu-latest]
2020
runs-on: ${{ matrix.os }}
2121
steps:

.github/workflows/evm-tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
evm-test:
1616
strategy:
1717
matrix:
18-
go-version: [1.21.x]
18+
go-version: [1.23.x]
1919
os: [ubuntu-latest]
2020
runs-on: ${{ matrix.os }}
2121
steps:

.github/workflows/nancy.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
build:
1414
strategy:
1515
matrix:
16-
go-version: [1.21.x]
16+
go-version: [1.23.x]
1717
os: [ubuntu-latest]
1818
runs-on: ${{ matrix.os }}
1919
steps:

.github/workflows/pre-release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
name: Build Release
1616
strategy:
1717
matrix:
18-
go-version: [1.21.x]
18+
go-version: [1.23.x]
1919
os: [ubuntu-latest, macos-latest, windows-latest]
2020
runs-on: ${{ matrix.os }}
2121
steps:

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
name: Build Release
1515
strategy:
1616
matrix:
17-
go-version: [1.21.x]
17+
go-version: [1.23.x]
1818
os: [ubuntu-latest, macos-latest, windows-latest]
1919
runs-on: ${{ matrix.os }}
2020
steps:

.github/workflows/unit-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
unit-test:
1616
strategy:
1717
matrix:
18-
go-version: [1.21.x]
18+
go-version: [1.23.x]
1919
os: [ubuntu-latest]
2020
runs-on: ${{ matrix.os }}
2121
steps:

.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

+21-6
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ run:
66
# default is true. Enables skipping of directories:
77
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
88
skip-dirs-use-default: true
9-
skip-files:
10-
- core/genesis_alloc.go
119

1210
output:
1311
format: colored-line-number
@@ -28,7 +26,10 @@ linters:
2826
- durationcheck
2927
- exportloopref
3028
- whitespace
29+
- revive # only certain checks enabled
3130

31+
### linters we tried and will not be using:
32+
###
3233
# - structcheck # lots of false positives
3334
# - errcheck #lot of false positives
3435
# - contextcheck
@@ -41,23 +42,37 @@ linters:
4142
linters-settings:
4243
gofmt:
4344
simplify: true
45+
revive:
46+
enable-all-rules: false
47+
# here we enable specific useful rules
48+
# see https://golangci-lint.run/usage/linters/#revive for supported rules
49+
rules:
50+
- name: receiver-naming
51+
severity: warning
52+
disabled: false
53+
exclude: [""]
4454

4555
issues:
56+
exclude-files:
57+
- core/genesis_alloc.go
4658
exclude-rules:
4759
- path: core/state/metrics.go
4860
linters:
4961
- unused
5062
- path: core/txpool/legacypool/list.go
5163
linters:
5264
- staticcheck
65+
- path: crypto/bn256/
66+
linters:
67+
- revive
68+
- path: cmd/utils/flags.go
69+
text: "SA1019: cfg.TxLookupLimit is deprecated: use 'TransactionHistory' instead."
70+
- path: cmd/utils/flags.go
71+
text: "SA1019: ethconfig.Defaults.TxLookupLimit is deprecated: use 'TransactionHistory' instead."
5372
- path: internal/build/pgp.go
5473
text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.'
5574
- path: core/vm/contracts.go
5675
text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.'
57-
- path: accounts/usbwallet/trezor.go
58-
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
59-
- path: accounts/usbwallet/trezor/
60-
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
6176
exclude:
6277
- 'SA1019: event.TypeMux is deprecated: use Feed'
6378
- 'SA1019: strings.Title is deprecated'

.mailmap

-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ Diederik Loerakker <proto@protolambda.com>
5656
Dimitry Khokhlov <winsvega@mail.ru>
5757

5858
Domino Valdano <dominoplural@gmail.com>
59-
Domino Valdano <dominoplural@gmail.com> <jeff@okcupid.com>
6059

6160
Edgar Aroutiounian <edgar.factorial@gmail.com>
6261

.travis.yml

+32-62
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@ jobs:
99
- azure-osx
1010

1111
include:
12-
# These builders create the Docker sub-images for multi-arch push and each
13-
# will attempt to push the multi-arch image if they are the last builder
12+
# This builder create and push the Docker images for all architectures
1413
- stage: build
1514
if: type = push
1615
os: linux
1716
arch: amd64
18-
dist: bionic
19-
go: 1.21.x
17+
dist: focal
18+
go: 1.23.x
2019
env:
2120
- docker
2221
services:
@@ -26,44 +25,27 @@ jobs:
2625
before_install:
2726
- export DOCKER_CLI_EXPERIMENTAL=enabled
2827
script:
29-
- go run build/ci.go docker -image -manifest amd64,arm64 -upload ethereum/client-go
30-
31-
- stage: build
32-
if: type = push
33-
os: linux
34-
arch: arm64
35-
dist: bionic
36-
go: 1.21.x
37-
env:
38-
- docker
39-
services:
40-
- docker
41-
git:
42-
submodules: false # avoid cloning ethereum/tests
43-
before_install:
44-
- export DOCKER_CLI_EXPERIMENTAL=enabled
45-
script:
46-
- go run build/ci.go docker -image -manifest amd64,arm64 -upload ethereum/client-go
28+
- go run build/ci.go dockerx -platform "linux/amd64,linux/arm64" -upload ethereum/client-go
4729

4830
# This builder does the Linux Azure uploads
4931
- stage: build
5032
if: type = push
5133
os: linux
52-
dist: bionic
34+
dist: focal
5335
sudo: required
54-
go: 1.21.x
36+
go: 1.23.x
5537
env:
5638
- azure-linux
5739
git:
5840
submodules: false # avoid cloning ethereum/tests
59-
addons:
60-
apt:
61-
packages:
62-
- gcc-multilib
6341
script:
64-
# Build for the primary platforms that Trusty can manage
42+
# build amd64
6543
- go run build/ci.go install -dlgo
6644
- go run build/ci.go archive -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds
45+
46+
# build 386
47+
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib
48+
- git status --porcelain
6749
- go run build/ci.go install -dlgo -arch 386
6850
- go run build/ci.go archive -arch 386 -type tar -signer LINUX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds
6951

@@ -85,61 +67,48 @@ jobs:
8567
if: type = push
8668
os: osx
8769
osx_image: xcode14.2
88-
go: 1.21.x
70+
go: 1.23.1 # See https://github.com/ethereum/go-ethereum/pull/30478
8971
env:
9072
- azure-osx
9173
git:
9274
submodules: false # avoid cloning ethereum/tests
9375
script:
76+
- ln -sf /Users/travis/gopath/bin/go1.23.1 /usr/local/bin/go # Work around travis go-setup bug
9477
- go run build/ci.go install -dlgo
9578
- go run build/ci.go archive -type tar -signer OSX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds
9679
- go run build/ci.go install -dlgo -arch arm64
9780
- go run build/ci.go archive -arch arm64 -type tar -signer OSX_SIGNING_KEY -signify SIGNIFY_KEY -upload gethstore/builds
9881

9982
# These builders run the tests
10083
- stage: build
84+
if: type = push
10185
os: linux
10286
arch: amd64
103-
dist: bionic
104-
go: 1.21.x
87+
dist: focal
88+
go: 1.23.x
10589
script:
106-
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES
107-
108-
- stage: build
109-
if: type = pull_request
110-
os: linux
111-
arch: arm64
112-
dist: bionic
113-
go: 1.20.x
114-
script:
115-
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES
90+
- travis_wait 45 go run build/ci.go test $TEST_PACKAGES
11691

11792
- stage: build
93+
if: type = push
11894
os: linux
119-
dist: bionic
120-
go: 1.20.x
95+
dist: focal
96+
go: 1.22.x
12197
script:
122-
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES
98+
- travis_wait 45 go run build/ci.go test $TEST_PACKAGES
12399

124100
# This builder does the Ubuntu PPA nightly uploads
125101
- stage: build
126102
if: type = cron || (type = push && tag ~= /^v[0-9]/)
127103
os: linux
128-
dist: bionic
129-
go: 1.21.x
104+
dist: focal
105+
go: 1.23.x
130106
env:
131107
- ubuntu-ppa
132108
git:
133109
submodules: false # avoid cloning ethereum/tests
134-
addons:
135-
apt:
136-
packages:
137-
- devscripts
138-
- debhelper
139-
- dput
140-
- fakeroot
141-
- python-bzrlib
142-
- python-paramiko
110+
before_install:
111+
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends install devscripts debhelper dput fakeroot
143112
script:
144113
- echo '|1|7SiYPr9xl3uctzovOTj4gMwAC1M=|t6ReES75Bo/PxlOPJ6/GsGbTrM0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==' >> ~/.ssh/known_hosts
145114
- go run build/ci.go debsrc -upload ethereum/ethereum -sftp-user geth-ci -signer "Go Ethereum Linux Builder <geth-ci@ethereum.org>"
@@ -148,8 +117,8 @@ jobs:
148117
- stage: build
149118
if: type = cron
150119
os: linux
151-
dist: bionic
152-
go: 1.21.x
120+
dist: focal
121+
go: 1.23.x
153122
env:
154123
- azure-purge
155124
git:
@@ -161,8 +130,9 @@ jobs:
161130
- stage: build
162131
if: type = cron
163132
os: linux
164-
dist: bionic
165-
go: 1.21.x
133+
dist: focal
134+
go: 1.23.x
135+
env:
136+
- racetests
166137
script:
167-
- travis_wait 30 go run build/ci.go test -race $TEST_PACKAGES
168-
138+
- travis_wait 60 go run build/ci.go test -race $TEST_PACKAGES

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.21-alpine as builder
7+
FROM golang:1.23-alpine AS builder
88

99
RUN apk add --no-cache make cmake gcc musl-dev linux-headers git bash build-base libc-dev
1010
# Get dependencies - will also be cached if we won't change go.mod/go.sum

Dockerfile.alltools

+8-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.21-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
# Get dependencies - will also be cached if we won't change go.mod/go.sum
@@ -16,6 +16,13 @@ ADD . /go-ethereum
1616
# For blst
1717
ENV CGO_CFLAGS="-O -D__BLST_PORTABLE__"
1818
ENV CGO_CFLAGS_ALLOW="-O -D__BLST_PORTABLE__"
19+
20+
# This is not strictly necessary, but it matches the "Dockerfile" steps, thus
21+
# makes it so that under certain circumstances, the docker layer can be cached,
22+
# and the builder can jump to the next (build all) command, with the go cache fully loaded.
23+
#
24+
RUN cd /go-ethereum && go run build/ci.go install -static ./cmd/geth
25+
1926
RUN cd /go-ethereum && go run build/ci.go install -static
2027

2128
# Pull all binaries into a second stage deploy alpine container

0 commit comments

Comments
 (0)