good morning!!!!

Skip to content
Snippets Groups Projects
  1. Mar 12, 2021
    • lightclient's avatar
      all: add support for EIP-2718, EIP-2930 transactions (#21502) · 50d97530
      lightclient authored
      
      This adds support for EIP-2718 typed transactions as well as EIP-2930
      access list transactions (tx type 1). These EIPs are scheduled for the
      Berlin fork.
      
      There very few changes to existing APIs in core/types, and several new APIs
      to deal with access list transactions. In particular, there are two new
      constructor functions for transactions: types.NewTx and types.SignNewTx.
      Since the canonical encoding of typed transactions is not RLP-compatible,
      Transaction now has new methods for encoding and decoding: MarshalBinary
      and UnmarshalBinary.
      
      The existing EIP-155 signer does not support the new transaction types.
      All code dealing with transaction signatures should be updated to use the
      newer EIP-2930 signer. To make this easier for future updates, we have
      added new constructor functions for types.Signer: types.LatestSigner and
      types.LatestSignerForChainID.
      
      This change also adds support for the YoloV3 testnet.
      
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      Co-authored-by: default avatarFelix Lange <fjl@twurst.com>
      Co-authored-by: default avatarRyan Schneider <ryanleeschneider@gmail.com>
      # Conflicts:
      #	accounts/abi/bind/backends/simulated.go
      #	cmd/evm/internal/t8ntool/execution.go
      #	cmd/evm/internal/t8ntool/transition.go
      #	cmd/geth/main.go
      #	cmd/geth/usage.go
      #	core/bench_test.go
      #	core/state/statedb.go
      #	core/state_prefetcher.go
      #	core/state_processor.go
      #	core/state_transition.go
      #	core/tx_pool.go
      #	core/types/block.go
      #	core/types/derive_sha.go
      #	core/types/gen_tx_json.go
      #	core/types/receipt.go
      #	core/types/receipt_test.go
      #	core/types/transaction.go
      #	core/types/transaction_signing.go
      #	core/types/transaction_test.go
      #	ethclient/ethclient.go
      #	ethclient/signer.go
      #	graphql/graphql.go
      #	internal/ethapi/api.go
      #	internal/guide/guide_test.go
      #	les/benchmark.go
      #	les/odr_test.go
      #	light/odr_test.go
      #	light/txpool.go
      #	miner/worker.go
      #	miner/worker_test.go
      #	signer/core/api.go
      #	tests/state_test_util.go
      #	trie/stacktrie_test.go
      #	turbo/stages/blockchain_test.go
      50d97530
  2. Mar 10, 2021
    • gary rong's avatar
      les, light: improve txstatus retrieval (#22349) · b83a20d3
      gary rong authored
      Transaction unindexing will be enabled by default as of 1.10, which causes tx status retrieval will be broken without this PR.
      
      This PR introduces a retry mechanism in TxStatus retrieval.
      # Conflicts:
      #	les/client.go
      #	les/fetcher_test.go
      #	les/handler_test.go
      #	les/odr.go
      #	les/odr_requests.go
      #	les/odr_test.go
      #	les/peer.go
      #	les/pruner_test.go
      #	les/request_test.go
      #	les/sync_test.go
      #	les/test_helper.go
      #	les/ulc_test.go
      #	light/odr.go
      #	light/odr_util.go
      b83a20d3
    • gary rong's avatar
      cmd, eth, les: enable serving light clients when non-synced (#22250) · e602a34f
      gary rong authored
      This PR adds a more CLI flag, so that the les-server can serve light clients even the local node is not synced yet.
      
      This functionality is needed in some testing environments(e.g. hive). After launching the les server, no more blocks will be imported so the node is always marked as "non-synced".
      # Conflicts:
      #	cmd/geth/main.go
      #	cmd/geth/usage.go
      #	cmd/utils/flags.go
      #	eth/ethconfig/gen_config.go
      #	les/server.go
      e602a34f
    • Péter Szilágyi's avatar
    • Péter Szilágyi's avatar
    • Péter Szilágyi's avatar
      travis: bump builders to Bionic · 4b01f400
      Péter Szilágyi authored
      4b01f400
    • Péter Szilágyi's avatar
      travis: bump Android NDK version · 569d23ea
      Péter Szilágyi authored
      569d23ea
    • Péter Szilágyi's avatar
      Dockerfile: bump to Go 1.16 base images · 9f87f514
      Péter Szilágyi authored
      # Conflicts:
      #	Dockerfile
      #	Dockerfile.alltools
      9f87f514
    • Péter Szilágyi's avatar
      accounts/abi/bind: fix up Go mod files for Go 1.16 · e767a6db
      Péter Szilágyi authored
      # Conflicts:
      #	accounts/abi/bind/bind_test.go
      e767a6db
    • Marius van der Wijden's avatar
      internal/ethapi: reject non-replay-protected txs over RPC (#22339) · 96a424ee
      Marius van der Wijden authored
      This PR prevents users from submitting transactions without EIP-155 enabled. This behaviour can be overridden by specifying the flag --rpc.allow-unprotected-txs=true.
      # Conflicts:
      #	cmd/geth/main.go
      #	eth/backend.go
      #	les/api_backend.go
      #	les/client.go
      #	node/config.go
      96a424ee
    • Martin Holst Swende's avatar
      cmd/geth: add db commands stats, compact, put, get, delete (#22014) · fc0778d1
      Martin Holst Swende authored
      This PR introduces:
      
      - db.put to put a value into the database
      - db.get to read a value from the database
      - db.delete to delete a value from the database
      - db.stats to check compaction info from the database
      - db.compact to trigger a db compaction
      
      It also moves inspectdb to db.inspect.
      # Conflicts:
      #	cmd/geth/chaincmd.go
      #	cmd/geth/main.go
      #	cmd/utils/flags.go
      #	core/rawdb/database.go
      #	ethdb/leveldb/leveldb.go
      fc0778d1
    • gary rong's avatar
      les: clean up server handler (#22357) · 5aefc376
      gary rong authored
      # Conflicts:
      #	les/server_handler.go
      #	les/server_requests.go
      5aefc376
    • Felföldi Zsolt's avatar
      tests/fuzzers/les: add fuzzer for les server handler (#22282) · fdd4eb38
      Felföldi Zsolt authored
      
      * les: refactored server handler
      
      * tests/fuzzers/les: add fuzzer for les server handler
      
      * tests, les: update les fuzzer
      
      tests: update les fuzzer
      
      tests/fuzzer/les: release resources
      
      tests/fuzzer/les: pre-initialize all resources
      
      * les: refactored server handler and fuzzer
      
      Co-authored-by: default avatarrjl493456442 <garyrong0905@gmail.com>
      # Conflicts:
      #	les/handler_test.go
      #	les/peer.go
      #	les/protocol.go
      #	les/server_handler.go
      #	les/test_helper.go
      fdd4eb38
    • Felföldi Zsolt's avatar
      les: fix balance expiration (#22343) · 6a4d9d1b
      Felföldi Zsolt authored
      * les/lespay/server: fix balance expiration and add test
      
      * les: move client balances to a new db
      
      * les: rename lespayDb to lesDb
      # Conflicts:
      #	les/client.go
      #	les/clientpool.go
      #	les/commons.go
      #	les/server.go
      #	les/vflux/server/balance_test.go
      #	les/vflux/server/balance_tracker.go
      6a4d9d1b
    • Péter Szilágyi's avatar
      travis, appveyor, build: bump Go to 1.16 · 93b0b487
      Péter Szilágyi authored
      # Conflicts:
      #	build/checksums.txt
      #	build/ci.go
      93b0b487
    • Péter Szilágyi's avatar
      cmd/utils: disable caching preimages by default · f33c516b
      Péter Szilágyi authored
      # Conflicts:
      #	cmd/utils/flags.go
      f33c516b
    • Felföldi Zsolt's avatar
      les: renamed lespay to vflux (#22347) · f440b1fa
      Felföldi Zsolt authored
      # Conflicts:
      #	les/api.go
      #	les/client.go
      #	les/clientpool.go
      #	les/clientpool_test.go
      #	les/peer.go
      #	les/protocol.go
      #	les/server.go
      #	les/server_handler.go
      #	les/serverpool.go
      #	les/serverpool_test.go
      #	les/vflux/client/api.go
      #	les/vflux/client/fillset.go
      #	les/vflux/client/fillset_test.go
      #	les/vflux/client/queueiterator.go
      #	les/vflux/client/queueiterator_test.go
      #	les/vflux/client/requestbasket.go
      #	les/vflux/client/requestbasket_test.go
      #	les/vflux/client/timestats.go
      #	les/vflux/client/timestats_test.go
      #	les/vflux/client/valuetracker.go
      #	les/vflux/client/valuetracker_test.go
      #	les/vflux/client/wrsiterator.go
      #	les/vflux/client/wrsiterator_test.go
      #	les/vflux/server/balance.go
      #	les/vflux/server/balance_test.go
      #	les/vflux/server/balance_tracker.go
      #	les/vflux/server/clientdb.go
      #	les/vflux/server/clientdb_test.go
      #	les/vflux/server/prioritypool.go
      #	les/vflux/server/prioritypool_test.go
      f440b1fa
    • Felix Lange's avatar
      p2p/dnsdisc: fix hot-spin when all trees are empty (#22313) · b958c644
      Felix Lange authored
      In the random sync algorithm used by the DNS node iterator, we first pick a random
      tree and then perform one sync action on that tree. This happens in a loop until any
      node is found. If no trees contain any nodes, the iterator will enter a hot loop spinning
      at 100% CPU.
      
      The fix is complicated. The iterator now checks if a meaningful sync action can
      be performed on any tree. If there is nothing to do, it waits for the next root record
      recheck time to arrive and then tries again.
      
      Fixes #22306
      b958c644
    • Martin Holst Swende's avatar
      eth: implement eth66 (#22241) · d1b207ff
      Martin Holst Swende authored
      * eth/protocols/eth: split up the eth protocol handlers
      
      * eth/protocols/eth: define eth-66 protocol messages
      
      * eth/protocols/eth: poc implement getblockheaders on eth/66
      
      * eth/protocols/eth: implement remaining eth-66 handlers
      
      * eth/protocols: define handler map for eth 66
      
      * eth/downloader: use protocol constants from eth package
      
      * eth/protocols/eth: add ETH66 capability
      
      * eth/downloader: tests for eth66
      
      * eth/downloader: fix error in tests
      
      * eth/protocols/eth: use eth66 for outgoing requests
      
      * eth/protocols/eth: remove unused error type
      
      * eth/protocols/eth: define protocol length
      
      * eth/protocols/eth: fix pooled tx over eth66
      
      * protocols/eth/handlers: revert behavioural change which caused tests to fail
      
      * eth/downloader: fix failing test
      
      * eth/protocols/eth: add testcases + fix flaw with header requests
      
      * eth/protocols: change comments
      
      * eth/protocols/eth: review fixes + fixed flaw in RequestOneHeader
      
      * eth/protocols: documentation
      
      * eth/protocols/eth: review concerns about types
      # Conflicts:
      #	eth/downloader/downloader_test.go
      #	eth/downloader/peer.go
      d1b207ff
    • Martin Holst Swende's avatar
    • Or Neeman's avatar
      rlp: handle case of normal EOF in Stream.readFull (#22336) · 9326a459
      Or Neeman authored
      io.Reader may return n > 0 and io.EOF at the end of the input stream.
      readFull did not handle this correctly, looking only at the error. This fixes
      it to check for n == len(buf) as well.
      9326a459
    • Martin Holst Swende's avatar
      core/state: copy the snap when copying the state (#22340) · 762a8f30
      Martin Holst Swende authored
      * core/state: copy the snap when copying the state
      
      * core/state: deep-copy snap stuff during state Copy
      # Conflicts:
      #	core/state/statedb.go
      762a8f30
    • Martin Holst Swende's avatar
      eth/handler, broadcast: optimize tx broadcast mechanism (#22176) · 5bcef5b9
      Martin Holst Swende authored
      This PR optimizes the broadcast loop. Instead of iterating twice through a given set of transactions to weed out which peers have and which do not have a tx, to send/announce transactions, we do it only once.
      5bcef5b9
    • rene's avatar
      cmd/devp2p/internal/ethtest: use shared message types (#22315) · 254295d9
      rene authored
      This updates the eth protocol test suite to use the message type
      definitions of the 'production' protocol implementation in eth/protocols/eth.
      # Conflicts:
      #	cmd/devp2p/internal/ethtest/chain_test.go
      #	cmd/devp2p/internal/ethtest/suite.go
      #	cmd/devp2p/internal/ethtest/types.go
      254295d9
    • Péter Szilágyi's avatar
      eth: fix snap sync cancellation · f4eb5572
      Péter Szilágyi authored
      # Conflicts:
      #	eth/downloader/downloader.go
      f4eb5572
    • Péter Szilágyi's avatar
      core/state/snapshot: ensure Cap retains a min number of layers · 15884a36
      Péter Szilágyi authored
      # Conflicts:
      #	core/state/snapshot/snapshot.go
      #	core/state/snapshot/snapshot_test.go
      15884a36
    • Guillaume Ballet's avatar
      rpc: increase the number of subscriptions in storm test (#22316) · fdedca6a
      Guillaume Ballet authored
      # Conflicts:
      #	rpc/client_test.go
      fdedca6a
    • Péter Szilágyi's avatar
      trie: fix bloom crash on fast sync restart · 7989d93e
      Péter Szilágyi authored
      # Conflicts:
      #	trie/sync.go
      7989d93e
    • Alex Mazalov's avatar
      cmd/geth: fix js unclean shutdown (#22302) · e609d51b
      Alex Mazalov authored
      # Conflicts:
      #	cmd/geth/consolecmd.go
      e609d51b
    • Guillaume Ballet's avatar
      cmd/utils: add workaround for FreeBSD statfs quirk (#22310) · fbb3e0e2
      Guillaume Ballet authored
      Make geth build on FreeBSD, fixes #22309.
      fbb3e0e2
    • Péter Szilágyi's avatar
      core: fix temp memory blowup caused by defers holding on to state · 7d3d248a
      Péter Szilágyi authored
      # Conflicts:
      #	core/blockchain.go
      7d3d248a
    • rene's avatar
      33ae8fd9
    • Péter Szilágyi's avatar
      cmd/utils, eth/ethconfig: unindex txs older than ~1 year · e7bffb64
      Péter Szilágyi authored
      # Conflicts:
      #	eth/ethconfig/config.go
      e7bffb64
    • Marius van der Wijden's avatar
      accounts/abi/bind: fixed unpacking error (#22230) · 17f12585
      Marius van der Wijden authored
      There was a dormant error with structured inputs that failed unpacking.
      This commit fixes the error by switching casting to the better abi.ConvertType function.
      It also adds a test for calling a view function that returns a struct
      17f12585
    • Sina Mahmoodi's avatar
      internal/debug: add switch to format logs with json (#22207) · 09650bcf
      Sina Mahmoodi authored
      adds a flag --log.json which if enabled makes the client format logs with JSON.
      # Conflicts:
      #	internal/debug/flags.go
      09650bcf
    • Martin Holst Swende's avatar
      1f9850da
    • Péter Szilágyi's avatar
      97fc3ba0
    • gary rong's avatar
      all: bloom-filter based pruning mechanism (#21724) · a9e6250e
      gary rong authored
      
      * cmd, core, tests: initial state pruner
      
      core: fix db inspector
      
      cmd/geth: add verify-state
      
      cmd/geth: add verification tool
      
      core/rawdb: implement flatdb
      
      cmd, core: fix rebase
      
      core/state: use new contract code layout
      
      core/state/pruner: avoid deleting genesis state
      
      cmd/geth: add helper function
      
      core, cmd: fix extract genesis
      
      core: minor fixes
      
      contracts: remove useless
      
      core/state/snapshot: plugin stacktrie
      
      core: polish
      
      core/state/snapshot: iterate storage concurrently
      
      core/state/snapshot: fix iteration
      
      core: add comments
      
      core/state/snapshot: polish code
      
      core/state: polish
      
      core/state/snapshot: rebase
      
      core/rawdb: add comments
      
      core/rawdb: fix tests
      
      core/rawdb: improve tests
      
      core/state/snapshot: fix concurrent iteration
      
      core/state: run pruning during the recovery
      
      core, trie: implement martin's idea
      
      core, eth: delete flatdb and polish pruner
      
      trie: fix import
      
      core/state/pruner: add log
      
      core/state/pruner: fix issues
      
      core/state/pruner: don't read back
      
      core/state/pruner: fix contract code write
      
      core/state/pruner: check root node presence
      
      cmd, core: polish log
      
      core/state: use HEAD-127 as the target
      
      core/state/snapshot: improve tests
      
      cmd/geth: fix verification tool
      
      cmd/geth: use HEAD as the verification default target
      
      all: replace the bloomfilter with martin's fork
      
      cmd, core: polish code
      
      core, cmd: forcibly delete state root
      
      core/state/pruner: add hash64
      
      core/state/pruner: fix blacklist
      
      core/state: remove blacklist
      
      cmd, core: delete trie clean cache before pruning
      
      cmd, core: fix lint
      
      cmd, core: fix rebase
      
      core/state: fix the special case for clique networks
      
      core/state/snapshot: remove useless code
      
      core/state/pruner: capping the snapshot after pruning
      
      cmd, core, eth: fixes
      
      core/rawdb: update db inspector
      
      cmd/geth: polish code
      
      core/state/pruner: fsync bloom filter
      
      cmd, core: print warning log
      
      core/state/pruner: adjust the parameters for bloom filter
      
      cmd, core: create the bloom filter by size
      
      core: polish
      
      core/state/pruner: sanitize invalid bloomfilter size
      
      cmd: address comments
      
      cmd/geth: address comments
      
      cmd/geth: address comment
      
      core/state/pruner: address comments
      
      core/state/pruner: rename homedir to datadir
      
      cmd, core: address comments
      
      core/state/pruner: address comment
      
      core/state: address comments
      
      core, cmd, tests: address comments
      
      core: address comments
      
      core/state/pruner: release the iterator after each commit
      
      core/state/pruner: improve pruner
      
      cmd, core: adjust bloom paramters
      
      core/state/pruner: fix lint
      
      core/state/pruner: fix tests
      
      core: fix rebase
      
      core/state/pruner: remove atomic rename
      
      core/state/pruner: address comments
      
      all: run go mod tidy
      
      core/state/pruner: avoid false-positive for the middle state roots
      
      core/state/pruner: add checks for middle roots
      
      cmd/geth: replace crit with error
      
      * core/state/pruner: fix lint
      
      * core: drop legacy bloom filter
      
      * core/state/snapshot: improve pruner
      
      * core/state/snapshot: polish concurrent logs to report ETA vs. hashes
      
      * core/state/pruner: add progress report for pruning and compaction too
      
      * core: fix snapshot test API
      
      * core/state: fix some pruning logs
      
      * core/state/pruner: support recovering from bloom flush fail
      
      Co-authored-by: default avatarPéter Szilágyi <peterke@gmail.com>
      # Conflicts:
      #	cmd/geth/main.go
      #	cmd/geth/usage.go
      #	core/blockchain.go
      #	core/blockchain_snapshot_test.go
      #	core/genesis.go
      #	core/rawdb/database.go
      #	core/rawdb/schema.go
      #	core/state/snapshot/conversion.go
      #	core/state/snapshot/snapshot.go
      #	core/state/snapshot/snapshot_test.go
      #	eth/backend.go
      #	go.mod
      #	go.sum
      #	tests/block_test_util.go
      #	tests/state_test_util.go
      #	trie/stacktrie.go
      a9e6250e
    • Péter Szilágyi's avatar
      params: just to make snapshots a bit more official · f5a8ba7c
      Péter Szilágyi authored
      # Conflicts:
      #	params/version.go
      f5a8ba7c
    • isdyaufh8o7cq's avatar
      metrics: fix cast omission in cpu_syscall.go (#22262) · 1d2cec7b
      isdyaufh8o7cq authored
      fixes an regression which caused build failure on certain platforms
      # Conflicts:
      #	metrics/cpu_syscall.go
      1d2cec7b
Loading