commit 8c2f271528f9cccf541c6ea1c022e98407f26872 Author: Felix Lange Date: Thu Oct 15 12:29:42 2020 +0200 params: go-ethereum v1.9.23 stable commit 524aaf5ec65826e19c35f66ddaf1882ad85caf9c Author: Felix Lange Date: Wed Oct 14 12:28:17 2020 +0200 p2p/discover: implement v5.1 wire protocol (#21647) This change implements the Discovery v5.1 wire protocol and also adds an interactive test suite for this protocol. commit 4eb01b21c8691e277ea9d4048038ede7f9621a82 Author: Martin Holst Swende Date: Wed Oct 14 11:59:11 2020 +0200 miner: set etherbase even if mining isn't possible at the moment (#21707) commit bdc755491874426323d245918478e49b1998e427 Author: Gary Rong Date: Wed Oct 14 17:57:37 2020 +0800 params: update CHTs (#21706) commit 1fed2234833aa49ff728474208a65cbc23682ee4 Author: Marius van der Wijden Date: Tue Oct 13 19:46:43 2020 +0200 accounts/keystore: fix flaky test (#21703) * accounts/keystore: add timeout to test to prevent failure on travis The TestWalletNotifications test sporadically fails on travis. This is because we shutdown the event collection before all events are received. Adding a small timeout (10 milliseconds) allows the collector to be scheduled and to consume all pending events before we shut it down. * accounts/keystore: added newlines back in * accounts/keystore: properly fix the walletNotifications test commit 1e10489196fd42ed553ba4ef8bbb547c38042eed Author: Martin Holst Swende Date: Tue Oct 13 14:12:06 2020 +0200 miner: don't interrupt mining after successful sync (#21701) * miner: exit loop when downloader Done or Failed Following the logic of the comment at the method, this fixes a regression introduced at 7cf56d6f064869cb62b1673f9ee437020c595391 , which would allow external parties to DoS with blocks, preventing mining progress. Signed-off-by: meows * miner: remove ineff assign (lint) Signed-off-by: meows * miner: update test re downloader events Signed-off-by: meows * Revert "miner: remove ineff assign (lint)" This reverts commit eaefcd34ab4862ebc936fb8a07578aa2744bc058. * Revert "miner: exit loop when downloader Done or Failed" This reverts commit 23abd34265aa246c38fc390bb72572ad6ae9fe3b. * miner: add test showing imprecise TestMiner Signed-off-by: meows * miner: fix waitForMiningState precision This helper function would return an affirmation on the first positive match on a desired bool. This was imprecise; it return false positives by not waiting initially for an 'updated' value. This fix causes TestMiner_2 to fail, which is expected. Signed-off-by: meows * miner: remove TestMiner_2 demonstrating broken test This test demonstrated the imprecision of the test helper function waitForMiningState. This function has been fixed with 6d365c2851, and this test test may now be removed. Signed-off-by: meows * miner: fix test regarding downloader event/mining expectations See comment for logic. Signed-off-by: meows * miner: add test describing expectations for downloader/mining events We expect that once the downloader emits a DoneEvent, signaling a successful sync, that subsequent StartEvents are not longer permitted to stop the miner. This prevents a security vulnerability where forced syncs via fake high blocks would stall mining operation. Signed-off-by: meows * miner: use 'canStop' state to fix downloader event handling - Break downloader event handling into event separating Done and Failed events. We need to treat these cases differently since a DoneEvent should prevent the miner from being stopped on subsequent downloader Start events. - Use canStop state to handle the one-off case when a downloader first succeeds. Signed-off-by: meows * miner: improve comment wording Signed-off-by: meows * miner: start mining on downloader events iff not already mining Signed-off-by: meows * miner: refactor miner update logic w/r/t downloader events This makes mining pause/start logic regarding downloader events more explicit. Instead of eternally handling downloader events after the first done event, the subscription is closed when downloader events are no longer actionable. Signed-off-by: meows * miner: fix handling downloader events on subcription closed Signed-off-by: meows * miner: (lint:gosimple) use range over chan instead of for/select Signed-off-by: meows * miner: refactor update loop to remove race condition The go routine handling the downloader events handling vars in parallel with the parent routine, causing a race condition. This change, though ugly, remove the condition while still allowing the downloader event subscription to be closed when the miner has no further use for it (ie DoneEvent). * miner: alternate fix for miner-flaw Co-authored-by: meows commit 2a9ea6be87a282ae3d0171a631076ea983d02477 Author: Giuseppe Bertone Date: Tue Oct 13 13:33:10 2020 +0200 cmd/geth, cmd/utils: fixed flags name (#21700) commit 7a5a822905d95456a108db52ee68871a73dc54f1 Author: Martin Holst Swende Date: Tue Oct 13 13:28:24 2020 +0200 eth, p2p: use truncated names (#21698) * peer: return localAddr instead of name to prevent spam We currently use the name (which can be freely set by the peer) in several log messages. This enables malicious actors to write spam into your geth log. This commit returns the localAddr instead of the freely settable name. * p2p: reduce usage of peer.Name in warn messages * eth, p2p: use truncated names * Update peer.go Co-authored-by: Marius van der Wijden Co-authored-by: Felix Lange commit 5c6155f9f49bfef173c4107979185aec59806c38 Author: mr_franklin Date: Tue Oct 13 19:24:08 2020 +0800 internal/web3ext: improve some web3 apis (#21639) * imporve some web3-ext apis * Update web3ext.go Co-authored-by: Felix Lange