- 06 Oct, 2022 3 commits
-
-
Martin Holst Swende authored
core/bloombits: remove micro-sleep
-
rjl493456442 authored
This PR introduces a new mechanism in chain tracer for preventing creating too many trace states. The workflow of chain tracer can be divided into several parts: - state creator generates trace state in a thread - state tracer retrieves the trace state and applies the tracing on top in another thread - state collector gathers all result from state tracer and stream to users It's basically a producer-consumer model here, while if we imagine that the state producer generates states too fast, then it will lead to accumulate lots of unused states in memory. Even worse, in path-based state scheme it will only keep the latest 128 states in memory, and the newly generated state will invalidate the oldest one by marking it as stale. The solution for fixing it is to limit the speed of state generation. If there are over 128 states un-consumed in memory, then the creation will be paused until the states are be consumed properly.
-
Delweng authored
Backwards compatibility warning: The result will from now on omit empty fields instead of including a zero value (e.g. no more `balance: '0x'`). The prestateTracer will now take an option `diffMode: bool`. In this mode the tracer will output the pre state and post data for the modified parts of state. Read-only accesses will be completely omitted. Creations (be it account or slot) will be signified by omission in the `pre` list and inclusion in `post`. Whereas deletion (be it account or slot) will be signified by inclusion in `pre` and omission in `post` list. Signed-off-by:
Delweng <delweng@gmail.com>
-
- 04 Oct, 2022 3 commits
-
-
Martin Holst Swende authored
-
Péter Szilágyi authored
all: fix docstrings
-
Martin Holst Swende authored
-
- 03 Oct, 2022 3 commits
-
-
rjl493456442 authored
* eth, miner: add timeout for building sealing block * eth, cmd, miner: add newpayloadtimeout flag * eth, miner, cmd: address comments * eth, miner: minor fixes Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Martin Holst Swende authored
This PR makes it so that the snap server responds to trie heal requests when possible, even if the snapshot does not exist. The idea being that it might prolong the lifetime of a state root, so we don't have to pivot quite as often.
-
zhiqiangxu authored
add a testcase to TestLegacyReceiptDecoding
-
- 30 Sep, 2022 1 commit
-
-
Martin Holst Swende authored
This PR makes it possible to set custom headers, in particular for two scenarios: - geth attach - geth commands which can use --remotedb, e..g geth db inspect The ability to use custom headers is typically useful for connecting to cloud-apis, e.g. providing an infura- or alchemy key, or for that matter access-keys for environments behind cloudflare. Co-authored-by:
Felix Lange <fjl@twurst.com>
-
- 29 Sep, 2022 5 commits
-
-
Martin Holst Swende authored
This fixes a cornercase bug where the flag migration would mess up the value of StringSlice flags.
-
Mikhail Vazhnov authored
* accounts/abi/bind: parse ABI once on bind * accounts/abi/bind: suppress 'imported and not used' error for abi package
-
Sina Mahmoodi authored
* eth/tracers: add revertReason to callTracer * update callframe gen json * add revertal to calltrace test
-
Ceyhun Onur authored
-
rjl493456442 authored
This PR reworks tx indexer a bit. Compared to the original version, one scenario is no longer handled - upgrading from legacy geth without indexer support. The tx indexer was introduced in 2020 and have been present through hardforks, so it can be assumed that all Geth nodes have tx indexer already. So we can simplify the tx indexer logic a bit: - If the tail flag is not present, it means node is just initialized may or may not with an ancient store attached. In this case all blocks are regarded as unindexed - If the tail flag is present, it means blocks below tail are unindexed, blocks above tail are indexed This change also address some weird cornercases that could make the indexer not work after a crash.
-
- 28 Sep, 2022 6 commits
-
-
TY authored
This change adds zero-padding (prefix) of odd nibbles in the decodeHash function. Co-authored-by:
ty <ty@oncoder.com>
-
Delweng authored
-
lmittmann authored
* dropped `vm.keccakState` for `crypto.KeccakState` * cleaned up `OpCode.IsPush()`
-
Alexey Shekhirin authored
* test(state): report mgas/s metric in EVM benchmark * revert testdata submodule update * aggregate mgas/s results * calculate elapsed time better * tests: benchmarks - handle access list + take refund into account Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
lightclient authored
-
Martin Holst Swende authored
This PR prevent making tiny writes during state healing, by only performing the batch-write if the accumulated data is large enough to be meaningful.
-
- 27 Sep, 2022 4 commits
-
-
Janko Simonovic authored
This fixes a bug where contract code would be overridden to empty code ("0x") when the Code field of OverrideAccount was left nil. The change also cleans up the encoding of overrides to only send necessary fields, and improves documentation. Fixes #25615 Co-authored-by:
Felix Lange <fjl@twurst.com> Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Martin Holst Swende authored
-
zhiqiangxu authored
* make vmError more useful * fix for review * Update api.go * revert calling site Co-authored-by:
rjl493456442 <garyrong0905@gmail.com>
-
rjl493456442 authored
* cmd, core, eth, les, light: track deleted nodes * trie: add docs * trie: address comments * cmd, core, eth, les, light, trie: trie id * trie: add tests * trie, core: updates * trie: fix imports * trie: add utility print-method for nodeset * trie: import err * trie: fix go vet warnings Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
- 26 Sep, 2022 9 commits
-
-
Sina Mahmoodi authored
The call tracer and prestate tracer store data JSON-encoded in memory. In order to support alternative encodings (specifically RLP), it's better to keep data a native format during tracing. This PR does marshalling at the end, using gencodec. OBS! This PR changes the call tracer result slightly: - Order of type and value fields are changed (should not matter). - Output fields are completely omitted when they're empty (no more output: "0x"). Previously, this was only _sometimes_ omitted (e.g. when call ended in a non-revert error) and otherwise 0x when the output was actually empty.
-
meowsbits authored
Some tests define an 'expectException' error but the tests runner does not check for conditions where this test value is filled (error expected) but in which no error is returned by the test runner. An example of this scenario is GeneralStateTests/stTransactionTest/HighGasPrice.json, which expects a 'TR_NoFunds' error, but the test runner does not return any error. Signed-off-by:
meows <b5c6@protonmail.com>
-
jwasinger authored
`geth dumpgenesis` currently does not respect the content of the data directory. Instead, it outputs the genesis block created by command-line flags. This PR fixes it to read the genesis from the database, if the database already exists. Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Leon authored
* core/vm: correct logic for eip check of NewEVMInterpreter * refactor
-
zhiqiangxu authored
* fix queue.deliver * les/downloader: fix queue.deliver Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
Martin Holst Swende authored
core: fix datarace in txpool pendingnoce, fixes #25870
-
omahs authored
* Fix: typos Fix: typos * Undo change Undo change
-
Sina Mahmoodi authored
* eth/tracers: pad memory slice on oob case * eth/tracers/js: fix testfailure due to err msg capitalization Co-authored-by:
Martin Holst Swende <martin@swende.se>
-
zhiqiangxu authored
The header.Size() method did not take the basefee into account.
-
- 23 Sep, 2022 6 commits
-
-
Zachinquarantine authored
This PR fully removes the --miner.gastarget flag, as previously it was only hidden from the geth --help command, but could still be used.
-
rjl493456442 authored
This PR cleans up the configurations for pruner and snapshotter by passing a config struct. And also, this PR disables the snapshot background generation if the chain is opened in "read-only" mode. The read-only mode is necessary in some cases. For example, we have a list of commands to open the etheruem node in "read-only" mode, like export-chain. In these cases, the snapshot background generation is non expected and should be banned explicitly.
-
Zachinquarantine authored
* remove morden * Update commons.go * Update handler.go * empty commit to make appveyor happy
-
Sebastian Stammler authored
The abigen exclusion pattern, previously on the form "path:type", now supports wildcards. Examples "*:type" to exclude a named type in all files, or "/path/to/foo.sol:*" all types in foo.sol.
-
Felix Lange authored
This changes the CI build to store the git commit and date into package internal/version instead of package main. Doing this essentially merges our two ways of tracking the go-ethereum version into a single place, achieving two objectives: - Bad block reports, which use version.Info(), will now have the git commit information even when geth is built in an environment such as launchpad.net where git access is unavailable. - For geth builds created by `go build ./cmd/geth` (i.e. not using `go run build/ci.go install`), git information stored by the go tool is now used in the p2p node name as well as in `geth version` and `geth version-check`.
-
Boqin@MetaSecureLabs authored
-