- 10 Sep, 2022 1 commit
-
-
Felix Lange authored
This changes the CI / release builds to use the latest Go version. It also upgrades golangci-lint to a newer version compatible with Go 1.19. In Go 1.19, godoc has gained official support for links and lists. The syntax for code blocks in doc comments has changed and now requires a leading tab character. gofmt adapts comments to the new syntax automatically, so there are a lot of comment re-formatting changes in this PR. We need to apply the new format in order to pass the CI lint stage with Go 1.19. With the linter upgrade, I have decided to disable 'gosec' - it produces too many false-positive warnings. The 'deadcode' and 'varcheck' linters have also been removed because golangci-lint warns about them being unmaintained. 'unused' provides similar coverage and we already have it enabled, so we don't lose much with this change.
-
- 09 Sep, 2022 4 commits
-
-
Martin Holst Swende authored
This PR makes the event-sending for deleted and new logs happen in batches, to prevent OOM situation due to large reorgs. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Nicholas authored
This changes the error code returned by the RPC server in certain situations: - handler panic: code -32603 - result marshaling error: code -32603 - attempt to subscribe via HTTP: code -32001 In all of the above cases, the server previously returned the default error code -32000. Co-authored-by:
Nicholas Zhao <nicholas.zhao@gmail.com> Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Martin Holst Swende authored
The p2p msgrate tracker is a thing which tries to estimate some mean round-trip times. However, it did so in a very curious way: if a node had 200 peers, it would sort their 200 respective rtt estimates, and then it would pick item number 2 as the mean. So effectively taking third fastest and calling it mean. This probably works "ok" when the number of peers are low (there are other factors too, such as ttlScaling which takes some of the edge off this) -- however when the number of peers is high, it becomes very skewed. This PR instead bases the 'mean' on the square root of the length of the list. Still pretty harsh, but a bit more lenient.
-
Péter Szilágyi authored
* eth/protocols/snap: throttle trie heal requests when peers DoS us * eth/protocols/snap: lower heal throttle log to debug Co-authored-by:
Martin Holst Swende <martin@swende.se> * eth/protocols/snap: fix comment Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
- 08 Sep, 2022 2 commits
-
-
Darioush Jalali authored
This PR includes minor updates to comments in trie/committer that reference insertion to the db, and adds an err != nil check for the return value of preimages.commit.
-
rjl493456442 authored
-
- 07 Sep, 2022 5 commits
-
-
rjl493456442 authored
This PR simplifies the logic of chain tracer and also adds the unit tests. The most important change has been made in this PR is the state management. Whenever a tracing state is acquired there is a corresponding release function be returned as well. It must be called once the state is used up, otherwise resource leaking can happen. And also the logic of state management has been simplified a lot. Specifically, the state provider(eth backend, les backend) should ensure the state is available and referenced. State customers can use the state according to their own needs, or build other states based on the given state. But once the release function is called, there is no guarantee of the availability of the state. Co-authored-by:
Sina Mahmoodi <1591639+s1na@users.noreply.github.com> Co-authored-by:
Péter Szilágyi <peterke@gmail.com>
-
rjl493456442 authored
Follow-up to PR #25523 to cleanup all relevant tests.
-
Marius van der Wijden authored
See: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4399.md > This EIP supplants the semantics of the return value of existing DIFFICULTY (0x44) opcode and renames the opcode to PREVRANDAO (0x44).
-
rjl493456442 authored
-
rjl493456442 authored
-
- 06 Sep, 2022 2 commits
-
-
Péter Szilágyi authored
trie: check childrens' existence concurrently for snap heal
-
Péter Szilágyi authored
-
- 05 Sep, 2022 1 commit
-
-
Felix Lange authored
All fields related to gas must be represented as uint64. Depth is internally tracked as int, so it makes sense to also store it as int.
-
- 02 Sep, 2022 8 commits
-
-
Amir Hossein authored
-
Seungbae Yu authored
-
Seungbae Yu authored
The JSON-RPC spec requires the "version" field to be exactly "2.0", so we should verify that. This change is not backwards-compatible with sloppy client implementations, but I decided to go ahead with it anyway because the failure will be caught via the returned error.
-
protolambda authored
This adds a generic mechanism for 'dial options' in the RPC client, and also implements a specific dial option for the JWT authentication mechanism used by the engine API. Some real tests for the server-side authentication handling are also added. Co-authored-by:
Joshua Gutow <jgutow@optimism.io> Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Martin Holst Swende authored
Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Sina Mahmoodi authored
For some reason, an accessor method for this field exists in JS, but the value was never actually assigned.
-
xternet authored
Co-authored-by:
Felix Lange <fjl@twurst.com>
-
Jakub Freebit authored
This fixes a regression introduced in PR #25459.
-
- 01 Sep, 2022 3 commits
-
-
Péter Szilágyi authored
eth/protocols/snap: fix problems due to idle-but-busy peers
-
rjl493456442 authored
-
Martin Holst Swende authored
-
- 31 Aug, 2022 7 commits
-
-
Marius van der Wijden authored
eth/catalyst: prevent diff by zero
-
rjl493456442 authored
It's a trivial PR to hide the error log when the trie node is not found in the database. The idea for this change is for all TryXXX functions, the error is already returned and we don't need to fire a log explicitly. Recently there are a few tickets #25613 #25589 reporting that the trie nodes are missing because of debug.SetHead. The root cause is after resetting, the chain rewinds to a historical point and re-imports the blocks on top. Since the node is already synced and started to accept transactions previously, these transactions are still kept in the txpool and verified by txpool with a live state. This live state is constructed based on the live trie database, which is changed fast by node referencing and de-referencing. Unfortunately, when we construct a live state(like the state in txpool), we don't reference the state we have. The blockchain will garbage collect the intermediate version nodes in another thread which leads the broken live state. The best solution for this is to forcibly obtain a reference for all live states we create and call release function once it's used up. But it might end up with more junks persisted into disk. Will try to find an elegant solution later in the following PR.
-
Martin Holst Swende authored
-
aaronbuchwald authored
-
Sina Mahmoodi authored
* graphql: fix tx logs * minor * Use optimized search for selecting tx logs
-
Jakub Freebit authored
-
Martin Holst Swende authored
* eth/catalyst: adjust eta for themerge * squash * squash * eth/catalyst: address review concerns
-
- 30 Aug, 2022 7 commits
-
-
rjl493456442 authored
* all: move genesis initialization to blockchain * core: add one more check * core: fix tests
-
Felix Lange authored
-
Seungbae Yu authored
-
Rachel Bousfield authored
-
Marius Kjærstad authored
Co-authored-by:
Felix Lange <fjl@twurst.com>
-
uji authored
-
Sina Mahmoodi authored
-