-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[Upgrade] Go-Ethereum release v1.9.21 #1211
[Upgrade] Go-Ethereum release v1.9.21 #1211
Conversation
…(#21334) * accounts/abi/bind/backends: Disallow timeshift for non-empty blocks * accounts/abi/bind/backends: added tests for adjust time * accounts/abi/bind/simulated: added comments, fixed test for AdjustTime * accounts/abi/bind/backends: updated comment
* go.mod | goleveldb latest update * go.mod update * leveldb options * go.mod: double check Co-authored-by: Péter Szilágyi <peterke@gmail.com>
core/state, eth, trie: stabilize memory use, fix memory leak
… calls (#21387) * tests: add testdata of call tracer * eth/tracers: return revert reason in call_tracer * eth/tracers: regenerate assets * eth/tracers: add error message even if no exec occurrs, fixes #21438 Co-authored-by: Martin Holst Swende <martin@swende.se>
* accounts/abi: fix a bug in getTypeSize method e.g. for "Tuple[2]" type, the element of the array is a tuple type and the size of the tuple may not be 32. * accounts/abi: add unit test of getTypeSize method
* "Downloader queue stats" is now a DEBUG information I think this info is more a DEBUG related information then an INFO. If it must remains an INFO, maybe it can be slow down to one time every 5 minutes or so. * Update queue.go "Downloader queue stats" information is now provided once every minute instead of once every 10 seconds.
This changes how the downloader works, a little bit. Previously, when block sync started, we immediately started filling up to 8192 blocks. Usually this is fine, blocks are small in the early numbers. The threshold then is lowered as we measure the size of the blocks that are filled. However, if the node is shut down and restarts syncing while we're in a heavy segment, that might be bad. This PR introduces a more conservative initial threshold of 2K blocks instead.
core, eth, trie: prepare trie sync for path based operation
* eth: Added TraceTransactionPending * eth: Implement Trace_Call, remove traceTxPending * eth: debug_call -> debug_traceCall, recompute tx environment if pruned * eth: fix nil panic * eth: improve block retrieving logic in tracers * internal/web3ext: add debug_traceCall to console
…nd anonymous variable assignments (#21514) Co-authored-by: Osoro Bironga <osoro@doctaroo.com>
* whisper: remove whisper * Update cmd/geth/config.go Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de> * cmd/geth: warn on enabling whisper + remove more whisper deps * mobile: remove all whisper references Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de> Co-authored-by: Martin Holst Swende <martin@swende.se>
…ivation paths (#21517) * accounts/usbwallet, signer/core: un-hide accounts from ledger legacy derivation paths * Update accounts/usbwallet/wallet.go * Update signer/core/api.go * Update signer/core/api.go
params: update CHTs for v1.9.21 release
…cts without any signature change
…/go-ethereum/v1.9.21-2021609142421
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -44,7 +44,6 @@ require ( | |||
github.com/golang/mock v1.4.3 | |||
github.com/golang/protobuf v1.3.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we add a comment here to maintain the old version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you mean add comment in order to keep the geth's version?
I prefer to prepare another PR to solve the remaining TODOs, which is a revert of the last commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@baptiste-b-pegasys can you create an issue to track this, so we are aware we need to put back the original version from geth?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in the meantime, I can merge this.
TODO
Plan & Analyse
As you review, list extra changes and/or tests to be implemented to ensure compatibility with GoQuorum specific features.
Build & Test
master
into this branchExtra Changes & Tests
Left TODOs
Go-Ethereum Release: Tavum (v1.9.21)
Release notes
Geth v1.9.21 is a regular maintenance release, the highlights being the removal of whisper, better call tracing and multiple memory stability fixes during fast sync to both stabilize usage as well as to fix a memory leak that lead to crashers before.
debug_traceCall
on top of arbitrary blocks (#21338).call_tracer
tracer (#21387).snap
sync (#21504).For a full rundown of the changes please consult the Geth 1.9.21 release milestone
As with all our previous releases, you can find the:
ethereum/client-go
.Codebase changes assessment
Legend
File Stats: (A) Added, (M) Modified and (R) Removed
Line Stats: (A) Added and (R) Removed
Assessment:
19 Pull Requests
M/A/R
(files changed)
A/R
(lines changed)
accounts/abi/bind/backends: Disallow AdjustTime for non-empty blocks
accounts/abi/bind/backends
(2)accounts/abi/bind/backends/simulated_test.go
(82)accounts/abi/bind/backends/simulated.go
(16)eth: updated comments
eth
(3)eth/api.go
(4)eth/api_tracer.go
(4)eth/bloombits.go
(4)go.mod
(1)go.sum
(1)core/state, eth, trie: stabilize memory use, fix memory leak
trie
(4)core/state
(2)eth/downloader
(1)trie/sync.go
(120)eth/downloader/downloader.go
(22)core/state/sync.go
(12)trie/committer.go
(8)core/state/statedb.go
(4)eth/tracers: revert reason in call_tracer + error for failed internal calls
eth/tracers/internal/tracers
(2)eth/tracers/testdata
(2)eth/tracers
(1)eth/tracers/testdata/call_tracer_inner_instafail.json
(144)eth/tracers/testdata/call_tracer_revert_reason.json
(128)eth/tracers/tracers_test.go
(48)eth/tracers/internal/tracers/call_tracer.js
(30)eth/tracers/internal/tracers/assets.go
(24)rpc: fix issue with null JSON-RPC messages
rpc/testdata
(2)rpc
(1)rpc/json.go
(26)rpc/testdata/invalid-batch.js
(6)rpc/testdata/invalid-nonobj.js
(6)accounts/abi: fix a bug in getTypeSize method
accounts/abi
(2)accounts/abi/type_test.go
(72)accounts/abi/type.go
(4)internal: fix personal.sign()
console
(1)console/bridge.go
(8)"Downloader queue stats" is now provided once per minute
eth/downloader
(1)eth/downloader/queue.go
(4)go.mod: goja update
go.mod
(1)go.sum
(1)go.sum
(8)go.mod
(4)eth/downloader: change intial download size
eth/downloader
(5)eth/downloader/downloader_test.go
(48)eth/downloader/queue.go
(28)eth/downloader/queue_test.go
(12)eth/downloader/downloader.go
(8)eth/downloader/testchain_test.go
(4)core, eth, trie: prepare trie sync for path based operation
trie
(4)core/state
(1)eth/downloader
(1)eth/downloader/statesync.go
(306)trie/sync_test.go
(298)core/state/sync_test.go
(254)trie/trie.go
(168)trie/sync.go
(132)eth: added trace_call to trace on top of arbitrary blocks
eth
(2)internal/web3ext
(1)eth/api_tracer.go
(98)eth/api.go
(14)internal/web3ext/web3ext.go
(12)accounts/abi/bid/backends:
accounts/abi/bind/backends
(2)accounts/abi/bind/backends/simulated.go
(264)accounts/abi/bind/backends/simulated_test.go
(40)whisper: remove whisper
whisper/whisperv6
(17)mobile
(3)cmd/geth
(3)whisper/mailserver
(2)cmd/wnode
(1)tests/fuzzers/whisperv6
(1)whisper/shhclient
(1)cmd/utils
(1)tests/fuzzers/whisperv6/corpus
(1)whisper/whisperv6/filter_test.go
(1672)cmd/wnode/main.go
(1546)whisper/whisperv6/api.go
(1186)whisper/whisperv6/message_test.go
(942)whisper/whisperv6/message.go
(710)accounts/usbwallet, signer/core: show accounts from ledger legacy derivation paths
accounts/usbwallet
(1)signer/core
(1)signer/core/api.go
(66)accounts/usbwallet/wallet.go
(28)build: remove wnode from the list of packages binaries
build
(1)build/ci.go
(10).github: remove whisper from CODEOWNERS
.github
(1).github/CODEOWNERS
(2)params: update CHTs for v1.9.21 release
params
(1)params/config.go
(64)72 Changed files
whisper/whisperv6/whisper.go
whisper/whisperv6/whisper_test.go
whisper/whisperv6/filter_test.go
cmd/wnode/main.go
whisper/whisperv6/api.go
whisper/whisperv6/message_test.go
whisper/whisperv6/message.go
whisper/whisperv6/envelope.go
whisper/whisperv6/peer.go
whisper/whisperv6/filter.go
whisper/mailserver/server_test.go
whisper/mailserver/mailserver.go
whisper/whisperv6/benchmarks_test.go
mobile/shhclient.go
whisper/shhclient/client.go
eth/downloader/statesync.go
trie/sync_test.go
accounts/abi/bind/backends/simulated.go
#21334
whisper/whisperv6/topic_test.go
core/state/sync_test.go
trie/sync.go
#21504
mobile/types.go
whisper/whisperv6/doc.go
whisper/whisperv6/envelope_test.go
tests/fuzzers/whisperv6/whisper-fuzzer.go
whisper/whisperv6/gen_newmessage_json.go
trie/trie.go
#21504
whisper/whisperv6/gen_message_json.go
eth/tracers/testdata/call_tracer_inner_instafail.json
whisper/whisperv6/gen_criteria_json.go
whisper/whisperv6/api_test.go
go.sum
#21448
eth/tracers/testdata/call_tracer_revert_reason.json
accounts/abi/bind/backends/simulated_test.go
#21334
whisper/whisperv6/topic.go
eth/api_tracer.go
#21338
accounts/abi/type_test.go
signer/core/api.go
params/config.go
whisper/whisperv6/config.go
cmd/utils/flags.go
cmd/geth/config.go
eth/downloader/downloader_test.go
eth/tracers/tracers_test.go
eth/downloader/queue.go
#21366
eth/downloader/downloader.go
#21366
eth/tracers/internal/tracers/call_tracer.js
accounts/usbwallet/wallet.go
go.mod
#21448
rpc/json.go
eth/tracers/internal/tracers/assets.go
mobile/geth.go
eth/api.go
#21338
cmd/geth/consolecmd_test.go
core/state/sync.go
eth/downloader/queue_test.go
trie/secure_trie.go
internal/web3ext/web3ext.go
build/ci.go
trie/committer.go
console/bridge.go
rpc/testdata/invalid-nonobj.js
rpc/testdata/invalid-batch.js
eth/bloombits.go
trie/trie_test.go
cmd/geth/usage.go
core/state/statedb.go
accounts/abi/type.go
eth/downloader/testchain_test.go
params/version.go
.github/CODEOWNERS
tests/fuzzers/whisperv6/corpus/009c5adfa4fd685caef58e1ce932fa7fb209730a