Commit Graph

15030 Commits

Author SHA1 Message Date
Péter Szilágyi e39b2a2bde
acmd, core, eth, les: support --override.istanbul 2019-08-23 12:09:27 +03:00
Péter Szilágyi c8a1c0a115
Merge pull request #19993 from karalabe/istanbul-eip-integration
core/vm: enable istanbul EIPs in the jump table
2019-08-23 11:55:43 +03:00
Martin Holst Swende 4aeeddc658
tests: implement Istanbul support 2019-08-23 10:01:09 +02:00
Martin Holst Swende e126b0836a
retesteth: implement istanbul support 2019-08-23 09:48:40 +02:00
SjonHortensius 961aa0533f rpc: enable compression on HTTP transport (#19997)
This change adds support for gzip encoding on HTTP responses.
Gzip encoding is used when the client sets the 'accept-encoding: gzip' header.
Original change by @brianosaurus, with fixes from @SjonHortensius.
2019-08-22 15:18:39 +02:00
Felix Lange 54b271a86d
crypto: add SignatureLength constant and use it everywhere (#19996)
Original change by @jpeletier
2019-08-22 15:14:06 +02:00
alexwang b90cdbaa79 p2p/enode: allow DNS names in enode URLs (#18524) 2019-08-22 14:23:40 +02:00
SjonHortensius 4d358b9fc0 cmd/utils: customize cli.HelpPrinter to fix alignment (#19956)
This copies cli.printHelp but changes minwidth to 38. Custom flag
code is improved to print the default value using cli.FlagStringer like
all built-in flags do.
2019-08-22 13:32:26 +02:00
Péter Szilágyi 1eaf66ae60
Merge pull request #19995 from karalabe/ios-notag
build: gomobile automaticall adds the ios tag, don't duplicate
2019-08-22 14:18:51 +03:00
Péter Szilágyi 4ef5e9746b
build: gomobile automaticall adds the ios tag, don't duplicate 2019-08-22 14:16:48 +03:00
Péter Szilágyi 060e33fb4c
core/vm: enable istanbul EIPs in the jump table 2019-08-22 13:41:55 +03:00
Andrey Petrov 46ec63b849 ethdb/dbtest: addd test suite for ethdb backends (#19960)
- Move the existing tests from memorydb into a generalized testsuite
that can be run by any ethdb backend implementation.
- Add several more test cases to clarify some non-obvious nuances when
implementing a custom ethdb backend, such as the behaviour of
NewIteratorWithPrefix vs NewIteratorWithStart.
- Add leveldb to the testsuite using in-memory storage for fast
execution.
2019-08-22 11:47:24 +02:00
lmittmann 1cd5bf080e common: unify hex prefix check code (#19937) 2019-08-22 11:45:07 +02:00
HackyMiner 7c229941ac core: log chain reorg/split metrics (#18950)
* core: log chain reorg/split metrics

* core: report 1-block reorgs on the metrics too
2019-08-22 12:28:23 +03:00
Péter Szilágyi ac23073619
Merge pull request #19992 from karalabe/fix-blake2b-386-2
crypto/blake2b: fix 386, round 2
2019-08-22 12:27:54 +03:00
Péter Szilágyi 8e391cec43
crypto/blake2b: fix 386, round 2 2019-08-22 12:24:11 +03:00
Péter Szilágyi 5b2c47a575
Merge pull request #19990 from karalabe/fix-blake2b-386
crypto/blake2b: fix non-amd64 builds
2019-08-22 11:50:40 +03:00
Péter Szilágyi 8517dd463d
crypto/blake2b: fix non-amd64 builds 2019-08-22 11:22:16 +03:00
Péter Szilágyi 22fdbee8ed
Merge pull request #19972 from keep-network/istanbul-eip-152-blake2b-f-precompile
core/vm, crypto/blake2b: add BLAKE2b compression func at 0x09
2019-08-22 11:09:31 +03:00
Péter Szilágyi 1bccafe5ef
core/vm, crypto/blake2b: add SSE, AVX and AVX2 code 2019-08-21 13:09:15 +03:00
Piotr Dyraga 2890f060b7
core/vm, crypto/blake2b: add BLAKE2b compression func at 0x09
The precompile at 0x09 wraps the BLAKE2b F compression function:
https://tools.ietf.org/html/rfc7693#section-3.2

The precompile requires 6 inputs tightly encoded, taking exactly 213
bytes, as explained below.

- `rounds` - the number of rounds - 32-bit unsigned big-endian word
- `h` - the state vector - 8 unsigned 64-bit little-endian words
- `m` - the message block vector - 16 unsigned 64-bit little-endian words
- `t_0, t_1` - offset counters - 2 unsigned 64-bit little-endian words
- `f` - the final block indicator flag - 8-bit word

[4 bytes for rounds][64 bytes for h][128 bytes for m][8 bytes for t_0]
[8 bytes for t_1][1 byte for f]

The boolean `f` parameter is considered as `true` if set to `1`.
The boolean `f` parameter is considered as `false` if set to `0`.
All other values yield an invalid encoding of `f` error.

The precompile should compute the F function as specified in the RFC
(https://tools.ietf.org/html/rfc7693#section-3.2) and return the updated
state vector `h` with unchanged encoding (little-endian).

See EIP-152 for details.
2019-08-21 13:09:15 +03:00
gary rong 2ed729d38e les: handler separation (#19639)
les: handler separation
2019-08-21 11:29:34 +02:00
Martin Holst Swende 4aee0d1994 core: fix crash in chain reimport (#19986)
* blockchain: fix flaw in block import

* core/blockchain: address review concerns

* core/blockchain: go format with 's'
2019-08-21 10:17:19 +03:00
Samuel Marks 039a9c3622 appveyor: bump to Go 1.12.9 (#19966)
* appveyor: bump to Go 1.12.8

* appveyor: bump to Go 1.12.9
2019-08-19 16:23:13 +03:00
Péter Szilágyi 3bb9b49afb
core/vm, params: implement EIP2200, SSTORE optimizations (#19964)
* core/vm, params: implement EIP2200, SSTORE optimizations

* core/vm, params: switch EIP2200 to Wei's version
2019-08-19 14:39:38 +03:00
Péter Szilágyi 9dfca5df4b
Merge pull request #19983 from karalabe/private-chain-config
README: update private network fork config fields
2019-08-19 14:08:34 +03:00
Péter Szilágyi 273b3741b6
README: update private network fork config fields 2019-08-19 14:07:23 +03:00
Ben Holden-Crowther 85d2b0d654 cmd/clef: spelling correction (#19973) 2019-08-19 13:31:45 +03:00
Martin Holst Swende 7d3b26018b signer/fourbyte: update signatures, sort and don't compress (#19957)
* fourbyte: update signatures, make signatures sorted+not compressed

* fourbyte: disable linter
2019-08-19 12:46:19 +03:00
Martin Holst Swende dbb03fe989 tests: update from ethereum/tests (#19945) 2019-08-15 14:59:46 +02:00
gary rong 2c50b2c904 cmd/geth: set up cache and metrics when starting node (#19911) 2019-08-15 14:54:16 +02:00
Felix Lange 9bad7fa717
common/compiler: fix lint issue (#19967) 2019-08-15 12:12:56 +02:00
Felix Lange 26f538b0e5
p2p/enode, p2p/discv5: fix URL parsing test for go 1.12.8 (#19963) 2019-08-15 10:36:36 +02:00
shiqinfeng1 260b177fe3 common/compiler: support relative import paths (#17374) 2019-08-15 10:33:06 +02:00
gary rong c2c4c9f1e5 core, light, params: implement eip2028 (#19931)
* core, light, params: implement eip2028

* core, light: address comments

* core: address comments

* tests: disable Istanbul tx tests (until updated)

* core: address comment
2019-08-14 15:53:21 +03:00
Péter Szilágyi 44c8b9ad37
Merge pull request #19955 from karalabe/deprecate-cosmic
build: deprecate Ubuntu Cosmic, start supporting Eoan
2019-08-13 16:17:43 +03:00
Péter Szilágyi eea66ddbbd
build: deprecate Ubuntu Cosmic, start supporting Eoan 2019-08-13 14:04:03 +03:00
Péter Szilágyi aaf29095bb
params: begin Geth v1.9.3 release cycle 2019-08-13 13:06:00 +03:00
Péter Szilágyi e76047e9f5
params: release Geth v1.9.2 2019-08-13 13:03:42 +03:00
Péter Szilágyi 34d7503d95
Merge pull request #19942 from karalabe/cht-1.9.2
params: update CHT to 12th August, 2019
2019-08-12 18:50:09 +03:00
ligi 9b8d727655 cmd/clef: fix typo introduced in #19932 (#19946) 2019-08-12 17:39:15 +03:00
gary rong df6c08a485 core, trie: decode the value for storage dump (#19943)
* core, trie: decode the value for storage dump

* core/state: address comment
2019-08-12 17:14:40 +03:00
Péter Szilágyi 423fd5877d
params: update CHT to 12th August, 2019 2019-08-12 14:23:32 +03:00
gary rong 8657a0d6b5 les: degrade the log level (#19939) 2019-08-12 14:19:53 +03:00
SjonHortensius 36994e4e0b all: replace passPHRASE with passWORD in user interactions (#19932)
* Ref #19906 - replace passPHRASE with passWORD in any user interactions

this skips doccomments and variablenames to minimize impact. It does
however include a rename of the `ethkey` `changepassphrase` parameter

* console: fix JavaScript error capitalization
2019-08-12 12:00:38 +03:00
gary rong c9cdf144d5 graphql, internal/ethapi: support overriding accounts in eth_call (#19917)
* graphql, internal/ethapi: extend eth_call

This PR offers the third option parameter for eth_call API.
Caller can specify a batch of contracts for overriding the
original account metadata(nonce, balance, code, state).
It has a few advantages:

* It's friendly for debugging
* It's can make on-chain contract lighter for getting rid of
  state access functions

* core, internal: address comments
2019-08-08 16:44:11 +03:00
Martin Holst Swende 081642ed25 Eip 1344 (ChainID opcode) (#19921)
* core/vm: implement EIP 1344 (ChainID opcode)

* core/vm: formatting
2019-08-08 16:20:28 +03:00
Roc Yu 17589aa75f accounts, internal/ethapi: use common Accounts method (#18428)
* accounts/mananger, internal/ethapi/api: Add new function AllAccounts on account manager to remove the duplication code on getting all wallets accounts

* Rename to Accounts

* Rename to AllAccounts
2019-08-08 12:23:40 +03:00
Martin Holst Swende 3e993ff64a Eip 1884 v3 (#19743)
* core/vm, tests: implement EIP 1884, add support for feature-tests

* core/vm: 1884-changes to extcodehash, move selfbalance opcode

* tests: fix statetests

* core/vm: move constants, address review concerns

* core/vm: word formatting

Co-Authored-By: Péter Szilágyi <peterke@gmail.com>
2019-08-08 12:07:23 +03:00
Aleksey @soar Smyrnov f3478f2899 internal/build: fix commit extraction for detached head repo (#18315)
* Fix commit extraction

* Comments for commit extraction

Requested in https://github.com/ethereum/go-ethereum/pull/18315
2019-08-08 12:05:35 +03:00