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 date 0205 #2856

Merged
merged 87 commits into from
Feb 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
bc1ec69
trie/pathdb: state iterator (snapshot integration pt 4) (#30654)
rjl493456442 Dec 16, 2024
5c58612
core/vm, go.mod: update uint256 and use faster method to write to mem…
holiman Dec 17, 2024
3c208cd
accounts/abi/bind: make it possible to wait for tx hash (#30079)
mask-pp Dec 17, 2024
71c28d8
core: fixes for Prague fork in GenerateChain (#30924)
fjl Dec 17, 2024
feaf1c9
build(deps): bump golang.org/x/crypto from 0.26.0 to 0.31.0 (#30921)
dependabot[bot] Dec 17, 2024
5b9a3ea
core/vm: make all opcodes proper type (#30925)
holiman Dec 17, 2024
06dfb42
core/types, internal/ethapi: fixes for prague RPC encoding (#30926)
fjl Dec 17, 2024
1321a42
cmd/evm: make evm statetest accept non-json files (#30927)
holiman Dec 17, 2024
9d4b29f
core/types: updates for EIP-7702 API functions (#30933)
fjl Dec 18, 2024
73a4ecf
core/types: rename SetCodeAuthorization 'v' to 'yParity'
fjl Dec 18, 2024
f861535
cmd/evm: update tests for SetCodeAuthorization JSON encoding change (…
fjl Dec 18, 2024
f1e6372
core, core/types: rename AuthList to SetCodeAuthorizations (#30935)
fjl Dec 19, 2024
341647f
params: update system contracts for prague devnet-5 (#30938)
fjl Dec 19, 2024
f4e8e87
internal/flags: update copyright year to 2025 (#30976)
ronething-bot Jan 2, 2025
0feb999
crypto/bn256: fix MulScalar (#30974)
gitglorythegreat Jan 2, 2025
85ffbde
all: use cmp.Compare (#30958)
gitglorythegreat Jan 2, 2025
06883c1
eth/tracers/logger: skip system calls (#30923)
fjl Jan 2, 2025
a9ab53d
internal/ethapi: update default simulation timestamp increment to 12 …
s1na Jan 3, 2025
c5a8d34
core/rawdb: fix panic in freezer (#30973)
MariusVanDerWijden Jan 6, 2025
6897a4a
core/types: improve printList in DeriveSha test (#30969)
georgehao Jan 6, 2025
9298074
eth/protocols/eth: prevent hanging dispatch (#30918)
holiman Jan 6, 2025
e75f354
cmd/clef: fix JS issues in documentation (#30980)
savvar9991 Jan 7, 2025
5065e6c
triedb/pathdb: fix tester generator (#30972)
ceyonur Jan 7, 2025
033de2a
README: remove private network section from readme (#31005)
MariusVanDerWijden Jan 8, 2025
82e963e
triedb/pathdb: configure different node hasher in pathdb (#31008)
rjl493456442 Jan 10, 2025
c088242
build: upgrade golangci-lint to v1.63.4 (#31019)
gzliudan Jan 13, 2025
f460f01
eth/tracers/logger: return revert reason (#31013)
reds Jan 13, 2025
8752785
cmd/devp2p/internal/ethtest: using slices.SortFunc to simplify the co…
dashangcun Jan 13, 2025
fcf5204
core/txpool/legacypool: fix flaky test TestAllowedTxSize (#30975)
qdm12 Jan 13, 2025
864e717
core: remove unused function parameters (#31001)
palango Jan 13, 2025
37c0e69
cmd, core, miner: rework genesis setup (#30907)
rjl493456442 Jan 14, 2025
1843f27
all: fix some typos in comments and names (#31023)
georgehao Jan 14, 2025
04a336a
core/types: change SetCodeTx.ChainID to uint256 (#30982)
fjl Jan 14, 2025
8dfad57
eth/gasprice: ensure cache purging goroutine terminates with subscrip…
jwasinger Jan 14, 2025
9b68875
beacon/engine: check for empty requests (#31010)
s1na Jan 15, 2025
9e4f08c
core: use sync.Once for SenderCacher initialization (#31029)
georgehao Jan 16, 2025
47d17ac
core/txpool/legacypool: ensure pending nonces are reset by SubPool.Cl…
jwasinger Jan 16, 2025
4d94bd8
core/tracing: document `OnCodeChange` now being called from SelfDestr…
maoueh Jan 16, 2025
a7f9523
all: implement state history v2 (#30107)
rjl493456442 Jan 17, 2025
ea31bd9
ethdb/memorydb: faster DeleteRange (#31038)
zsfelfoldi Jan 17, 2025
cc814d6
cmd/abigen: require either `--abi` or `--combined-json` (#31045)
cedrickah Jan 20, 2025
17199da
core/types: correct chainId check for pragueSigner (#31032)
islishude Jan 20, 2025
448e16a
build: upgrade -dlgo version to Go 1.23.5 (#31037)
levisyin Jan 20, 2025
530adfc
core/types: initialize ChainID in SetCodeTx copy method (#31054)
islishude Jan 20, 2025
e25cedf
core/txpool: terminate subpool reset goroutine if pool was closed (#…
jwasinger Jan 21, 2025
2bf4a8f
cmd/evm: refactor handling output-files for `t8n` (#30854)
holiman Jan 21, 2025
6c10996
eth/filters: ensure API timeoutLoop terminates with event system (#31…
jwasinger Jan 21, 2025
4af9af4
go.mod: remove toolchain line (#31057)
fjl Jan 21, 2025
c43faa3
cmd/evm: restore --bench flag to evm statetest (#31055)
shemnon Jan 21, 2025
218b697
p2p: support configuring NAT in TOML file (#31041)
fjl Jan 22, 2025
d10c61c
go.mod: gencodec stable v0.1.0 (#31062)
ucwong Jan 22, 2025
a840e9b
triedb/pathdb: fix state revert on v2 history (#31060)
rjl493456442 Jan 22, 2025
d3cc618
trie: reduce allocations in stacktrie (#30743)
holiman Jan 23, 2025
3375680
eth/catalyst: fail on duplicate request types (#31071)
s1na Jan 23, 2025
f700ed9
accounts/usbwallet: fix ledger access for latest firmware and add Led…
mdehoog Jan 24, 2025
3003a13
core/vm: implement EIP-2537 spec updates (#30978)
s1na Jan 24, 2025
75526bb
p2p/nat: add stun protocol (#31064)
fearlessfe Jan 24, 2025
f0e8a3e
fix README.md (#31076)
cratiu222 Jan 25, 2025
9516e0f
chore: fix various comments (#31082)
cratiu222 Jan 28, 2025
39638c8
all: nuke total difficulty (#30744)
karalabe Jan 28, 2025
3fcbb67
.github: add lint step (#31068)
s1na Jan 28, 2025
52766be
core/{.,state,vm},miner,eth/tracers,tests: implement 7709 with a sysc…
gballet Jan 29, 2025
11e841e
build: bump test timeout (#31095)
s1na Jan 30, 2025
7b96ec4
.travis.yml: change arch for Docker build to arm64 (#31096)
fjl Jan 30, 2025
d80da7c
Revert ".travis.yml: change arch for Docker build to arm64 (#31096)"
fjl Jan 30, 2025
7d0e197
build: retry PPA upload up to three times (#31099)
fjl Jan 30, 2025
fa9a2ff
crypto: add IsOnCurve check (#31100)
fjl Jan 30, 2025
b3833e5
build: provide a flag to disable publishing in dockerx build (#31098)
fjl Jan 30, 2025
9bc8256
version: begin v1.15.0 release cycle
fjl Jan 30, 2025
9b9e7cc
all: add build tags for wasip1 (#31090)
nolag Jan 30, 2025
0e1a19d
core: implement eip-7623 floor data gas (#30946)
s1na Jan 30, 2025
a50cac5
core/vm: EXTCODE* return delegation designator for 7702 (#31089)
s1na Jan 30, 2025
8daefeb
params: update system contract addresses for devnet-6 (#31102)
lightclient Jan 31, 2025
fc12dbe
eth/catalyst: fix validation of type 0 request (#31103)
s1na Jan 31, 2025
55a1861
core/vm: simplify tracer hook invocation in interpreter loop (#31074)
jwasinger Feb 3, 2025
e26dd77
tests/fuzzers/bls12381: fix error message in fuzzCrossG2Add (#31113)
0xkazak Feb 4, 2025
0ad0966
core/rawdb: introduce flush offset in freezer (#30392)
rjl493456442 Feb 4, 2025
665c851
core: copy genesis before modifying (#31097)
MariusVanDerWijden Feb 4, 2025
eee8682
params: start osaka fork (#31125)
MariusVanDerWijden Feb 4, 2025
e6f3ce7
params,core: add max and target value to chain config (#31002)
lightclient Feb 4, 2025
e332431
core: assign default difficulty to zero for chain without ethash (#31…
fjl Feb 4, 2025
7c7b7f6
core/txpool: remove locals-tracking from txpools (#30559)
holiman Feb 4, 2025
59d2eec
core/txpool/blobpool: fix incorrect arguments in test (#31127)
MariusVanDerWijden Feb 4, 2025
c4ad459
consensus/misc/eip4844: use head's target blobs, not parent (#31101)
lightclient Feb 4, 2025
df229e7
Merge branch 'geth-master-0205' into bsc-develop
buddh0 Feb 5, 2025
57df7a0
upstream: fix CIs for merging geth-master-0205
buddh0 Feb 5, 2025
cf1507b
params: complete BlobScheduleConfig for bsc network
buddh0 Feb 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
run:
timeout: 20m
tests: true
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true

output:
format: colored-line-number
Expand Down Expand Up @@ -57,6 +54,9 @@ linters-settings:
exclude: [""]

issues:
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
exclude-dirs-use-default: true
exclude-files:
- core/genesis_alloc.go
exclude-rules:
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,linux/riscv64" -upload ethereum/client-go
- go run build/ci.go dockerx -platform "linux/amd64,linux/arm64,linux/riscv64" -hub ethereum/client-go -upload

# This builder does the Linux Azure uploads
- stage: build
Expand Down
25 changes: 12 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,19 +205,18 @@ you'd expect.

HTTP based JSON-RPC API options:

* `--http` Enable the HTTP-RPC server
* `--http.addr` HTTP-RPC server listening interface (default: `localhost`)
* `--http.port` HTTP-RPC server listening port (default: `8545`)
* `--http.api` API's offered over the HTTP-RPC interface (default: `eth,net,web3`)
* `--http.corsdomain` Comma separated list of domains from which to accept cross origin requests (browser enforced)
* `--ws` Enable the WS-RPC server
* `--ws.addr` WS-RPC server listening interface (default: `localhost`)
* `--ws.port` WS-RPC server listening port (default: `8546`)
* `--ws.api` API's offered over the WS-RPC interface (default: `eth,net,web3`)
* `--ws.origins` Origins from which to accept WebSocket requests
* `--ipcdisable` Disable the IPC-RPC server
* `--ipcapi` API's offered over the IPC-RPC interface (default: `admin,debug,eth,miner,net,personal,txpool,web3`)
* `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it)
* `--http` Enable the HTTP-RPC server
* `--http.addr` HTTP-RPC server listening interface (default: `localhost`)
* `--http.port` HTTP-RPC server listening port (default: `8545`)
* `--http.api` API's offered over the HTTP-RPC interface (default: `eth,net,web3`)
* `--http.corsdomain` Comma separated list of domains from which to accept cross-origin requests (browser enforced)
* `--ws` Enable the WS-RPC server
* `--ws.addr` WS-RPC server listening interface (default: `localhost`)
* `--ws.port` WS-RPC server listening port (default: `8546`)
* `--ws.api` API's offered over the WS-RPC interface (default: `eth,net,web3`)
* `--ws.origins` Origins from which to accept WebSocket requests
* `--ipcdisable` Disable the IPC-RPC server
* `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it)

You'll need to use your own programming environments' capabilities (libraries, tools, etc) to
connect via HTTP, WS or IPC to a `geth` node configured with the above flags and you'll
Expand Down
10 changes: 2 additions & 8 deletions accounts/abi/bind/bind_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2140,19 +2140,13 @@ func TestGolangBindings(t *testing.T) {
t.Fatalf("failed to replace tendermint dependency to bnb-chain source: %v\n%s", err, out)
}

replacer = exec.Command(gocmd, "mod", "edit", "-x", "-require", "github.com/cometbft/[email protected]", "-replace", "github.com/cometbft/cometbft=github.com/bnb-chain/greenfield-[email protected]") // Repo root
replacer = exec.Command(gocmd, "mod", "edit", "-x", "-require", "github.com/cometbft/[email protected]", "-replace", "github.com/cometbft/cometbft=github.com/bnb-chain/greenfield-[email protected]") // Repo root
replacer.Dir = pkg
if out, err := replacer.CombinedOutput(); err != nil {
t.Fatalf("failed to replace cometbft dependency to bnb-chain source: %v\n%s", err, out)
}

replacer = exec.Command(gocmd, "mod", "edit", "-x", "-require", "github.com/syndtr/[email protected]", "-replace", "github.com/syndtr/goleveldb=github.com/syndtr/[email protected]")
replacer.Dir = pkg
if out, err := replacer.CombinedOutput(); err != nil {
t.Fatalf("failed to replace cometbft dependency to bnb-chain source: %v\n%s", err, out)
}

tidier := exec.Command(gocmd, "mod", "tidy", "-compat=1.21")
tidier := exec.Command(gocmd, "mod", "tidy")
tidier.Dir = pkg
if out, err := tidier.CombinedOutput(); err != nil {
t.Fatalf("failed to tidy Go module file: %v\n%s", err, out)
Expand Down
18 changes: 15 additions & 3 deletions accounts/abi/bind/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,18 @@ import (
// WaitMined waits for tx to be mined on the blockchain.
// It stops waiting when the context is canceled.
func WaitMined(ctx context.Context, b DeployBackend, tx *types.Transaction) (*types.Receipt, error) {
return WaitMinedHash(ctx, b, tx.Hash())
}

// WaitMinedHash waits for a transaction with the provided hash to be mined on the blockchain.
// It stops waiting when the context is canceled.
func WaitMinedHash(ctx context.Context, b DeployBackend, hash common.Hash) (*types.Receipt, error) {
queryTicker := time.NewTicker(time.Second)
defer queryTicker.Stop()

logger := log.New("hash", tx.Hash())
logger := log.New("hash", hash)
for {
receipt, err := b.TransactionReceipt(ctx, tx.Hash())
receipt, err := b.TransactionReceipt(ctx, hash)
if err == nil {
return receipt, nil
}
Expand All @@ -61,7 +67,13 @@ func WaitDeployed(ctx context.Context, b DeployBackend, tx *types.Transaction) (
if tx.To() != nil {
return common.Address{}, errors.New("tx is not contract creation")
}
receipt, err := WaitMined(ctx, b, tx)
return WaitDeployedHash(ctx, b, tx.Hash())
}

// WaitDeployedHash waits for a contract deployment transaction with the provided hash and returns the on-chain
// contract address when it is mined. It stops waiting when ctx is canceled.
func WaitDeployedHash(ctx context.Context, b DeployBackend, hash common.Hash) (common.Address, error) {
receipt, err := WaitMinedHash(ctx, b, hash)
if err != nil {
return common.Address{}, err
}
Expand Down
4 changes: 3 additions & 1 deletion accounts/accounts.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,9 @@ const (
// of starting any background processes such as automatic key derivation.
WalletOpened

// WalletDropped
// WalletDropped is fired when a wallet is removed or disconnected, either via USB
// or due to a filesystem event in the keystore. This event indicates that the wallet
// is no longer available for operations.
WalletDropped
)

Expand Down
27 changes: 13 additions & 14 deletions accounts/usbwallet/hub.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,26 +73,22 @@ func NewLedgerHub() (*Hub, error) {
return newHub(LedgerScheme, 0x2c97, []uint16{

// Device definitions taken from
// https://github.com/LedgerHQ/ledger-live/blob/38012bc8899e0f07149ea9cfe7e64b2c146bc92b/libs/ledgerjs/packages/devices/src/index.ts
// https://github.com/LedgerHQ/ledger-live/blob/595cb73b7e6622dbbcfc11867082ddc886f1bf01/libs/ledgerjs/packages/devices/src/index.ts

// Original product IDs
0x0000, /* Ledger Blue */
0x0001, /* Ledger Nano S */
0x0004, /* Ledger Nano X */
0x0005, /* Ledger Nano S Plus */
0x0006, /* Ledger Nano FTS */

0x0015, /* HID + U2F + WebUSB Ledger Blue */
0x1015, /* HID + U2F + WebUSB Ledger Nano S */
0x4015, /* HID + U2F + WebUSB Ledger Nano X */
0x5015, /* HID + U2F + WebUSB Ledger Nano S Plus */
0x6015, /* HID + U2F + WebUSB Ledger Nano FTS */

0x0011, /* HID + WebUSB Ledger Blue */
0x1011, /* HID + WebUSB Ledger Nano S */
0x4011, /* HID + WebUSB Ledger Nano X */
0x5011, /* HID + WebUSB Ledger Nano S Plus */
0x6011, /* HID + WebUSB Ledger Nano FTS */
0x0007, /* Ledger Flex */

0x0000, /* WebUSB Ledger Blue */
0x1000, /* WebUSB Ledger Nano S */
0x4000, /* WebUSB Ledger Nano X */
0x5000, /* WebUSB Ledger Nano S Plus */
0x6000, /* WebUSB Ledger Nano FTS */
0x7000, /* WebUSB Ledger Flex */
}, 0xffa0, 0, newLedgerDriver)
}

Expand Down Expand Up @@ -185,8 +181,11 @@ func (hub *Hub) refreshWallets() {

for _, info := range infos {
for _, id := range hub.productIDs {
// We check both the raw ProductID (legacy) and just the upper byte, as Ledger
// uses `MMII`, encoding a model (MM) and an interface bitfield (II)
mmOnly := info.ProductID & 0xff00
// Windows and Macos use UsageID matching, Linux uses Interface matching
if info.ProductID == id && (info.UsagePage == hub.usageID || info.Interface == hub.endpointID) {
if (info.ProductID == id || mmOnly == id) && (info.UsagePage == hub.usageID || info.Interface == hub.endpointID) {
devices = append(devices, info)
break
}
Expand Down
Loading
Loading