Commit Graph

14337 Commits

Author SHA1 Message Date
Zou Guangxian 955727181b
eth: fix corner case in sync head determination (#21695)
This avoids synchronisation failures when the local header is ahead of
the local full block.
2021-03-26 18:06:25 +01:00
Péter Szilágyi 6477ea6502
Merge pull request #22586 from karalabe/resettting-histogram
eth/protocols, metrics: use resetting histograms for rare packets
2021-03-26 16:49:37 +02:00
Péter Szilágyi 2550e46269
eth/protocols, metrics: use resetting histograms for rare packets 2021-03-26 16:14:12 +02:00
Péter Szilágyi efe0229768
Merge pull request #22581 from karalabe/network-latency-monitoring
eth/protocols, metrics, p2p: add handler performance metrics
2021-03-26 14:26:51 +02:00
Péter Szilágyi 6d7ff6acea
eth/protocols, metrics, p2p: add handler performance metrics 2021-03-26 14:00:06 +02:00
Marius van der Wijden 54c0d573d7
eth: dump rpc gas cap and tx fee cap (#22574) 2021-03-25 16:37:51 +02:00
Péter Szilágyi 4adf0b9187
Merge pull request #22573 from holiman/checkfreq
core: fix condition on header verification
2021-03-25 13:33:53 +02:00
Felix Lange bed74b38d9
cmd/devp2p: fix comparison of TXT record value (#22572)
* cmd/devp2p: fix comparison of TXT record value

The AWS API returns quoted DNS strings, so we must encode the new value
before comparing it against the existing record content.

* cmd/devp2p: add test

* cmd/devp2p: fix typo and rename val -> newValue
2021-03-25 13:32:32 +02:00
Martin Holst Swende 497448bf90
core: fix condition on header verification 2021-03-25 11:50:14 +01:00
Martin Holst Swende 0fda25e471
eth/tracers, core: use scopecontext in tracers, provide statedb in capturestart (#22333)
Fixes the CaptureStart api to include the EVM, thus being able to set the statedb early on. This pr also exposes the struct we used internally in the interpreter to encapsulate the contract, mem, stack, rstack, so we pass it as a single struct to the tracer, and removes the error returns on the capture methods.
2021-03-25 10:13:14 +01:00
gary rong c5df05b9a9
eth/protocols/snap: fix the flaws in the snap sync (#22553)
* eth/protocols/snap: fix snap sync

* eth/protocols/snap: fix tests

* eth: fix tiny

* eth: update tests

* eth: update tests

* core/state/snapshot: testcase for #22534

* eth/protocols/snap: fix boundary loss on full-but-proven range

* core/state/snapshot: lintfix

* eth: address comment

* eth: fix handler

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-03-24 16:33:34 +02:00
Felix Lange ab8fd4d005
p2p/dnsdisc: rate limit resolving before checking cache (#22566)
This makes the rate limit apply regardless of whether the node is
already cached.
2021-03-24 14:37:20 +02:00
Chen Quan 15e6c27f8b
p2p: fix minor typo and remove fd parameter in checkInboundConn (#22547) 2021-03-24 13:18:29 +01:00
Felix Lange 5129cdc4f0
cmd/devp2p: skip ENR field tails properly in nodeset filter (#22565)
In Geth v1.10, we changed the structure of the "les" ENR entry. As a result, the DHT crawler that creates the DNS lists
no longer recognizes the les nodes, which is fixed in this commit. 

* cmd/devp2p: skip ENR field tails properly in nodeset filter
* cmd/devp2p: fix tail decoder for snap as well
* les: fix tail decoding in "eth" ENR entry
2021-03-24 12:32:39 +01:00
meowsbits e862cbff95
internal/web3ext, node: migrate node admin API (Start|Stop)RPC->HTTP (#22461)
* internal/web3ext,node: migrate node admin API (Start|Stop)RPC->HTTP

Corresponding CLI flags --rpc have been moved to --http.

This moves the admin module HTTP RPC start/stop
methods to an equivalent namespace.

Rel https://github.com/ethereum/go-ethereum/pull/22263

Date: 2021-03-08 08:00:11-06:00
Signed-off-by: meows <b5c6@protonmail.com>

* internal/web3ext: fix startRPC/HTTP param count (4->5)

Date: 2021-03-16 06:13:23-05:00
Signed-off-by: meows <b5c6@protonmail.com>
2021-03-23 11:41:23 +02:00
Péter Szilágyi 477ec75323
Merge pull request #22513 from holiman/no_snap_bloom
eth/protocols/snap, eth/downloader: don't use bloom filter in snap sync
2021-03-23 11:37:32 +02:00
Péter Szilágyi f304290b7d
Merge pull request #22551 from karalabe/snapshot-parent-get-panic
core/state/snapshot: fix panic on missing parent
2021-03-22 23:34:12 +02:00
Péter Szilágyi a31f6d54df
core/state/snapshot: fix panic on missing parent 2021-03-22 22:41:28 +02:00
Sina Mahmoodi 8d6cc16742
cmd/geth: check block range against chain head in export cmd (#22387)
Check the input parameters against the actual head block, exit on error
2021-03-22 19:11:10 +01:00
gary rong 0c70b83e00
all: add read-only option to database (#22407)
* all: add read-only option to database

* all: fixes tests

* cmd/geth: migrate flags

* cmd/geth: fix the compact

* cmd/geth: fix the format

* cmd/geth: fix log

* cmd: add chain-readonly

* core: add readonly notion to freezer

* core/rawdb: add log

* core/rawdb: fix freezer close

* cmd: fix

* cmd, core: construct db

* core: update tests
2021-03-22 19:06:30 +01:00
MrChico aab35600bc
accounts: eip-712 signing for ledger (#22378)
* accounts: eip-712 signing for ledger

* address review comments
2021-03-22 09:29:32 +01:00
Derek Chiang eaccdba4ab
core: fix method comment for `txpool.requestReset` (#22543) 2021-03-22 09:10:51 +02:00
Tobias Hildebrandt ec73ec092d
cmd/utils: fix compilation issue on openbsd (#22511) 2021-03-20 19:54:17 +01:00
rene 36b51b8156
cmd/devp2p: add old block announcement test to eth test suite (#22474)
Add old block announcement test to eth test suite, checks to make sure old block announcement isn't propagated
2021-03-20 19:50:44 +01:00
Martin Holst Swende 5bf6612a2e
cmd/devp2p: fix error in updating the cursor when collecting records for route53 (#22538)
This PR fixes a regression introduced in #22360, when we updated to the v2 of the AWS sdk, which causes current crawler to just get the same first 100 results over and over, and get stuck in a loop.
2021-03-20 10:35:22 +01:00
Felix Lange 9429ab1472
cmd/devp2p: add flag for AWS region (#22537) 2021-03-20 00:22:24 +01:00
rene d3040a80d7
cmd/devp2p/internal/ethtest: skip eth/66 tests when v66 not supported (#22460) 2021-03-19 15:15:39 +01:00
Sina Mahmoodi c454717fa6
core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
Martin Holst Swende 5bc0343ed3
p2p/dnsdisc: fix flaw in dns size calculation (#22533)
This fixes the calculation of the tree branch factor. With the new
formula, we now creat at most 13 children instead of 30, ensuring
the TXT record size will be below 370 bytes.
2021-03-19 13:20:27 +01:00
Quest Henkart e3a3f7cd64
cmd/devp2p: use AWS-SDK v2 (#22360)
This updates the DNS deployer to use AWS SDK v2. Migration is relatively
seamless, although there were two locations that required a slightly
different approach to achieve the same results. In particular, waiting for
DNS change propagation is very different with SDK v2. 

This change also optimizes DNS updates by publishing all changes before
waiting for propagation.
2021-03-19 13:15:57 +01:00
jacksoom d50e9d24be
consensus/ethash: remove unnecessary variable definition (#22512) 2021-03-19 12:04:15 +01:00
ucwong 345890a558
go.mod: upgrade goupnp to commit 0ca76305 (#22479)
This pulls in a fix to skip the broadcast on interfaces which are down.
2021-03-19 12:03:33 +01:00
ucwong a90861ae0c
go.mod: upgrade goleveldb to commit 64b5b1c (#22436)
This pulls in a fix for a corruption issue when the process crashes
while a new manifest file is being added.
2021-03-19 11:58:12 +01:00
Martin Redmond 38ea7f2cf4
accounts/abi/bind: add NoSend transact option (#22446)
This adds a new option to avoid sending the transaction which is
created by calling a bound contract method.
2021-03-19 11:56:10 +01:00
meowsbits aa8b2189c6
ethclient: fix error handling for header test (#22514)
The wantErr field was disused, and the error returned by HeaderByNumber
was not properly tested.

This simplifies the error checking using errors.Is and asserts that getting
an expected missing header returns ethereum.NotFound. Also adds a nil
check condition for header.Number before using big.Int's Sign method.
2021-03-19 11:14:23 +01:00
rene 6a528fce33
cmd/devp2p/internal/ethtest: return request ID in BlockHeaders response (#22508)
This PR fixes an issue with the eth66 test suite where, during a readAndServe when
the test is manually responding to GetBlockHeader requests, it now responds
with a BlockHeaders eth66 packet that includes the inbound request ID.
2021-03-19 10:57:23 +01:00
wuff1996 117fa7d4a1
eth/protocols/snap: fix typo (#22530) 2021-03-19 08:49:24 +01:00
Martin Holst Swende 410089afea
eth/protocols/snap, eth/downloader: don't use bloom filter in snap sync 2021-03-17 09:36:34 +01:00
Felföldi Zsolt 91726e8aad
les: allow either full enode strings or raw hex ids in the API (#22423) 2021-03-16 12:55:43 +01:00
Felföldi Zsolt 6d9707a458
les: fix UDP connection query (#22451)
This PR fixes multiple issues with the UDP connection pre-negotiation feature:
- the enable condition was wrong (it checked the existence of the DiscV5 struct where it wasn't initialized yet, disabling the feature even if discv5 was enabled)
- the server pool queried already connected nodes when the discovery iterators returned them again
- servers responded positively before they were synced and really willing to accept connections

Metrics are also added on the server side that count the positive and negative replies to served connection queries.
2021-03-16 12:54:45 +01:00
Felföldi Zsolt 62d8022b51
les: fix UDP connection query (#22451)
This PR fixes multiple issues with the UDP connection pre-negotiation feature:

- the enable condition was wrong (it checked the existence of the DiscV5 struct where it wasn't initialized yet, disabling the feature even if discv5 was enabled)
- the server pool queried already connected nodes when the discovery iterators returned them again
- servers responded positively before they were synced and really willing to accept connections

Metrics are also added on the server side that count the positive and negative replies to served connection queries.
2021-03-16 12:53:54 +01:00
Martin Holst Swende 94ab4ea341
core/rawdb: fix transaction indexing/unindexing hashing error (#22457)
* core/rawdb: more verbose error logs + better hashing

* core/rawdb: add failing testcase

* core/rawdb: properly hash transactions while indexing/unindexing

* core/rawdb: exit on error + better log msg
2021-03-16 12:15:14 +02:00
ligi 7cbf1d70a7
cmd/clef (docs): fix image background (#22399)
Flatten the image so we do not have dark text on dark background
2021-03-16 09:55:03 +01:00
ligi 7076e8e42f
cmd/clef: docs - link to ethereum org repo (#22400) 2021-03-16 09:53:43 +01:00
lightclient 99830720f6
core/types: improve comments in new EIP-2718 code (#22402)
Responding to these comments:

    https://github.com/ethereum/go-ethereum/pull/21502/files#r579010962
    https://github.com/ethereum/go-ethereum/pull/21502/files#r579021565
    https://github.com/ethereum/go-ethereum/pull/21502/files#r579023510
    https://github.com/ethereum/go-ethereum/pull/21502/files#r578983734
2021-03-16 09:48:54 +01:00
Martin Holst Swende bc47993692
tests/fuzzers: fix goroutine leak in les fuzzer (#22455)
The oss-fuzz fuzzer has been reporting some failing testcases for les. They're all spurious, and cannot reliably be reproduced. However, running them showed that there was a goroutine leak: the tests created a lot of new clients, which started an exec queue that was never torn down.

This PR fixes the goroutine leak, and also a log message which was erroneously formatted.
2021-03-16 09:43:33 +01:00
Martin Holst Swende faacc8e0fa
cmd/geth, eth/downloader: remove copydb command (#22501)
* cmd/geth: remove copydb command

* eth/downloader: remove fakepeer
2021-03-15 16:25:45 +02:00
Martin Holst Swende c6d45009f1
eth, les: properly init statedb accesslist during tracing (#22480)
* eth/state, les/state: properly init statedb accesslist when tracing, fixes #22475

* eth: review comments

* eth/tracers: fix compilation err

* eth/tracers: apply @karalabe's suggested fix
2021-03-14 17:13:25 +02:00
Martin Holst Swende 3f74c8e0e5
cmd/devp2p: better testcase failure output for ethtests (#22482) 2021-03-13 21:33:30 +01:00
michael1011 6387c520b7
cmd/geth: add ancient datadir flag to snapshot subcommands (#22486) 2021-03-12 11:16:19 +02:00