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.23 #1217

Commits on Sep 28, 2020

  1. Configuration menu
    Copy the full SHA
    c995914 View commit details
    Browse the repository at this point in the history
  2. accounts/abi: ABI explicit difference between Unpack and UnpackIntoIn…

    …terface (#21091)
    
    * accounts/abi: refactored abi.Unpack
    
    * accounts/abi/bind: fixed error
    
    * accounts/abi/bind: modified template
    
    * accounts/abi/bind: added ToStruct for conversion
    
    * accounts/abi: reenabled tests
    
    * accounts/abi: fixed tests
    
    * accounts/abi: fixed tests for packing/unpacking
    
    * accounts/abi: fixed tests
    
    * accounts/abi: added more logic to ToStruct
    
    * accounts/abi/bind: fixed template
    
    * accounts/abi/bind: fixed ToStruct conversion
    
    * accounts/abi/: removed unused code
    
    * accounts/abi: updated template
    
    * accounts/abi: refactored unused code
    
    * contracts/checkpointoracle: updated contracts to sol ^0.6.0
    
    * accounts/abi: refactored reflection logic
    
    * accounts/abi: less code duplication in Unpack*
    
    * accounts/abi: fixed rebasing bug
    
    * fix a few typos in comments
    
    * rebase on master
    
    Co-authored-by: Guillaume Ballet <gballet@gmail.com>
    MariusVanDerWijden and gballet authored Sep 28, 2020
    Configuration menu
    Copy the full SHA
    420b786 View commit details
    Browse the repository at this point in the history
  3. mobile: added constructor for big int (#21597)

    * mobile: added constructor for big int
    
    * mobile: tiny nitpick
    MariusVanDerWijden authored Sep 28, 2020
    Configuration menu
    Copy the full SHA
    a90e645 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0ddd461 View commit details
    Browse the repository at this point in the history
  5. core: free pointer from slice after popping element from price heap (…

    …#21572)
    
    * Fix potential memory leak in price heap
    
    * core: nil free pointer slice (alternative version)
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    aaronbuchwald and holiman authored Sep 28, 2020
    Configuration menu
    Copy the full SHA
    eebfb13 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a04294d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b007df8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6660929 View commit details
    Browse the repository at this point in the history
  9. build: keep geth-sources.jar build result for JavaDoc (#21596)

    * ci: tooltips for javadoc for mobile app
    
    * f space
    MariusVanDerWijden authored Sep 28, 2020
    Configuration menu
    Copy the full SHA
    901471f View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2020

  1. Configuration menu
    Copy the full SHA
    4ee11b0 View commit details
    Browse the repository at this point in the history
  2. trie: use stacktrie for Derivesha operation (#21407)

    core/types: use stacktrie for derivesha
    
    trie: add stacktrie file
    
    trie: fix linter
    
    core/types: use stacktrie for derivesha
    
    rebased: adapt stacktrie to the newer version of DeriveSha
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    
    More linter fixes
    
    review feedback: no key offset for nodes converted to hashes
    
    trie: use EncodeRLP for full nodes
    
    core/types: insert txs in order in derivesha
    
    trie: tests for derivesha with stacktrie
    
    trie: make stacktrie use pooled hashers
    
    trie: make stacktrie reuse tmp slice space
    
    trie: minor polishes on stacktrie
    
    trie/stacktrie: less rlp dancing
    
    core/types: explain the contorsions in DeriveSha
    
    ci: fix goimport errors
    
    trie: clear mem on subtrie hashing
    
    squashme: linter fix
    
    stracktrie: use pooling, less allocs (#3)
    
    trie: in-place hex prefix, reduce allocs and add rawNode.EncodeRLP
    
    Reintroduce the `[]node` method, add the missing `EncodeRLP` implementation for `rawNode` and calculate the hex prefix in place.
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    gballet and holiman authored Sep 29, 2020
    Configuration menu
    Copy the full SHA
    6c8310e View commit details
    Browse the repository at this point in the history
  3. accounts, signer: implement gnosis safe support (#21593)

    * accounts, signer: implement gnosis safe support
    
    * common/math: add type for marshalling big to dec
    
    * accounts, signer: properly sign gnosis requests
    
    * signer, clef: implement account_signGnosisTx
    
    * signer: fix auditlog print, change rpc-name (signGnosisTx to signGnosisSafeTx)
    
    * signer: pass validation-messages/warnings to the UI for gnonsis-safe txs
    
    * signer/core: minor change to validationmessages of typed data
    holiman authored Sep 29, 2020
    Configuration menu
    Copy the full SHA
    dad2658 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2020

  1. trie: polishes to trie committer (#21351)

    * trie: update tests to check commit integrity
    
    * trie: polish committer
    
    * trie: fix typo
    
    * trie: remove hasvalue notion
    
    According to the benchmarks, type assertion between the pointer and
    interface is extremely fast.
    
    BenchmarkIntmethod-12           1000000000               1.91 ns/op
    BenchmarkInterface-12           1000000000               2.13 ns/op
    BenchmarkTypeSwitch-12          1000000000               1.81 ns/op
    BenchmarkTypeAssertion-12       2000000000               1.78 ns/op
    
    So the overhead for asserting whether the shortnode has "valuenode"
    child is super tiny. No necessary to have another field.
    
    * trie: linter nitpicks
    
    Co-authored-by: Martin Holst Swende <martin@swende.se>
    rjl493456442 and holiman authored Sep 30, 2020
    Configuration menu
    Copy the full SHA
    053ed9c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9d1e202 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2020

  1. core/state/snapshot: stop generator if it hits missing trie nodes (#2…

    …1649)
    
    * core/state/snapshot: exit Geth if generator hits missing trie nodes
    
    * core/state/snapshot: error instead of hard die on generator fault
    
    * core/state/snapshot: don't enable logging on the tests
    karalabe authored Oct 5, 2020
    Configuration menu
    Copy the full SHA
    a15d71a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d9890a6 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2020

  1. params: update goerli testnet bootnodes (#21659)

    * params: update pegasys besu bootnode
    
    * params: update goerli initiative bootnodes
    q9f authored Oct 6, 2020
    Configuration menu
    Copy the full SHA
    2b2fd74 View commit details
    Browse the repository at this point in the history
  2. core/bloombits: faster generator (#21625)

    * core/bloombits: add benchmark
    
    * core/bloombits: optimize inserts
    holiman authored Oct 6, 2020
    Configuration menu
    Copy the full SHA
    eb87121 View commit details
    Browse the repository at this point in the history
  3. core/types: optimize bloom filters (#21624)

    * core/types: tests for bloom
    
    * core/types: refactored bloom filter for receipts, added tests
    
    core/types: replaced old bloom implementation
    
    core/types: change interface of bloom add+test
    
    * core/types: refactor bloom
    
    * core/types: minor tweak on LogsBloom
    
    Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
    holiman and MariusVanDerWijden authored Oct 6, 2020
    Configuration menu
    Copy the full SHA
    e43d827 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2020

  1. cmd/devp2p/internal/ethtest: improve eth test suite (#21615)

    This fixes issues with the protocol handshake and status exchange
    and adds support for responding to GetBlockHeaders requests.
    renaynay authored Oct 7, 2020
    Configuration menu
    Copy the full SHA
    716864d View commit details
    Browse the repository at this point in the history
  2. node: relax websocket connection header check (#21646)

    This makes it accept the "upgrade,keep-alive" header value, which
    apparently is a thing.
    fjl authored Oct 7, 2020
    Configuration menu
    Copy the full SHA
    015e789 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2020

  1. signer/core: don't mismatch reject and no accounts (#21677)

    * signer/core: don't mismatch reject and zero accounts, fixes #21674
    
    * signer/core: docs
    holiman authored Oct 8, 2020
    Configuration menu
    Copy the full SHA
    6d29e19 View commit details
    Browse the repository at this point in the history
  2. p2p/discover: remove use of shared hash instance for key derivation (…

    …#21673)
    
    For some reason, using the shared hash causes a cryptographic incompatibility
    when using Go 1.15. I noticed this during the development of Discovery v5.1
    when I added test vector verification.
    
    The go library commit that broke this is golang/go@97240d5, but the
    way we used HKDF is slightly dodgy anyway and it's not a regression.
    fjl authored Oct 8, 2020
    Configuration menu
    Copy the full SHA
    5e86e4e View commit details
    Browse the repository at this point in the history
  3. core/vm: dedup config check in markdown logger (#21655)

    * core/vm: dedup config check
    
    * review feedback: reuse buffer
    gballet authored Oct 8, 2020
    Configuration menu
    Copy the full SHA
    43cd31e View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2020

  1. eth/downloader: fix data race around the ancientlimit (#21681)

    * eth/downloader: fix data race around the ancientlimit
    
    * eth/downloader: initialize the ancientlimit as 0
    rjl493456442 authored Oct 9, 2020
    Configuration menu
    Copy the full SHA
    905ed10 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    19a1c95 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    706f5e3 View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2020

  1. trie: polish commit function (#21692)

    * trie: polish commit function
    
    * trie: fix typo
    rjl493456442 authored Oct 12, 2020
    Configuration menu
    Copy the full SHA
    86dd005 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    66c3eb2 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2020

  1. Configuration menu
    Copy the full SHA
    32341f8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c37e68e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    94d1f58 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    348c3bc View commit details
    Browse the repository at this point in the history
  5. internal/web3ext: improve some web3 apis (#21639)

    * imporve some web3-ext apis
    
    * Update web3ext.go
    
    Co-authored-by: Felix Lange <fjl@twurst.com>
    mrFranklin and fjl authored Oct 13, 2020
    Configuration menu
    Copy the full SHA
    5c6155f View commit details
    Browse the repository at this point in the history
  6. 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 <m.vanderwijden@live.de>
    Co-authored-by: Felix Lange <fjl@twurst.com>
    3 people authored Oct 13, 2020
    Configuration menu
    Copy the full SHA
    7a5a822 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2a9ea6b View commit details
    Browse the repository at this point in the history
  8. 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 7cf56d6
    , which would allow external parties to DoS with
    blocks, preventing mining progress.
    
    Signed-off-by: meows <b5c6@protonmail.com>
    
    * miner: remove ineff assign (lint)
    
    Signed-off-by: meows <b5c6@protonmail.com>
    
    * miner: update test re downloader events
    
    Signed-off-by: meows <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: meows <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: meows <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: meows <b5c6@protonmail.com>
    
    * miner: fix test regarding downloader event/mining expectations
    
    See comment for logic.
    
    Signed-off-by: meows <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: meows <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: meows <b5c6@protonmail.com>
    
    * miner: improve comment wording
    
    Signed-off-by: meows <b5c6@protonmail.com>
    
    * miner: start mining on downloader events iff not already mining
    
    Signed-off-by: meows <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: meows <b5c6@protonmail.com>
    
    * miner: fix handling downloader events on subcription closed
    
    Signed-off-by: meows <b5c6@protonmail.com>
    
    * miner: (lint:gosimple) use range over chan instead of for/select
    
    Signed-off-by: meows <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: meows <b5c6@protonmail.com>
    holiman and meowsbits authored Oct 13, 2020
    Configuration menu
    Copy the full SHA
    1e10489 View commit details
    Browse the repository at this point in the history
  9. 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
    MariusVanDerWijden authored Oct 13, 2020
    Configuration menu
    Copy the full SHA
    1fed223 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. Configuration menu
    Copy the full SHA
    bdc7554 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4eb01b2 View commit details
    Browse the repository at this point in the history
  3. 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.
    fjl authored Oct 14, 2020
    Configuration menu
    Copy the full SHA
    524aaf5 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. Configuration menu
    Copy the full SHA
    8c2f271 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2021

  1. Configuration menu
    Copy the full SHA
    f81409a View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2021

  1. fix: adapt to #21091

    - Update generated code (abigen, done with go generate)
    - Change Unpack to UnpacIntoInterface
    - Unused dependency (gotest.tools)
    baptiste-b-pegasys committed Jun 21, 2021
    Configuration menu
    Copy the full SHA
    5d9d65d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1d0c78 View commit details
    Browse the repository at this point in the history