good morning!!!!

Skip to content
Snippets Groups Projects
  1. Nov 04, 2020
    • Marius van der Wijden's avatar
      common: remove ToHex and ToHexArray (#21610) · 3eebf340
      Marius van der Wijden authored
      ToHex was deprecated a couple years ago. The last remaining use
      was in ToHexArray, which itself only had a single call site.
      
      This just moves ToHexArray near its only remaining call site and
      implements it using hexutil.Encode. This changes the default behaviour
      of ToHexArray and with it the behaviour of eth_getProof. Previously we
      encoded an empty slice as 0, now the empty slice is encoded as 0x.
      3eebf340
  2. Oct 30, 2020
    • Gary Rong's avatar
      les, p2p/simulations/adapters: fix issues found while simulating les (#21761) · b63bffe8
      Gary Rong authored
      This adds a few tiny fixes for les and the p2p simulation framework:
      
      LES Parts
      
      - Keep the LES-SERVER connection even it's non-synced
      
        We had this idea to reject the connections in LES protocol if the les-server itself is
        not synced. However, in LES protocol we will also receive the connection from another
        les-server. In this case even the local node is not synced yet, we should keep the tcp
        connection for other protocols(e.g. eth protocol).
      
      - Don't count "invalid message" for non-existing GetBlockHeadersMsg request
      
        In the eth syncing mechanism (full sync, fast sync, light sync), it will try to fetch
        some non-existent blocks or headers(to ensure we indeed download all the missing chain).
        In this case, it's possible that the les-server will receive the request for
        non-existent headers. So don't count it as the "invalid message" for scheduling
        dropping.
      
      - Copy the announce object in the closure
      
        Before the les-server pushes the latest headers to all connected clients, it will create
        a closure and queue it in the underlying request scheduler. In some scenarios it's
        problematic. E.g, in private networks, the block can be mined very fast. So before the
        first closure is executed, we may already update the latest_announce object. So actually
        the "announce" object we want to send is replaced.
      
        The downsize is the client will receive two announces with the same td and then drop the
        server.
      
      P2P Simulation Framework
      
      - Don't double register the protocol services in p2p-simulation "Start".
      
        The protocols upon the devp2p are registered in the "New node stage". So don't reigster
        them again when starting a node in the p2p simulation framework
      
      - Add one more new config field "ExternalSigner", in order to use clef service in the
        framework.
      b63bffe8
  3. Oct 29, 2020
    • Gary Rong's avatar
      core: improve snapshot journal recovery (#21594) · b63e3c37
      Gary Rong authored
      
      * core/state/snapshot: introduce snapshot journal version
      
      * core: update the disk layer in an atomic way
      
      * core: persist the disk layer generator periodically
      
      * core/state/snapshot: improve logging
      
      * core/state/snapshot: forcibly ensure the legacy snapshot is matched
      
      * core/state/snapshot: add debug logs
      
      * core, tests: fix tests and special recovery case
      
      * core: polish
      
      * core: add more blockchain tests for snapshot recovery
      
      * core/state: fix comment
      
      * core: add recovery flag for snapshot
      
      * core: add restart after start-after-crash tests
      
      * core/rawdb: fix imports
      
      * core: fix tests
      
      * core: remove log
      
      * core/state/snapshot: fix snapshot
      
      * core: avoid callbacks in SetHead
      
      * core: fix setHead cornercase where the threshold root has state
      
      * core: small docs for the test cases
      
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      b63e3c37
  4. Oct 28, 2020
  5. Oct 27, 2020
  6. Oct 26, 2020
  7. Oct 23, 2020
  8. Oct 21, 2020
  9. Oct 20, 2020
  10. Oct 16, 2020
  11. Oct 15, 2020
  12. Oct 14, 2020
  13. Oct 13, 2020
    • Marius van der Wijden's avatar
      accounts/keystore: fix flaky test (#21703) · 1fed2234
      Marius van der Wijden authored
      * 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
      1fed2234
    • Martin Holst Swende's avatar
      miner: don't interrupt mining after successful sync (#21701) · 1e104891
      Martin Holst Swende authored
      
      * miner: exit loop when downloader Done or Failed
      
      Following the logic of the comment at the method,
      this fixes a regression introduced at 7cf56d6f
      , which would allow external parties to DoS with
      blocks, preventing mining progress.
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * miner: remove ineff assign (lint)
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * miner: update test re downloader events
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      
      * miner: fix test regarding downloader event/mining expectations
      
      See comment for logic.
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      
      * miner: improve comment wording
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * miner: start mining on downloader events iff not already mining
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      
      * miner: fix handling downloader events on subcription closed
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * miner: (lint:gosimple) use range over chan instead of for/select
      
      Signed-off-by: default avatarmeows <b5c6@protonmail.com>
      
      * 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: default avatarmeows <b5c6@protonmail.com>
      1e104891
    • Giuseppe Bertone's avatar
      2a9ea6be
    • Martin Holst Swende's avatar
      eth, p2p: use truncated names (#21698) · 7a5a8229
      Martin Holst Swende authored
      
      * 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: default avatarMarius van der Wijden <m.vanderwijden@live.de>
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      7a5a8229
    • mr_franklin's avatar
      internal/web3ext: improve some web3 apis (#21639) · 5c6155f9
      mr_franklin authored
      
      * imporve some web3-ext apis
      
      * Update web3ext.go
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      5c6155f9
    • Martin Holst Swende's avatar
    • mr_franklin's avatar
    • mr_franklin's avatar
    • Hanjiang Yu's avatar
      console: fix admin.sleepBlocks (#21629) · 32341f88
      Hanjiang Yu authored
      32341f88
  14. Oct 12, 2020
  15. Oct 09, 2020
Loading