Commit Graph

11646 Commits

Author SHA1 Message Date
ledgerwatch
dca36e8b29
Restore the functionality CalcTrieRoots (compute trie root without modifying the trie) (#327)
* Trace first block

* Fixes for CalcTrieRoots

* Timings of the CalcTrieRoot

* Fix lint

* Add memory profiling

* Reduce allocations in StreamHash

* Fix

* Fix

* Fix

* Optimise allocations

* Reuse streams

* Fixes

* Fix

* Unit test fix

* Fix lint

* Reuse hashbuilder

* No loop

* Reuse resolver

* Fixed tests

* Fix test

* Fix test

* Fix test

* Fix witness threshold

* Optimise allocations in RLP transform

* Optimise allocations in RLP transform

* Optimise branchHash

* 100 times again

* Replace ToStream with Iterator

* StreamMergeIterator

* No streams

* Amplification

* Minimise the use of hashOnly

* 100 times

* Reduce stack operations

* Reduce appends

* More optimisations

* More optimisations

* More optimisations

* local hex

* Small fix

* Remove test

* Fix lint

* Fix lint

* Fix lint

* Add test for empty

* Fix lint

* More tests

* Fix lint

* Add measurement of stateless exec
2020-01-30 13:16:12 +00:00
Igor Mandrigin
785d0eafd8 post-rebase fixups v1.9.10 2020-01-30 13:36:30 +02:00
Péter Szilágyi
ed26cc6fa6 params: release Geth v1.9.10 2020-01-30 13:36:30 +02:00
gary rong
05452032db core: fix chain indexer unit test (#20506) 2020-01-30 13:36:30 +02:00
Péter Szilágyi
7696d8f059 params: update CHTs for v1.9.10 release 2020-01-30 13:36:30 +02:00
Péter Szilágyi
c7bbffcd59 travis: bump Android builder to Go 1.13.6 2020-01-30 13:36:30 +02:00
Péter Szilágyi
f001bedd9f appveyor: bump Go to 1.13.6 on Windows 2020-01-30 13:36:30 +02:00
Martin Holst Swende
3bda450baa * trie: utilize callbacks instead of amassing lists in ref/unref (#20529)
* trie/tests: add benchmarks and update trie tests

* trie: update benchmark tests

* trie: utilize callbacks instead of amassing lists of hashes in database ref/unref

* trie: replace remaining non-callback based accesses
2020-01-30 13:36:30 +02:00
gary rong
f0f1b5237c core, light: write chain data in atomic way (#20287)
* core: write chain data in atomic way

* core, light: address comments

* core, light: fix linter

* core, light: address comments
2020-01-30 13:36:30 +02:00
Felix Lange
3558ce7af4 cmd/devp2p: submit Route53 changes in batches (#20524)
This change works around the 32k RDATA character limit per change
request and fixes several issues in the deployer which prevented it from
working for our production trees.
2020-01-30 13:36:30 +02:00
Felix Lange
64b1694578 p2p: ensure Server.loop is ticking even if discovery hangs (#20573)
This is a temporary fix for a problem which started happening when the
dialer was changed to read nodes from an enode.Iterator. Before the
iterator change, discovery queries would always return within a couple
seconds even if there was no Internet access. Since the iterator won't
return unless a node is actually found, discoverTask can take much
longer. This means that the 'emergency connect' logic might not execute
in time, leading to a stuck node.
2020-01-30 13:36:30 +02:00
Felix Lange
d1e8d99c59 p2p: wait for listener goroutines on shutdown (#20569)
* p2p: wait for goroutine exit, fixes #20558

* p2p: wait for all slots on exit

Co-authored-by: Martin Holst Swende <martin@swende.se>
2020-01-30 13:36:30 +02:00
Guillaume Ballet
ad90ec7acf build: upgrade golangci to 1.22.2 (#20566)
* build: upgrade golangci to 1.22.2

* .golangci.yml: don't fail on asset deadcode
2020-01-30 13:36:30 +02:00
Péter Szilágyi
ba1bd31773 travis, build: enable Ubuntu Focal and Go 1.13.6 on PPA 2020-01-30 13:36:30 +02:00
Felix Lange
fee4544f95 build: put GOPATH in /tmp on launchpad (#20564)
* build: put GOPATH in /tmp on launchpad

* build: don't remove GOPATH from go tool environment
2020-01-30 13:36:30 +02:00
Martin Holst Swende
d83dad614e eth: increase timeout to fix a spurious travis test failure (#20560) 2020-01-30 13:36:30 +02:00
Felix Lange
c4bae805f9 build: fix makefile HOME reference (#20562) 2020-01-30 13:36:30 +02:00
Felix Lange
b8cb7e5c26 build: attempt to fix debian build failure without GOPATH (#20561) 2020-01-30 13:36:30 +02:00
Felix Lange
bacc87593a build: remove env.sh (#20541)
* build: remove env.sh

This removes the dirty symlink-to-self hack we've had for years. The
script was added to enable building without GOPATH and did that job
reliably for all this time. We can remove the workaround because modern
Go supports building without GOPATH natively.

* Makefile: add GO111MODULE=on to environment
2020-01-30 13:36:30 +02:00
Martin Holst Swende
8d9798d650 core: set max tx size down to 2 slots (64KB) 2020-01-30 13:36:30 +02:00
Péter Szilágyi
96f85c3b8d eth: check propagated block malformation on receiption 2020-01-30 13:36:30 +02:00
MichaelRiabzev-StarkWare
c22ba87c10 core: count tx size in slots, bump max size ot 4x32KB (#20352)
* tests for tx size

* alow multiple slots transactions

* tests for tx size limit (32 KB)

* change tx size tests to use addRemoteSync instead of validateTx (requested in pool request).

* core: minor tx slotting polishes, add slot tracking metric

Co-authored-by: Michael Riabzev <RiabzevMichael@gmail.com>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2020-01-30 13:36:30 +02:00
Péter Szilágyi
5a48d50469 Revert "eth: refactor creation of EthAPIBackend (#20476)" (#20536)
This reverts commit a1bc0e3cb69d6080b884728a60d2f92392b4c392.
2020-01-30 13:36:30 +02:00
Felix Lange
86fea6cd56 internal/testlog: print file+line number of log call in test log (#20528)
* internal/testlog: print file+line number of log call in test log

This changes the unit test logger to print the actual file and line
number of the logging call instead of "testlog.go:44".

Output of 'go test -v -run TestServerListen ./p2p' before this change:

    === RUN   TestServerListen
    --- PASS: TestServerListen (0.00s)
        testlog.go:44: DEBUG[01-08|15:16:31.651] UDP listener up         addr=127.0.0.1:62678
        testlog.go:44: DEBUG[01-08|15:16:31.651] TCP listener up         addr=127.0.0.1:62678
        testlog.go:44: TRACE[01-08|15:16:31.652] Accepted connection     addr=127.0.0.1:62679

And after:

    === RUN   TestServerListen
    --- PASS: TestServerListen (0.00s)
        server.go:868: DEBUG[01-08|15:25:35.679] TCP listener up         addr=127.0.0.1:62712
        server.go:557: DEBUG[01-08|15:25:35.679] UDP listener up         addr=127.0.0.1:62712
        server.go:912: TRACE[01-08|15:25:35.680] Accepted connection     addr=127.0.0.1:62713

* internal/testlog: document use of t.Helper
2020-01-30 13:36:30 +02:00
Felix Lange
d73c020db9 .travis.yml: use latest macOS 10.14 image (#20526) 2020-01-30 13:36:30 +02:00
Guillaume Ballet
e8183c5f3a consensus/ethash: fix a typo and error message (#20503) 2020-01-30 13:36:30 +02:00
Jonathan Gimeno
11fdbc9334 eth: refactor creation of EthAPIBackend (#20476) 2020-01-30 13:36:30 +02:00
wangxiang
6e28a428a8 whisper/whisperv6: fix peer time.Ticker leak (#20520) 2020-01-30 13:36:30 +02:00
Marius van der Wijden
3d0f235414 README.md: Genoil fork has been discontinued (#20521) 2020-01-30 13:36:30 +02:00
Yole
2b25a7951b cmd/geth: update copyright year (#20512)
Update copyright from 2013-2019 to 2013-2020
2020-01-30 13:36:30 +02:00
me020523
08487ecc6b add node.go unit test file node_test.go (#20028)
* add node.go unit test file node_test.go

* add node_test.go file license and rollback trie_test.go

* fix unused variable v

* trie: fix license year

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2020-01-30 13:36:30 +02:00
Igor Mandrigin
49621dc4d1 les/checkpointoracle: move oracle into its own package (#20508)
* les: move the checkpoint oracle into its own package

It's first step of refactor LES package. LES package
basically can be divided into LES client and LES server.
However both sides will use checkpoint package for
status retrieval and verification. So this PR moves
checkpoint oracle into a separate package

* les: address comments
2020-01-30 13:36:30 +02:00
Kumar Anirudha
d17526e43d cmd/puppeth: change dashboard title to not use "testnet" (#20513) 2020-01-30 13:36:30 +02:00
Prince Sinha
299be41a76 internal/ethapi: fix encoding of uncle headers and pending blocks (#20460)
Fixes #19024
Fixes #19332
2020-01-30 13:36:30 +02:00
Guillaume Ballet
802b0ac7ff cmd/geth: fix forked exe leak in console tests (#20480) 2020-01-30 13:36:30 +02:00
Chris Pacia
b89696997e rpc: add DialWebsocketWithDialer (#20471)
This commit intents to replicate the DialHTTPWithClient function which allows
creating a RPC Client using a custom dialer but for websockets.

We introduce a new DialWebsocketWithDialer function which allows the caller
to instantiate a new websocket client using a custom dialer.
2020-01-30 13:36:30 +02:00
Sylvain Laurent
9b3fc4282b accounts/abi: fix method constant flag for solidity 6.0 (#20482) 2020-01-30 13:36:30 +02:00
Gerald Nash
cce5760cbe Change file extension of the ./tests/fuzzers README (#20474) 2020-01-30 13:36:30 +02:00
Ilan Gitter
97cf3f15fc accounts/abi/backends/simulated: add more API methods (#5) (#20208)
* Add more functionality to the sim (#5)

* backends: implement more of ethclient in sim

* backends: add BlockByNumber to simulated backend

* backends: make simulated progress function agree with syncprogress interface for client

* backends: add more tests

* backends: add more comments

* backends: fix sim for index in tx and add tests

* backends: add lock back to estimategas

* backends: goimports

* backends: go ci lint

* Add more functionality to the sim (#5)

* backends: implement more of ethclient in sim

* backends: add BlockByNumber to simulated backend

* backends: make simulated progress function agree with syncprogress interface for client

* backends: add more tests

* backends: add more comments

* backends: fix sim for index in tx and add tests

* backends: add lock back to estimategas

* backends: goimports

* backends: go ci lint

* assert errs
2020-01-30 13:36:30 +02:00
Jeff Wentworth
278982f1e8 [#20266] Fix bugs decoding integers and fixed bytes in indexed event fields (#20269)
* fix parseTopics() and add tests

* remove printf

* add ParseTopicsIntoMap() tests

* fix FixedBytesTy

* fix int and fixed bytes

* golint topics_test.go
2020-01-30 13:36:30 +02:00
Paweł Bylica
0ec69b46f0 cmd/evm: Add --bench flag for benchmarking (#20330)
The --bench flag uses the testing.B to execute the EVM bytecode many times and get the average exeuction time out of it.
2020-01-30 13:36:30 +02:00
Ryan Schneider
63540cadc1 eth, internal/web3ext: add optional first and last arguments to the admin_exportChain RPC. (#20107) 2020-01-30 13:36:30 +02:00
Guillaume Ballet
8806691dda cmd/abigen: Sanitize vyper's combined json names (#20419)
* cmd/abigen: Sanitize vyper's combined json names

* Review feedback: handle full paths
2020-01-30 13:36:30 +02:00
Felix Lange
3e10e5be5f cmd/devp2p: implement AWS Route53 enrtree deployer (#20446) 2020-01-30 13:36:30 +02:00
Felix Lange
c8d82bfc5c p2p/dnsdisc: add enode.Iterator API (#20437)
* p2p/dnsdisc: add support for enode.Iterator

This changes the dnsdisc.Client API to support the enode.Iterator
interface.

* p2p/dnsdisc: rate-limit DNS requests

* p2p/dnsdisc: preserve linked trees across root updates

This improves the way links are handled when the link root changes.
Previously, sync would simply remove all links from the current tree and
garbage-collect all unreachable trees before syncing the new list of
links.

This behavior isn't great in certain cases: Consider a structure where
trees A, B, and C reference each other and D links to A. If D's link
root changed, the sync code would first remove trees A, B and C, only to
re-sync them later when the link to A was found again.

The fix for this problem is to track the current set of links in each
clientTree and removing old links only AFTER all links are synced.

* p2p/dnsdisc: deflake iterator test

* cmd/devp2p: adapt dnsClient to new p2p/dnsdisc API

* p2p/dnsdisc: tiny comment fix
2020-01-30 13:36:30 +02:00
Felix Lange
bbf9a116c1 eth/filters: remove use of event.TypeMux for pending logs (#20312) 2020-01-30 13:36:30 +02:00
Marius van der Wijden
990597857f core: removed old invalid comment 2020-01-30 13:36:30 +02:00
Martin Holst Swende
f092171f7a tests/fuzzers: fuzzbuzz fuzzers for keystore, rlp, trie, whisper (#19910)
* fuzzers: fuzzers for keystore, rlp, trie, whisper (cred to @guidovranken)

* fuzzers: move fuzzers to testdata

* testdata/fuzzers: documentation

* testdata/fuzzers: corpus for rlp

* tests/fuzzers: fixup
2020-01-30 13:36:30 +02:00
Charing
2fe422ce89 miner: add dependency for stress tests (#20436)
1.to build stress tests

Depends-On: 6269e5574c
2020-01-30 13:36:30 +02:00
Péter Szilágyi
50b5e5ccc8 params: begin v1.9.10 release cycle 2020-01-30 13:36:30 +02:00