b00ris
9eb7d8b1c2
Suffix reorg ( #113 )
2019-11-04 14:15:26 +01:00
Andrew Ashikhmin
e14b02e1c9
Merge pull request #135 from ledgerwatch/badger
2019-11-04 14:15:26 +01:00
ledgerwatch
f760001638
Merge pull request #112 from ledgerwatch/block_witness
2019-11-04 14:15:26 +01:00
ledgerwatch
f0dd8f407e
Merge pull request #125 from ledgerwatch/broken_snapshot
...
Not to wrap storage values into RLP during reorgs
2019-11-04 14:15:26 +01:00
Andrew Ashikhmin
6992db3180
Merge pull request #121 from ledgerwatch/red-queen
2019-11-04 14:15:26 +01:00
ledgerwatch
d1c8416270
Merge pull request #114 from ledgerwatch/fix_sync_crash
...
Fix the sync crash due to the mis-accounting of prunable entries
2019-11-04 14:15:26 +01:00
Alexey Akhunov
fe01bccbb8
Apply Turbo-Geth modifications to go-ethereum codebase
2019-11-01 21:52:03 +01: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
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
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
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
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
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
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
Rob Mulholand
3b6c9902f3
core: remove unused gas return in ApplyTransaction ( #20065 )
2019-09-12 22:22:22 +03:00
Péter Szilágyi
305ed955db
Merge pull request #20038 from holiman/minor_encodingfix
...
core/state: optimize some internals during encoding
2019-09-10 17:12:06 +03:00
Martin Holst Swende
72045dff4f
core/state: optimize some internals during encoding
2019-09-10 15:15:34 +02:00
Péter Szilágyi
72d5a27a39
core, metrics, p2p: switch some invalid counters to gauges
2019-09-10 14:39:07 +03:00
Péter Szilágyi
cc9eb91d30
Merge pull request #20004 from karalabe/istanbul-override
...
cmd, core, eth, les: support --override.istanbul
2019-08-23 12:38:05 +03:00
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
Felix Lange
54b271a86d
crypto: add SignatureLength constant and use it everywhere ( #19996 )
...
Original change by @jpeletier
2019-08-22 15:14:06 +02:00
Péter Szilágyi
060e33fb4c
core/vm: enable istanbul EIPs in the jump table
2019-08-22 13:41:55 +03: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
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
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
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
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
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
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
Corey Lin
f891fd9875
core/vm: fix comment grammar ( #19923 )
...
* core/vm:modify comment errors
* modify its back to it's
2019-08-07 12:53:16 +03:00
Antonio Salazar Cardozo
beff5fa578
params, core/vm: Istanbul EIP-1108 bn256 gas cost reduction ( #19904 )
...
* params: add IsIstanbul to config + rules
IstanbulBlock, used to determine if the config IsIstanbul, is currently
left nil until an actual block is chosen.
* params, core/vm: implement EIP-1108
Old gas costs for elliptic curve operations are given the PreIstanbul
prefix, while current gas costs retain the unprefixed names. The actual
precompile implementations are the same, so they are factored out into
common functions that are called by the pre-Istanbul and current
precompile structs. Finally, an Istanbul precompile list is added that
references the new precompile structs, which in turn reference the new
gas costs.
* params: fix fork ordering, add missing chain compatibility check
2019-08-06 17:12:54 +03:00
Martin Holst Swende
aa6005b469
core/vm, params: refactor chain configuration ( #19735 )
...
* params, core/vm: deprecating gastable, part 1
* core/vm, params: deprecate gastable, use both constant and dynamic gas
* core/vm, params: remove gastable, remove copypaste
* core/vm: make use of the chainrules
* interpreter: make tracing count constant+dynamic gas
* core/vm: review concerns (param/method name changes)
* core/vm: make use of chainrules more
2019-08-05 11:01:02 +03:00
gary rong
b80c840af3
core, les: fix les unit tests ( #19823 )
2019-07-22 15:45:40 +03:00
Péter Szilágyi
1a83114c74
all: update author list and licenses
2019-07-22 12:17:27 +03:00
Christian Muehlhaeuser
57fc1d21e1
cmd/geth, core/rawdb: add missing error checks ( #19871 )
...
* Added missing error checks
Add error handling where we assign err a value, but don't check for it being nil.
* core/rawdb: tiny style nit
2019-07-22 10:51:13 +03:00
Christian Muehlhaeuser
5183483c53
core/state, p2p/discover, trie, whisper: avoid unnecessary conversions ( #19870 )
...
No need to convert these types.
2019-07-22 10:30:09 +03:00
Péter Szilágyi
61a20cb56d
core: check error before accessing potentially nil block
2019-07-18 15:26:22 +03:00
Felix Lange
f088c650a5
all: replace t.Log(); t.FailNow() with t.Fatal() ( #19849 )
2019-07-18 15:21:24 +03:00