good morning!!!!

Skip to content
Snippets Groups Projects
  1. Dec 12, 2020
  2. Dec 11, 2020
    • Martin Holst Swende's avatar
      core, eth, les: implement unclean-shutdown marker (#21893) · 4d48980e
      Martin Holst Swende authored
      
      This PR implements unclean shutdown marker. Every time geth boots, it adds a timestamp to a list of timestamps in the database. This list is capped at 10. At a clean shutdown, the timestamp is removed again. 
      Thus, when geth exits unclean, the marker remains, and at boot up we show the most recent unclean shutdowns to the user, which makes it easier to diagnose root-causes to certain problems. 
      
      Co-authored-by: default avatarNagy Salem <me@muhnagy.com>
      4d48980e
    • Mr-Leshiy's avatar
    • Martin Holst Swende's avatar
      consensus/ethash: implement faster difficulty calculators (#21976) · efe6dd29
      Martin Holst Swende authored
      This PR adds re-written difficulty calculators, which are based on uint256. It also adds a fuzzer + oss-fuzz integration for the new fuzzer. It does differential fuzzing between the new and old calculators.
      
      Note: this PR does not actually enable the new calculators.
      efe6dd29
    • Gary Rong's avatar
      core/txpool: remove "local" notion from the txpool price heap (#21478) · 88c69624
      Gary Rong authored
      * core: separate the local notion from the pricedHeap
      
      * core: add benchmarks
      
      * core: improve tests
      
      * core: address comments
      
      * core: degrade the panic to error message
      
      * core: fix typo
      
      * core: address comments
      
      * core: address comment
      
      * core: use PEAK instead of POP
      
      * core: address comments
      88c69624
    • Mudit Gupta's avatar
      cmd/faucet: use Twitter API instead of scraping webpage (#21850) · b47f4ca5
      Mudit Gupta authored
      This PR adds support for using Twitter API to query the tweet and author details. There are two reasons behind this change:
      
      - Twitter will be deprecating the legacy website on 15th December. The current method is expected to stop working then.
      - More importantly, the current system uses Twitter handle for spam protection but the Twitter handle can be changed via automated calls. This allows bots to use the same tweet to withdraw funds infinite times as long as they keep changing their handle between every request. The Rinkeby as well as the Goerli faucet are being actively drained via this method. This PR changes the spam protection to be based on Twitter IDs instead of usernames. A user can not change their Twitter ID.
      b47f4ca5
    • lzhfromustc's avatar
      miner, test: fix potential goroutine leak (#21989) · 62dc59c2
      lzhfromustc authored
      In miner/worker.go, there are two goroutine using channel w.newWorkCh: newWorkerLoop() sends to this channel, and mainLoop() receives from this channel. Only the receive operation is in a select.
      
      However, w.exitCh may be closed by another goroutine. This is fine for the receive since receive is in select, but if the send operation is blocking, then it will block forever. This commit puts the send in a select, so it won't block even if w.exitCh is closed.
      
      Similarly, there are two goroutines using channel errc: the parent that runs the test receives from it, and the child created at line 573 sends to it. If the parent goroutine exits too early by calling t.Fatalf() at line 614, then the child goroutine will be blocked at line 574 forever. This commit adds 1 buffer to errc. Now send will not block, and receive is not influenced because receive still needs to wait for the send.
      62dc59c2
    • Guillaume Ballet's avatar
      les: rework float conversion on arm64 and other architectures (#21994) · 1a715d7d
      Guillaume Ballet authored
      The previous fix #21960 converted the float to an intermediate signed int, before attempting the uint conversion. Although this works, this doesn't guarantee that other architectures will work the same.
      1a715d7d
    • Felix Lange's avatar
      params: begin v1.9.26 release cycle · fc0662bb
      Felix Lange authored
      fc0662bb
    • Felix Lange's avatar
      params: go-ethereum v1.9.25 stable · e7872729
      Felix Lange authored
      e7872729
    • Felix Lange's avatar
      build: upgrade to Go 1.15.6 (#21986) · 1d1f5fea
      Felix Lange authored
      1d1f5fea
  3. Dec 10, 2020
  4. Dec 09, 2020
    • Felix Lange's avatar
      p2p/enode: avoid crashing for invalid IP (#21981) · 817a3fb5
      Felix Lange authored
      The database panicked for invalid IPs. This is usually no problem
      because all code paths leading to node DB access verify the IP, but it's
      dangerous because improper validation can turn this panic into a DoS
      vulnerability. The quick fix here is to just turn database accesses
      using invalid IP into a noop. This isn't great, but I'm planning to
      remove the node DB for discv5 long-term, so it should be fine to have
      this quick fix for half a year.
      
      Fixes #21849
      817a3fb5
    • Felix Lange's avatar
      crypto/signify, build: fix archive signing with signify (#21977) · f935b1d5
      Felix Lange authored
      This fixes some issues in crypto/signify and makes release signing work.
      
      The archive signing step in ci.go used getenvBase64, which decodes the key data.
      This is incorrect here because crypto/signify already base64-decodes the key.
      f935b1d5
    • Martin Holst Swende's avatar
    • Martin Holst Swende's avatar
      core,les: headerchain import in batches (#21471) · 40b6ccf3
      Martin Holst Swende authored
      
      * core: add test for headerchain inserts
      
      * core, light: write headerchains in batches
      
      * core: change to one callback per batch of inserted headers + review concerns
      
      * core: error-check on batch write
      
      * core: unexport writeHeaders
      
      * core: remove callback parameter in InsertHeaderChain
      
      The semantics of InsertHeaderChain are now much simpler: it is now an
      all-or-nothing operation. The new WriteStatus return value allows
      callers to check for the canonicality of the insertion. This change
      simplifies use of HeaderChain in package les, where the callback was
      previously used to post chain events.
      
      * core: skip some hashing when writing headers
      
      * core: less hashing in header validation
      
      * core: fix headerchain flaw regarding blacklisted hashes
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      40b6ccf3
  5. Dec 08, 2020
    • Li, Cheng's avatar
      common: improve printing of Hash and Address (#21834) · bd848aad
      Li, Cheng authored
      
      Both Hash and Address have a String method, which returns the value as
      hex with 0x prefix. They also had a Format method which tried to print
      the value using printf of []byte. The way Format worked was at odds with
      String though, leading to a situation where fmt.Sprintf("%v", hash)
      returned the decimal notation and hash.String() returned a hex string.
      
      This commit makes it consistent again. Both types now support the %v,
      %s, %q format verbs for 0x-prefixed hex output. %x, %X creates
      unprefixed hex output. %d is also supported and returns the decimal
      notation "[1 2 3...]".
      
      For Address, the case of hex characters in %v, %s, %q output is
      determined using the EIP-55 checksum. Using %x, %X with Address
      disables checksumming.
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      bd848aad
    • Marius van der Wijden's avatar
      accounts/abi/bind: allow specifying signer on transactOpts (#21356) · ed0670cb
      Marius van der Wijden authored
      This commit enables users to specify which signer they want to use while creating their transactOpts.
      Previously all contract interactions used the homestead signer. Now a user can specify whether they
      want to sign with homestead or EIP155 and specify the chainID which adds another layer of security.
      
      Closes #16484
      ed0670cb
    • Steve Ruckdashel's avatar
      crypto/secp256k1: add workaround for go mod vendor (#21735) · 6a4e7300
      Steve Ruckdashel authored
      Go won't vendor C files if there are no Go files present in the directory.
      Workaround is to add dummy Go files.
      
      Fixes: #20232
      6a4e7300
  6. Dec 07, 2020
  7. Dec 04, 2020
    • Martin Holst Swende's avatar
      cmd/geth: implement vulnerability check (#21859) · 15339cf1
      Martin Holst Swende authored
      
      * cmd/geth: implement vulnerability check
      
      * cmd/geth: use minisign to verify vulnerability feed
      
      * cmd/geth: add the test too
      
      * cmd/geth: more minisig/signify testing
      
      * cmd/geth: support multiple pubfiles for signing
      
      * cmd/geth: add @holiman minisig pubkey
      
      * cmd/geth: polishes on vulnerability check
      
      * cmd/geth: fix ineffassign linter nit
      
      * cmd/geth: add CVE to version check struct
      
      * cmd/geth/testdata: add missing testfile
      
      * cmd/geth: add more keys to versionchecker
      
      * cmd/geth: support file:// URLs in version check
      
      * cmd/geth: improve key ID printing when signature check fails
      
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      15339cf1
    • Martin Holst Swende's avatar
      core: improve contextual information on core errors (#21869) · 7770e41c
      Martin Holst Swende authored
      A lot of times when we hit 'core' errors, example: invalid tx, the information provided is
      insufficient. We miss several pieces of information: what account has nonce too high,
      and what transaction in that block was offending?
      
      This PR adds that information, using the new type of wrapped errors.
      It also adds a testcase which (partly) verifies the output from the errors.
      
      The first commit changes all usage of direct equality-checks on core errors, into
      using errors.Is. The second commit adds contextual information. This wraps most
      of the core errors with more information, and also wraps it one more time in
      stateprocessor, to further provide tx index and tx hash, if such a tx is encoutered in
      a block. The third commit uses the chainmaker to try to generate chains with such
      errors in them, thus triggering the errors and checking that the generated string meets
      expectations.
      7770e41c
    • Chris Ziogas's avatar
      core/vm/runtime: remove duplicated line (#21956) · 62cedb3a
      Chris Ziogas authored
      This line is duplicated, though it doesn't cause any issues. 
      62cedb3a
  8. Dec 03, 2020
  9. Dec 02, 2020
  10. Dec 01, 2020
  11. Nov 30, 2020
  12. Nov 29, 2020
    • Kristofer Peterson's avatar
      accounts, signer: fix Ledger Live account derivation path (clef) (#21757) · b71334ac
      Kristofer Peterson authored
      
      * signer/core/api: fix derivation of ledger live accounts
      
      For ledger hardware wallets, change account iteration as follows:
      
      - ledger legacy: m/44'/60'/0'/X; for 0<=X<5
      - ledger live: m/44'/60'/0'/0/X; for 0<=X<5
      
      - ledger legacy: m/44'/60'/0'/X; for 0<=X<10
      - ledger live: m/44'/60'/X'/0/0; for 0<=X<10
      
      Non-ledger derivation is unchanged and remains as:
      - non-ledger: m/44'/60'/0'/0/X; for 0<=X<10
      
      * signer/core/api: derive ten default paths for all hardware wallets, plus ten legacy and ten live paths for ledger wallets
      
      * signer/core/api: as .../0'/0/0 already included by default paths, do not include it again with ledger live paths
      
      * accounts, signer: implement path iterators for hd wallets
      
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      b71334ac
  13. Nov 27, 2020
    • Guillaume Ballet's avatar
      crypto: signing builds with signify/minisign (#21798) · fa572cd2
      Guillaume Ballet authored
      
      * internal/build: implement signify's signing func
      * Add signify to the ci utility
      * fix output file format
      * Add unit test for signify
      * holiman's + travis' feedback
      * internal/build: verify signify's output
      * crypto: move signify to common dir
      * use go-minisign to verify binaries
      * more holiman feedback
      * crypto, ci: support minisign output
      * only accept one-line trusted comments
      * configurable untrusted comments
      * code cleanup in tests
      * revert to use ed25519 from the stdlib
      * bug: fix for empty untrusted comments
      * write timestamp as comment if trusted comment isn't present
      * rename line checker to commentHasManyLines
      * crypto: added signify fuzzer (#6)
      * crypto: added signify fuzzer
      * stuff
      * crypto: updated signify fuzzer to fuzz comments
      * crypto: repro signify crashes
      * rebased fuzzer on build-signify branch
      * hide fuzzer behind gofuzz build flag
      * extract key data inside a single function
      * don't treat \r as a newline
      * travis: fix signing command line
      * do not use an external binary in tests
      * crypto: move signify to crypto/signify
      * travis: fix formatting issue
      * ci: fix linter build after package move
      
      Co-authored-by: default avatarMarius van der Wijden <m.vanderwijden@live.de>
      fa572cd2
  14. Nov 25, 2020
Loading