Commit Graph

11547 Commits

Author SHA1 Message Date
e6ca1958d3 internal/web3ext: fix clique console apis to work on missing arguments 2020-03-18 15:23:16 +02:00
4655b60999 Merge pull request #20780 from karalabe/fix-eth-mine-sync-race
eth: when triggering a sync, check the head header TD, not block
2020-03-18 15:08:06 +02:00
dc6e98d2a8 eth: when triggering a sync, check the head header TD, not block 2020-03-18 14:33:06 +02:00
6283391c99 core/rawdb: improve table database (#20703)
This PR fixes issues in TableDatabase.

TableDatabase is a wrapper of underlying ethdb.Database with an additional prefix.
The prefix is applied to all entries it maintains. However when we try to retrieve entries
from it we don't handle the key properly. In theory the prefix should be truncated and
only user key is returned. But we don't do it in some cases, e.g. the iterator and batch
replayer created from it. So this PR is the fix to these issues.
2020-03-18 13:15:49 +01:00
5dd0cd12ec go.mod: update duktape to fix sprintf warnings (#20777)
This revision of go-duktype fixes the following warning

```
duk_logging.c: In function ‘duk__logger_prototype_log_shared’:
duk_logging.c:184:64: warning: ‘Z’ directive writing 1 byte into a region of size between 0 and 9 [-Wformat-overflow=]
  184 |  sprintf((char *) date_buf, "%04d-%02d-%02dT%02d:%02d:%02d.%03dZ",
      |                                                                ^
In file included from /usr/include/stdio.h:867,
                 from duk_logging.c:5:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 25 and 85 bytes into a destination of size 32
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2020-03-18 11:52:07 +02:00
efd92d81a9 cmd/checkpoint-admin: add some documentation (#20697) 2020-03-18 10:18:14 +01:00
8d7aa9078f params: begin v1.9.13 release cycle 2020-03-16 13:44:58 +02:00
b6f1c8dcc0 params: release Geth v1.9.12 v1.9.12 2020-03-16 13:39:04 +02:00
97243f3a76 geth retesteth: increase retesteth default http timeouts (#20767) 2020-03-16 10:33:32 +01:00
241b283690 Merge pull request #20747 from karalabe/update-crypto-deps
go.mod: update golang.org/x/crypto to fix a Go 1.14 race rejection
2020-03-14 14:23:58 +02:00
466b009135 go.mod: update golang.org/x/crypto to fix a Go 1.14 race rejection 2020-03-14 14:09:31 +02:00
68b4b74682 Merge pull request #20762 from karalabe/fix-txprop-leak
eth: fix transaction announce/broadcast goroutine leak
2020-03-14 13:52:46 +02:00
270fbfba4b eth: fix transaction announce/broadcast goroutine leak 2020-03-13 23:47:15 +02:00
92f3405dae eth, les: fix time sensitive unit tests (#20741) 2020-03-12 11:25:52 +01:00
b1efff659e rpc: improve cancel test (#20752)
This is supposed to fix the occasional failures in 
TestCancel* on Travis CI.
2020-03-12 11:24:36 +01:00
0bdb21f0cb tests: update tests/testdata@develop, include EIP2384 config (#20746)
Includes difficulty tests for EIP2384 aka MuirGlacier.
2020-03-10 10:55:27 +01:00
556888c4a9 core/vm: fix method doc (#20730)
typo in func name in the comment
2020-03-02 19:20:27 +02:00
01d92531ee rpc: correct typo and reword comment for consistency (#20728) 2020-02-28 14:43:04 +01:00
1e1b18637e p2p/discv5: fix test on go 1.14 (#20724) 2020-02-27 14:10:28 +02:00
f1a7997af3 crypto/bn256: fix import line (#20723) 2020-02-27 13:59:00 +02:00
cec1f292f0 mobile: add CallOpts.SetFrom (#20721)
This was missing because I forgot to wrap it when bind.CallOpts.From
as added.
2020-02-27 12:16:50 +02:00
4fabd9cbd2 les: separate peer into clientPeer and serverPeer (#19991)
* les: separate peer into clientPeer and serverPeer

* les: address comments
2020-02-26 11:41:24 +02:00
fadf84a752 internal/ethapi: default to zero address for calls (#20702)
This makes eth_call and eth_estimateGas use the zero address
as sender when the "from" parameter is not supplied.

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-02-25 17:57:06 +01:00
2a5ed1a1d3 eth/downloader: fix possible data race by inconsistent field protection (#20690) 2020-02-25 11:44:21 +02:00
bf1cdd723a Merge pull request #20712 from karalabe/txfetcher-fix-test-randomness
eth/fetcher: remove randomness from test data
2020-02-24 15:03:49 +02:00
c6be24c731 eth/fetcher: remove randomness from test data 2020-02-24 14:59:02 +02:00
6ffee2afd6 docs: correct clef typo (#20705) 2020-02-21 16:30:21 +01:00
2e1ecc02bd les, miner, accounts/abi/bind: fix load-sensitive unit tests (#20698) 2020-02-20 13:05:54 +01:00
6df973df27 go.mod: upgrade goja to latest (#20700)
The new goja version supports the 'escape' and 'unescape' built-in functions.
This fixes #20693
2020-02-20 12:46:47 +01:00
4be8840120 core/vm: use dedicated SLOAD gas constant for EIP-2200 (#20646) 2020-02-18 15:07:41 +01:00
529b81dadb params: begin v1.9.12 release cycle 2020-02-18 13:27:39 +02:00
6a62fe399b params: release Geth v1.9.11 stable v1.9.11 2020-02-18 13:26:00 +02:00
dae3aee5ff les: add bootstrap nodes as initial discoveries (#20688) 2020-02-18 13:24:05 +02:00
05ccbb5edd Merge pull request #20687 from karalabe/cht-1.9.11
params: update CHTs for the v1.9.11 release
2020-02-18 10:57:05 +02:00
4f55e24c02 params: update CHTs for the v1.9.11 release 2020-02-18 10:55:44 +02:00
91b228966e rpc: remove startup error for invalid modules, log it instead (#20684)
This removes the error added in #20597 in favor of a log message at
error level. Failing to start broke a bunch of people's setups and is
probably not the right thing to do for this check.
2020-02-17 18:33:32 +02:00
1b9c5b393b all: fix goroutine leaks in unit tests by adding 1-elem channel buffer (#20666)
This fixes a bunch of cases where a timeout in the test would leak
a goroutine.
2020-02-17 17:33:11 +01:00
57d4898e29 p2p/dnsdisc: re-check tree root when leaf resolution fails (#20682)
This adds additional logic to re-resolve the root name of a tree when a
couple of leaf requests have failed. We need this change to avoid
getting into a failure state where leaf requests keep failing for half
an hour when the tree has been updated.
2020-02-17 15:23:25 +01:00
c2117982b8 Merge pull request #20678 from karalabe/broadcast-sqrt-proper
eth: don't enforce minimum broadcast, fix broadcast test
2020-02-17 14:43:30 +02:00
1c4c486a85 cmd/ethkey: speed up test by using weaker scrypt parameters (#20680) 2020-02-17 13:22:52 +02:00
ac72787768 p2p: remove MeteredPeerEvent (#20679)
This event was added for the dashboard, but we don't need it anymore
since the dashboard is gone.
2020-02-17 13:22:14 +02:00
26284ec3cc Merge pull request #20681 from karalabe/go1.13.8
travis, appveyor, build: bump builder Go to 1.13.8
2020-02-17 13:15:17 +02:00
fef8c985bc travis, appveyor, build: bump builder Go to 1.13.8 2020-02-17 13:13:24 +02:00
36a1e0b67d eth: don't enforce minimum broadcast, fix broadcast test 2020-02-17 12:01:03 +02:00
37531b1884 cmd/faucet: protect f.reqs with Rlock to prevent data race (#20669)
* cmd/faucet: add Rlock to protect f.reqs in apiHandler

* cmd/faucet: make a locked copy of f.reqs
2020-02-15 20:14:29 +02:00
855690523a core: ensure state exists for prefetcher (#20627) 2020-02-14 10:54:02 +02:00
38d1b0cba2 cmd/geth: enable DNS discovery by default (#20660)
* node: expose config in service context

* eth: integrate p2p/dnsdisc

* cmd/geth: add some DNS flags

* eth: remove DNS URLs

* cmd/utils: configure DNS names for testnets

* params: update DNS URLs

* cmd/geth: configure mainnet DNS

* cmd/utils: rename DNS flag and fix flag processing

* cmd/utils: remove debug print

* node: fix test
2020-02-13 15:38:30 +02:00
eddcecc160 Merge pull request #20234 from rjl493456442/newtxhashes_2
core, eth: announce based transaction propagation
2020-02-13 15:28:34 +02:00
9938d954c8 eth: rework tx fetcher to use O(1) ops + manage network requests 2020-02-13 15:27:15 +02:00
90caa2cabb p2p: new dial scheduler (#20592)
* p2p: new dial scheduler

This change replaces the peer-to-peer dial scheduler with a new and
improved implementation. The new code is better than the previous
implementation in two key aspects:

- The time between discovery of a node and dialing that node is
  significantly lower in the new version. The old dialState kept
  a buffer of nodes and launched a task to refill it whenever the buffer
  became empty. This worked well with the discovery interface we used to
  have, but doesn't really work with the new iterator-based discovery
  API.

- Selection of static dial candidates (created by Server.AddPeer or
  through static-nodes.json) performs much better for large amounts of
  static peers. Connections to static nodes are now limited like dynanic
  dials and can no longer overstep MaxPeers or the dial ratio.

* p2p/simulations/adapters: adapt to new NodeDialer interface

* p2p: re-add check for self in checkDial

* p2p: remove peersetCh

* p2p: allow static dials when discovery is disabled

* p2p: add test for dialScheduler.removeStatic

* p2p: remove blank line

* p2p: fix documentation of maxDialPeers

* p2p: change "ok" to "added" in static node log

* p2p: improve dialTask docs

Also increase log level for "Can't resolve node"

* p2p: ensure dial resolver is truly nil without discovery

* p2p: add "looking for peers" log message

* p2p: clean up Server.run comments

* p2p: fix maxDialedConns for maxpeers < dialRatio

Always allocate at least one dial slot unless dialing is disabled using
NoDial or MaxPeers == 0. Most importantly, this fixes MaxPeers == 1 to
dedicate the sole slot to dialing instead of listening.

* p2p: fix RemovePeer to disconnect the peer again

Also make RemovePeer synchronous and add a test.

* p2p: remove "Connection set up" log message

* p2p: clean up connection logging

We previously logged outgoing connection failures up to three times.

- in SetupConn() as "Setting up connection failed addr=..."
- in setupConn() with an error-specific message and "id=... addr=..."
- in dial() as "Dial error task=..."

This commit ensures a single log message is emitted per failure and adds
"id=... addr=... conn=..." everywhere (id= omitted when the ID isn't
known yet).

Also avoid printing a log message when a static dial fails but can't be
resolved because discv4 is disabled. The light client hit this case all
the time, increasing the message count to four lines per failed
connection.

* p2p: document that RemovePeer blocks
2020-02-13 11:10:03 +01:00