- 11 Jul, 2023 5 commits
-
-
lightclient authored
This simplifies the code that initializes the discovery a bit, and adds new flags for enabling/disabling discv4 and discv5 separately. --------- Co-authored-by:
Felix Lange <fjl@twurst.com>
-
rjl493456442 authored
This change makes the StateDB track the state key value diff of a block transition. We already tracked current account and storage values for the purpose of updating the state snapshot. With this PR, we now also track the original (pre-transition) values of accounts and storage slots.
-
Delweng authored
-
lightclient authored
Fixes an issue where waitgroups were used erroneously, which could lead to waitgroup being added to while wait was already invoked.
-
Charles Cooper authored
Implements [EIP 5656](https://eips.ethereum.org/EIPS/eip-5656), MCOPY instruction, and enables it for Cancun. --------- Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
- 10 Jul, 2023 1 commit
-
-
Martin Holst Swende authored
-
- 07 Jul, 2023 1 commit
-
-
jwasinger authored
-
- 06 Jul, 2023 5 commits
-
-
Martin Holst Swende authored
Back before #27178 , we spun up a number of ethash verifiers to verify headers. So we also had tests to ensure that we were indeed able to abort verification even if we had multiple workers running. With PR #27178, we removed the parallelism in verification, and these tests are now failing, since we now just sequentially fire away the results as fast as possible on one routine. This change removes the (sometimes failing) tests
-
lightclient authored
This PR adds metrics for p2p dialing, which gives us visibility into the quality of the dial candidates returned by our discovery methods.
-
jwasinger authored
This change adds back the 'geth --dev' mode of operation, using a cl-mocker. --------- Co-authored-by:
Martin Holst Swende <martin@swende.se> Co-authored-by:
rjl493456442 <garyrong0905@gmail.com> Co-authored-by:
lightclient <14004106+lightclient@users.noreply.github.com>
-
John Chase authored
Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Darioush Jalali authored
core (blockchain_test): add chain.Stop() to tests
-
- 05 Jul, 2023 1 commit
-
-
Exca-DK authored
This removes text parsing in leveldb metrics collection code. All metrics can now be accessed through the stats API provided by leveldb. We also add new gauge-typed metrics that count the number of tables at each level. --------- Co-authored-by:
Exca-DK <Exca-DK@users.noreply.github.com> Co-authored-by:
Gary Rong <garyrong0905@gmail.com> Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- 04 Jul, 2023 1 commit
-
-
rjl493456442 authored
The clean trie cache is persisted periodically, therefore Geth can quickly warmup the cache in next restart. However it will reduce the robustness of system. The assumption is held in Geth that if the parent trie node is present, then the entire sub-trie associated with the parent are all prensent. Imagine the scenario that Geth rewinds itself to a past block and restart, but Geth finds the root node of "future state" in clean cache then regard this state is present in disk, while is not in fact. Another example is offline pruning tool. Whenever an offline pruning is performed, the clean cache file has to be removed to aviod hitting the root node of "deleted states" in clean cache. All in all, compare with the minor performance gain, system robustness is something we care more.
-
- 02 Jul, 2023 1 commit
-
-
Curith authored
-
- 28 Jun, 2023 3 commits
-
-
Guillaume Ballet authored
* core/state, light, les: make signature of ContractCode hash-independent * push current state for feedback * les: fix unit test * core, les, light: fix les unittests * core/state, trie, les, light: fix state iterator * core, les: address comments * les: fix lint --------- Co-authored-by:
Gary Rong <garyrong0905@gmail.com>
-
Guillaume Ballet authored
* params, trie: add verkle fork management + upgrade go-verkle * remove the two verkle files * core, eth, params: add missing function * Gary's feedback * remove trie/utils/verkle.go * add verkle block override --------- Co-authored-by:
Gary Rong <garyrong0905@gmail.com>
-
Marius van der Wijden authored
* eth: send big transactions by announce/retrieve only * Update eth/handler.go Co-authored-by:
Martin Holst Swende <martin@swende.se> * eth: remove superfluous bracket * eth: add whitespace --------- Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
- 27 Jun, 2023 8 commits
-
-
hero5512 authored
-
Guillaume Ballet authored
* trie, core/state: revert error removal in (*state.Trie).Commit * Gary's nitpick :) Co-Authored-By:
rjl493456442 <garyrong0905@gmail.com> --------- Co-authored-by:
rjl493456442 <garyrong0905@gmail.com>
-
aaronbuchwald authored
This error will never happen, but if it ever does happen, we will at least see it.
-
Sanghee Choi authored
-
Marius van der Wijden authored
* core/vm: move TSTORE,TLOAD to correct opcode nums * core/vm: cleanup
-
rjl493456442 authored
-
puhtaytow authored
error message should not be capitalized / consistency
-
Delweng authored
Signed-off-by:
jsvisa <delweng@gmail.com>
-
- 25 Jun, 2023 1 commit
-
-
Sanghee Choi authored
-
- 23 Jun, 2023 1 commit
-
-
Francisco de Borja Aranda Castillejo authored
-
- 22 Jun, 2023 2 commits
-
-
Guillaume Ballet authored
Verkle trees store the code inside the trie. This PR changes the interface to pass the code, as well as the dirty flag to tell the trie package if the code is dirty and needs to be updated. This is a no-op for the MPT and the odr trie.
-
Exca-DK authored
In all other UDPv4 methods, the deadline is checked first. It seems weird to me that ping is an exception. Deadline comparison is also less resource intensive. Co-authored-by:
Exca-DK <Exca-DK@users.noreply.github.com>
-
- 21 Jun, 2023 2 commits
-
-
James Prestwich authored
This changes the eth_getProof method implementation to re-encode the requested storage keys, canonicalizing them in the response. For backwards-compatibility reasons, go-ethereum accepts non-canonical hex keys. Accepting them is fine, but we should not mirror invalid inputs into the output. Closes #27306 --------- Co-authored-by:
Martin Holst Swende <martin@swende.se> Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Martin Holst Swende authored
This is likely the culprit behind several data corruption issues, e.g. where data has been written to the freezer, but the deletion from pebble does not go through due to process crash.
-
- 20 Jun, 2023 5 commits
-
-
rjl493456442 authored
The state availability is checked during the creation of a state reader. - In hash-based database, if the specified root node does not exist on disk disk, then the state reader won't be created and an error will be returned. - In path-based database, if the specified state layer is not available, then the state reader won't be created and an error will be returned. This change also contains a stricter semantics regarding the `Commit` operation: once it has been performed, the trie is no longer usable, and certain operations will return an error.
-
jwasinger authored
EstimateGas repeatedly executes a transaction, performing a binary search with multiple gas prices to determine proper pricing. Each call retrieves a new copy of the state (https://github.com/ethereum/go-ethereum/blob/master/internal/ethapi/api.go#L1017) . Because the pending/latest state can change during the execution of EstimateGas, this can potentially cause strange behavior (as noted here: https://github.com/ethereum/go-ethereum/pull/27502#issue-1761957009). This PR modifies EstimateGas to retrieve the state once and use a copy of it for every call invocation it does.
-
Felix Lange authored
his function was added in Go 1.20, but our compatibility target is Go 1.19.
-
Dan Laine authored
Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Delweng authored
-
- 19 Jun, 2023 3 commits
-
-
Dan Laine authored
Also adds Hash.Less method for sorting purposes. --------- Co-authored-by:
Felix Lange <fjl@twurst.com>
-
hero5512 authored
Variables discarded, included can be defined closer to their usage. Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
rjl493456442 authored
This removes the feature where top nodes of the proof can be elided. It was intended to be used by the LES server, to save bandwidth when the client had already fetched parts of the state and only needed some extra nodes to complete the proof. Alas, it never got implemented in the client.
-