tersec
d09bf3b587
initial Electra support skeleton ( #5946 )
2024-02-24 13:44:15 +00:00
tersec
0f155ebf95
some consensus spec v1.4.0-beta.7 spec URL updates ( #5945 )
2024-02-22 02:42:57 +00:00
tersec
c73d7c6f6f
automated consensus spec URL updating to v1.4.0-beta.7 ( #5942 )
2024-02-21 19:44:48 +00:00
Jacek Sieka
1ef7d237cc
Shared validator pubkey ( #5883 )
...
This PR allows sharing the pubkey data between validators by using a
thread-local cache for pubkey data, netting about a 400mb mem usage
reduction on holesky due to us keeping 3 permanent + several ephemeral
state copies in memory at all times and each state copy holding a full
validator.
The PR also introduces a hash cache for the key which gives ~14% speedup
for a full state `hash_tree_root` - the key makes up for a large part of
the `Validator` htr time.
Finally, the time it takes to copy a state goes down as well from ~80m
ms to ~60, for reasons similar to htr.
We use a `ptr` even if a `ref` could in theory have been used - there is
not much practical benefit to a `ref` (given it's mutable) while a `ptr`
is cheaper and easier to copy (when copying temporary states).
We could go further and cache a cooked pubkey but it turns out this is
quite intrusive - in all the relevant places, we're already using a
cooked key from the immutable validator data so there are no immediate
performance gains of doing so while managing the compressed -> cooked
key mapping would become more difficult - something for a future PR
perhaps.
Co-authored-by: Etan Kissling <etan@status.im>
2024-02-21 20:06:19 +01:00
tersec
8240c1bf34
use decimal representations of engine and builder bid values ( #5879 )
2024-02-10 05:13:00 +01:00
Jacek Sieka
6cd37f7a47
reduce log level on unexpected errors in network ( #5822 )
2024-01-24 18:23:12 +02:00
tersec
4fd3177dab
clean up UnusedImport and Deprecated warnings ( #5813 )
2024-01-22 17:35:19 +01:00
Jacek Sieka
6328c77778
raises for gossip ( #5808 )
...
* raises for gossip
* fix light client
2024-01-22 17:34:54 +01:00
tersec
d669eef97b
rm unused code; fix a Deprecated warning; proc to func ( #5807 )
2024-01-20 21:36:01 +00:00
tersec
042169ac9d
rm some unnecessary stew/shims/net imports to reduce deprecation warnings ( #5806 )
2024-01-20 16:42:19 +00:00
tersec
6c53dc1e11
automated consensus spec URL updating to v1.4.0-beta.6 ( #5804 )
2024-01-20 11:19:47 +00:00
Jacek Sieka
3ff9b69bf1
simplify eth2_network error handling ( #5765 )
...
This PR gets rid of a bunch of redundant exception handling through
async raises guarantees.
More can be removed once libp2p gets properly annotated.
2024-01-19 21:05:52 +00:00
tersec
cf1bec7670
update some deprecated stew/results to results imports ( #5743 )
2024-01-16 22:37:14 +00:00
Jacek Sieka
19860029c2
use `macrocache` for protocol index counter ( #5745 )
2024-01-16 18:37:47 +00:00
Zahary Karadjov
05fb7ffff0
Don't require getopt to be installed by brew on macOS for Nix users
...
Other changes:
* Add/Update copyright banners
* Add post-review comment for https://github.com/status-im/nimbus-eth2/pull/5719
2024-01-13 12:37:41 +02:00
Jacek Sieka
b98f46c04d
Avoid global in p2p macro ( fixes #4578 ) ( #5719 )
...
* Avoid global in p2p macro (fixes #4578 )
* copy p2p macro to this repo and start de-crufting it
* make protocol registration dynamic, removing light client hacks et al
* split out light client protocol into its own file
* cleanups
* Option -> Opt
* remove more cruft
* further split beacon_sync
this allows the light client to respond to peer metadata messages
without exposing the block sync protocol
* better protocol init
* "constant" protocol index
* avoid casts
* copyright
* move some discovery code to discovery
* avoid extraneous data copy when sending chunks
* remove redundant forkdigest field
* document how to connect to a specific peer
2024-01-13 11:54:24 +02:00
Jacek Sieka
3f525acb87
chronos: bump ( #5684 )
...
This PR causes a few new warnings to appear - these are harmless but
will need addressing separately as they span several libraries.
* new asyncraises syntax
* asyncraises support in several modules
* `sink` usage reduces spurious copying
* `?` compatiblity for `async` + `results`
* remove `-d:chronosStrictException` (obsolete)
2024-01-05 10:08:38 +01:00
tersec
9c6ba7d142
consensus spec v1.4.0-beta.5 URL updates ( #5672 )
2023-12-16 03:27:06 +01:00
tersec
4776fecc33
consensus spec v1.4.0-beta.5 URL updates ( #5655 )
2023-12-06 22:16:55 +00:00
tersec
91029ce6d6
fix XDeclaredButNotUsed hints ( #5652 )
2023-12-06 17:23:45 +01:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
ab5343d1bc
update some consensus spec URLs to v1.4.0-beta.4 ( #5631 )
2023-11-27 19:56:34 +01:00
Etan Kissling
946ebe54cf
simplify `chunkMaxSize[T]` helper implementation ( #5614 )
...
There is no longer a `MAX_CHUNK_SIZE_BELLATRIX` since #5284 , and we have
not used separate limits since #4558 . Clean up to reflect that.
2023-11-21 23:08:31 +01:00
tersec
c96163dbca
update some consensus spec URLs to v1.4.0-beta.4 ( #5594 )
2023-11-11 06:27:53 +01:00
tersec
c7952ff778
bump nim-eth to remove ValidIpAddress and replace with IpAddress ( #5587 )
2023-11-10 16:58:48 +01:00
Eugene Kabanov
c279bd4474
Fix issue when peers was not disconnected on low score. ( #5579 )
2023-11-08 13:42:50 +00:00
tersec
7e3aeaea09
automated consensus spec URL updating to v1.4.0-beta.4 ( #5577 )
2023-11-08 05:28:03 +00:00
Etan Kissling
d8a7f0df81
update Deneb for blob sidecar inclusion proofs ( #5565 )
...
`BlobSidecar` is no longer signed, instead use Merkle proof to link
blobs with block.
- https://github.com/ethereum/consensus-specs/pull/3531
Associated beacon-API / builder-specs still TBD; minimal changes done
to compile in similar style to previous spec, but not standardized yet.
- https://github.com/ethereum/beacon-APIs/pull/369
- https://github.com/ethereum/builder-specs/pull/90
2023-11-06 07:48:43 +01:00
Etan Kissling
87a37a32e3
introduce `BlobId` type for tracking blob subnets ( #5560 )
...
Instead of mixing up `SubnetId` (attestation subnet type) for blobs,
introduce dedicated `BlobId` type.
2023-11-04 14:20:34 +00:00
tersec
ed446b1d5a
replace ValidIpAddress with IpAddress in configurations ( #5536 )
2023-11-01 08:33:00 +01:00
tersec
556d5e7114
rm unused code ( #5538 )
2023-11-01 05:53:09 +01:00
tersec
62d59daaa7
consensus-spec URL updates to v1.4.0-beta.3 ( #5541 )
2023-10-30 06:44:43 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
tersec
40616b6243
update some consensus spec URLs to v1.4.0-beta.2 ( #5497 )
2023-10-12 05:07:41 +00:00
Eugene Kabanov
caaad4777c
BN+LC+SN: Fix cancellation deprecate warnings. ( #5455 )
...
* Fix deprecation cancel() warnings in SN, BN, LC.
* Fix missing import.
2023-09-22 11:06:27 +00:00
Tanguy
4918a4e2e0
Fix direct peers ( #5427 )
...
* Fix direct peers
* Support ENRs in DP, use DP in local testnet
* fix docs
* bump libp2p
2023-09-15 18:45:55 +00:00
tersec
7a001d4896
remove 4 more missing constants in preset handling warning ( #5428 )
2023-09-14 12:37:35 +00:00
tersec
db6f4e8090
update some consensus-spec URLs to v1.4.0-beta.1 ( #5357 )
2023-08-25 15:58:44 +00:00
Etan Kissling
c211a3849e
remove `{.raises: [Defect].}` Nim 1.2 compatibility ( #5352 )
...
In Nim 1.6, `{.raises: [Defect].}` is no longer necessary. Remove it.
2023-08-25 11:29:07 +02:00
Tanguy
36413c8f21
Bump libp2p for gossipsub improvements ( #5229 )
...
* Bump libp2p
* Add bandwidthEstimate param
* Fix typo and type
* Add config for light client
* Fix unit
* Add debug prefix
---------
Co-authored-by: Jacek Sieka <jacek@status.im>
Co-authored-by: diegomrsantos <diegomrsantos@gmail.com>
Co-authored-by: Diego <diego@status.im>
2023-08-24 16:04:19 +02:00
Etan Kissling
8064f5bcce
explicitly mention which `Success` enum to use ( #5309 )
...
In Nim 2.0 it can no longer infer that we mean `ResponseCode.Success`
inside `eth2_network`. Explicitly refer to that type to work around.
2023-08-17 18:33:35 +00:00
tersec
d171303133
update some consensus spec URLs to v1.4.0-beta.1 ( #5287 )
2023-08-12 10:38:06 +00:00
tersec
6cd8f3ba55
Update constants/presets for consistency with consensus-specs v1.4.0 ( #5284 )
2023-08-12 03:10:12 +00:00
tersec
85e1976ac3
automated consensus spec URL updating to v1.4.0-beta.1 ( #5280 )
2023-08-09 03:58:47 +00:00
Jacek Sieka
1bac029935
avoid unnecessary buffer zero:ing ( #5178 )
2023-07-11 08:01:45 +02:00
tersec
49056c3e39
use v1.3.0 stability subnet behavior when appropriate ( #5156 )
2023-07-07 04:16:12 +00:00
tersec
1e2d3b12c4
update some consensus-specs ref URLs to v1.4.0-beta.0 ( #5163 )
2023-07-05 16:02:55 +00:00
henridf
1234900065
Add blob handling to message router ( #5106 )
...
* Add blob handling to message router
* address review feedback
* Fix typos
2023-06-28 17:55:31 +00:00
tersec
614202e30d
automated consensus spec URL updating to v1.4.0-beta.0 ( #5121 )
2023-06-24 15:43:30 +00:00
tersec
b62664915e
consensus spec v1.4.0 attestation stability subnets ( #5092 )
2023-06-23 09:30:46 +00:00