- 15 Dec, 2021 1 commit
-
-
Roman Mazalov authored
The "t" key overrides the log message time in JSON output. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- 14 Dec, 2021 4 commits
-
-
Felföldi Zsolt authored
Fixes #23848
-
Martin Holst Swende authored
-
ucwong authored
-
jovijovi authored
* consensus: use the maxGasLimit constant to check the header.GasLimit to avoid creating new variables repeatedly * consensus: check the header.GasLimit by the public constant MaxGasLimit * consensus: check the header.GasLimit by the constant MaxGasLimit
-
- 11 Dec, 2021 1 commit
-
-
Martin Holst Swende authored
Previously, Ctrl-C (SIGINT) was ignored during JS execution, so it was not possible to get out of infinite loops in the console. With this change, Ctrl-C now interrupts JS. Fixes #23344 Co-authored-by:
Sina Mahmoodi <itz.s1na@gmail.com> Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- 09 Dec, 2021 1 commit
-
-
Alex Beregszaszi authored
-
- 07 Dec, 2021 3 commits
-
-
Martin Holst Swende authored
This PR reduces the amount of work we do when answering header queries, e.g. when a peer is syncing from us. For some items, e.g block bodies, when we read the rlp-data from database, we plug it directly into the response package. We didn't do that for headers, but instead read headers-rlp, decode to types.Header, and re-encode to rlp. This PR changes that to keep it in RLP-form as much as possible. When a node is syncing from us, it typically requests 192 contiguous headers. On master it has the following effect: - For headers not in ancient: 2 db lookups. One for translating hash->number (even though the request is by number), and another for reading by hash (this latter one is sometimes cached). - For headers in ancient: 1 file lookup/syscall for translating hash->number (even though the request is by number), and another for reading the header itself. After this, it also performes a hashing of the header, to ensure that the hash is what it expected. In this PR, I instead move the logic for "give me a sequence of blocks" into the lower layers, where the database can determine how and what to read from leveldb and/or ancients. There are basically four types of requests; three of them are improved this way. The fourth, by hash going backwards, is more tricky to optimize. However, since we know that the gap is 0, we can look up by the parentHash, and stlil shave off all the number->hash lookups. The gapped collection can be optimized similarly, as a follow-up, at least in three out of four cases. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
rjl493456442 authored
-
aaronbuchwald authored
-
- 06 Dec, 2021 5 commits
-
-
Fredrik Svantes authored
-
Arvid Hast authored
-
Péter Szilágyi authored
core/vm: remove no-recursion option from config
-
rjl493456442 authored
This PR fixes a special corner case in transaction indexing. When the chain is rewound by SetHead to a historical point which is even lower than the transaction indexes tail, then system will report Failed to decode block body error all the time, because the relevant blocks are already deleted. In order to avoid this "non-critical-but-annoying" issue, we can recap the indexing target to head+1(to is excluded, so it means indexing transactions from 0 to head).
-
Martin Holst Swende authored
-
- 05 Dec, 2021 1 commit
-
-
Martin Holst Swende authored
Fixes #23972
-
- 03 Dec, 2021 8 commits
-
-
Marius van der Wijden authored
This PR implements the new kintsugi specification which can be found here: https://github.com/ethereum/execution-apis/blob/v1.0.0-alpha.4/src/engine/specification.md
-
nala authored
Previous link leads to incorrect (more recent) version of web3.js docs. go-ethereum uses v0.20.1. The docs for 0.2x.x have been archived at this Github link.
-
Péter Szilágyi authored
core, eth, les, trie: remove the sync bloom, used by fast sync
-
Péter Szilágyi authored
-
Andrei Maiboroda authored
* core/vm: Remove interpreter loop interruption check * core/vm: Unit test for interpreter loop interruption * core/vm: Check for interpreter loop abort on every jump
-
Paweł Bylica authored
-
Alex Beregszaszi authored
-
Péter Szilágyi authored
eth: pre-process downloader responses on the peer reader thread
-
- 02 Dec, 2021 3 commits
-
-
Taeik Lim authored
-
divergencetech authored
The `structs` map is populated by iterating over all methods except the constructor, which results in a nil-pointer dereference. I've first reproduced the problem with a new test and then implemented the fix. Co-authored-by:
Arran Schlosberg <me@arranschlosberg.com>
-
Evolution404 authored
-
- 01 Dec, 2021 5 commits
-
-
Péter Szilágyi authored
-
Alex Beregszaszi authored
* eth/tracers: Add support for REVERT in evmdis_tracer * evm/tracers: Fix evmdis_tracer to use SELFDESTRUCT instead of SUICIDE * eth/tracers: Regenerate tracer library
-
Alex Beregszaszi authored
The opcode was renamed in the codebase in 2017, but the functions were kept unchanged.
-
Alex Beregszaszi authored
* core/vm: Move interpreter.ReadOnly check into the opcode implementations Also remove the same check from the interpreter inner loop. * core/vm: Remove obsolete operation.writes flag * core/vm: Capture fault states in logger Co-authored-by:
Martin Holst Swende <martin@swende.se> * core/vm: Remove panic added for testing Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Martin Holst Swende authored
-
- 30 Nov, 2021 2 commits
-
-
Andrei Maiboroda authored
-
Alex Beregszaszi authored
This was proposed in 2016, Solidity uses this since 2017, and evmone and other VMs use the keccak256 name. This brings geth in line with those.
-
- 29 Nov, 2021 2 commits
-
-
Paweł Bylica authored
* core/vm: break loop on any error * core/vm: move ErrExecutionReverted to opRevert() * core/vm: use "stop token" to stop the loop * core/vm: unconditionally pc++ in the loop * core/vm: set return data in instruction impls
-
Paweł Bylica authored
Trim the search key from head as it's being pushed deeper into the trie. Previously the search key was never modified but each node kept information how to slice and compare it in keyOffset. Now the keyOffset is not needed as this information is included in the slice of the search key. This way the keyOffset can be removed and key manipulation simplified.
-
- 26 Nov, 2021 2 commits
-
-
Péter Szilágyi authored
* eth: request ID based message dispatcher * eth: fix dispatcher cancellation, rework fetchers idleness tracker * eth/downloader: drop peers who refuse to serve advertised chains
-
Marius van der Wijden authored
* all: work for eth1/2 transtition * consensus/beacon, eth: change beacon difficulty to 0 * eth: updates * all: add terminalBlockDifficulty config, fix rebasing issues * eth: implemented merge interop spec * internal/ethapi: update to v1.0.0.alpha.2 This commit updates the code to the new spec, moving payloadId into it's own object. It also fixes an issue with finalizing an empty blockhash. It also properly sets the basefee * all: sync polishes, other fixes + refactors * core, eth: correct semantics for LeavePoW, EnterPoS * core: fixed rebasing artifacts * core: light: performance improvements * core: use keyed field (f) * core: eth: fix compilation issues + tests * eth/catalyst: dbetter error codes * all: move Merger to consensus/, remove reliance on it in bc * all: renamed EnterPoS and LeavePoW to ReachTDD and FinalizePoS * core: make mergelogs a function * core: use InsertChain instead of InsertBlock * les: drop merger from lightchain object * consensus: add merger * core: recoverAncestors in catalyst mode * core: fix nitpick * all: removed merger from beacon, use TTD, nitpicks * consensus: eth: add docstring, removed unnecessary code duplication * consensus/beacon: better comment * all: easy to fix nitpicks by karalabe * consensus/beacon: verify known headers to be sure * core: comments * core: eth: don't drop peers who advertise blocks, nitpicks * core: never add beacon blocks to the future queue * core: fixed nitpicks * consensus/beacon: simplify IsTTDReached check * consensus/beacon: correct IsTTDReached check Co-authored-by:
rjl493456442 <garyrong0905@gmail.com> Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
-
- 25 Nov, 2021 2 commits
-
-
Andrei Maiboroda authored
-
Péter Szilágyi authored
core/vm: use proper JumpTable type
-