Commit Graph

17950 Commits

Author SHA1 Message Date
alex.sharov
ebfc2344ca e3: close context 2023-03-22 15:11:08 +07:00
Alex Sharov
223fcd178c
e3: domain range api simplify (#7158) 2023-03-22 07:36:03 +00:00
Alex Sharov
0ffaca865e
e3: unionKV limit (#7157) 2023-03-22 06:58:01 +00:00
Alex Sharov
753a680cbd
e3: union limit (#7156) 2023-03-22 06:38:04 +00:00
Alex Sharov
52cb720cdc
e3: remove settings table (#7155) 2023-03-22 05:21:17 +00:00
alex.sharov
94a3257ec7 e4: reset state 2023-03-22 12:06:48 +07:00
alex.sharov
8395c39670 domain: to use history api 2023-03-22 11:55:26 +07:00
Alex Sharov
28c1b1d50d
e4: to use serializev3 (#7154) 2023-03-22 04:53:49 +00:00
Temirlan
4e5dce1365
add flag txpool.commit_every (#7062)
Adds flag _--txpool.commit_every_ to control how often transactions
should be committed to the storage

[Related Issue](https://github.com/ledgerwatch/erigon/issues/7002)
2023-03-22 03:53:47 +00:00
alex.sharov
f69f7095bb e3: exec to use half of CPU's by default 2023-03-22 10:17:03 +07:00
Andrew Ashikhmin
4087510c2e
Total difficulty can be huge on Gnosis (#7149)
This fixes the following issue observed on gnosis_withdrawals_devnet_2:
```
[DBUG] [03-21|09:24:15.060] Handling incoming message                stream=RecvMessage err="newBlock66: too large block TD: bitlen 144"
```
2023-03-21 09:38:06 +00:00
Andrew Ashikhmin
00b1df6f3a
Update ethereum/tests to v12 (#7148)
[Tests update 12: Shanghai
tests](https://github.com/ethereum/tests/releases/tag/v12)
2023-03-21 08:03:22 +00:00
Andrew Ashikhmin
56a3844656
Drop Default from GenesisBlock* functions (#7147)
Small cosmetic changes and clean-ups
2023-03-20 15:44:22 +00:00
Giulio rebuffo
97e17678ca
fixed fork consensus spec test (#7143) 2023-03-20 15:25:52 +00:00
Andrew Ashikhmin
4a1c61a031
Schedule mainnet Shapella. Fix BellatrixForkEpoch (#7145)
See https://github.com/ethereum/execution-specs/pull/727. Also,
`BellatrixForkEpoch` should be 144896, not 144869: refer to [the
spec](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/fork.md).
2023-03-20 12:01:35 +00:00
Giulio rebuffo
6005bdd8b2
removed stream handler (#7142) 2023-03-19 23:15:34 +00:00
Giulio rebuffo
fb00d714b5
added tests for ssz_static in consensus tests and fixed beacon blocks encoding (#7141) 2023-03-19 22:47:27 +00:00
Giulio rebuffo
b129a9415e
Update go deps (#7138) 2023-03-19 20:13:53 +00:00
Giulio rebuffo
6038ce7c9d
Updated CI to 1.19.0 (#7139) 2023-03-19 19:06:33 +00:00
Giulio rebuffo
fc10aef874
removed database functionality from lightclient (#7135) 2023-03-18 20:27:37 +00:00
Giulio rebuffo
35a0ba571d
Banning peers sending bad gossip (#7134) 2023-03-18 19:45:53 +00:00
Giulio rebuffo
432e5d7ad2
Error handling to beacon chain gossip (#7132) 2023-03-18 17:15:59 +00:00
Max Revitt
007e492666
feat(docker): add debug.Dockerfile with delve (#7125)
- removes dbtools from debug container
- adds delve to debug container
2023-03-18 05:11:03 +00:00
Giulio rebuffo
77a8cf9d5b
refactored sentinel gossip and only connect to nimbus now (#7127) 2023-03-17 21:51:19 +00:00
Giulio rebuffo
36828fbb08
Added tool for processing for all mainnet beacon blocks (#7095) 2023-03-17 12:37:51 +00:00
alex.sharov
e4b2072a16 --rpc.returndata.limit 2023-03-17 11:21:14 +07:00
Alex Sharov
f027324f01
torrent: suppress some warning (#7124) 2023-03-17 03:53:35 +00:00
Alex Sharov
3da0df736f
grpc_middleware_up (#7123) 2023-03-17 03:33:59 +00:00
Max Revitt
82217f5411
fix(release): download page https redirect (#7120)
Updated initial traefik config so the http -> https redirect on
download.erigon.sh will work.
2023-03-17 03:29:09 +00:00
awskii
7cee93aa10
E4 metrics upd (#7122) 2023-03-17 00:38:38 +00:00
hexoscott
3b36d5d57a
get localnode address up front on creation to save potential data race (#7111)
the log line here was the culprit for the race. made sense to just
capture this on localnode creation instead and hold onto it for when the
server is started.

ran test with `-race` and `-count=5000` to double check and all looks
good
2023-03-16 03:44:00 +00:00
Max Revitt
87c958b5c1
fix(release): run download page update separately (#7112)
Checksum not working as the file isn't available in the assets when run
in the same job.
2023-03-16 03:40:42 +00:00
Alex Sharov
59bc028762
txpool: senders batch commit optimize (#7118) 2023-03-16 03:39:58 +00:00
Alex Sharov
60fb9c12e6
e3: don't loose nil-value in reconstitution (#7117) 2023-03-16 03:27:09 +00:00
Alex Sharov
157a380be7
e3: history no auto-increment (#7097) 2023-03-15 08:03:57 +00:00
alex.sharov
ec76e0c5c1 e3: less merge logs 2023-03-15 13:35:04 +07:00
alex.sharov
f6759518d6 don't show "block number" in txpool logs it confusing users 2023-03-15 11:27:03 +07:00
hexoscott
165a6a950d
check for nil stream when running the null check in handler (#7105) 2023-03-15 04:03:16 +00:00
alex.sharov
94729b1e82 up goprotobuf 2023-03-15 10:26:44 +07:00
hexoscott
84ec0a0b4b
check for nil before returning invalid json in rpc streaming calls (#7104)
should handle nil having already been written in any rpc call before
writing it again causing invalid json to be returned.
2023-03-14 11:07:53 +00:00
Alex Sharov
2ba3b084d7
torrent: don't cancel storage, because lib can't handle such error and can graceful-shutdown anyway (#7102) 2023-03-14 08:42:39 +00:00
hexoscott
4f91dff773
fix for reading yaml/toml config in cmd/integration (#7101) 2023-03-14 08:33:59 +00:00
Alex Sharov
0ef5c76d89
torrent lib version up to remove some warning log (#7100) 2023-03-14 07:50:00 +00:00
Alex Sharov
bbe56620a3
move more parts to lru2 (#7098) 2023-03-14 07:37:23 +00:00
Victor Shyba
158fb2b606
Optimize memory buffer, simplify set32, use sha256-simd (#7060)
Hi,

I'm syncing Gnosis on a Celeron N5100 to get familiar with the codebase.
In the process I managed to optimize some things from profiling.
Since I'm not yet on the project Discord, I decided to open this PR as a
suggestion. This pass all tests here and gave me a nice boost for that
platform, although I didn't have time to benchmark it yet.

* reuse VM Memory objects with sync.Pool. It starts with 4k as `evmone`
[code
suggested](0897edb001/lib/evmone/execution_state.hpp (L49))
as a good value.
* set32 simplification: mostly cosmetic
* sha256-simd: Celeron has SHA instructions. We should probably do the
same for torrent later, but this already helped as it is very CPU bound
on such a low end processor. Maybe that helps ARM as well.
2023-03-14 07:17:04 +00:00
hexoscott
efd541028c
read metrics config from yaml file (#7089) 2023-03-14 00:07:05 +00:00
Jason Yellick
b21569ccc5
Backfill eth getproof tests (#7092)
This PR adds missing tests for eth_getProof and does some mild
refactoring with switching from strings to more strict types. It's
likely best/most easily reviewed commit by commit.

Note, the tests include quite a number of helper types and functions for
doing the proof validation. This is largely because unlike Geth,
Erigon's approach to trie computations only requires serializing the
trie nodes, not deserializing them. Consequently, it wasn't obvious how
to leverage the existing trie code for doing deserialization and proof
checks. I checked on Discord, but, there were no suggestions. Of course,
any feedback is welcome and I'd be happy to remove this code if it can
be avoided.

Additionally, I've opted to change the interface type for `GetProof` to
use a `common.Hash` for the storage keys instead of a `string`. I
_think_ this should be fairly safe, as until very recently it was
unimplemented. That being said, since it's an interface, it has the
potential to break other consumers, anyone who was generating mocks
against it etc. There's additionally a `GetStorageAt` that follows the
same parameter. I'd be happy to submit a PR modifying this one as well
if desired.

Also, as a small note, there is test code for checking storage proofs,
but, storage proofs aren't currently supported by the implementation. My
hope is to add storage proofs and historic proofs in a followup PR.

---------

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-03-14 00:04:52 +00:00
Jason Yellick
4f6d76928a
Fix broken link in doc (#7094)
The doc in
[dupsort.md](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/dupsort.md#erigon)
points to a non-existent `AbstractKV.md`

As best as I can tell, the `AbstractKV.md` was reworked and renamed in
commit

0bc61c06ed

then, this was later moved into erigon-lib. This commit simply repoints
the doc at this new location.

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-03-14 00:03:09 +00:00
Jason Yellick
aec1dcdeef
Delete retain_list_builder.go (#7096)
I was walking the code to try to understand in a bit more detail how the
state root hash is constructed and stumbled across
`retain_list_builder.go` as a consumer of the retain list APIs. But, as
far as I can tell, this file doesn't seem to actually be used anywhere
(including tests), and, it's seen no development (other than import
fixes) since 2020 or so. All linting and tests still pass for me locally
without it, so, I believe it's safe to simply remove.

Co-authored-by: Jason Yellick <jason@enya.ai>
2023-03-14 00:02:07 +00:00
Giulio rebuffo
bc546c72da
Added hard fork transition support to Erigon-CL. (#7088) 2023-03-13 12:10:36 +00:00