Commit Graph

11283 Commits

Author SHA1 Message Date
86fe283d19 appveyor: bump to Go 1.13.4 2019-11-02 18:54:04 +11:00
44b74cfc40 accounts/abi: add internalType information and fix issues (#20179)
* accounts/abi: fix various issues

The fixed issues include:

(1) If there is no return in a call function, unpack should
return nil error

(2) For some functions which have struct array as parameter,
it will also be detected and generate the struct definition

(3) For event, if it has non-indexed parameter, the parameter
name will also be assigned if empty. Also the internal struct
will be detected and generate struct defition if not exist.

(4) Fix annotation generation in event function

* accounts/abi: add new abi field internalType

* accounts: address comments and add tests

* accounts/abi: replace strings.ReplaceAll with strings.Replace
2019-10-31 14:17:51 +01:00
9278951a62 params, core/forkid: configure mainnet istanbul block 9069K (#20222)
* params: configure mainnet istanbul block 9069K

* core/forkid: add some more test items for mainnet istanbul
2019-10-31 11:04:26 +02:00
12f2a25d5e Merge pull request #20225 from karalabe/forkid-eth-handshake-verification-plus
cmd/devp2p, core/forkid: make forkid.Filter API uniform
2019-10-31 10:58:28 +02:00
8927f7724a cmd/devp2p, core/forkid: make forkid.Filter API uniform 2019-10-31 10:38:14 +02:00
93422e9d15 Merge pull request #20140 from karalabe/eth64-handshake-forkid
eth: eth/64 - extend handshake with with fork id
2019-10-30 13:21:25 +02:00
5d91acccd5 miner: increase import time allowance (#20217)
Fix the block import unit test which can time out sometimes.
2019-10-30 12:07:30 +01:00
9641cacea8 core/forkid: add two clauses for more precise validation (#20220) 2019-10-30 12:05:31 +01:00
64571f9379 eth: eth/64 - extend handshake packet with fork id 2019-10-29 18:04:39 +02:00
e306304414 Merge pull request #20204 from holiman/fix_downloader_race
eth/downloader: fix data race in downloader
2019-10-29 17:10:44 +02:00
2c37142d2f cmd/devp2p, p2p: dial using node iterator, discovery crawler (#20132)
* p2p/enode: add Iterator and associated utilities

* p2p/discover: add RandomNodes iterator

* p2p: dial using iterator

* cmd/devp2p: add discv4 crawler

* cmd/devp2p: WIP nodeset filter

* cmd/devp2p: fixup lesFilter

* core/forkid: add NewStaticFilter

* cmd/devp2p: make -eth-network filter actually work

* cmd/devp2p: improve crawl timestamp handling

* cmd/devp2p: fix typo

* p2p/enode: fix comment typos

* p2p/discover: fix comment typos

* p2p/discover: rename lookup.next to 'advance'

* p2p: lower discovery mixer timeout

* p2p/enode: implement dynamic FairMix timeouts

* cmd/devp2p: add ropsten support in -eth-network filter

* cmd/devp2p: tweak crawler log message
2019-10-29 17:08:57 +02:00
3eca7b5d27 eth/downloader: fix data race in downloader 2019-10-29 14:32:45 +01:00
b0b277525c core/asm: assembly parser label fixes (#20210)
* core/asm: Fix encoding of pushed labels

EVM uses big-endian byte-order, so to pad a label value to 4 bytes,
zeros must be added to the front, not the end.

* core/asm: Fix PC calculations when a label is pushed

Incrementing PC by 5 is only correct if the label appears after a jump,
in which case there is an implicit push. When it appears after an explicit
push, PC should only be incremented by 4.

* core/asm: Allow JUMP with no argument

This way, a label can be pushed explicitly, or loaded from memory to
implement a jump table.
2019-10-29 13:47:18 +01:00
ecdbb402ee trie: remove node ordering slice in sync batch (#19929)
When we flush a batch of trie nodes into database during the state
sync, we should guarantee that all children should be flushed before
parent.

Actually the trie nodes commit order is strict by: children -> parent.
But when we flush all ready nodes into db, we don't need the order
anymore since

    (1) they are all ready nodes (no more dependency)
    (2) underlying database provides write atomicity
2019-10-28 18:50:11 +01:00
9c81387bef cmd/evm: remove surrounding whitespace in hex input code (#20211)
This way, the output of `evm compile` can be used directly in `evm
--codefile code.txt run`, without stripping the trailing newline first.
2019-10-28 14:55:20 +01:00
72617a0742 consensus: fix possessives in comments. (#20209) 2019-10-28 09:57:34 +02:00
db79143a13 clef: resolve windows pipes, fixes #20121 (#20166) 2019-10-24 10:45:07 +02:00
538f763fdc accounts/abi/bind: take into account gas price during gas estimation (#20189)
The gas price was not passed to the `EstimateGas` function. As a result,
conditional execution paths depending on `tx.gasprice` could be not
correctly processed and we could get invalid gas estimates for contract
function calls.
2019-10-21 10:13:41 +02:00
d4bb3798d8 miner: add generate and import unit test (#20111)
This PR adds a new unit test in miner package which will create some blocks from miner and then import into another chain. In this way, we can ensure all blocks generated by Geth miner obey consensus rules.
2019-10-20 12:36:40 +02:00
08953e42c1 metrics: change links in README.md to https (#20182) 2019-10-20 12:25:25 +02:00
b9299bbc46 dashboard: change links in README to https (#20181)
Changed http:// to https:// on links in dashboard/README.md
2019-10-18 21:30:53 +02:00
9a77065948 Changed http:// to https:// on links in log/README.md (#20178)
docs: change http to https on links in log/README.md
2019-10-18 08:51:54 +02:00
a28093ced4 README: use new miner threads flag instead of legacy minerthreads flag (#20165) 2019-10-17 11:39:13 +03:00
d5b79e752e p2p/simulations: add node properties support and utility functions (#20060) 2019-10-17 10:07:09 +02:00
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
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
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
a73f3f4518 params: begin v1.9.7 release cycle 2019-10-03 11:29:55 +02:00
bd05968077 params: release Geth v1.9.6 stable v1.9.6 2019-10-03 11:29:20 +02:00
6e730915bd les: add empty "les" ENR entry for servers (#20145) 2019-10-02 14:14:27 +03:00
c713ea7c22 cmd/bootnode: fix exit behavior with -genkey (#20110) 2019-10-02 11:32:02 +02:00
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
b2f696e025 github: Added capital P (#20139) 2019-09-30 22:57:20 +03:00
62b43ee0d5 Merge pull request #20133 from karalabe/measure-subprotocol-traffic
p2p: measure subprotocol bandwidth usage
2019-09-30 12:02:29 +03:00
a2a60869c8 p2p: measure subprotocol bandwidth usage 2019-09-27 18:00:25 +03:00
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
ead711779d core: initialize current block/fastblock atomics to nil, fix #19286 (#19352) 2019-09-26 11:10:35 +02:00
2133f18f15 core/state: fix database leak and copy tests (#19306) 2019-09-26 11:09:59 +02:00
1a6ef5ae58 core/blockchain: remove block from futureBlocks on error (#19763) 2019-09-26 10:57:51 +02:00
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
62391ddbeb tests/solidity: add contract to test every opcode (#19283)
Fixes #18210
2019-09-26 10:30:33 +02:00
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
32b07e8b1f les: fix checkpoint sync (#20120) 2019-09-25 10:05:15 +02:00
aca39a6498 Merge pull request #20115 from holiman/minor_dashboard_fx
dashboard: log dashboard url
2019-09-24 13:29:21 +03:00
be500b57d2 dashboard: log host+port 2019-09-24 12:01:21 +02:00
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
311419c7d6 Merge pull request #20096 from skylenet/remove-ef-legacy-bootnodes
params: remove legacy bootnodes
2019-09-23 11:38:39 +03:00
63b18027dc params: start v1.9.6 release cycle 2019-09-20 13:33:08 +02:00
a1c09b9387 params: release Geth v1.9.5 stable v1.9.5 2019-09-20 13:32:42 +02:00
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