Commit Graph

12553 Commits

Author SHA1 Message Date
8f94fc26e3 cmd/utils: don't crash on nonexistent datadir (#22738) 2021-05-03 15:29:05 +03:00
afb097eda8 params: remove dependency on crypto (#22788)
* params: remove dependency on crypto

Package params should not depend on package crypto because building
crypto requires cgo.

Since build/ci.go needs package params to get the go-ethereum version
number, C code must be compiled in order to run the build tool, which is
annoying for certain cross-compilation setups.

* params: add SectionHead
2021-05-03 15:28:02 +03:00
ca9c576e62 core/vm: fix interpreter comments (#22797)
* Fix interpreter comment

* Fix comment
2021-05-03 11:58:00 +03:00
0e00ee42ec core/vm: clean up contract creation error handling (#22766)
Do not keep separate flag for "max code size exceeded" case, but instead
assign appropriate error for it sooner.
2021-05-01 13:19:24 +02:00
8ff98108e5 cmd/devp2p: fix flakey tests in CI (#22757)
This PR fixes a couple of issues in the eth test suite that caused flakiness when run in the CI.
2021-04-30 22:47:36 +02:00
afc1abd878 Merge pull request #22789 from karalabe/snap-fix-batch
eth/protocols/snap: use storage batch, not account batch in st task
2021-04-30 21:12:09 +03:00
52b5d2d869 eth/protocols/snap: use storage batch, not account batch in st task 2021-04-30 18:24:34 +03:00
8681a2536c Merge pull request #22777 from karalabe/snapshots-abort-resume-on-sync
core, eth: abort snapshot generation on snap sync and resume later
2021-04-30 17:04:05 +03:00
745757ac6b core, eth: abort snapshot generation on snap sync and resume later 2021-04-30 17:03:10 +03:00
bbb57fd64b core/state: remove toAddr helper in tests (#22772) 2021-04-30 13:10:12 +02:00
f66f1a16b3 eth/filters: fix comment on PublicFilterAPI timeoutLoop (#22782) 2021-04-30 13:00:48 +02:00
ff75b21f25 README.md: update commands table, add note about web3.js version (#22748) 2021-04-30 12:52:25 +02:00
b778e37daa core: fix typo in comment (#22773) 2021-04-30 12:50:02 +02:00
dde6cb0b92 core/vm: replace repeated string with variable in tests (#22774) 2021-04-30 12:49:13 +02:00
1e57ab5de6 core: remove unused else branch in reorg (#22783) 2021-04-30 12:47:05 +02:00
8130dd5cef core/vm: fix typo in comment (#22785) 2021-04-30 12:46:34 +02:00
bb43cd7a79 core/types: add license header (#22781) 2021-04-29 22:14:57 +02:00
b50b17ac69 github: add note about screenshots in issue template (#22764) 2021-04-29 19:30:37 +02:00
63bad18c33 evm: remove unused errors left after EIP-2315 removal (#22767) 2021-04-29 19:30:16 +02:00
56f533d00c docs: fix docstring on read head block (#22776) 2021-04-29 19:23:07 +02:00
793c8f889f add myself as code owner for catalyst (#22778) 2021-04-29 18:36:22 +02:00
c7d07294a6 catalyst: check if block exists in assemble-block call with unknown parent-hash (#22770) 2021-04-29 16:42:21 +02:00
871f50b911 Merge pull request #22765 from karalabe/revert-eth-hashrate
eth: restore eth_hashrate API endpoint
2021-04-29 12:03:15 +03:00
06f44c0fd4 eth: restore eth_hashrate API endpoint 2021-04-29 12:02:30 +03:00
64b60c7995 Merge pull request #22762 from karalabe/snap-lower-complexity
core, eth, ethdb, trie: simplify range proofs
2021-04-29 11:29:28 +03:00
fae165a5de core, eth, ethdb, trie: simplify range proofs 2021-04-29 10:59:08 +03:00
a81cf0d2b3 trie: remove redundant returns + use stacktrie where applicable (#22760)
* trie: add benchmark for proofless range

* trie: remove unused returns + use stacktrie
2021-04-28 22:47:48 +03:00
abb6cfae6a Merge pull request #22761 from karalabe/snap-small-packets
eth/protocols/snap: lower the packet size to avoid overloading link
2021-04-28 22:40:38 +03:00
e4270cacf4 cmd/devp2p: fix flaky SameRequestID test (#22754) 2021-04-28 21:38:38 +02:00
558bff4008 eth/protocols/snap: lower the packet size to avoid overloading link 2021-04-28 21:40:06 +03:00
6d7c9566df les, tests: fix les clientpool (#22756)
* les, tests: fix les clientpool

* tests: disable debug mode

* les: polish code
2021-04-28 14:18:25 +02:00
9e5bb84c0e tests/fuzzers: crypto/bn256 and crypto/bls12381 tests against gnark-crypto (#22755)
Add more cross-fuzzers to fuzz bls with gnark versus geth's own bls12-381 library
2021-04-28 12:04:25 +02:00
256c5d68b2 eth/gasprice: improve stability of estimated price (#22722)
This PR makes the gas price oracle ignore transactions priced at `<=1 wei`.
2021-04-28 09:06:34 +02:00
0c99868416 cmd/devp2p, eth/protocols/eth: fix tests + make sanity checks earlier (#22749) 2021-04-28 08:48:07 +02:00
d9c9ee5ac9 Merge pull request #22753 from karalabe/p2p-tracker-stopfix
p2p/tracker: only reschedule wake if previous didn't run
2021-04-27 21:49:54 +03:00
ff3535e8e0 p2p/tracker: only reschedule wake if previous didn't run 2021-04-27 21:47:59 +03:00
55043eec45 Merge pull request #22751 from holiman/tracker_fix
p2p/tracker: properly clean up fulfilled requests
2021-04-27 21:43:07 +03:00
45fca44c24 p2p/tracker: properly clean up fulfilled requests 2021-04-27 18:09:34 +02:00
caea6c4661 eth/protocols/snap: generate storage trie from full dirty snap data (#22668)
* eth/protocols/snap: generate storage trie from full dirty snap data

* eth/protocols/snap: get rid of some more dead code

* eth/protocols/snap: less frequent logs, also log during trie generation

* eth/protocols/snap: implement dirty account range stack-hashing

* eth/protocols/snap: don't loop on account trie generation

* eth/protocols/snap: fix account format in trie

* core, eth, ethdb: glue snap packets together, but not chunks

* eth/protocols/snap: print completion log for snap phase

* eth/protocols/snap: extended tests

* eth/protocols/snap: make testcase pass

* eth/protocols/snap: fix account stacktrie commit without defer

* ethdb: fix key counts on reset

* eth/protocols: fix typos

* eth/protocols/snap: make better use of delivered data (#44)

* eth/protocols/snap: make better use of delivered data

* squashme

* eth/protocols/snap: reduce chunking

* squashme

* eth/protocols/snap: reduce chunking further

* eth/protocols/snap: break out hash range calculations

* eth/protocols/snap: use sort.Search instead of looping

* eth/protocols/snap: prevent crash on storage response with no keys

* eth/protocols/snap: nitpicks all around

* eth/protocols/snap: clear heal need on 1-chunk storage completion

* eth/protocols/snap: fix range chunker, add tests

Co-authored-by: Péter Szilágyi <peterke@gmail.com>

* trie: fix test API error

* eth/protocols/snap: fix some further liter issues

* eth/protocols/snap: fix accidental batch reuse

Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-04-27 17:19:59 +03:00
65a1c2d829 core/vm: make gas cost reporting to tracers correct (#22702)
Previously, the makeCallVariantGasCallEIP2929 charged the cold account access cost directly, leading to an incorrect gas cost passed to the tracer from the main execution loop.
This change still temporarily charges the cost (to allow for an accurate calculation of the available gas for the call), but then afterwards refunds it and instead returns the correct total gas cost to be then properly charged in the main loop.
2021-04-27 13:21:41 +02:00
a0a99e610d build: upgrade -dlgo version to Go 1.16.3 (#22746) 2021-04-27 12:43:47 +02:00
ad983b300b cmd/puppeth: add support for authentication via ssh agent (#22634) 2021-04-27 11:36:57 +02:00
85a0bab6d7 Merge pull request #21467 from holiman/minor_ethashfix
consensus/ethash: less lookups of block data
2021-04-27 12:26:46 +03:00
a3f0da1ac4 build: upgrade to golangci-lint v1.39.0 (#22696)
* build: upgrade to golangci-lint v1.39.0

* consensus/ethash: fix go vet warning regarding reflect.SliceHeader

* eth/catalyst: fix lint issue

* consensus/ethash: fix bug in memoryMapFile
2021-04-27 11:49:06 +03:00
854f068ed6 les: polish code (#22625)
* les: polish code

* les/vflus/server: fixes

* les: fix lint
2021-04-27 09:44:59 +02:00
9b99e3dfe0 core/rawdb: fix datarace in freezer (#22728)
The Append / truncate operations were racy. When a datafile reaches 2Gb, a new file is needed. For this operation, we require a writelock, which is not needed in the 99.99% of all cases where the data does fit in the current head-file.

This transition from readlock to writelock was incorrect, and as the readlock was released, a truncate operation could slip in between, and truncate the data. This would have been fine, however, the Append operation continued writing as if no truncation had occurred, e.g writing item 5 where item 0 should reside.

This PR changes the behaviour, so that if when we run into the situation that a new file is needed, it aborts, and retries, this time with a writelock.

The outcome of the situation described above, running on this PR, would instead be that the Append operation exits with a failure.
2021-04-26 18:19:07 +02:00
34f3c9539b p2p/discover: improve discv5 handling of IPv4-in-IPv6 addresses (#22703)
When receiving PING from an IPv4 address over IPv6, the implementation sent
back a IPv4-in-IPv6 address. This change makes it reflect the IPv4 address.
2021-04-23 18:18:10 +02:00
cac1b21d39 cmd/devp2p/internal/ethtest: add more tx propagation tests (#22630)
This adds a test for large tx announcement messages, as well as a test to
check that announced tx hashes are requested by the node.
2021-04-23 18:14:39 +02:00
49281ab84f core/state/snapshot, true: reuse dirty data instead of hitting disk when generating (#22667)
* core/state/snapshot: reuse memory data instead of hitting disk when generating

* trie: minor nitpicks wrt the resolver optimization

* core/state/snapshot, trie: use key/value store for resolver

* trie: fix linter

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-04-23 14:39:18 +03:00
ea54c58d4f cmd/devp2p/internal/ethtest: run test suite as Go unit test (#22698)
This change adds a Go unit test that runs the protocol test suite
against the go-ethereum implementation of the eth protocol.
2021-04-23 11:15:42 +02:00