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

Merge/foundation release/1.13.14+15 #623

Merged
merged 398 commits into from
Jun 7, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
398 commits
Select commit Hold shift + click to select a range
1c48829
ethclient: apply accessList field in toCallArg (#28832)
colinlyguo Jan 19, 2024
f55a10b
params, core/forkid: enable cancun on sepolia and holesky (#28834)
MariusVanDerWijden Jan 20, 2024
78a3c32
core, core/rawdb, eth/sync: no tx indexing during snap sync (#28703)
rjl493456442 Jan 22, 2024
6a724b9
docs: remove reference to being official (#28858)
holiman Jan 23, 2024
19d9977
go.{mod,sum}: upgrade go-ole to support arm64 (#28859)
gballet Jan 23, 2024
819a497
core: fix genesis setup in benchReadChain (#28856)
darioush Jan 23, 2024
a5a4fa7
all: use uint256 in state (#28598)
holiman Jan 23, 2024
4c8d92d
build: upgrade -dlgo version to Go 1.21.6 (#28836)
sandakersmann Jan 23, 2024
c89a3da
core/state/snapshot: use AddHash/ContainHash instead of Hasher interf…
MariusVanDerWijden Jan 23, 2024
2dc7477
core/vm: fix misleading comment (#28860)
trocher Jan 23, 2024
98eaa57
eth/catalyst: add timestamp checks to fcu and new payload and improve…
lightclient Jan 23, 2024
542c861
core/txpool, eth/catalyst: fix racy simulator due to txpool backgroun…
karalabe Jan 23, 2024
6b0de79
core: move tx indexer to its own file (#28857)
rjl493456442 Jan 23, 2024
a8a8758
eth/catalyst: prefix payload id with version (#28246)
lightclient Jan 24, 2024
765f290
ethclient: fix flaky test (#28864)
rjl493456442 Jan 24, 2024
99dc3fe
params: go-ethereum v1.13.11 stable
holiman Jan 24, 2024
8f7eb9c
all: release go-ethereum v1.13.11 (#28868)
holiman Jan 24, 2024
cd0770e
params: begin v.1.13.12 release cycle
holiman Jan 24, 2024
bc0b87c
internal/flags: fix typo (#28876)
bodhi-crypo Jan 26, 2024
2e947b7
core/types: fix and test handling of faulty nil-returning signer (#28…
protolambda Jan 27, 2024
db98cc4
README.md: fix travis badge (#28889)
keienWang Jan 29, 2024
e2778cd
eth/catalyst: allow payload attributes v1 in fcu v2 (#28882)
lightclient Jan 29, 2024
fc380f5
docs/postmortems: fix outdated link (#28893)
keienWang Jan 29, 2024
eaac53e
core: reset tx lookup cache if necessary (#28865)
rjl493456442 Jan 30, 2024
3adf1ce
build: fix problem with windows line-endings in CI download (#28900)
holiman Jan 31, 2024
5c67066
eth/downloader: fix skeleton cleanup (#28581)
rjl493456442 Jan 31, 2024
06a8711
deps: update memsize (#28916)
holiman Feb 2, 2024
62affdc
core/txpool/blobpool: post-crash cleanup and addition/removal metrics…
karalabe Feb 2, 2024
47d76c5
core/txpool: don't inject lazy resolved transactions into the contain…
karalabe Feb 2, 2024
253447a
core/types: fix typo (#28922)
zoereco Feb 4, 2024
19af900
p2p: fix accidental termination of portMappingLoop (#28911)
ziogaschr Feb 5, 2024
8ec638d
internal/flags: fix --miner.gasprice default listing (#28932)
karalabe Feb 5, 2024
8fd43c8
all: fix typos in comments (#28881)
rex4539 Feb 5, 2024
99e9c07
Makefile: add help target to display available targets (#28845)
Halimao Feb 5, 2024
0b5d8d2
core: cache transaction indexing tail in memory (#28908)
rjl493456442 Feb 6, 2024
16ce7bf
eth, miner: fix enforcing the minimum miner tip (#28933)
karalabe Feb 6, 2024
199e0c9
core/state, core/vm: minor uint256 related perf improvements (#28944)
lmittmann Feb 7, 2024
1f50aa7
cmd,internal/era: implement `export-history` subcommand (#26621)
lightclient Feb 7, 2024
449d3f0
core,params: add holesky to default genesis function (#28903)
lightclient Feb 7, 2024
69f5d5b
node, rpc: add configurable HTTP request limit (#28948)
fjl Feb 7, 2024
2ab365f
all: fix docstring names (#28923)
zoereco Feb 7, 2024
2dc33d4
ethclient/simulated: fix typo (#28952)
bodhi-crypo Feb 8, 2024
ae3b7a0
eth/gasprice: fix percentile validation in eth_feeHistory (#28954)
fjl Feb 8, 2024
8a76a81
cmd/devp2p, eth: drop support for eth/67 (#28956)
karalabe Feb 8, 2024
2732fb1
params, core/forkid: add mainnet timestamp for Cancun (#28958)
lightclient Feb 8, 2024
ac5aa67
internal/ethapi: add support for blobs in eth_fillTransaction (#28839)
s1na Feb 8, 2024
85938dd
internal/era: update block index format to be based on record offset …
lightclient Feb 9, 2024
8facf44
params: go-ethereum v1.13.12 stable
holiman Feb 9, 2024
02eb36a
all: release go-ethereum v1.13.12 (#28961)
holiman Feb 9, 2024
89575ae
params: begin v1.13.13 release cycle
holiman Feb 9, 2024
f0c5b67
build: remove ubuntu 'lunar' build (#28962)
holiman Feb 9, 2024
1a79089
fix: update outdated link to trezor docs (#28966)
krauspt Feb 9, 2024
f1c27c2
internal/ethapi: fix gas estimation bug in eth_fillTransaction for bl…
mask-pp Feb 9, 2024
beb2954
core/txpool/legacypool: use uint256.Int instead of big.Int (#28606)
weiihann Feb 13, 2024
4c15d58
internal/ethapi, signer/core: fix documentation-links (#28979)
lindlof Feb 13, 2024
fe91d47
all: remove the dependency from trie to triedb (#28824)
rjl493456442 Feb 13, 2024
55a46c3
cmd/utils: fix merge-breakage in test (#28985)
holiman Feb 14, 2024
8321fe2
tests: fix goroutine leak related to state snapshot generation (#28974)
holiman Feb 14, 2024
9d537f5
ethereum, ethclient: add blob transaction fields in CallMsg (#28989)
mask-pp Feb 15, 2024
efddedc
core/txpool/blobpool: rename variables in comments (#28981)
bkellerman Feb 15, 2024
2a1d94b
cmd/devp2p: fix modulo in makeBlobTxs (#28970)
colinlyguo Feb 15, 2024
9e3e466
eth/catalyst,beacon/engine: implement GetClientVersionV1 (#28915)
lightclient Feb 15, 2024
886f0e7
tests: update execution spec tests + split statetest exec (#28993)
holiman Feb 15, 2024
2860906
eth/catalyst: add getClientVersion to capabilities (#28994)
MariusVanDerWijden Feb 15, 2024
0c412dc
cmd/evm: fix typo in test script (#28995)
bodhi-crypo Feb 15, 2024
1bdf8b9
cmd/devp2p/internal/ethtest: some fixes for the eth test suite (#28996)
fjl Feb 15, 2024
a193bb0
core/txpool/legacypool: remove a redundant heap.Init (#28910)
colinlyguo Feb 15, 2024
3c30de2
core/txpool/blobpool: update the blob db with corruption handling (#2…
karalabe Feb 16, 2024
95741b1
core: move genesis alloc types to core/types (#29003)
s1na Feb 16, 2024
593e303
core/txpool, eth, miner: pre-filter dynamic fees during pending tx re…
karalabe Feb 17, 2024
034bc46
ethstats: prevent panic if head block is not available (#29020)
rjl493456442 Feb 19, 2024
5d98479
core: using math.MaxUint64 instead of 0xffffffffffffffff (#29022)
cuiweixie Feb 19, 2024
6fb0d09
core/txpool, miner: speed up blob pool pending retrievals (#29008)
karalabe Feb 19, 2024
ac0ff04
core/vm, params: ensure order of forks, prevent overflow (#29023)
holiman Feb 19, 2024
f4852b8
core/txpool, eth, miner: retrieve plain and blob txs separately (#29026)
karalabe Feb 20, 2024
7f5e96d
core/txpool: fix typo (#29031)
buddh0 Feb 20, 2024
bba3fa9
core,eth,internal: fix typo (#29024)
buddh0 Feb 20, 2024
79e340f
params: add cancun upgrade banner (#29042)
tmelhao Feb 21, 2024
b9ca38b
core/txpool: fix typo (#29036)
colinlyguo Feb 21, 2024
b47cf8f
internal/ethapi: fix defaults for blob fields (#29037)
s1na Feb 21, 2024
3b4ede7
params: release go-ethereum v1.13.13 stable
fjl Feb 21, 2024
7f131dc
Merge branch 'master' into release/1.13
fjl Feb 21, 2024
b590cae
params: begin v1.13.14 release cycle
fjl Feb 21, 2024
4de6e8e
Merge branch 'release/1.13' into merge/foundation-release/1.13.13
meowsbits Feb 21, 2024
2894782
params: unused import; undefined type ChainConfig
meowsbits Feb 21, 2024
e47a7c2
internal/ethapi: use overriden baseFee for gasPrice (#29051)
ArtificialPB Feb 22, 2024
b87b9b4
internal/ethapi:fix zero rpc gas cap in eth_createAccessList (#28846)
colinlyguo Feb 22, 2024
ff7eaf0
params/types/genesisT: go run github.com/fjl/gencodec -type GenesisAc…
meowsbits Feb 22, 2024
94666ab
eth/gasestimator: undefined: params.ChainConfig (typecheck)
meowsbits Feb 22, 2024
de1ac25
core,core/types,eth/gasestimator,ethclient/simulated: undefined: para…
meowsbits Feb 22, 2024
9e761ce
eth/gasestimator: undefined: params.CallStipend (typecheck)
meowsbits Feb 22, 2024
33c3ab3
accounts/abi/bind/backends,cmd/devp2p/internal/ethtest,cmd/faucet,tes…
meowsbits Feb 22, 2024
2b0bddc
cmd/utils: `Light*Flag` redeclared in this block (typecheck)
meowsbits Feb 22, 2024
27bde6b
ethclient/simulated: fix types.Genesis -> genesisT.Genesis typing
meowsbits Feb 22, 2024
a1a7216
core: undefined: params.InitialBaseFee (typecheck)
meowsbits Feb 22, 2024
0c89cf8
bind_test,core/types,eth/catalyst,ethclient/simulated,params/vars: un…
meowsbits Feb 22, 2024
3033431
cmd/checkpoint-admin: log.Root().SetHandler undefined
meowsbits Feb 22, 2024
820f9ed
cmd/devp2p/internal/ethtest: gen.ToBlock undefined; + config field fixup
meowsbits Feb 22, 2024
85e502b
cmd/devp2p/internal/ethtest: ChainConfigurator has no type ChainID
meowsbits Feb 22, 2024
30edc4f
core/txpool/blobpool,internal/ethapi,miner,tests: undefined: params.B…
meowsbits Feb 22, 2024
e84d017
core: undefined: Genesis
meowsbits Feb 22, 2024
eb2464b
core: rename trie. -> triedb.
meowsbits Feb 22, 2024
c1882ce
core/types: core/types/gen_account.go:1:1: expected 'package', found …
ziogaschr Feb 23, 2024
55b5ec8
tests: run go generate
ziogaschr Feb 23, 2024
d562464
params/mutations: cannot use uncleRewards[i] (variable of type *big.I…
ziogaschr Feb 23, 2024
8c11473
core/vm: cannot use host.env.StateDB.GetBalance(common.Address(addr))…
ziogaschr Feb 23, 2024
08ba6e5
core: core: cannot use account.Balance (variable of type *big.Int) as…
ziogaschr Feb 23, 2024
93c541a
eth/catalyst: fix wrong error message of payloadV2 after cancun (#29049)
tmelhao Feb 23, 2024
853b35b
core: undefined: trie.Database
ziogaschr Feb 23, 2024
d16f780
params/types/genesisT: core,params/types/coregeth,params/types/ctypes…
ziogaschr Feb 23, 2024
2e3e02f
core: fixes on genesis_test.go
ziogaschr Feb 23, 2024
2a92e3a
internal/ethapi: internal/ethapi/transaction_args.go:41:34: undefined…
ziogaschr Feb 23, 2024
2b77869
core/txpool/legacypool: "github.com/ethereum/go-ethereum/params" impo…
ziogaschr Feb 23, 2024
d655c4a
consensus/lyra2: cannot use uncleReward (variable of type *big.Int) a…
ziogaschr Feb 23, 2024
d9eeda1
eth/tracers/native: cannot convert t.initialState.GetBalance(addr) (v…
ziogaschr Feb 23, 2024
40b4d18
miner: ndefined: params
ziogaschr Feb 23, 2024
618fdbb
eth: overrides.OverrideShanghai undefined (type core.ChainOverrides h…
ziogaschr Feb 23, 2024
194f2d0
tests: undefined: params.BlobTxGasPerBlob
meowsbits Feb 23, 2024
15c73ed
cmd/devp2p/internal/ethtest: s.chain.config.ChainID undefined
meowsbits Feb 23, 2024
193e17f
cmd/geth,console,params: fixup DeveloperGenesisBlock and her uses
meowsbits Feb 23, 2024
1c264a2
les,light: rm -rf
meowsbits Feb 23, 2024
0288672
ethclient/simulated: undefined: vars
meowsbits Feb 23, 2024
c81138d
accounts/abi/bind/backends,cmd/utils,ethclient/simulated,internal/eth…
meowsbits Feb 23, 2024
8bd98e1
core,eth/filters,eth,ethclient,ethclient/gethclient,miner: undefined:…
meowsbits Feb 23, 2024
cea51cf
eth/tracers,internal/ethapi: undefined: params.Ether
meowsbits Feb 23, 2024
ff29d06
eth/downloader: undefined: ETH66
meowsbits Feb 23, 2024
8499643
core/types,eth/catalyst: undefined: vars
meowsbits Feb 23, 2024
32d4d6e
core/txpool: reject blob txs with blob fee cap below the minimum (#29…
Feb 26, 2024
26724fc
p2p, log, rpc: use errors.New to replace fmt.Errorf with no parameter…
0x2d3c Feb 26, 2024
edffacc
eth/catalyst: enable some commented-out testcases   (#29073)
cuiweixie Feb 26, 2024
8bca93e
internal/ethapi: pass blob hashes to gas estimation (#29085)
mask-pp Feb 26, 2024
821d702
cmd/clef: add spaces in README.md table (#29077)
justindhillon Feb 26, 2024
c1f59b9
eth/catalyst: remove variable in tx conversion loop (#29076)
cuiweixie Feb 26, 2024
63aaac8
core/txpool/blobpool: reduce default database cap for rollout (#29090)
karalabe Feb 26, 2024
45a272c
core/txpool: no need to log loud rotate if no local txs (#29083)
jsvisa Feb 26, 2024
5a0f468
eth/tracers: Fix callTracer logs on onlyTopCall == true (#29068)
andreisilviudragnea Feb 27, 2024
51b479e
core/txpool: elevate the 'already reserved' error into a constant (#2…
Feb 27, 2024
9038ba6
params: release Geth v1.13.14
karalabe Feb 27, 2024
2bd6bd0
Merge branch 'master' into release/1.13
karalabe Feb 27, 2024
e300ee3
params,params/mutations,params/types/ctypes,params/vars,tests: wip: u…
meowsbits Feb 27, 2024
1f2aa81
params/mutations: finish rewards re: uint256 vs. big
meowsbits Feb 27, 2024
b341b19
common/math: implement uint256 common math logic for use w/ core-geth…
meowsbits Feb 27, 2024
c70d698
params/types/coregeth,params/types/ctypes,params/types/genesisT,param…
meowsbits Feb 27, 2024
47ea46b
consensus/ethash: fixup consensus difficulty calc; difficulty still I…
meowsbits Feb 27, 2024
789317b
core: undefined: Genesis
meowsbits Feb 27, 2024
fbfde6e
core: undefined: triedb
meowsbits Feb 27, 2024
706970f
tests: assignment mismatch: 5 variables but t.RunNoVerify returns 3 v…
meowsbits Feb 27, 2024
b55e059
tests: cannot use t.json.Pre (variable of type stPre) as genesisT.Gen…
meowsbits Feb 27, 2024
f62f53f
eth/tracers: cannot convert minerReward (variable of type *uint256.In…
meowsbits Feb 27, 2024
79f0c11
miner/stress/ethash: log.Root().SetHandler undefined (type github.com…
meowsbits Feb 27, 2024
d6863cb
tests: fixup language re: state.StateDB.Logs
meowsbits Feb 27, 2024
b479611
cmd/utils: bc.Config().ChainID undefined (type ctypes.ChainConfigurat…
meowsbits Feb 27, 2024
f9f000b
cmd/utils: genesis.Config.TerminalTotalDifficultyPassed undefined (ty…
meowsbits Feb 27, 2024
d46cc2a
cmd/utils: undefined: core.Genesis
meowsbits Feb 27, 2024
8cc9f9c
cmd/utils: no field or method ChainID
meowsbits Feb 27, 2024
a0bcff7
cmd/utils: unresolve CommitGenesis
meowsbits Feb 27, 2024
d28e292
consensus/ethash: fix logger defaults
meowsbits Feb 27, 2024
aa0a70c
consensus/ethash: configs use slog Logger instead of glogger
meowsbits Feb 27, 2024
5837eea
consensus/ethash: fixing up golang.org/x/expt/slog vs. log/slog vs. t…
meowsbits Feb 27, 2024
847022f
core: undefined: triedb
meowsbits Feb 27, 2024
704db87
internal/ethapi: undefined: core.Genesis
meowsbits Feb 27, 2024
3c9c750
common/math: var `u256_tt255` is unused; remove other unused vars too
meowsbits Feb 27, 2024
50338e8
miner: big -> uint256
meowsbits Feb 27, 2024
7e0e95b
miner: undefined: taskIndex
meowsbits Feb 27, 2024
7f8db90
core,internal/ethapi: cannot use types.Account{…} (value of type gith…
meowsbits Feb 27, 2024
88b0861
tests: assignment mismatch: 5 variables but test.RunNoVerifyWithPost …
meowsbits Feb 27, 2024
d7d82d2
tests: cannot use func(err error, snaps *snapshot.Tree, state *state.…
meowsbits Feb 27, 2024
003527d
core,miner: cannot use vars.EIP1234FBlockReward (variable of type *ui…
meowsbits Feb 27, 2024
454dcc4
params/types/ctypes,tests: config.IsCancun undefined
meowsbits Feb 27, 2024
ead5edf
eth/catalyst,params/types/ctypes: adapt ForkChoiceUpdatedV2,3 methods…
meowsbits Feb 27, 2024
45d75e5
eth/catalyst,params/confp: fixup shanghai boolean, add Uint64Ptr2Big …
meowsbits Feb 27, 2024
4c0073c
contracts/checkpointoracle: rm -rf; gone upstream too
meowsbits Feb 27, 2024
5bef9a4
eth/tracers/internal/tracetest: assignment mismatch: 3 variables but …
meowsbits Feb 27, 2024
1638f14
eth/catalyst,params/types/ctypes: remove empty logic branch
meowsbits Feb 27, 2024
1a778ab
internal/ethapi: file is not go-importsed
meowsbits Feb 27, 2024
47b14b9
cmd/checkpoint-admin: rm -rf
meowsbits Feb 27, 2024
80af048
common/math: fix common.uint256 unmarshal behavior and tests
meowsbits Feb 27, 2024
c8e78ca
consensus/ethash,miner/stress/ethash: import correct slog package “go…
ziogaschr Feb 28, 2024
7483f24
accounts/abi/bind: fix bind_test.go to use genesisT
ziogaschr Feb 28, 2024
af9fd53
params: remove custom ExtraData field for DeveloperGenesisBlock
meowsbits Feb 28, 2024
3a992e2
ethclient: TestRPCDiscovre: remove OVER RPC method (method now gone)
meowsbits Feb 28, 2024
0e025cd
accounts/abi/bind: swap core.GenesisAlloc -> genesisT.GenesisAlloc in…
meowsbits Feb 28, 2024
ec2e6a7
core: gaDeriveHash: only set balance if non-nil, avoid panic
meowsbits Feb 28, 2024
46a8aeb
cmd/evm,core/vm: TestT8n fails because of a blobGasUsed mismatch
meowsbits Feb 28, 2024
04addad
tests: fix typo/wrongvar s/BlobTxGasPerBlob/MaxBlobGasPerBlob/
meowsbits Feb 28, 2024
c644ecb
cmd/evm/internal/t8ntool: cmd/evm/internal/t8ntool: fix merge typo fo…
ziogaschr Feb 29, 2024
bfad707
consensus/ethash: complete verify the non-existence of cancun-specifi…
ziogaschr Feb 29, 2024
82427d3
params/mutations: TestAccumlateRewards: fix typo occurred during merge
meowsbits Feb 29, 2024
ef3b155
core/forkid: TestGatherForks: install missing Cancun fork activation …
meowsbits Feb 29, 2024
b83cd71
params: cannot use account.Balance (variable of type *big.Int) as *ui…
meowsbits Feb 29, 2024
61ae423
consensus/ethash: verifyHeader: refactor EIP[4895,4788,4844] validations
meowsbits Feb 29, 2024
879519a
params/types/ctypes: tidy up w/r/t comments and documentation
meowsbits Feb 29, 2024
6c12ba2
core: TestVerkleGenesisCommit: fix gaHash==hashAlloc genesis fn to re…
meowsbits Feb 29, 2024
1c26717
eth/filters: TestSideBlockSubscription: fix panic b/c nil config on g…
meowsbits Feb 29, 2024
c3c1185
core: GenerateChain: condition blobGasPrice assignment on EIP4844 fea…
meowsbits Feb 29, 2024
a57eb12
internal/ethapi: TestEstimateGas: fix invalid difficulty for wrapped …
meowsbits Feb 29, 2024
1d04adf
internal/ethapi: TestCall: use MergedTestChainConfig (==upstream), Se…
meowsbits Feb 29, 2024
1b324ca
core/vm,internal/ethapi: install new cg-specific TestCall with pre-me…
meowsbits Feb 29, 2024
a952258
cmd/devp2p/internal/ethtest: TestEthSuite,TestSnapSuite: configure et…
meowsbits Feb 29, 2024
2fe7ea7
miner: miner: worker_test.go:300: receipt number mismatch: have 0, wa…
ziogaschr Feb 29, 2024
836e215
tests: tests: fix TestDifficulty
ziogaschr Feb 29, 2024
9c1164c
accounts: fix HdPath tests to use SetCoinTypeConfiguration
ziogaschr Mar 1, 2024
a835d41
tests: update submodule tests/testdata to ::release/1.13 version
meowsbits Mar 1, 2024
8efa594
Merge branch 'release/1.13' into merge/foundation-release/1.13.14
meowsbits Mar 4, 2024
255f6d1
core/txpool: s/params/vars/ BlobTxMinBlobGasprice
meowsbits Mar 4, 2024
3d43b20
core/txpool/blobpool: undefined: params.BlobTxMinBlobGasprice
meowsbits Mar 4, 2024
cbb7f77
tests: execStateTest: actually skip forks that are registered to be s…
meowsbits Mar 6, 2024
5dcf503
eth/protocols/snap: skip retrieval for completed storages (#29378)
rjl493456442 Apr 10, 2024
e343ddf
core/rawdb: add sanity-limit to header accessor (#29534)
holiman Apr 15, 2024
7bcb553
eth/filters: enforce topic-limit early on filter criterias (#29535)
holiman Apr 15, 2024
35e0525
core, eth/protocols/snap, trie: fix cause for snap-sync corruption, i…
rjl493456442 Apr 16, 2024
c5ba367
params: release Geth v 1.13.15
holiman Apr 16, 2024
7178ccb
Merge branch 'foundation-release/1.13.15' into merge/foundation-relea…
ziogaschr Apr 17, 2024
7495bb5
go.mod,go.sum: go mod tidy
ziogaschr Apr 17, 2024
b9eb08a
go.mod: set go.mod version to 1.21
ziogaschr Apr 17, 2024
8691c58
go.mod,go.sum: go mod tidy
ziogaschr Apr 17, 2024
86f3184
.github/workflows: update GitHub workflows to use go version 1.21
ziogaschr Apr 17, 2024
20e71b6
.github/workflows,go.mod,go.sum: Merge branch 'merge/foundation-relea…
ziogaschr Apr 17, 2024
9290ad9
core: install the remaining Cancun EIP overrides
ziogaschr Apr 25, 2024
e99404f
params/vars: params/vars: update SupportedProtocolVersions
ziogaschr May 22, 2024
4c641ce
Merge pull request #627 from etclabscore/merge/foundation-release/1.1…
meowsbits Jun 5, 2024
38b8fd2
eth,eth/protocols/eth,internal/era,metrics,p2p/enode,rpc,signer/core:…
cuishuang Feb 29, 2024
9914051
cmd/era,cmd/geth,cmd/utils,core/txpool,internal/era,internal/era/e2st…
Feb 29, 2024
6df05be
p2p: p2p: remove unused argument 'flags' (#29132)
yasyzb Mar 4, 2024
7d1d20d
p2p/simulations/adapters: p2p/simulations/adapters: fix error message…
keroro520 Mar 10, 2024
5b0d3af
p2p: p2p: fix race in dialScheduler (#29235)
fjl Mar 12, 2024
ce8cae4
p2p/dnsdisc: p2p/dnsdisc: using maps.Copy (#29377)
cuiweixie Mar 28, 2024
4b0e339
p2p: p2p: add inbound and outbound peers metric (#29424)
weiihann Apr 2, 2024
f6a5198
p2p/dnsdisc: p2p/dnsdisc: using clear builtin func (#29418)
cuiweixie Apr 4, 2024
53f8434
p2p/discover/v5wire: p2p/discover/v5wire: add tests for invalid hands…
kiarash8112 May 6, 2024
ce5f562
cmd/devp2p,internal/testlog,node,p2p/discover,p2p: p2p/discover: impr…
fjl May 23, 2024
ca413e7
p2p/enode,p2p/enr: p2p/enode: fix endpoint determination for IPv6 (#2…
fjl May 23, 2024
5e86463
p2p/discover,p2p: p2p: fix typos (#29828)
gitglorythegreat May 24, 2024
c99b76a
p2p/enode: p2p/enode: fix TCPEndpoint (#29827)
AaronChen0 May 23, 2024
e2585ca
p2p/discover: p2p/discover: fix crash when revalidated node is remove…
fjl May 28, 2024
85f238c
p2p/discover: p2p/discover: fix update logic in handleAddNode (#29836)
lightclient May 28, 2024
c68003a
p2p/simulations/adapters,p2p/simulations/examples: p2p/simulations: r…
bugmaker9371 May 29, 2024
53978f7
: p2p/nodestate: remove unused package (#29872)
lilasxie May 29, 2024
8e8ed66
cmd/devp2p/internal/v4test,p2p/discover,p2p/discover/v4wire,p2p/disco…
fjl May 29, 2024
dd2800c
.travis.yml,Dockerfile,Dockerfile.alltools,accounts/scwallet,build,cr…
holiman Mar 18, 2024
444bacf
go.sum: go mod tidy
ziogaschr Jun 5, 2024
ee41303
ethclient: fix: add `debug_discoveryV4Table` method for `TestRPCDisco…
ziogaschr Jun 6, 2024
549da55
rlp: rlp: using unsafe.Slice instead of SliceHeader (#29067)
cuiweixie Mar 5, 2024
cfada26
consensus/ethash: fix lint SA1019 reflect.SliceHeader
ziogaschr Jun 6, 2024
850db88
consensus/ethash: more fixes
ziogaschr Jun 6, 2024
6c483de
Merge pull request #637 from etclabscore/merge/foundation-release/1.1…
meowsbits Jun 6, 2024
479b6de
Merge pull request #636 from etclabscore/merge/foundation-release/1.1…
meowsbits Jun 6, 2024
12ec94a
cmd/devp2p/internal/ethtest,cmd/devp2p/internal/v4test,cmd/devp2p,p2p…
fjl Jun 5, 2024
49e7fec
p2p/discover: p2p/discover: unwrap 4-in-6 UDP source addresses (#29944)
fjl Jun 6, 2024
53646d1
Merge pull request #639 from etclabscore/merge/foundation-release/1.1…
diega Jun 7, 2024
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
Prev Previous commit
Next Next commit
.travis.yml,Dockerfile,Dockerfile.alltools,accounts/scwallet,build,cr…
…ypto,crypto/ecies,crypto/secp256k1,crypto,go.sum,p2p/rlpx: all: update to go version 1.22.1 (#28946)

Since Go 1.22 has deprecated certain elliptic curve operations, this PR removes
references to the affected functions and replaces them with a custom implementation
in package crypto. This causes backwards-incompatible changes in some places.

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
  • Loading branch information
3 people authored and ziogaschr committed Jun 5, 2024
commit dd2800c124500a17be13c510d25705bf07ed2947
20 changes: 10 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.21.x
go: 1.22.x
env:
- docker
services:
Expand All @@ -33,7 +33,7 @@ jobs:
os: linux
arch: arm64
dist: bionic
go: 1.21.x
go: 1.22.x
env:
- docker
services:
Expand All @@ -51,7 +51,7 @@ jobs:
os: linux
dist: bionic
sudo: required
go: 1.21.x
go: 1.22.x
env:
- azure-linux
git:
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
if: type = push
os: osx
osx_image: xcode14.2
go: 1.21.x
go: 1.22.x
env:
- azure-osx
git:
Expand All @@ -101,7 +101,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.21.x
go: 1.22.x
script:
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES

Expand All @@ -110,14 +110,14 @@ jobs:
os: linux
arch: arm64
dist: bionic
go: 1.20.x
go: 1.21.x
script:
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES

- stage: build
os: linux
dist: bionic
go: 1.20.x
go: 1.21.x
script:
- travis_wait 30 go run build/ci.go test $TEST_PACKAGES

Expand All @@ -126,7 +126,7 @@ jobs:
if: type = cron || (type = push && tag ~= /^v[0-9]/)
os: linux
dist: bionic
go: 1.21.x
go: 1.22.x
env:
- ubuntu-ppa
git:
Expand All @@ -149,7 +149,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.21.x
go: 1.22.x
env:
- azure-purge
git:
Expand All @@ -162,7 +162,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.21.x
go: 1.22.x
script:
- travis_wait 30 go run build/ci.go test -race $TEST_PACKAGES

2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG VERSION=""
ARG BUILDNUM=""

# Build Geth in a stock Go builder container
FROM golang:1.21-alpine as builder
FROM golang:1.22-alpine as builder

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

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.alltools
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG VERSION=""
ARG BUILDNUM=""

# Build Geth in a stock Go builder container
FROM golang:1.21-alpine as builder
FROM golang:1.22-alpine as builder

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

Expand Down
5 changes: 2 additions & 3 deletions accounts/scwallet/securechannel.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"bytes"
"crypto/aes"
"crypto/cipher"
"crypto/elliptic"
"crypto/rand"
"crypto/sha256"
"crypto/sha512"
Expand Down Expand Up @@ -72,11 +71,11 @@ func NewSecureChannelSession(card *pcsc.Card, keyData []byte) (*SecureChannelSes
if err != nil {
return nil, fmt.Errorf("could not unmarshal public key from card: %v", err)
}
secret, _ := key.Curve.ScalarMult(cardPublic.X, cardPublic.Y, key.D.Bytes())
secret, _ := crypto.S256().ScalarMult(cardPublic.X, cardPublic.Y, key.D.Bytes())
return &SecureChannelSession{
card: card,
secret: secret.Bytes(),
publicKey: elliptic.Marshal(crypto.S256(), key.PublicKey.X, key.PublicKey.Y),
publicKey: crypto.FromECDSAPub(&key.PublicKey),
}, nil
}

Expand Down
30 changes: 15 additions & 15 deletions build/checksums.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@
# https://github.com/ethereum/execution-spec-tests/releases/download/v2.1.0/
ca89c76851b0900bfcc3cbb9a26cbece1f3d7c64a3bed38723e914713290df6c fixtures_develop.tar.gz

# version:golang 1.21.6
# version:golang 1.22.1
# https://go.dev/dl/
124926a62e45f78daabbaedb9c011d97633186a33c238ffc1e25320c02046248 go1.21.6.src.tar.gz
31d6ecca09010ab351e51343a5af81d678902061fee871f912bdd5ef4d778850 go1.21.6.darwin-amd64.tar.gz
0ff541fb37c38e5e5c5bcecc8f4f43c5ffd5e3a6c33a5d3e4003ded66fcfb331 go1.21.6.darwin-arm64.tar.gz
a1d1a149b34bf0f53965a237682c6da1140acabb131bf0e597240e4a140b0e5e go1.21.6.freebsd-386.tar.gz
de59e1217e4398b1522eed8dddabab2fa1b97aecbdca3af08e34832b4f0e3f81 go1.21.6.freebsd-amd64.tar.gz
05d09041b5a1193c14e4b2db3f7fcc649b236c567f5eb93305c537851b72dd95 go1.21.6.linux-386.tar.gz
3f934f40ac360b9c01f616a9aa1796d227d8b0328bf64cb045c7b8c4ee9caea4 go1.21.6.linux-amd64.tar.gz
e2e8aa88e1b5170a0d495d7d9c766af2b2b6c6925a8f8956d834ad6b4cacbd9a go1.21.6.linux-arm64.tar.gz
6a8eda6cc6a799ff25e74ce0c13fdc1a76c0983a0bb07c789a2a3454bf6ec9b2 go1.21.6.linux-armv6l.tar.gz
e872b1e9a3f2f08fd4554615a32ca9123a4ba877ab6d19d36abc3424f86bc07f go1.21.6.linux-ppc64le.tar.gz
92894d0f732d3379bc414ffdd617eaadad47e1d72610e10d69a1156db03fc052 go1.21.6.linux-s390x.tar.gz
65b38857135cf45c80e1d267e0ce4f80fe149326c68835217da4f2da9b7943fe go1.21.6.windows-386.zip
27ac9dd6e66fb3fd0acfa6792ff053c86e7d2c055b022f4b5d53bfddec9e3301 go1.21.6.windows-amd64.zip
b93aff8f3c882c764c66a39b7a1483b0460e051e9992bf3435479129e5051bcd go1.21.6.windows-arm64.zip
79c9b91d7f109515a25fc3ecdaad125d67e6bdb54f6d4d98580f46799caea321 go1.22.1.src.tar.gz
3bc971772f4712fec0364f4bc3de06af22a00a12daab10b6f717fdcd13156cc0 go1.22.1.darwin-amd64.tar.gz
f6a9cec6b8a002fcc9c0ee24ec04d67f430a52abc3cfd613836986bcc00d8383 go1.22.1.darwin-arm64.tar.gz
99f81c10d5a3f8a886faf8fa86aaa2aaf929fbed54a972ae5eec3c5e0bdb961a go1.22.1.freebsd-386.tar.gz
51c614ddd92ee4a9913a14c39bf80508d9cfba08561f24d2f075fd00f3cfb067 go1.22.1.freebsd-amd64.tar.gz
8484df36d3d40139eaf0fe5e647b006435d826cc12f9ae72973bf7ec265e0ae4 go1.22.1.linux-386.tar.gz
aab8e15785c997ae20f9c88422ee35d962c4562212bb0f879d052a35c8307c7f go1.22.1.linux-amd64.tar.gz
e56685a245b6a0c592fc4a55f0b7803af5b3f827aaa29feab1f40e491acf35b8 go1.22.1.linux-arm64.tar.gz
8cb7a90e48c20daed39a6ac8b8a40760030ba5e93c12274c42191d868687c281 go1.22.1.linux-armv6l.tar.gz
ac775e19d93cc1668999b77cfe8c8964abfbc658718feccfe6e0eb87663cd668 go1.22.1.linux-ppc64le.tar.gz
7bb7dd8e10f95c9a4cc4f6bef44c816a6e7c9e03f56ac6af6efbb082b19b379f go1.22.1.linux-s390x.tar.gz
0c5ebb7eb39b7884ec99f92b425d4c03a96a72443562aafbf6e7d15c42a3108a go1.22.1.windows-386.zip
cf9c66a208a106402a527f5b956269ca506cfe535fc388e828d249ea88ed28ba go1.22.1.windows-amd64.zip
85b8511b298c9f4199ecae26afafcc3d46155bac934d43f2357b9224bcaa310f go1.22.1.windows-arm64.zip

# version:golangci 1.55.2
# https://github.com/golangci/golangci-lint/releases/
Expand Down
15 changes: 12 additions & 3 deletions crypto/crypto.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,15 @@ var (

var errInvalidPubkey = errors.New("invalid secp256k1 public key")

// EllipticCurve contains curve operations.
type EllipticCurve interface {
elliptic.Curve

// Point marshaling/unmarshaing.
Marshal(x, y *big.Int) []byte
Unmarshal(data []byte) (x, y *big.Int)
}

// KeccakState wraps sha3.state. In addition to the usual hash methods, it also supports
// Read to get a variable amount of data from the hash state. Read is faster than Sum
// because it doesn't copy the internal state, but also modifies the internal state.
Expand Down Expand Up @@ -148,7 +157,7 @@ func toECDSA(d []byte, strict bool) (*ecdsa.PrivateKey, error) {
return nil, errors.New("invalid private key, zero or negative")
}

priv.PublicKey.X, priv.PublicKey.Y = priv.PublicKey.Curve.ScalarBaseMult(d)
priv.PublicKey.X, priv.PublicKey.Y = S256().ScalarBaseMult(d)
if priv.PublicKey.X == nil {
return nil, errors.New("invalid private key")
}
Expand All @@ -165,7 +174,7 @@ func FromECDSA(priv *ecdsa.PrivateKey) []byte {

// UnmarshalPubkey converts bytes to a secp256k1 public key.
func UnmarshalPubkey(pub []byte) (*ecdsa.PublicKey, error) {
x, y := elliptic.Unmarshal(S256(), pub)
x, y := S256().Unmarshal(pub)
if x == nil {
return nil, errInvalidPubkey
}
Expand All @@ -176,7 +185,7 @@ func FromECDSAPub(pub *ecdsa.PublicKey) []byte {
if pub == nil || pub.X == nil || pub.Y == nil {
return nil
}
return elliptic.Marshal(S256(), pub.X, pub.Y)
return S256().Marshal(pub.X, pub.Y)
}

// HexToECDSA parses a secp256k1 private key.
Expand Down
56 changes: 32 additions & 24 deletions crypto/ecies/ecies.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ import (
"hash"
"io"
"math/big"

"github.com/ethereum/go-ethereum/crypto"
)

var (
Expand Down Expand Up @@ -95,15 +97,15 @@ func ImportECDSA(prv *ecdsa.PrivateKey) *PrivateKey {
// Generate an elliptic curve public / private keypair. If params is nil,
// the recommended default parameters for the key will be chosen.
func GenerateKey(rand io.Reader, curve elliptic.Curve, params *ECIESParams) (prv *PrivateKey, err error) {
pb, x, y, err := elliptic.GenerateKey(curve, rand)
sk, err := ecdsa.GenerateKey(curve, rand)
if err != nil {
return
}
prv = new(PrivateKey)
prv.PublicKey.X = x
prv.PublicKey.Y = y
prv.PublicKey.X = sk.X
prv.PublicKey.Y = sk.Y
prv.PublicKey.Curve = curve
prv.D = new(big.Int).SetBytes(pb)
prv.D = new(big.Int).Set(sk.D)
if params == nil {
params = ParamsFromCurve(curve)
}
Expand Down Expand Up @@ -255,12 +257,15 @@ func Encrypt(rand io.Reader, pub *PublicKey, m, s1, s2 []byte) (ct []byte, err e

d := messageTag(params.Hash, Km, em, s2)

Rb := elliptic.Marshal(pub.Curve, R.PublicKey.X, R.PublicKey.Y)
ct = make([]byte, len(Rb)+len(em)+len(d))
copy(ct, Rb)
copy(ct[len(Rb):], em)
copy(ct[len(Rb)+len(em):], d)
return ct, nil
if curve, ok := pub.Curve.(crypto.EllipticCurve); ok {
Rb := curve.Marshal(R.PublicKey.X, R.PublicKey.Y)
ct = make([]byte, len(Rb)+len(em)+len(d))
copy(ct, Rb)
copy(ct[len(Rb):], em)
copy(ct[len(Rb)+len(em):], d)
return ct, nil
}
return nil, ErrInvalidCurve
}

// Decrypt decrypts an ECIES ciphertext.
Expand Down Expand Up @@ -297,21 +302,24 @@ func (prv *PrivateKey) Decrypt(c, s1, s2 []byte) (m []byte, err error) {

R := new(PublicKey)
R.Curve = prv.PublicKey.Curve
R.X, R.Y = elliptic.Unmarshal(R.Curve, c[:rLen])
if R.X == nil {
return nil, ErrInvalidPublicKey
}

z, err := prv.GenerateShared(R, params.KeyLen, params.KeyLen)
if err != nil {
return nil, err
}
Ke, Km := deriveKeys(hash, z, s1, params.KeyLen)
if curve, ok := R.Curve.(crypto.EllipticCurve); ok {
R.X, R.Y = curve.Unmarshal(c[:rLen])
if R.X == nil {
return nil, ErrInvalidPublicKey
}

d := messageTag(params.Hash, Km, c[mStart:mEnd], s2)
if subtle.ConstantTimeCompare(c[mEnd:], d) != 1 {
return nil, ErrInvalidMessage
}
z, err := prv.GenerateShared(R, params.KeyLen, params.KeyLen)
if err != nil {
return nil, err
}
Ke, Km := deriveKeys(hash, z, s1, params.KeyLen)

return symDecrypt(params, Ke, c[mStart:mEnd])
d := messageTag(params.Hash, Km, c[mStart:mEnd], s2)
if subtle.ConstantTimeCompare(c[mEnd:], d) != 1 {
return nil, ErrInvalidMessage
}
return symDecrypt(params, Ke, c[mStart:mEnd])
}
return nil, ErrInvalidCurve
}
3 changes: 1 addition & 2 deletions crypto/secp256k1/secp256_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ package secp256k1
import (
"bytes"
"crypto/ecdsa"
"crypto/elliptic"
"crypto/rand"
"encoding/hex"
"io"
Expand All @@ -24,7 +23,7 @@ func generateKeyPair() (pubkey, privkey []byte) {
if err != nil {
panic(err)
}
pubkey = elliptic.Marshal(S256(), key.X, key.Y)
pubkey = S256().Marshal(key.X, key.Y)

privkey = make([]byte, 32)
blob := key.D.Bytes()
Expand Down
7 changes: 2 additions & 5 deletions crypto/signature_cgo.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ package crypto

import (
"crypto/ecdsa"
"crypto/elliptic"
"errors"
"fmt"

Expand All @@ -40,9 +39,7 @@ func SigToPub(hash, sig []byte) (*ecdsa.PublicKey, error) {
if err != nil {
return nil, err
}

x, y := elliptic.Unmarshal(S256(), s)
return &ecdsa.PublicKey{Curve: S256(), X: x, Y: y}, nil
return UnmarshalPubkey(s)
}

// Sign calculates an ECDSA signature.
Expand Down Expand Up @@ -84,6 +81,6 @@ func CompressPubkey(pubkey *ecdsa.PublicKey) []byte {
}

// S256 returns an instance of the secp256k1 curve.
func S256() elliptic.Curve {
func S256() EllipticCurve {
return secp256k1.S256()
}
Loading