Commit Graph

2764 Commits

Author SHA1 Message Date
Evolution404
b7a91663ab core/asm: fix the bug of "00" prefix number (#22883) 2021-05-18 10:22:58 +02:00
Martin Holst Swende
bb9f9ccf4f core/rawdb: wait for background freezing to exit when closing freezer (#22878) 2021-05-18 01:30:01 +02:00
Martin Holst Swende
67e7f61af7 core: fix failing tests (#22888)
This PR fixes two errors that regressed when EIP-1559 was merged.
2021-05-18 01:10:28 +02:00
Martin Holst Swende
94451c2788 all: implement EIP-1559 (#22837)
This is the initial implementation of EIP-1559 in packages core/types and core.
Mining, RPC, etc. will be added in subsequent commits.

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: lightclient@protonmail.com <lightclient@protonmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-05-17 15:13:22 +02:00
Martin Holst Swende
addd8824cf cmd/geth, eth, core: snapshot dump + unify with trie dump (#22795)
* cmd/geth, eth, core: snapshot dump + unify with trie dump

* cmd/evm: dump API fixes

* cmd/geth, core, eth: fix some remaining errors

* cmd/evm: dump - add limit, support address startkey, address review concerns

* cmd, core/state, eth: minor polishes, fix snap dump crash, unify format

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-05-12 11:05:39 +03:00
Guillaume Ballet
a2c456a526 core: ensure a broken trie invariant crashes genesis creation (#22780)
* Ensure state could be created in ToBlock

* Fix rebase errors

* use a panic instead
2021-05-11 18:12:10 +03:00
Felix Lange
643fd0efc6 core/types: remove support for legacy receipt/log storage encoding (#22852)
* core/types: remove support for legacy receipt storage encoding

* core/types: remove support for legacy log storage encoding
2021-05-11 11:43:35 +03:00
Martin Holst Swende
ae5fcdc67f go.mod: upgrade to github.com/holiman/uint256 v1.2.0 (#22745) 2021-05-10 12:29:33 +02:00
fudongbai
3ab97c2a83 disable log of snap update 2021-05-10 17:10:11 +08:00
Martin Holst Swende
a5669ae292 core, params: implement EIP-3529 (#22733)
* core, params: implement EIP-3529

* core/vm: add london instructionset

* core/vm: add method doc for EIP enabler

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-05-07 09:25:32 +03:00
yutianwu
f3ad96d46a fix conflicts 2021-05-07 13:55:21 +08:00
fudongbai
744dfd61ad fix disk increase dramaticly issue 2021-05-07 10:48:48 +08:00
Paweł Bylica
e69130d9f1 core/vm, params: implement EIP 3541 2021-05-06 11:28:46 +02:00
Martin Holst Swende
cc606be74c all: define London+baikal, undefine yolov3, add london override flag (#22822)
* all: define London+baikal, undefine yolov3, add london override flag

* cmd, core, params: add baikal genesis definition
2021-05-06 12:07:42 +03:00
Evgeny Danilenko
df20b3b982 core/vm: avoid duplicate log in json logger (#22825) 2021-05-06 10:46:27 +02:00
zjubfd
031607200a Merge pull request #186 from binance-chain/upgrade_tmp
[R4R] make prune tool available
2021-05-06 12:00:34 +08:00
zjubfd
260518917a Merge pull request #187 from binance-chain/upgrade_1.10.3
Upgrade 1.10.3
2021-05-06 11:56:26 +08:00
yutianwu
334b6adf14 fix conflicts 2021-05-06 09:26:06 +08:00
fudongbai
b37e445aa4 add disk layer as the last layer when prune 2021-05-04 23:52:15 +08:00
fudongbai
3d42dd1105 tolerate unindex tx light client 2021-05-04 21:23:46 +08:00
Péter Szilágyi
fc1c1cbea9 Merge pull request #22739 from holiman/remove_code
core: remove old conversion to shuffle leveldb blocks into ancients
2021-05-03 15:37:46 +03:00
aaronbuchwald
ca9c576e62 core/vm: fix interpreter comments (#22797)
* Fix interpreter comment

* Fix comment
2021-05-03 11:58:00 +03:00
Paweł Bylica
0e00ee42ec core/vm: clean up contract creation error handling (#22766)
Do not keep separate flag for "max code size exceeded" case, but instead
assign appropriate error for it sooner.
2021-05-01 13:19:24 +02:00
Péter Szilágyi
8681a2536c Merge pull request #22777 from karalabe/snapshots-abort-resume-on-sync
core, eth: abort snapshot generation on snap sync and resume later
2021-04-30 17:04:05 +03:00
Péter Szilágyi
745757ac6b core, eth: abort snapshot generation on snap sync and resume later 2021-04-30 17:03:10 +03:00
aaronbuchwald
bbb57fd64b core/state: remove toAddr helper in tests (#22772) 2021-04-30 13:10:12 +02:00
aaronbuchwald
b778e37daa core: fix typo in comment (#22773) 2021-04-30 12:50:02 +02:00
aaronbuchwald
dde6cb0b92 core/vm: replace repeated string with variable in tests (#22774) 2021-04-30 12:49:13 +02:00
aaronbuchwald
1e57ab5de6 core: remove unused else branch in reorg (#22783) 2021-04-30 12:47:05 +02:00
aaronbuchwald
8130dd5cef core/vm: fix typo in comment (#22785) 2021-04-30 12:46:34 +02:00
aaronbuchwald
bb43cd7a79 core/types: add license header (#22781) 2021-04-29 22:14:57 +02:00
Paweł Bylica
63bad18c33 evm: remove unused errors left after EIP-2315 removal (#22767) 2021-04-29 19:30:16 +02:00
aaronbuchwald
56f533d00c docs: fix docstring on read head block (#22776) 2021-04-29 19:23:07 +02:00
Péter Szilágyi
fae165a5de core, eth, ethdb, trie: simplify range proofs 2021-04-29 10:59:08 +03:00
fudongbai
c92a53d2bf add more logs 2021-04-29 13:24:22 +08:00
Martin Holst Swende
a81cf0d2b3 trie: remove redundant returns + use stacktrie where applicable (#22760)
* trie: add benchmark for proofless range

* trie: remove unused returns + use stacktrie
2021-04-28 22:47:48 +03:00
Péter Szilágyi
caea6c4661 eth/protocols/snap: generate storage trie from full dirty snap data (#22668)
* eth/protocols/snap: generate storage trie from full dirty snap data

* eth/protocols/snap: get rid of some more dead code

* eth/protocols/snap: less frequent logs, also log during trie generation

* eth/protocols/snap: implement dirty account range stack-hashing

* eth/protocols/snap: don't loop on account trie generation

* eth/protocols/snap: fix account format in trie

* core, eth, ethdb: glue snap packets together, but not chunks

* eth/protocols/snap: print completion log for snap phase

* eth/protocols/snap: extended tests

* eth/protocols/snap: make testcase pass

* eth/protocols/snap: fix account stacktrie commit without defer

* ethdb: fix key counts on reset

* eth/protocols: fix typos

* eth/protocols/snap: make better use of delivered data (#44)

* eth/protocols/snap: make better use of delivered data

* squashme

* eth/protocols/snap: reduce chunking

* squashme

* eth/protocols/snap: reduce chunking further

* eth/protocols/snap: break out hash range calculations

* eth/protocols/snap: use sort.Search instead of looping

* eth/protocols/snap: prevent crash on storage response with no keys

* eth/protocols/snap: nitpicks all around

* eth/protocols/snap: clear heal need on 1-chunk storage completion

* eth/protocols/snap: fix range chunker, add tests

Co-authored-by: Péter Szilágyi <peterke@gmail.com>

* trie: fix test API error

* eth/protocols/snap: fix some further liter issues

* eth/protocols/snap: fix accidental batch reuse

Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-04-27 17:19:59 +03:00
Martin Holst Swende
65a1c2d829 core/vm: make gas cost reporting to tracers correct (#22702)
Previously, the makeCallVariantGasCallEIP2929 charged the cold account access cost directly, leading to an incorrect gas cost passed to the tracer from the main execution loop.
This change still temporarily charges the cost (to allow for an accurate calculation of the available gas for the call), but then afterwards refunds it and instead returns the correct total gas cost to be then properly charged in the main loop.
2021-04-27 13:21:41 +02:00
Martin Holst Swende
9b99e3dfe0 core/rawdb: fix datarace in freezer (#22728)
The Append / truncate operations were racy. When a datafile reaches 2Gb, a new file is needed. For this operation, we require a writelock, which is not needed in the 99.99% of all cases where the data does fit in the current head-file.

This transition from readlock to writelock was incorrect, and as the readlock was released, a truncate operation could slip in between, and truncate the data. This would have been fine, however, the Append operation continued writing as if no truncation had occurred, e.g writing item 5 where item 0 should reside.

This PR changes the behaviour, so that if when we run into the situation that a new file is needed, it aborts, and retries, this time with a writelock.

The outcome of the situation described above, running on this PR, would instead be that the Append operation exits with a failure.
2021-04-26 18:19:07 +02:00
Martin Holst Swende
83375b0873 core: remove old conversion to shuffle leveldb blocks into ancients 2021-04-26 14:27:56 +02:00
Martin Holst Swende
49281ab84f core/state/snapshot, true: reuse dirty data instead of hitting disk when generating (#22667)
* core/state/snapshot: reuse memory data instead of hitting disk when generating

* trie: minor nitpicks wrt the resolver optimization

* core/state/snapshot, trie: use key/value store for resolver

* trie: fix linter

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2021-04-23 14:39:18 +03:00
yutianwu
148c9ff439 revert bug fix in 1.9.17 2021-04-23 18:31:39 +08:00
gary rong
d6ffa14035 core: nuke legacy snapshot supporting (#22663) 2021-04-20 08:27:46 +03:00
Péter Szilágyi
e43ac53264 Merge pull request #22686 from holiman/minor_fixes
core/state/snapshot: avoid copybytes for stacktrie
2021-04-18 17:53:01 +03:00
Guillaume Ballet
f79cce5de9 eth/catalyst: add catalyst API prototype (#22641)
This change adds the --catalyst flag, enabling an RPC API for eth2 integration.
In this initial version, catalyst mode also disables all peer-to-peer networking.

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
2021-04-16 21:29:22 +02:00
Martin Holst Swende
09d44e9925 core/state/snapshot: avoid copybytes for stacktrie 2021-04-16 14:58:23 +02:00
yutianwu
061cd5030c upgrade to 1.10.2 2021-04-16 12:45:26 +08:00
meowsbits
3cfd0fe7a8 core: add TestGenesisHashes and fix YoloV3 (#22559)
This adds simple unit test checking if the hard-coded genesis
hash values in package params match the actual genesis block hashes.
2021-04-16 00:32:16 +02:00
Péter Szilágyi
1e207342b5 all: make logs a bit easier on the eye to digest (#22665)
* all: add thousandths separators for big numbers on log messages

* p2p/sentry: drop accidental file

* common, log: add fast number formatter

* common, eth/protocols/snap: simplifty fancy num types

* log: handle nil big ints
2021-04-15 20:35:00 +03:00
Péter Szilágyi
d5e57948d1 core/types: drop some relice data types 2021-04-14 23:39:42 +03:00