Commit Graph

11459 Commits

Author SHA1 Message Date
Felix Lange
7300365956 p2p/dnsdisc: update to latest EIP-1459 spec (#20168)
This updates the DNS TXT record format to the latest
changes in ethereum/EIPs#2313.
2019-10-16 14:35:24 +03:00
Martin Holst Swende
c476460cb2
params: check fork ordering when initializing new genesis, fixes #20136 (#20169)
prevent users from misconfiguring their nodes so that fork ordering is not preserved.
2019-10-16 13:23:14 +02:00
gary rong
028af3457d cmd/utils: fix command line flag resolve (#20167)
In Geth, we have two sources for configuration:
(1) Config file
(2) Command line flag

Basically geth will first resolve config file and then overwrite
configs with command line flags.

This issue is: geth should only overwrite configs if flags are truly
set. So before we apply any flag to configs, `GlobalIsSet` check
is necessary.
2019-10-15 10:19:20 +02:00
Felix Lange
a73f3f4518 params: begin v1.9.7 release cycle 2019-10-03 11:29:55 +02:00
Felix Lange
bd05968077 params: release Geth v1.9.6 stable 2019-10-03 11:29:20 +02:00
Felix Lange
6e730915bd les: add empty "les" ENR entry for servers (#20145) 2019-10-02 14:14:27 +03:00
Darrel Herbst
c713ea7c22 cmd/bootnode: fix exit behavior with -genkey (#20110) 2019-10-02 11:32:02 +02:00
Martin Holst Swende
7f5f62aaa0 tests: update test suite for istanbul (#20082)
* update tests for istanbul

* tests: updated blockchaintests, see https://github.com/ethereum/tests/issues/637

* tests: update again, hopefully fixed this time

* tests: skip time consuming, run legacy tests

* tests: update again

* build: disable long-running tests on travis

* tests: fix formatting nits

* tests: I hate github's editor
2019-10-02 11:33:51 +03:00
kikilass
b2f696e025 github: Added capital P (#20139) 2019-09-30 22:57:20 +03:00
Péter Szilágyi
62b43ee0d5
Merge pull request #20133 from karalabe/measure-subprotocol-traffic
p2p: measure subprotocol bandwidth usage
2019-09-30 12:02:29 +03:00
Péter Szilágyi
a2a60869c8
p2p: measure subprotocol bandwidth usage 2019-09-27 18:00:25 +03:00
gary rong
df89233b57 ethdb/leveldb: disable seek compaction (#20130)
* vendor: update leveldb

* ethdb/leveldb: disable seek compaction and add metrics

* vendor: udpate latest levledb

* ethdb/leveldb: fix typo
2019-09-26 17:44:00 +03:00
Martin Holst Swende
ead711779d
core: initialize current block/fastblock atomics to nil, fix #19286 (#19352) 2019-09-26 11:10:35 +02:00
zcheng9
2133f18f15 core/state: fix database leak and copy tests (#19306) 2019-09-26 11:09:59 +02:00
ywzqwwt
1a6ef5ae58 core/blockchain: remove block from futureBlocks on error (#19763) 2019-09-26 10:57:51 +02:00
Ryan Schneider
ad03d9801c internal/ethapi: support block number or hash on state-related methods (#19491)
This change adds support for EIP-1898.
2019-09-26 10:47:31 +02:00
Lucas Hendren
62391ddbeb tests/solidity: add contract to test every opcode (#19283)
Fixes #18210
2019-09-26 10:30:33 +02:00
Felix Lange
0568e81701
p2p/dnsdisc: add implementation of EIP-1459 (#20094)
This adds an implementation of node discovery via DNS TXT records to the
go-ethereum library. The implementation doesn't match EIP-1459 exactly,
the main difference being that this implementation uses separate merkle
trees for tree links and ENRs. The EIP will be updated to match p2p/dnsdisc.

To maintain DNS trees, cmd/devp2p provides a frontend for the p2p/dnsdisc
library. The new 'dns' subcommands can be used to create, sign and deploy DNS
discovery trees.
2019-09-25 11:38:13 +02:00
gary rong
32b07e8b1f les: fix checkpoint sync (#20120) 2019-09-25 10:05:15 +02:00
Péter Szilágyi
aca39a6498
Merge pull request #20115 from holiman/minor_dashboard_fx
dashboard: log dashboard url
2019-09-24 13:29:21 +03:00
Martin Holst Swende
be500b57d2
dashboard: log host+port 2019-09-24 12:01:21 +02:00
Péter Szilágyi
a308f012ba
core/state: fix copy-commit-copy (#20113)
* core/state: revert noop finalise, fix copy-commit-copy

* core/state: reintroduce net sstore tracking, extend tests for it
2019-09-24 10:49:59 +03:00
Péter Szilágyi
311419c7d6
Merge pull request #20096 from skylenet/remove-ef-legacy-bootnodes
params: remove legacy bootnodes
2019-09-23 11:38:39 +03:00
Felix Lange
63b18027dc params: start v1.9.6 release cycle 2019-09-20 13:33:08 +02:00
Felix Lange
a1c09b9387 params: release Geth v1.9.5 stable 2019-09-20 13:32:42 +02:00
gary rong
05347b3d98 core/state: fix state object deep copy (#20100)
deepCopy didn't copy pending storage updates, leading to the
creation of blocks with invalid state root.
2019-09-20 11:55:44 +02:00
Rafael Matias
75aec8a28d
params: remove legacy bootnodes 2019-09-19 19:35:57 +02:00
Péter Szilágyi
24ef83518c
params: start v1.9.5 release cycle 2019-09-19 11:38:43 +03:00
Péter Szilágyi
46891c12ab
params: release Geth v1.9.4 stable 2019-09-19 11:36:53 +03:00
Péter Szilágyi
c0010f0220
Merge pull request #20092 from karalabe/vendor-usb-bump
vendor: pull in USB Windows fixes
2019-09-19 11:25:13 +03:00
Péter Szilágyi
9f98628dc2
vendor: pull in USB Windows fixes 2019-09-19 11:02:48 +03:00
Péter Szilágyi
a6a14f6b71
Merge pull request #20090 from soc1c/s1-testnet-istanbul
params: activate Istanbul on Ropsten, Rinkeby and Görli
2019-09-19 10:47:50 +03:00
Péter Szilágyi
f9eb307216
core/forkid, params: fix tests, enable Istanbul on Rinkeby + testers 2019-09-19 10:13:11 +03:00
Péter Szilágyi
03c7d8fb31
Merge pull request #20091 from karalabe/cht-1.9.4
params: bump CHTs for the 1.9.4 release
2019-09-19 10:11:29 +03:00
Péter Szilágyi
2becb99583
params: bump CHTs for the 1.9.4 release 2019-09-19 09:45:40 +03:00
soc1c
ad380cd57f
params: activate Istanbul on Ropsten and Görli 2019-09-19 08:25:08 +02:00
Péter Szilágyi
7b32d2a470
Merge pull request #20085 from karalabe/txpool-api-fix
core: fix tx dedup return error count
2019-09-18 12:03:02 +03:00
Péter Szilágyi
f40ff23b7b
core: fix tx dedup return error count 2019-09-18 11:42:47 +03:00
Felföldi Zsolt
0ac9bbba6c les: multiple server bugfixes (#20079)
* les: detailed relative cost metrics

* les: filter txpool relative request statistic

* les: initialize price factors

* les: increased connected bias to lower churn rate

* les: fixed clientPool.setLimits

* core: do not use mutex in GetAncestor

* les: bump factor db version again

* les: add metrics

* les, light: minor fixes
2019-09-17 16:28:41 +03:00
Péter Szilágyi
d4dce43bff
Merge pull request #20081 from karalabe/txpool-lockless-dedup
core: dedup known transactions without global lock, track metrics
2019-09-17 16:25:24 +03:00
Péter Szilágyi
056183c056
core: dedup known transactions without global lock, track metrics 2019-09-17 15:55:06 +03:00
Martin Holst Swende
8d41e885e6 core: smaller txpool status locking (#20080)
* txpool: smaller lock portion

* core/tx_pool: fix data race
2019-09-17 10:34:28 +03:00
Péter Szilágyi
8bd64f4a1c
Merge pull request #20075 from holiman/evm_defaults
cmd/evm: make evm default to all ethash protocol changes
2019-09-16 13:34:52 +03:00
Felix Lange
b1c3010bf2
common/mclock: clean up AfterFunc support (#20054)
This change adds tests for the virtual clock and aligns the interface
with the time package by renaming Cancel to Stop. It also removes the
binary search from Stop because it complicates the code unnecessarily.
2019-09-16 11:16:30 +02:00
Péter Szilágyi
aff986958d
Merge pull request #19953 from karalabe/state-accumulate-writes
core/state: accumulate writes and only update tries when must
2019-09-16 11:46:31 +03:00
Martin Holst Swende
f49d6e5ec0
core: add blockchain test too for revert cornercase 2019-09-16 11:42:14 +03:00
Péter Szilágyi
223b950944
core/state: accumulate writes and only update tries when must 2019-09-16 11:05:57 +03:00
Martin Holst Swende
16f0fb70f1
cmd/evm: make evm default to all ethash protocol changes 2019-09-13 22:32:20 +02:00
Felix Lange
96fb839133
rlp: improve nil pointer handling (#20064)
* rlp: improve nil pointer handling

In both encoder and decoder, the rules for encoding nil pointers were a
bit hard to understand, and didn't leave much choice. Since RLP allows
two empty values (empty list, empty string), any protocol built on RLP
must choose either of these values to represent the null value in a
certain context.

This change adds choice in the form of two new struct tags, "nilString"
and "nilList". These can be used to specify how a nil pointer value is
encoded. The "nil" tag still exists, but its implementation is now
explicit and defines exactly how nil pointers are handled in a single
place.

Another important change in this commit is how nil pointers and the
Encoder interface interact. The EncodeRLP method was previously called
even on nil values, which was supposed to give users a choice of how
their value would be handled when nil. It turns out this is a stupid
idea. If you create a network protocol containing an object defined in
another package, it's better to be able to say that the object should be
a list or string when nil in the definition of the protocol message
rather than defining the encoding of nil on the object itself.

As of this commit, the encoding rules for pointers now take precedence
over the Encoder interface rule. I think the "nil" tag will work fine
for most cases. For special kinds of objects which are a struct in Go
but strings in RLP, code using the object can specify the desired
encoding of nil using the "nilString" and "nilList" tags.

* rlp: propagate struct field type errors

If a struct contained fields of undecodable type, the encoder and
decoder would panic instead of returning an error. Fix this by
propagating type errors in makeStruct{Writer,Decoder} and add a test.
2019-09-13 11:10:57 +02:00
Rob Mulholand
3b6c9902f3 core: remove unused gas return in ApplyTransaction (#20065) 2019-09-12 22:22:22 +03:00