Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge/foundation release/1.10.3 #378

Merged
merged 144 commits into from
May 24, 2021

Conversation

ziogaschr
Copy link
Member

No description provided.

holiman and others added 30 commits August 21, 2020 13:55
eth, les: drop support for eth/64
* replaces `an chance` with `a chance`
* replaces `SignHashWithPassphrase` with `SignTextWithPassphrase` as there was no SignHashWithPasspharse function in the file
This PR makes it easier to inspect the freezer index, which could be useful to investigate things like #22111
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
* eth/protocols: persist received state segments

* core: initial implementation

* core/state/snapshot: add tests

* core, eth: updates

* eth/protocols/snapshot: count flat state size

* core/state: add metrics

* core/state/snapshot: skip unnecessary deletion

* core/state/snapshot: rename

* core/state/snapshot: use the global batch

* core/state/snapshot: add logs and fix wiping

* core/state/snapshot: fix

* core/state/snapshot: save generation progress even if the batch is empty

* core/state/snapshot: fixes

* core/state/snapshot: fix initial account range length

* core/state/snapshot: fix initial account range

* eth/protocols/snap: store flat states during the healing

* eth/protocols/snap: print logs

* core/state/snapshot: refactor (#4)

* core/state/snapshot: refactor

* core/state/snapshot: tiny fix and polish

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>

* core, eth: fixes

* core, eth: fix healing writer

* core, trie, eth: fix paths

* eth/protocols/snap: fix encoding

* eth, core: add debug log

* core/state/generate: release iterator asap (#5)

core/state/snapshot: less copy

core/state/snapshot: revert split loop

core/state/snapshot: handle storage becoming empty, improve test robustness

core/state: test modified codehash

core/state/snapshot: polish

* core/state/snapshot: optimize stats counter

* core, eth: add metric

* core/state/snapshot: update comments

* core/state/snapshot: improve tests

* core/state/snapshot: replace secure trie with standard trie

* core/state/snapshot: wrap return as the struct

* core/state/snapshot: skip wiping correct states

* core/state/snapshot: updates

* core/state/snapshot: fixes

* core/state/snapshot: fix panic due to reference flaw in closure

* core/state/snapshot: fix errors in state generation logic + fix log output

* core/state/snapshot: remove an error case

* core/state/snapshot: fix condition-check for exhausted snap state

* core/state/snapshot: use stackTrie for small tries

* core/state/snapshot: don't resolve small storage tries in vain

* core/state/snapshot: properly clean up storage of deleted accounts

* core/state/snapshot: avoid RLP-encoding in some cases + minor nitpicks

* core/state/snapshot: fix error (+testcase)

* core/state/snapshot: clean up tests a bit

* core/state/snapshot: work in progress on better tests

* core/state/snapshot: polish code

* core/state/snapshot: fix trie iteration abortion trigger

* core/state/snapshot: fixes flaws

* core/state/snapshot: remove panic

* core/state/snapshot: fix abort

* core/state/snapshot: more tests (plus failing testcase)

* core/state/snapshot: more testcases + fix for failing test

* core/state/snapshot: testcase for malformed data

* core/state/snapshot: some test nitpicks

* core/state/snapshot: improvements to logging

* core/state/snapshot: testcase to demo error in abortion

* core/state/snapshot: fix abortion

* cmd/geth: make verify-state report the root

* trie: fix failing test

* core/state/snapshot: add timer metrics

* core/state/snapshot: fix metrics

* core/state/snapshot: udpate tests

* eth/protocols/snap: write snapshot account even if code or state is needed

* core/state/snapshot: fix diskmore check

* core/state/snapshot: review fixes

* core/state/snapshot: improve error message

* cmd/geth: rename 'error' to 'err' in logs

* core/state/snapshot: fix some review concerns

* core/state/snapshot, eth/protocols/snap: clear snapshot marker when starting/resuming snap sync

* core: add error log

* core/state/snapshot: use proper timers for metrics collection

* core/state/snapshot: address some review concerns

* eth/protocols/snap: improved log message

* eth/protocols/snap: fix heal logs to condense infos

* core/state/snapshot: wait for generator termination before restarting

* core/state/snapshot: revert timers to counters to track total time

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
core/types: drop some relice data types
* all: add thousandths separators for big numbers on log messages

* p2p/sentry: drop accidental file

* common, log: add fast number formatter

* common, eth/protocols/snap: simplifty fancy num types

* log: handle nil big ints
This adds simple unit test checking if the hard-coded genesis
hash values in package params match the actual genesis block hashes.
* log: fix formatting of big.Int

The implementation of formatLogfmtBigInt had two issues: it crashed when
the number was actually large enough to hit the big integer case, and
modified the big.Int while formatting it.

* log: don't call FormatLogfmtInt64 for int16

* log: separate from decimals back, not front

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
eth/protocols/snap: use ephemeral channels to avoid cross-sync delveries
…650)

* les/vflux/server: fix estimatePriority corner case

* les/vflux/server: simplify inactiveAllowance == 0 case
The stacktrie is a bit un-untuitive, API-wise: since it mutates input values.
Such behaviour is dangerous, and easy to get wrong if the calling code 'forgets' this quirk. The behaviour is fixed by this PR, so that the input values are not modified by the stacktrie. 

Note: just as with the Trie, the stacktrie still references the live input objects, so it's still _not_ safe to mutate the values form the callsite.
This change adds the --catalyst flag, enabling an RPC API for eth2 integration.
In this initial version, catalyst mode also disables all peer-to-peer networking.

Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
core/state/snapshot: avoid copybytes for stacktrie
…#22694)

The new -limit option makes the filter operate on top N nodes by score.
This also adds ENR attribute stats in the nodeset info command.
Node set commands are now documented in README.
This fixes the OpenBSD/arm64 build.
Adds an an optional parameter `overrides *map[common.Address]account` to the `eth_call` API in order for the caller to  can customize the state.
meowsbits and others added 8 commits May 13, 2021 09:43
…gnment in test config

Date: 2021-05-13 09:43:03-05:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2021-05-13 09:46:47-05:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2021-05-13 12:22:20-05:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2021-05-13 12:28:51-05:00
Signed-off-by: meows <b5c6@protonmail.com>
@ziogaschr ziogaschr changed the title [WiP] Merge/foundation release/1.10.3 Merge/foundation release/1.10.3 May 14, 2021
…0.3-ethprotocols-flag-default

cmd/utils: set default for --eth.protocols flag
# Conflicts:
#	cmd/utils/flags.go
cmd/utils/flags.go Outdated Show resolved Hide resolved
ziogaschr and others added 13 commits May 18, 2021 20:28
…colVersions` to `eth.SupportedProtocolVersions` for readability
…versions

Date: 2021-05-20 07:54:24-05:00
Signed-off-by: meows <b5c6@protonmail.com>
…tProtocolVersions

This creates a 'default'-namespaced value
that defines default values; this allows chain
configurators or other defaults to use explicitly
'default' values as defaults, rather than awkwardly
using vars.SupportedProtocolVersions as their
default values.

Date: 2021-05-20 08:02:43-05:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2021-05-21 05:47:32-05:00
Signed-off-by: meows <b5c6@protonmail.com>
…tall ProtocolVersion defaults for configurator implementations

Date: 2021-05-21 05:56:30-05:00
Signed-off-by: meows <b5c6@protonmail.com>
Protocol versions were being appending to the configuration
in duplicate, since the cfg value passed to the function
is the ethconfig.Defaults value.

This cleans the incoming cfg.ProtocolVersions field before
appending to it, and adds an Info log line.

Date: 2021-05-21 06:35:48-05:00
Signed-off-by: meows <b5c6@protonmail.com>
Date: 2021-05-21 06:38:13-05:00
Signed-off-by: meows <b5c6@protonmail.com>
…params/types/parity: persist cnfgrtr defaults to cfg data during get

ProtocolVersion getters now persist the defaults
to their chain configuration if the value was previously
empty.

This allows the configuration structs to be
compared at the schema level, and to handle default
values equivalently.

Date: 2021-05-24 06:30:54-05:00
Signed-off-by: meows <b5c6@protonmail.com>
…0.3-protocolVersions-chain-dependent

Merge/foundation release/1.10.3 protocol versions chain dependent
@meowsbits meowsbits merged commit 010e739 into release/1.12-rc1 May 24, 2021
@meowsbits meowsbits deleted the merge/foundation-release/1.10.3 branch May 24, 2021 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.