Commit Graph

13001 Commits

Author SHA1 Message Date
01bb908790 core,eth: cancel evm on nativecalltracer stop 2021-11-04 21:01:41 +01:00
a83925989f Merge branch 'master' into drop-in-plugin 2021-11-04 19:02:14 +01:00
2af565b18b eth/tracers/testing: lint nitpicks 2021-11-04 18:56:41 +01:00
3bbeb94c1c eth: make traceChain avoid OOM on long-running tracing (#23736)
This PR changes long-running chain tracing, so that it at some points releases the memory trie db, and switch over to a fresh disk-backed trie.
2021-11-04 18:54:00 +01:00
53b94f135a rpc: linear time batch response matching (#23856)
This avoids quadratic time complexity in the lookup of the batch element
corresponding to an RPC response. Unfortunately, the new approach
requires additional memory for the mapping from ID to index.

Fixes #22805
2021-11-04 17:44:35 +01:00
de953f5714 eth/tracers: minor comment fix 2021-11-04 17:42:35 +01:00
4e2de461d7 eth/tracers, core/vm: rename vm.Tracer to vm.EVMLogger for clarity 2021-11-03 20:58:50 +01:00
2a69a3707e eth/tracers: make jstracer non-exported, avoid cast 2021-11-03 20:54:48 +01:00
91a7c094b5 eth/tracers: more renamings 2021-11-03 17:26:10 +01:00
89bac76e0c renamings
Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-11-03 17:03:55 +01:00
60f5734e26 eth/tracers: add native noop tracer 2021-11-02 19:52:46 +01:00
03bc8b7858 core: more efficient nonce-update in txpool (#22231)
* Adjust pending nonce update operation

Benchmark the speed of transaction insertion under multiple accounts

core: fix rebase issues + docstring

core: make benchmark test use sync:ed method

* core: address review comments

* core: add memreport to benchmark

Co-authored-by: WeiLoy <wei_loy@163.com>
2021-11-02 18:32:23 +01:00
c242c82e07 eth/tracers: impl stop 2021-11-02 17:16:57 +01:00
a9c2051d3f eth/tracers: minor fix 2021-11-02 16:49:25 +01:00
c55a903e77 cmd/geth: load native tracers 2021-11-02 16:45:03 +01:00
f49e90e32c cmd/puppeth: make it possible to have pw-protected keyfiles (#22148) 2021-11-02 13:21:25 +01:00
178debe435 consensus/ethash: avoid runtime errors due to OOD on mmap writes (#23799)
When we map a file for generating the DAG, we do a simple truncate to e.g. 1Gb. This is fine, even if we have nowhere near 1Gb disk available, as the actual file doesn't take up the full 1Gb, merely a few bytes. When we start generating into it, however, it eventually crashes with a unexpected fault address .

This change fixes it (on linux systems) by using the Fallocate syscall, which preallocates suffcient space on disk to avoid that situation. 


Co-authored-by: Felix Lange <fjl@twurst.com>
2021-11-02 11:33:54 +01:00
2e8b58f076 cmd/geth: implement data import and export (#22931)
This PR offers two more database sub commands for exporting and importing data.
Two exporters are implemented: preimage and snapshot data respectively. 
The import command is generic, it can take any data export and import into leveldb. 
The data format has a 'magic' for disambiguation, and a version field for future compatibility.
2021-11-02 11:31:45 +01:00
551bd6e721 eth/tracers: invoke enter/exit on 0-value calls to inex accounts (#23828) 2021-11-01 19:06:33 +01:00
c576fa153a core: fix snapshot missing when recovery from crash (#23496)
It is because write known block only checks block and state without snapshot, which could lead to gap between newest snapshot and newest block state. However, new blocks which would cause snapshot to become fixed were ignored, since state was already known. 


Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-11-01 14:09:36 +01:00
c2e64db3b1 accounts/abi/bind/backends: make suggestGasPrice compatible with non-1559 chains (#23840) 2021-11-01 10:01:22 +01:00
1e4becb5c1 rpc/client: fix typo (#23834) 2021-11-01 08:14:00 +01:00
ff844918e8 rpc: avoid crashing on clique getSigner during sync (#23832) 2021-11-01 07:51:03 +01:00
c113520d5d miner: fix receipt deep copy in worker (#23835) 2021-11-01 07:50:29 +01:00
57c252ef4e accounts/abi/bin/backends: return basefee in suggestGasPrice (#23838)
Co-authored-by: mrx <mrx@mrx.com>
2021-11-01 07:49:45 +01:00
410e731bea optimize the judge of invalide notification.number (#22658)
Don't bother fetching genesis

Co-authored-by: wuff1996 <33193253+wuff1996@users.noreply.github.com>
2021-10-31 19:38:48 +01:00
31870a59ff eth/filters, p2p/simulations: fix benchmarks (#23806)
Some benchmarks in eth/filters were not good: they weren't reproducible, relying on geth chaindata to be present.

Another one was rejected because the receipt was lacking a backing transcation.

The p2p simulation benchmark had a lot of the warnings below, due to the framework calling both
Stop() and Close(). Apparently, the simulated adapter is the only implementation which has a Close(),
and there is no need to call both Stop and Close on it.
2021-10-29 14:37:00 +02:00
32150f8aa9 cmd/geth, cmd/evm, params: implement Arrow Glacier (EIP 4345) (#23810)
This PR adds support for ArrowGlacier, as defined by

    https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/arrow-glacier.md
    https://eips.ethereum.org/EIPS/eip-4345

> Starting with FORK_BLOCK_NUMBER the client will calculate the difficulty based on a fake block number suggesting to the client that the difficulty bomb is adjusting 10,700,000 blocks later than the actual block number.

This also adds support for evm t8n to return the calculated difficulty, so it can be used to construct test.
2021-10-28 22:18:14 +02:00
bff330335b core: fixed stale comment in txlist (#23825) 2021-10-28 14:59:51 +02:00
360e3ba352 eth/tracers: move tracecall tests to subpackage 2021-10-28 11:47:53 +02:00
52c02ccb1f cmd/evm: handle rlp errors in t9n (#23771)
* cmd/evm: handle rlp errors in t9n

* cmd/evm/testdata: fix readme
2021-10-27 13:28:50 +02:00
eab4d898fd core: fix benchmark tests (#23803)
Fixes crashes in various benchmarks in the core package
2021-10-27 13:08:51 +02:00
5db19c5922 eth/tracers: rework the model a bit 2021-10-26 14:51:26 +02:00
0946623acc eth/tracers: add license 2021-10-26 12:27:26 +02:00
526c3f6b9e core/state/snapshot: fix benchmarks (#23804) 2021-10-26 11:01:01 +02:00
53f81574e3 ethdb: more accurate batch size calculation (#23790)
This PR also counts the size of the key when calculating the size of a db batch
2021-10-26 10:20:56 +02:00
c72b16c340 core: use block difficulty for genesis (#23793)
* core: write test showing that TD is not stored properly at genesis

The ToBlock method applies a default value for an empty
difficulty value. This default is not carried over through the Commit
method because the TotalDifficulty database write writes the
original difficulty value (nil) instead of the defaulty value
present on the genesis Block.

Date: 2021-10-22 08:25:32-07:00
Signed-off-by: meows <b5c6@protonmail.com>

* core: write TD value from Block, not original genesis value

This an issue where a default TD value was not written to
the database, resulting in a 0 value TD at genesis.

A test for this issue was provided at 90e3ffd393

Date: 2021-10-22 08:28:00-07:00
Signed-off-by: meows <b5c6@protonmail.com>

* core: fix tests by adding GenesisDifficulty to expected result

See prior two commits.

Date: 2021-10-22 09:16:01-07:00
Signed-off-by: meows <b5c6@protonmail.com>

* les: fix test with genesis change

Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-10-26 08:44:43 +02:00
48dc34b8d9 build: remove xgo cross-builds (#23800)
xgo is not maintained at this time, so none of these builds work.

Closes #23784
2021-10-25 16:49:44 +02:00
0e7efd696b core/rawdb, ethdb: introduce batched/atomic reads from ancients (#23566)
This PR adds a new accessor method to the freezer database. This new view offers a consistent interface, guaranteeing that all individual tables (headers, bodies etc) are all on the same number, and that this number is not changes (added/truncated) while the operation is performing.
2021-10-25 16:24:27 +02:00
2954f40eac common/hexutil: improve performance of EncodeBig (#23780)
- use Text instead of fmt.Sprintf
- reduced allocs from 6 to 2
- improved speed
2021-10-21 11:43:23 +02:00
b6fb18479c accounts/abi/bind: fix error handling in baseFee query (#23781)
This fixes a panic that occurs when HeaderByNumber() returns an error.
2021-10-21 11:40:35 +02:00
3ce9f6d96f ethclient: fix typo (#23778) 2021-10-20 16:22:02 +02:00
114ed3edcd params: begin v1.10.12 release cycle (second attempt) 2021-10-20 14:10:09 +02:00
7231b3efb8 params: release go-ethereum v1.10.11 stable (now with gofmt) v1.10.11 2021-10-20 14:08:23 +02:00
da1b6f3906 params: begin v1.10.12 release cycle 2021-10-20 14:02:40 +02:00
f423290ac8 params: update version 2021-10-20 13:56:37 +02:00
312e02bca9 core/state/snapshot: fix BAD BLOCK error when snapshot is generating (#23635)
* core/state/snapshot: fix BAD BLOCK error when snapshot is generating

* core/state/snapshot: alternative fix for the snapshot generator

* add comments and minor update

Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-10-20 10:05:27 +02:00
0183256e7f all: fix warning flagging the use of DeepEqual on error (#23624)
* core: fix warning flagging the use of DeepEqual on error

* apply the same change everywhere possible

* revert change that was committed by mistake

* fix build error

* Update config.go

* revert changes to ConfigCompatError

* review feedback

Co-authored-by: Felix Lange <fjl@twurst.com>
2021-10-19 17:06:47 +02:00
84d8eb2ca8 cmd/evm: add 256-bit field validations on transactions (t9n) (#23743)
* cmd/evm: add 256-bit field validations on transactions (t9n)

* cmd/evm: validate gas*gasPrice, return intrinsic gas usage

* cmd/evm: address review comment
2021-10-18 22:36:45 +02:00
554b1b9d5f cmd/utils: update gpo.maxprice flag description (#23758)
* cmd/utils: update flag description

* Update cmd/utils/flags.go

Co-authored-by: unkonwn-coder <unknown-coder@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2021-10-18 22:35:08 +02:00