Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upstream: merge geth v1.14.12 #2791

Merged
merged 103 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
75d1d8a
params: begin v1.14.12 release cycle
holiman Oct 1, 2024
ee4daa1
core/rawdb: freezer index repair (#29792)
rjl493456442 Oct 1, 2024
153e570
internal/web3ext: rm unused modules (#30532)
s1na Oct 1, 2024
f9bed32
core/vm, cmd/evm: implement eof validation (#30418)
holiman Oct 2, 2024
3108c37
beacon/light: optimize lock usage in `HeadTracker` (#30485)
zhiqiangxu Oct 2, 2024
912b3b4
build: upgrade -dlgo version to Go 1.23.2 (#30544)
sandakersmann Oct 4, 2024
677bc2a
log: remove unused parameter (#30432)
asamuj Oct 8, 2024
c93656f
all: implement flat deposit requests encoding (#30425)
fjl Oct 9, 2024
8f3ae2a
eth/tracers: do system contract processing prior to parallel-tracing …
easyfold Oct 9, 2024
0205fb9
eth/catalyst, core/txpool/blobpool: make tests output less logs (#30563)
holiman Oct 10, 2024
f1ec974
eth/protocols/eth: remove Requests in block body (#30562)
islishude Oct 10, 2024
e6c1fb3
core/tracing: add GetTransientState method to StateDB interface (#30531)
kchojn Oct 10, 2024
bee38eb
all: implement EIP-7002 & EIP-7251 (#30571)
fjl Oct 11, 2024
15b0152
build: add support for ubuntu 24.10 (#30580)
hteevoli Oct 12, 2024
54a4b1d
cmd/evm: fixup issues with requests in t8n (#30584)
lightclient Oct 13, 2024
912a137
core: enable EIP-2935 in chain maker (#30575)
fjl Oct 13, 2024
118ed44
trie: concurrent commit (#30545)
holiman Oct 14, 2024
7a625d3
build: update to golangci-lint 1.61.0 (#30587)
holiman Oct 14, 2024
b755cec
beacon/engine: strip type byte in requests (#30576)
fjl Oct 14, 2024
086a52d
internal/ethapi: refactor `TxArgs.setCancunFeeDefaults` (#30541)
jwasinger Oct 15, 2024
ddbf548
crypto: use decred secp256k1 directly (#30595)
gartnera Oct 15, 2024
8e27edb
beacon/engine: omit null witness field from payload envelope (#30597)
rkrasiuk Oct 15, 2024
4918c7c
ethdb/pebble: switch to increasing level sizes (#30602)
karalabe Oct 15, 2024
bcb2c15
core, ethdb/pebble: run pebble in non-sync mode (#30573)
rjl493456442 Oct 15, 2024
9c054f8
core, eth, ethstats: simplify chain head events (#30601)
karalabe Oct 16, 2024
767a292
core: reduce peak memory usage during reorg (#30600)
MariusVanDerWijden Oct 16, 2024
e648904
eth/tracers: various fixes (#30540)
s1na Oct 17, 2024
5d41ac5
miner: send full request when resolving full payload (#30615)
lightclient Oct 17, 2024
1660698
beacon/engine,eth/catalyst: hex marshal requests in engine api (#30603)
lightclient Oct 17, 2024
cfd1489
beacon/engine, core/txpool, eth/catalyst: add engine_getBlobsV1 API (…
karalabe Oct 17, 2024
44c44c7
swarm: nuke this leftover (#30622)
karalabe Oct 18, 2024
ac3ebe2
gitignore: get rid of some relics (#30623)
karalabe Oct 18, 2024
56d14b2
build: reenable building arm64 concurrently (#30626)
karalabe Oct 18, 2024
6412bee
core, trie, triedb: minor changes from snapshot integration (#30599)
rjl493456442 Oct 18, 2024
d03ed72
core/state: fix runaway alloc caused by prefetcher heap escape (#30629)
karalabe Oct 20, 2024
7a79f2f
all: get rid of custom MaxUint64 and MaxUint64 (#30636)
karalabe Oct 20, 2024
1c88e42
build: get rid of ci.go -> common direct dependency (#30637)
karalabe Oct 20, 2024
997d122
common/math: delete some further dead code (#30639)
karalabe Oct 20, 2024
b7d8f47
common/math: sigh, keep deleting dead code
karalabe Oct 20, 2024
db03e01
build, internal, version: break ci.go/version->common dependency (#30…
karalabe Oct 20, 2024
26e1470
eth/tracers/js: avoid compiling js bigint when not needed (#30640)
holiman Oct 20, 2024
c6823c7
consensus/clique, miner: remove clique -> accounts dependency (#30642)
karalabe Oct 21, 2024
e5fb824
common: drop BigMin and BigMax, they pollute our dep graph (#30645)
karalabe Oct 21, 2024
d7434fa
core/state: move state log mechanism to a separate layer (#30569)
holiman Oct 23, 2024
cba2e77
crypto, tests/fuzzers: add gnark bn254 precompile methods for fuzzing…
kevaundray Oct 23, 2024
53e3f44
all: remove TerminalTotalDifficultyPassed (#30609)
jwasinger Oct 23, 2024
e9e1cb0
eth/tracers/internal/tracertest: add missing Random to call context (…
islishude Oct 23, 2024
99ec8e4
docs: update security policy (#30606)
fredriksvantes Oct 23, 2024
0d1d689
core: fix tracing of system calls (#30666)
s1na Oct 24, 2024
6a3f575
core/vm: remove debug printout in eof test (#30665)
jwasinger Oct 24, 2024
a7c01a2
beacon/blsync: add holesky config and update checkpoints (#30671)
zsfelfoldi Oct 25, 2024
a7e2b8b
ethdb: add DeleteRange feature (#30668)
zsfelfoldi Oct 25, 2024
571628a
build: document doGoModTidy function in ci.go (#30685)
jwasinger Oct 28, 2024
856f807
cmd/geth: avoid hard coding the IPC name (#30687)
karalabe Oct 28, 2024
f3cbacf
eth/tracers: add disableCode/Storage options for prestateTracer (#30648)
jsvisa Oct 29, 2024
b7767ef
core, eth, node: break rawdb -> {leveldb, pebble} dependency (#30689)
karalabe Oct 29, 2024
3017efe
ethdb: refactor Database interface (#30693)
MariusVanDerWijden Oct 29, 2024
8de45c1
appveyor, build, internal: ci.go cleanups, add package dep checker (#…
karalabe Oct 29, 2024
f124ce3
beacon/light: remove unused CommitteeChain.signerThreshold (#30484)
zhiqiangxu Oct 30, 2024
b1defd4
core/vm: speed up push and interpreter loop (#30662)
holiman Oct 30, 2024
0d6d79f
core: add code to witness when state object is accessed (#30698)
lightclient Oct 31, 2024
83def9b
cmd/utils, eth/ethconfig: remove some ancient leftover flag (#30705)
karalabe Oct 31, 2024
9f58dc0
internal/flags: remove Merge, it's identical to slices.Concat (#30706)
karalabe Oct 31, 2024
7502503
internal/flags: remove low-use type TextMarshalerFlag (#30707)
karalabe Oct 31, 2024
21b3400
all: remove `personal` RPC namespace (#30704)
holiman Oct 31, 2024
b92e17f
eth/tracers: flatCallTracer error compatible with parity (#30497)
jsvisa Nov 1, 2024
1fe607b
build: use slices.Clone for copying slice (#30716)
zhiqiangxu Nov 3, 2024
3adb076
tests/fuzzers/bls12381: more verbose fuzzing-output (#30724)
holiman Nov 4, 2024
5de5f33
core/txpool: improve error responses with wrapped errors (#30715)
piersy Nov 4, 2024
9bb5194
eth/catalyst: make engine api test time independent (#30713)
karalabe Nov 4, 2024
b45ba07
core/vm/runtime: invoke tx-end hook (#30711)
holiman Nov 4, 2024
ed01e6f
core, trie: verkle state processor tests (#30672)
gballet Nov 4, 2024
6578b9a
all: fix issues with benchmarks (#30667)
holiman Nov 4, 2024
8a3a697
eth/tracers: fill the creationMethod in flatCall (#30539)
jsvisa Nov 5, 2024
b04d6c4
core/state: small fix in hooked statedb (#30732)
holiman Nov 5, 2024
d01591c
cmd/utils: change blssync.JWTSecretFlag to DirectoryFlag (#30729)
MariusVanDerWijden Nov 6, 2024
31bc9e6
build(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#…
dependabot[bot] Nov 7, 2024
13413be
ethclient: add RevertErrorData function and example (#30669)
fjl Nov 7, 2024
a01688e
ethclient/gethclient: testcase for createAccessList, make tabledriven…
SangIlMo Nov 8, 2024
25d0740
internal/ethapi: Set basefee for `AccessList` based on given block, …
jwasinger Nov 8, 2024
f476702
accounts/usbwallet: support dynamic tx (#30180)
shrimalmadhur Nov 8, 2024
b362c37
signer/core: extended support for EIP-712 array types (#30620)
naveen-imtb Nov 8, 2024
f57f215
cmd/evm: benchmarking via `statetest` command + filter by name, inde…
jwasinger Nov 8, 2024
766cda8
beacon/blsync: remove cli dependencies (#30720)
zsfelfoldi Nov 8, 2024
d71da30
core/state: invoke OnCodeChange-hook on selfdestruct (#30686)
kchojn Nov 8, 2024
0e06e89
trie/utils: remove unneeded initialization (#30472)
zhiqiangxu Nov 8, 2024
2b53182
travis: build and upload RISC-V docker images too (#30739)
karalabe Nov 8, 2024
ba882b6
core/state, triedb/database: refactor state reader (#30712)
rjl493456442 Nov 9, 2024
9b3cf57
eth/protocols/eth: add ETH68 protocol handler fuzzers (#30417)
MariusVanDerWijden Nov 9, 2024
243feea
tests: fix test panic (#30741)
rjl493456442 Nov 10, 2024
4afca7c
p2p/netutil: unittests for addrutil (#30439)
tianyeyouyou Nov 11, 2024
c8f6d24
docs: fix typo (#30740)
0xwitty Nov 11, 2024
62cce0c
core/state: tests on the binary iterator (#30754)
holiman Nov 15, 2024
55b18e9
cmd/geth: remove unlock commandline flag (#30737)
holiman Nov 15, 2024
a7ef9d6
build: upgrade -dlgo version to Go 1.23.3 (#30742)
sandakersmann Nov 15, 2024
ed7bac0
core: fix typos (#30767)
AtomicInnovation321 Nov 19, 2024
9e959db
all: remove kilic dependency from bls12381 fuzzers (#30296)
jwasinger Nov 19, 2024
71b32b4
core/txpool, eth/catalyst: clear transaction pool in Rollback (#30534)
jwasinger Nov 19, 2024
f3c19b1
rpc: run tests in parallel (#30384)
estensen Nov 19, 2024
293a300
version: go-ethereum v1.14.12 stable
holiman Nov 19, 2024
4999b2e
Merge branch 'geth_v1.14.12' into merge_geth_v1.14.12
buddh0 Dec 6, 2024
32501aa
fix: Prague code merge geth-v1.14.12 CI fix (#58)
buddh0 Dec 9, 2024
7a85fa1
Merge branch 'develop' into merge_geth_v1.14.12
buddh0 Dec 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 7 additions & 10 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
golang-lint:
strategy:
matrix:
go-version: [1.21.x]
go-version: [1.23.x]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -47,12 +47,9 @@ jobs:
go mod tidy
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
version: v1.55.2
working-directory: ./
skip-pkg-cache: true
skip-cache: true
skip-build-cache: true
args: --timeout=99m --config ./.golangci.yml
env:
CGO_CFLAGS: "-O -D__BLST_PORTABLE__"
CGO_CFLAGS_ALLOW: "-O -D__BLST_PORTABLE__"
ANDROID_HOME: "" # Skip android test
run: |
make lint
15 changes: 0 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,11 @@
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile ~/.gitignore_global

/tmp
*/**/*un~
*/**/*.test
*un~
.DS_Store
*/**/.DS_Store
.ethtest
*/**/*tx_database*
*/**/*dapps*
build/_vendor/pkg

#*
.#*
Expand Down Expand Up @@ -46,19 +41,9 @@ profile.cov
# VS Code
.vscode

# dashboard
/dashboard/assets/flow-typed
/dashboard/assets/node_modules
/dashboard/assets/stats.json
/dashboard/assets/bundle.js
/dashboard/assets/bundle.js.map
/dashboard/assets/package-lock.json

**/yarn-error.log
cmd/geth/node/
cmd/geth/__debug_bin
cmd/bootnode/bootnode
graphql/__debug_bin
logs/

tests/spec-tests/
8 changes: 6 additions & 2 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,14 @@ linters:
- staticcheck
- bidichk
- durationcheck
- exportloopref
- copyloopvar
- whitespace
- revive # only certain checks enabled

- durationcheck
- gocheckcompilerdirectives
- reassign
- mirror
- tenv
### linters we tried and will not be using:
###
# - structcheck # lots of false positives
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
before_install:
- export DOCKER_CLI_EXPERIMENTAL=enabled
script:
- go run build/ci.go dockerx -platform "linux/amd64,linux/arm64" -upload ethereum/client-go
- go run build/ci.go dockerx -platform "linux/amd64,linux/arm64,linux/riscv64" -upload ethereum/client-go

# This builder does the Linux Azure uploads
- stage: build
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/abi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1199,7 +1199,6 @@ func TestUnpackRevert(t *testing.T) {
{"4e487b7100000000000000000000000000000000000000000000000000000000000000ff", "unknown panic code: 0xff", nil},
}
for index, c := range cases {
index, c := index, c
t.Run(fmt.Sprintf("case %d", index), func(t *testing.T) {
t.Parallel()
got, err := UnpackRevert(common.Hex2Bytes(c.input))
Expand Down
2 changes: 1 addition & 1 deletion accounts/abi/bind/bind.go
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ func Bind(types []string, abis []string, bytecodes []string, fsigs []map[string]
}
// Parse library references.
for pattern, name := range libs {
matched, err := regexp.Match("__\\$"+pattern+"\\$__", []byte(contracts[types[i]].InputBin))
matched, err := regexp.MatchString("__\\$"+pattern+"\\$__", contracts[types[i]].InputBin)
if err != nil {
log.Error("Could not search for pattern", "pattern", pattern, "contract", contracts[types[i]], "err", err)
}
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/event_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,6 @@ func TestEventTupleUnpack(t *testing.T) {

for _, tc := range testCases {
assert := assert.New(t)
tc := tc
t.Run(tc.name, func(t *testing.T) {
err := unpackTestEventData(tc.dest, tc.data, tc.jsonLog, assert)
if tc.error == "" {
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/pack_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import (
func TestPack(t *testing.T) {
t.Parallel()
for i, test := range packUnpackTests {
i, test := i, test
t.Run(strconv.Itoa(i), func(t *testing.T) {
t.Parallel()
encb, err := hex.DecodeString(test.packed)
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/reflect_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,6 @@ var reflectTests = []reflectTest{
func TestReflectNameToStruct(t *testing.T) {
t.Parallel()
for _, test := range reflectTests {
test := test
t.Run(test.name, func(t *testing.T) {
t.Parallel()
m, err := mapArgNamesToStructFields(test.args, reflect.ValueOf(test.struc))
Expand Down
3 changes: 0 additions & 3 deletions accounts/abi/topics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ func TestMakeTopics(t *testing.T) {
},
}
for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
got, err := MakeTopics(tt.args.query...)
Expand Down Expand Up @@ -373,7 +372,6 @@ func TestParseTopics(t *testing.T) {
tests := setupTopicsTests()

for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
createObj := tt.args.createObj()
Expand All @@ -393,7 +391,6 @@ func TestParseTopicsIntoMap(t *testing.T) {
tests := setupTopicsTests()

for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
outMap := make(map[string]interface{})
Expand Down
3 changes: 1 addition & 2 deletions accounts/abi/unpack_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,6 @@ func TestMethodMultiReturn(t *testing.T) {
"Can not unpack into a slice with wrong types",
}}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
require := require.New(t)
err := abi.UnpackIntoInterface(tc.dest, "multi", data)
Expand Down Expand Up @@ -947,7 +946,7 @@ func TestOOMMaliciousInput(t *testing.T) {
}
encb, err := hex.DecodeString(test.enc)
if err != nil {
t.Fatalf("invalid hex: %s" + test.enc)
t.Fatalf("invalid hex: %s", test.enc)
}
_, err = abi.Methods["method"].Outputs.UnpackValues(encb)
if err == nil {
Expand Down
29 changes: 24 additions & 5 deletions accounts/usbwallet/ledger.go
Original file line number Diff line number Diff line change
Expand Up @@ -338,8 +338,22 @@ func (w *ledgerDriver) ledgerSign(derivationPath []uint32, tx *types.Transaction
return common.Address{}, nil, err
}
} else {
if txrlp, err = rlp.EncodeToBytes([]interface{}{tx.Nonce(), tx.GasPrice(), tx.Gas(), tx.To(), tx.Value(), tx.Data(), chainID, big.NewInt(0), big.NewInt(0)}); err != nil {
return common.Address{}, nil, err
if tx.Type() == types.DynamicFeeTxType {
if txrlp, err = rlp.EncodeToBytes([]interface{}{chainID, tx.Nonce(), tx.GasTipCap(), tx.GasFeeCap(), tx.Gas(), tx.To(), tx.Value(), tx.Data(), tx.AccessList()}); err != nil {
return common.Address{}, nil, err
}
// append type to transaction
txrlp = append([]byte{tx.Type()}, txrlp...)
} else if tx.Type() == types.AccessListTxType {
if txrlp, err = rlp.EncodeToBytes([]interface{}{chainID, tx.Nonce(), tx.GasPrice(), tx.Gas(), tx.To(), tx.Value(), tx.Data(), tx.AccessList()}); err != nil {
return common.Address{}, nil, err
}
// append type to transaction
txrlp = append([]byte{tx.Type()}, txrlp...)
} else if tx.Type() == types.LegacyTxType {
if txrlp, err = rlp.EncodeToBytes([]interface{}{tx.Nonce(), tx.GasPrice(), tx.Gas(), tx.To(), tx.Value(), tx.Data(), chainID, big.NewInt(0), big.NewInt(0)}); err != nil {
return common.Address{}, nil, err
}
}
}
payload := append(path, txrlp...)
Expand All @@ -353,7 +367,9 @@ func (w *ledgerDriver) ledgerSign(derivationPath []uint32, tx *types.Transaction
// Chunk size selection to mitigate an underlying RLP deserialization issue on the ledger app.
// https://github.com/LedgerHQ/app-ethereum/issues/409
chunk := 255
for ; len(payload)%chunk <= ledgerEip155Size; chunk-- {
if tx.Type() == types.LegacyTxType {
for ; len(payload)%chunk <= ledgerEip155Size; chunk-- {
}
}

for len(payload) > 0 {
Expand Down Expand Up @@ -381,8 +397,11 @@ func (w *ledgerDriver) ledgerSign(derivationPath []uint32, tx *types.Transaction
if chainID == nil {
signer = new(types.HomesteadSigner)
} else {
signer = types.NewEIP155Signer(chainID)
signature[64] -= byte(chainID.Uint64()*2 + 35)
signer = types.LatestSignerForChainID(chainID)
// For non-legacy transactions, V is 0 or 1, no need to subtract here.
if tx.Type() == types.LegacyTxType {
signature[64] -= byte(chainID.Uint64()*2 + 35)
}
}
signed, err := tx.WithSignature(signer, signature)
if err != nil {
Expand Down
4 changes: 3 additions & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ for:
- image: Ubuntu
build_script:
- go run build/ci.go lint
- go run build/ci.go generate -verify
- go run build/ci.go check_tidy
- go run build/ci.go check_generate
- go run build/ci.go check_baddeps
- go run build/ci.go install -dlgo
test_script:
- go run build/ci.go test -dlgo -short
Expand Down
6 changes: 0 additions & 6 deletions beacon/engine/gen_ed.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 16 additions & 2 deletions beacon/engine/gen_epe.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading