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

[Upgrade] Go-Ethereum release v1.9.16 #1132

Merged
merged 132 commits into from
Feb 23, 2021

Conversation

ricardolyn
Copy link
Contributor

@ricardolyn ricardolyn commented Feb 15, 2021

TODO

Plan & Analyse

  • Review the Release Notes
  • Review PRs in the section below

As you review, list extra changes and/or tests to be implemented to ensure compatibility with GoQuorum specific features.

Build & Test

  • Pull and checkout PR branch locally, then merge GoQuorum master into this branch
  • Resolve conflicts, taking into account the prior analysis
  • Implement required changes until all unit tests pass
  • Implement required changes until acceptance tests pass
  • Implement extra changes and/or tests

Extra Changes & Tests

Go-Ethereum Release: Ryncol (v1.9.16)

  • Version: v1.9.16
  • Published: 2020-07-10T10:41:40Z

Release notes

Geth v1.9.16 is another maintenance release containing a couple minor new features, bug fixes, and block processing optimizations.

This release adds the --rpc.txfeecap geth option, which limits transaction fees to a set value. This limit applies to transactions sent via eth_sendTransaction. The default limit is 1 ether. (#21212)

The default value for --rpc.gascap is now 25M gas. It previously defaulted to unlimited gas. This applies to eth_call and will reject calls which request more gas than the cap. (#21229)

Minor new features:

  • You can now run the metrics HTTP server on a separate endpoint. (#21290)
  • Protocol message metrics now count the number of messages in addition to bandwidth. (#21256)
  • The geth import command now exits with status 1 if errors have occurred. (#21244)
  • The debug_traceTransaction RPC method now includes read storage entries in structlog output. (#21204)
  • cmd/evm: add state transition tool for testing (#20958)
  • cmd/devp2p: the devp2p tool now contains a test suite for Discovery v4 (#21163)
  • cmd/devp2p: the new devp2p key command family provides node key management tools (#21202)
  • cmd/ethkey: you can now use the --passwordfile option with the ethkey generate command (#21183)

Optimizations:

  • The EVM now uses the 'uint256' library, improving the performance of math-heavy calls. (#20787, #21206)
  • The LES server no longer queries the checkpoint contract for every peer connection, reducing CPU usage. (#21285)
  • The gas price oracle now requires significantly less bandwidth when using the light client. (#20409)
  • The RLP encoder allocates a lot less, especially for big.Int, [N]byte and list-heavy data structures. (#21291, #21274)
  • The github.com/golang/snappy dependency has been updated and includes a couple new new optimizations, including an assembly language implementation for arm64. (#21237, #21304)
  • crypto, core/types: less allocations when hashing and tx handling (#21265)
  • trie: reduce allocations in insertPreimage (#21261)
  • crypto/secp256k1: enable 128-bit int code and endomorphism optimization (#21203)
  • core/state: avoid escape analysis fault when accessing cached state (#21192)

Bug fixes:

  • A long standing bug related to internal fast sync restarts is resolved. (#21260)
  • Account management methods no longer crash when the external signer is enabled. (#21279)
  • eth_call now defaults to the gas cap value instead of MaxInt64. This avoids warnings for calls with unspecified gas. (#21284)
  • Geth now builds and runs on DragonflyBSD (#21275, #21241)
  • Package ethclient and the accounts/* package tree no longer depend on the RPC API implementation package. (#21319)
  • eth/downloader: fixes data race between synchronize and other methods (#21201)
  • utils: fix ineffectual miner config flags (#21271)
  • eth: returned revert reason in traceTx (#21195)
  • core/vm: fix incorrect computation of BLS discount (#21253)
  • eth: don't block if transaction broadcast loop fails (#21255)
  • core/rawdb: fix high memory usage in freezer (#21243)
  • core/rawdb: swap tailId and itemOffset for deleted items in freezer (#21220)
  • cmd, node: dump empty value config (#21296)
  • internal/web3ext: add missing params to debug.accountRange (#21208)
  • accounts/abi: make GetType public again (#21157)

For a full rundown of the changes please consult the Geth 1.9.16 release milestone


As with all our previous releases, you can find the:

Codebase changes assessment

Legend

File Stats: (A) Added, (M) Modified and (R) Removed

Line Stats: (A) Added and (R) Removed

Assessment:

  • ✅ No conflict expected
  • ⚠ Review required to assess changes
  • ‼️ Conflicts expected and review required

56 Pull Requests

🔍 Link Title File Stats
M/A/R
Packages changed
(files changed)
Line Stats
A/R
Top 5 Changed Files
(lines changed)
⚠️ #21183 cmd/ethkey: support --passwordfile in generate command 5/0/0
cmd/ethkey (5)
6/6
cmd/ethkey/utils.go (8)
cmd/ethkey/changepassword.go (4)
cmd/ethkey/generate.go (4)
cmd/ethkey/inspect.go (4)
cmd/ethkey/message.go (4)
⚠️ #20924 ethstats: use timer instead of time.Sleep 1/0/0
ethstats (1)
71/62
ethstats/ethstats.go (266)
‼️ #20787 core/vm: use uint256 in EVM implementation 17/0/4
core/vm (18)
eth/tracers (1)
go.mod (1)
go.sum (1)
358/703
core/vm/instructions.go (1154)
core/vm/intpool.go (234)
core/vm/instructions_test.go (204)
core/vm/intpool_test.go (110)
core/vm/stack.go (68)
‼️ #21192 core/state: avoid escape analysis fault when accessing cached state 2/0/0
core/state (2)
5/5
core/state/statedb.go (12)
core/state/state_object.go (8)
⚠️ #21200 accounts/keystore: fix typo in error message 1/0/0
accounts/keystore (1)
1/1
accounts/keystore/keystore.go (4)
⚠️ #21157 accounts/abi: make GetType public again 3/0/0
accounts/abi (3)
16/15
accounts/abi/error.go (28)
accounts/abi/type.go (18)
accounts/abi/unpack.go (16)
⚠️ #21149 eth/downloader: fix spuriously failing tests 2/0/0
eth/downloader (1)
miner (1)
23/11
eth/downloader/downloader_test.go (60)
miner/worker_test.go (8)
⚠️ #21204 core, eth, internal: extend structLog tracer 3/0/0
core/vm (2)
eth/fetcher (1)
43/40
core/vm/logger.go (122)
eth/fetcher/tx_fetcher.go (28)
core/vm/logger_test.go (16)
‼️ #21210 build, ethapi, bls12381: fix typos 4/0/0
crypto/bls12381 (2)
internal/build (1)
internal/ethapi (1)
10/10
crypto/bls12381/fp6.go (24)
crypto/bls12381/fp2.go (8)
internal/build/azure.go (4)
internal/ethapi/api.go (4)
‼️ #21206 deps: update uint256 to 1.1.0 2/0/0
go.mod (1)
go.sum (1)
3/5
go.sum (12)
go.mod (4)
⚠️ #21208 internal/web3ext: add missing params to the debug_accountRange 1/0/0
internal/web3ext (1)
2/1
internal/web3ext/web3ext.go (6)
⚠️ #21227 fix peer Unregister peerSet unlock 1/0/0
eth/downloader (1)
1/1
eth/downloader/peer.go (4)
‼️ #21170 core: filter out txs with invalid signatures as soon as possible 1/0/0
core (1)
10/4
core/tx_pool.go (28)
#21220 core/rawdb: fix misplaced tailId and itemOffset in freezer 2/0/0
core/rawdb (2)
55/16
core/rawdb/freezer_table_test.go (92)
core/rawdb/freezer_table.go (50)
‼️ #21212 cmd, eth, internal, les: add gasprice cap 9/0/0
eth (3)
internal/ethapi (2)
cmd/geth (2)
les (1)
cmd/utils (1)
44/5
eth/gen_config.go (32)
cmd/utils/flags.go (16)
internal/ethapi/api.go (14)
eth/config.go (10)
eth/api_backend.go (8)
‼️ #21237 ``go.mod snappy deps`` 2/0/0
go.mod (1)
go.sum (1)
3/1
⚠️ #21240 whisper : use timer.Ticker instead of sleep 1/0/0
whisper/whisperv6 (1)
8/2
whisper/whisperv6/whisper.go (20)
‼️ #21243 core/rawdb: Fix high memory usage in freezer 1/0/0
core/rawdb (1)
1/1
core/rawdb/freezer.go (4)
‼️ #21241 common/fdlimit: build on DragonflyBSD 2/0/1
common/fdlimit (1)
go.mod (1)
go.sum (1)
5/5
common/fdlimit/fdlimit_bsd.go (8)
go.sum (8)
go.mod (4)
#21251 whisper: fix time.sleep by time.ticker in whisper_test 1/0/0
whisper/whisperv6 (1)
20/10
whisper/whisperv6/whisper_test.go (60)
#21256 p2p: measure packet throughput too, not just bandwidth 2/0/0
p2p (2)
2/0
p2p/peer.go (2)
p2p/rlpx.go (2)
#21202 cmd/devp2p: add commands for node key management 1/1/0
cmd/devp2p (2)
106/0
cmd/devp2p/keycmd.go (210)
cmd/devp2p/main.go (2)
#21203 crypto/secp256k1: enable 128-bit int code and endomorphism optimization 1/0/0
crypto/secp256k1 (1)
11/2
crypto/secp256k1/secp256.go (26)
‼️ #21255 eth: don't block if transaction broadcast loop is returned 2/0/0
eth (2)
12/8
eth/peer.go (36)
eth/handler.go (4)
⚠️ #21261 trie: reduce allocs in insertPreimage 1/0/0
trie (1)
3/2
trie/database.go (10)
⚠️ #21253 core/vm: fix incorrect computation of discount 2/0/0
core/vm (2)
57/8
core/vm/contracts_test.go (94)
core/vm/contracts.go (36)
‼️ #21244 cmd/geth: import command exit with status code 1 if import returns error 1/0/0
cmd/geth (1)
5/1
cmd/geth/chaincmd.go (12)
‼️ #21195 eth: returned revert reason in traceTx 1/0/0
eth (1)
6/1
eth/api_tracer.go (14)
‼️ #21271 utils: fix ineffectual miner config flags 1/0/0
cmd/utils (1)
2/2
cmd/utils/flags.go (8)
#21219 cmd: abstract `getPassPhrase` functions into one 4/2/0
cmd/utils (2)
cmd/ethkey (2)
cmd/clef (1)
cmd/geth (1)
146/85
cmd/utils/prompt_test.go (148)
cmd/utils/prompt.go (124)
cmd/geth/accountcmd.go (82)
cmd/clef/main.go (56)
cmd/ethkey/utils.go (48)
#20958 cmd/evm: add state transition tool for testing 1/29/0
cmd/evm/testdata/7 (4)
cmd/evm/internal/t8ntool (4)
cmd/evm/testdata/2 (4)
cmd/evm/testdata/3 (4)
cmd/evm/testdata/4 (4)
cmd/evm/testdata/5 (4)
cmd/evm (3)
cmd/evm/testdata/1 (3)
1234/1
cmd/evm/internal/t8ntool/transition.go (552)
cmd/evm/README.md (536)
cmd/evm/internal/t8ntool/execution.go (510)
cmd/evm/internal/t8ntool/flags.go (198)
cmd/evm/internal/t8ntool/gen_stenv.go (160)
#21265 core: types: less allocations when hashing and tx handling 9/0/0
core (3)
trie (2)
core/types (2)
crypto (1)
eth/gasprice (1)
72/32
core/tx_list_test.go (38)
crypto/crypto.go (38)
core/types/block.go (34)
trie/hasher.go (28)
core/types/transaction.go (24)
‼️ #21275 go.mod: bump gopsutil version 2/0/0
go.sum (1)
go.mod (1)
3/1
go.mod (4)
go.sum (4)
‼️ #21276 go mod: update golang.org/x/net and golang.org/x/crypto 2/0/0
go.mod (1)
go.sum (1)
6/6
go.sum (16)
go.mod (8)
⚠️ #21201 eth/downloader: fixes data race between synchronize and other methods 3/0/0
eth/downloader (3)
38/27
eth/downloader/downloader.go (120)
eth/downloader/modes.go (6)
eth/downloader/downloader_test.go (4)
#20719 cmd/geth: LES priority client test 0/5/0
cmd/geth/testdata (4)
cmd/geth (1)
206/0
cmd/geth/les_test.go (360)
cmd/geth/testdata/clique.json (48)
cmd/geth/testdata/key.prv (2)
cmd/geth/testdata/password.txt (2)
#21274 rlp: pool listheads to reduce allocations 1/0/0
rlp (1)
14/15
rlp/encode.go (58)
‼️ #21232 core, txpool: less allocations when handling transactions 6/0/0
core (4)
common/math (1)
core/types (1)
151/54
core/tx_list.go (258)
core/tx_list_test.go (38)
core/tx_pool.go (36)
core/tx_pool_test.go (36)
core/types/transaction.go (22)
‼️ #21229 rpc, internal/ethapi: default rpc gascap at 25M + better error message 8/0/0
eth (3)
internal/ethapi (2)
les (1)
cmd/utils (1)
core (1)
31/21
internal/ethapi/api.go (42)
cmd/utils/flags.go (20)
eth/gen_config.go (14)
eth/config.go (10)
core/tx_pool_test.go (6)
‼️ #21284 internal/ethapi: default gas to maxgascap, not max int64 1/0/0
internal/ethapi (1)
4/1
internal/ethapi/api.go (10)
‼️ #21279 ethapi: don't crash when keystore-specific methods are called but external signer used 2/0/0
console (1)
internal/ethapi (1)
26/7
internal/ethapi/api.go (60)
console/console.go (6)
#21285 les/checkpointoracle: don't lookup checkpoint more than once per minute 1/0/0
les/checkpointoracle (1)
16/0
les/checkpointoracle/oracle.go (32)
#20409 eth/gasprice: lighter gas price oracle for light client 3/1/0
eth/gasprice (2)
cmd/utils (1)
eth (1)
212/61
eth/gasprice/gasprice.go (246)
eth/gasprice/gasprice_test.go (236)
eth/config.go (42)
cmd/utils/flags.go (22)
#21290 cmd/geth: allow configuring metrics HTTP server on separate endpoint 6/0/0
cmd/geth (2)
mobile (1)
cmd/utils (1)
internal/debug (1)
metrics/exp (1)
50/4
cmd/utils/flags.go (46)
metrics/exp/exp.go (30)
internal/debug/flags.go (20)
cmd/geth/chaincmd.go (4)
cmd/geth/main.go (4)
#21293 build/ci: handle split up listing 2/0/0
build (1)
internal/build (1)
23/10
internal/build/azure.go (60)
build/ci.go (6)
#21291 rlp: reduce allocations for big.Int and byte array encoding 4/0/0
rlp (3)
core/types (1)
222/43
rlp/encode.go (276)
rlp/encode_test.go (132)
core/types/block_test.go (114)
rlp/typecache.go (8)
⚠️ #21296 cmd, node: dump empty value config 2/0/0
cmd/utils (1)
node (1)
14/11
cmd/utils/flags.go (26)
node/config.go (24)
‼️ #21298 cmd/clef: Update README with external v6.0.0 & internal v7.0.1 APIs 1/0/0
cmd/clef (1)
128/144
cmd/clef/README.md (544)
#21163 cmd/devp2p: add discv4 test suite 2/4/0
cmd/devp2p/internal/v4test (2)
internal/utesting (2)
cmd/devp2p (1)
go.sum (1)
887/0
cmd/devp2p/internal/v4test/discv4tests.go (934)
internal/utesting/utesting.go (380)
cmd/devp2p/internal/v4test/framework.go (246)
internal/utesting/utesting_test.go (110)
cmd/devp2p/discv4cmd.go (102)
‼️ #21303 cmd/clef: Fix broken link in README and other minor fixes 1/0/0
cmd/clef (1)
6/6
cmd/clef/README.md (24)
⚠️ #21299 eth: increase timeout in TestBroadcastBlock 1/0/0
eth (1)
6/3
eth/handler_test.go (18)
‼️ #21304 go.mod: upgrade to github.com/golang/snappy with arm64 asm 2/0/0
go.mod (1)
go.sum (1)
3/6
go.sum (14)
go.mod (4)
#21260 eth/downloader: fix peer idleness tracking when restarting statesync 2/0/0
eth/downloader (2)
67/35
eth/downloader/statesync.go (142)
eth/downloader/downloader.go (62)
#21316 common/math: use math/bits intrinsics for Safe* 1/0/0
common/math (1)
10/11
common/math/integer.go (42)
#21317 cmd/geth, cmd/puppeth: replace deprecated rpc and ws flags in tests and docs 5/0/0
cmd/geth (2)
cmd/puppeth (2)
README.md (1)
16/16
README.md (40)
cmd/geth/consolecmd_test.go (8)
cmd/puppeth/module_explorer.go (8)
cmd/geth/les_test.go (4)
cmd/puppeth/module_wallet.go (4)
‼️ #21319 accounts/external: remove dependency on internal/ethapi 1/0/0
accounts/external (1)
7/2
accounts/external/backend.go (18)

151 Changed files

🔍 File Lines Changed Linked PR
‼️ core/vm/instructions.go 1154 #20787
cmd/devp2p/internal/v4test/discv4tests.go 934 #21163
cmd/evm/internal/t8ntool/transition.go 552 #20958
‼️ cmd/clef/README.md 548 #21303
#21298
cmd/evm/README.md 536 #20958
cmd/evm/internal/t8ntool/execution.go 510 #20958
cmd/evm/transition-test.sh 382
internal/utesting/utesting.go 380 #21163
cmd/geth/les_test.go 360 #20719
#21317
rlp/encode.go 318 #21274
#21291
⚠️ ethstats/ethstats.go 266 #20924
eth/gasprice/gasprice.go 250 #20409
#21265
cmd/devp2p/internal/v4test/framework.go 246 #21163
eth/gasprice/gasprice_test.go 236 #20409
core/vm/intpool.go 234 #20787
cmd/devp2p/keycmd.go 210 #21202
‼️ core/vm/instructions_test.go 204 #20787
cmd/evm/internal/t8ntool/flags.go 198 #20958
‼️ eth/downloader/downloader.go 182 #21201
#21260
cmd/evm/internal/t8ntool/gen_stenv.go 160 #20958
‼️ cmd/utils/flags.go 158 #21212
#21271
#21296
#20409
#21229
#21290
cmd/utils/prompt_test.go 148 #21219
eth/downloader/statesync.go 142 #21260
rlp/encode_test.go 132 #21291
‼️ internal/ethapi/api.go 130 #21212
#21210
#21284
#21279
#21229
⚠️ core/vm/logger.go 126 #20787
#21204
cmd/utils/prompt.go 124 #21219
⚠️ core/state/dump.go 118
core/types/block_test.go 114 #21291
core/vm/intpool_test.go 110 #20787
internal/utesting/utesting_test.go 110 #21163
cmd/devp2p/discv4cmd.go 102 #21163
⚠️ core/vm/contracts_test.go 94 #21253
core/rawdb/freezer_table_test.go 92 #21220
⚠️ cmd/geth/accountcmd.go 82 #21219
⚠️ core/vm/eips.go 78 #20787
⚠️ core/vm/stack.go 68 #20787
⚠️ eth/downloader/downloader_test.go 64 #21149
#21201
internal/build/azure.go 64 #21210
#21293
core/vm/int_pool_verifier.go 62 #20787
whisper/whisperv6/whisper_test.go 60 #21251
cmd/evm/main.go 58 #20958
‼️ cmd/clef/main.go 56 #21219
‼️ eth/config.go 54 #21212
#20409
#21229
core/vm/common.go 54 #20787
cmd/evm/testdata/1/txs.json 52 #20958
⚠️ cmd/ethkey/utils.go 52 #21183
#21219
‼️ core/vm/gas_table.go 52 #20787
core/rawdb/freezer_table.go 50 #21220
cmd/geth/testdata/clique.json 48 #20719
core/vm/int_pool_verifier_empty.go 46 #20787
⚠️ eth/gen_config.go 46 #21212
#21229
cmd/evm/poststate.json 46 #20958
‼️ core/tx_pool.go 44 #21170
#21265
#21232
common/math/integer.go 42 #21232
#21316
‼️ README.md 40 #21317
‼️ go.sum 40 #20787
#21241
#21237
#21206
#21304
#21276
#21275
#21163
⚠️ crypto/crypto.go 38 #21265
core/tx_list_test.go 38 #21265
#21232
⚠️ core/vm/contracts.go 36 #21253
‼️ eth/peer.go 36 #21255
⚠️ core/vm/interpreter.go 34 #20787
⚠️ core/types/block.go 34 #21265
cmd/evm/testdata/3/alloc.json 32 #20958
cmd/evm/testdata/2/alloc.json 32 #20958
cmd/evm/testdata/4/alloc.json 32 #20958
les/checkpointoracle/oracle.go 32 #21285
metrics/exp/exp.go 30 #21290
⚠️ accounts/abi/error.go 28 #21157
cmd/evm/testdata/4/txs.json 28 #20958
trie/hasher.go 28 #21265
⚠️ eth/fetcher/tx_fetcher.go 28 #21204
cmd/evm/testdata/2/txs.json 28 #20958
cmd/evm/testdata/3/txs.json 28 #20958
crypto/secp256k1/secp256.go 26 #21203
⚠️ core/vm/logger_test.go 26 #20787
#21204
⚠️ node/config.go 24 #21296
‼️ core/types/transaction.go 24 #21265
#21232
cmd/evm/testdata/1/alloc.json 24 #20958
⚠️ crypto/bls12381/fp6.go 24 #21210
cmd/evm/testdata/7/alloc.json 24 #20958
cmd/evm/testdata/5/env.json 22 #20958
⚠️ tests/init.go 22
‼️ go.mod 22 #20787
#21241
#21237
#21206
#21304
#21276
#21275
⚠️ whisper/whisperv6/whisper.go 20 #21240
⚠️ internal/debug/flags.go 20 #21290
⚠️ tests/state_test_util.go 18
⚠️ core/vm/contract.go 18 #20787
⚠️ eth/handler_test.go 18 #21299
‼️ accounts/external/backend.go 18 #21319
⚠️ accounts/abi/type.go 18 #21157
core/tx_list.go 16 #21265
#21232
cmd/evm/testdata/3/env.json 16 #20958
cmd/evm/testdata/4/env.json 16 #20958
⚠️ accounts/abi/unpack.go 16 #21157
‼️ cmd/geth/chaincmd.go 16 #21244
#21290
cmd/evm/testdata/2/env.json 14 #20958
‼️ eth/api_tracer.go 14 #21195
cmd/evm/testdata/7/env.json 14 #20958
core/vm/memory.go 14 #20787
cmd/evm/testdata/1/env.json 14 #20958
⚠️ core/vm/logger_json.go 14 #20787
cmd/evm/testdata/7/readme.md 14 #20958
‼️ core/state/statedb.go 12 #21192
‼️ les/api_backend.go 12 #21212
#21229
‼️ eth/api_backend.go 12 #21212
#21229
⚠️ trie/committer.go 10 #21265
⚠️ trie/database.go 10 #21261
⚠️ miner/worker_test.go 8 #21149
⚠️ core/vm/gas.go 8 #20787
rlp/typecache.go 8 #21291
cmd/puppeth/module_explorer.go 8 #21317
common/fdlimit/fdlimit_bsd.go 8 #21241
⚠️ crypto/bls12381/fp2.go 8 #21210
‼️ cmd/geth/consolecmd_test.go 8 #21317
cmd/ethkey/changepassword.go 8 #21183
#21219
⚠️ core/state/state_object.go 8 #21192
⚠️ core/state/state_test.go 8
cmd/evm/testdata/4/readme.md 6 #20958
‼️ cmd/geth/main.go 6 #21212
#21290
‼️ internal/ethapi/backend.go 6 #21212
#21229
⚠️ eth/downloader/modes.go 6 #21201
‼️ core/tx_pool_test.go 6 #21229
#21232
⚠️ console/console.go 6 #21279
⚠️ internal/web3ext/web3ext.go 6 #21208
‼️ build/ci.go 6 #21293
cmd/ethkey/generate.go 4 #21183
cmd/evm/testdata/3/readme.md 4 #20958
⚠️ params/version.go 4
⚠️ accounts/keystore/keystore.go 4 #21200
⚠️ eth/tracers/tracer.go 4 #20787
‼️ core/vm/evm.go 4 #20787
‼️ core/rawdb/freezer.go 4 #21243
mobile/geth.go 4 #21290
cmd/ethkey/message.go 4 #21183
⚠️ eth/downloader/peer.go 4 #21227
cmd/ethkey/inspect.go 4 #21183
‼️ eth/handler.go 4 #21255
cmd/puppeth/module_wallet.go 4 #21317
cmd/geth/testdata/key.prv 2 #20719
cmd/geth/testdata/password.txt 2 #20719
cmd/evm/testdata/5/txs.json 2 #20958
cmd/evm/testdata/7/txs.json 2 #20958
cmd/devp2p/main.go 2 #21202
p2p/rlpx.go 2 #21256
cmd/evm/testdata/5/alloc.json 2 #20958
⚠️ cmd/geth/usage.go 2 #21212
cmd/evm/testdata/2/readme.md 2 #20958
cmd/evm/testdata/5/readme.md 2 #20958
⚠️ p2p/peer.go 2 #21256
cmd/geth/testdata/blockchain.blocks 0 #20719

karalabe and others added 30 commits May 13, 2020 12:33
* accounts/abi: simplified reflection logic

* accounts/abi: simplified reflection logic

* accounts/abi: removed unpack

* accounts/abi: removed comments

* accounts/abi: removed uneccessary complications

* accounts/abi: minor changes in error messages

* accounts/abi: removed unnused code

* accounts/abi: fixed indexed argument unpacking

* accounts/abi: removed superfluous test cases

This commit removes two test cases. The first one is trivially invalid as we have the same
test cases as passing in packing_test.go L375. The second one passes now,
because we don't need the mapArgNamesToStructFields in unpack_atomic anymore.
Checking for purely underscored arg names generally should not be something we do
as the abi/contract is generally out of the control of the user.

* accounts/abi: removed comments, debug println

* accounts/abi: added commented out code

* accounts/abi: addressed comments

* accounts/abi: remove unnecessary dst.CanSet check

* accounts/abi: added dst.CanSet checks
* cmd/clef, signer/core: use better terminal input for passwords, make it possible to avoid boot-up warning

* all: move commonly used prompter to isolated (small) package

* cmd/clef: Add new --acceptWarn to clef README

* cmd/clef: rename flag 'acceptWarn' to 'suppress-bootwarn'

Co-authored-by: ligi <ligi@ligi.de>
* abi/bind/backends: testcase for double-lock

* accounts: add blockByNumberNoLock to avoid double-lock

* backend/simulated: use stateroot, not blockhash for retrieveing state

Co-authored-by: Martin Holst Swende <martin@swende.se>
* trie: implement range proof with non-existent edge proof

* trie: fix cornercase

* trie: consider empty range

* trie: add singleSide test

* trie: support all-elements range proof

* trie: fix typo

* trie: tiny typos and formulations

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
This PR reimplements the light client server pool. It is also a first step
to move certain logic into a new lespay package. This package will contain
the implementation of the lespay token sale functions, the token buying and
selling logic and other components related to peer selection/prioritization
and service quality evaluation. Over the long term this package will be
reusable for incentivizing future protocols.

Since the LES peer logic is now based on enode.Iterator, it can now use
DNS-based fallback discovery to find servers.

This document describes the function of the new components:
https://gist.github.com/zsfelfoldi/3c7ace895234b7b345ab4f71dab102d4
* metrics/prometheus: define type once for histograms

* metrics/prometheus: test collector
…1073)

* ethstats: avoid blocking chan when received invalid stats request

* ethstats: minor code polishes

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
* trie: fix for range proof

* trie: fix typo
* build: upgrade to golangci-lint v1.27.0

* build: raise lint timeout to 3 minutes
This adds a new API method on core.BlockChain to allow interrupting
running data inserts, and calls the method before shutting down the
downloader.

The BlockChain interrupt checks are now done through a method instead
of inlining the atomic load everywhere. There is no loss of efficiency from
this and it makes the interrupt protocol a lot clearer because the check is
defined next to the method that sets the flag.
Co-authored-by: linjing <linjingjing@baidu.com>
* trie: add hasRightElement indicator

* trie: ensure the range is monotonic increasing

* trie: address comment and fix lint

* trie: address comment

* trie: make linter happy

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
This PR makes use of go 1.13 error handling, wrapping errors and using
errors.Is to check a wrapped root-cause. It also removes the travis
builders for go 1.11 and go 1.12.
* replace gosigar with gopsutil

* removed check for whether GOOS is openbsd

* removed accidental import of runtime

* potential fix for difference in units between gosig and gopsutil

* fixed lint error

* remove multiplication factor

* uses cpu.ClocksPerSec as the multiplication factor

* changed dependency from shirou to renaynay (#20)

* updated dep

* switching back from using renaynay fork to using upstream as PRs were merged on upstream

* removed empty line

* optimized imports

* tidied go mod
* core/vm: implement EIP 2315, subroutines for the EVM

* core/vm: eip 2315 - lintfix + check jump dest validity + check ret stack size constraints

  logger: markdown-friendly traces, validate jumpdest, more testcase, correct opcodes

* core/vm: update subroutines acc to eip: disallow walk-into

* core/vm/eips: gas cost changes for subroutines

* core/vm: update opcodes for EIP-2315

* core/vm: define RETURNSUB as a 'jumping' operation + review concerns

Co-authored-by: Martin Holst Swende <martin@swende.se>
This moves all v4 protocol definitions to a new package, p2p/discover/v4wire.
The new package will be used for low-level protocol tests.
* rpc: send websocket ping when connection is idle

* rpc: use non-blocking send for websocket pingReset
@CLAassistant
Copy link

CLAassistant commented Feb 15, 2021

CLA assistant check
All committers have signed the CLA.

@ricardolyn ricardolyn changed the base branch from master to upgrade/go-ethereum/v1.9.15-2021212113514 February 15, 2021 13:07
Base automatically changed from upgrade/go-ethereum/v1.9.15-2021212113514 to master February 19, 2021 09:46
@ricardolyn ricardolyn marked this pull request as ready for review February 19, 2021 10:56
Copy link
Contributor

@nmvalera nmvalera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ricardolyn ricardolyn merged commit 6e8585c into master Feb 23, 2021
@ricardolyn ricardolyn deleted the upgrade/go-ethereum/v1.9.16-2021215130719 branch February 23, 2021 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.