6655 Commits

Author SHA1 Message Date
Eugene Kabanov
3648df7d4c
Fix VC not always be able to obtain feeRecipient value. (#5781)
Use state's validator value to obtain feeRecipient value.
Make feeRecipient and gasLimit calculation equal for BN and VC.
2024-01-19 14:36:04 +00:00
tersec
d99347afaa
add all remaining KZG test cases (#5793) 2024-01-19 10:59:07 +00:00
Etan Kissling
3203666590
bump gnosis-chain-configs to 5a769b45aed5661cfe2c0ff8234c6b57a6ccf891 (#5792)
- Align config comments with gnosis values
2024-01-19 09:39:29 +00:00
Etan Kissling
04d4340a9c
bump nim-toml-serialization to 2bdfec0eb7156d5773bc5d25fca3b3b77d0869f1 (#5791)
- Improve parseList and parseInlineTable strictness
- v0.2.10
- Switch to llvm-mingw for faster Windows CI
- Add configureTomlDeserialization to README.md
- Put array/inline table nonstandard behavior behind flag
- Unify parseList and parseArray implementation
- v0.2.12
2024-01-19 08:33:46 +00:00
Etan Kissling
f741a8598f
bump nim-results to 1fad36e938c879901660fd345c8354603f5367d6 (#5790)
- Formatted with nph v0.3-0-gfa9c745
- update git blame
2024-01-19 07:19:56 +00:00
Etan Kissling
d6e55ca3d8
fix improper yield usage in el_manager (#5789)
`yield` is not supported in `{.async.}`. Replace with alternative that
does not leak.
2024-01-19 07:18:02 +00:00
Etan Kissling
b2c49603ae
bump nim-eth to 974a995b210d13ca5f6feb36ad4c5f0c254e078f (#5788)
- Fix a bunch of compiler hints and warnings in uTP and discv5
- Fix missing std/times import for the metrics 0.0.1 case
- Fix for uTP issues with latest chronos
- Clean-up, correct and clarify utp_protocol tests
- better async timeout wait
- Adjust test names and comments for `blobGasUsed` field
- Add data over multiple sockets uTP test
- Add uTP over discv5 test and small uTP performance improvements
2024-01-19 04:53:49 +00:00
Etan Kissling
d59632acd0
remove obsolete curSlot variable (#5786)
#5773 removed catching up on validator duties after lag. The `curSlot`
variable that was used originally to track catch-up progress no longer
has a use and is also no longer properly updated. Remove it.
2024-01-19 03:21:38 +00:00
tersec
545fb17649
use RestPlainResponse to improve builder API rerror reporting (#5777) 2024-01-19 03:20:47 +00:00
Etan Kissling
0a1cb47d35
bump nim-nat-traversal to 3398a649f4e895cae86fbe85b54769ebc0967878 (#5785)
- bump `miniupnp` to `miniupnpc_2_2_4`
- bump `libnatpmp-upstream` to `f2433bec24ca3d3f22a8a7840728a3ac177f94ba`
2024-01-19 04:10:33 +01:00
Etan Kissling
e06853d8e6
bump sepolia to ff09a161f61959285c64b355d452cd25eae094bd (#5795)
- schedule dencun on sepolia
2024-01-19 04:09:17 +01:00
Etan Kissling
be73ce2e9a
import finalized head LC bootstrap on launch (#5775)
If the initial state replays cover the finalized head, import matching
`LightClientBootstrap` into database.

This also addresses this error when light client requests bootstrap from
the genesis slot on networks that launch with Altair enabled.

```
{"lvl":"DBG","ts":"2023-10-04 11:17:49.665+00:00","msg":"LC bootstrap unavailable: Sync committee branch not cached","topics":"chaindag_lc","slot":0}
```
2024-01-18 22:51:26 +00:00
Etan Kissling
479c133375
bump nim-secp256k1 to 2bc945cc9ebfae1b688f72ea59f78fd23873d1d4 (#5784)
- bump `secp256k1` to `v0.4.1`
2024-01-18 19:04:35 +00:00
Etan Kissling
006fa59ec2
use consensus spec v1.4.0-beta.6 test vectors (#5783) 2024-01-18 18:14:44 +00:00
tersec
db7909c1fe
don't catch up on validator duties (#5773) 2024-01-18 15:56:43 +00:00
Etan Kissling
62ee92a094
bolster BlobSidecar syncing on incomplete responses (#5766)
Avoid marking blocks invalid when corresponding `blobSidecarsByRange`
returns an incomplete / incorrect response while syncing. The block
itself may still be valid in that scenario.
2024-01-18 15:45:10 +01:00
Etan Kissling
0b5ddd8a0e
bump nim-kzg4844 to 31824174520755b670547a56149b0c37d10f979d (#5782)
- add CI for Nim `version-2-0`
- bump `csources` to `v0.4.0`
2024-01-18 14:28:42 +00:00
Etan Kissling
c006c249ea
bump nim-zlib to 7427b7127bb88ab29f4abec0576d20ac529eb5a5 (#5780)
- bump `csources` to `v1.3`
2024-01-18 14:25:02 +01:00
Etan Kissling
15b949ee13
bump nim-libbacktrace to 7f532d4cae55735b150a4c9459bf083dbbef1be9 (#5779)
- bump `libbacktrace-upstream` to `14818b7783eeb9a56c3f0fca78cefd3143f8c5f6`
- bump `whereami` to `ba364cd54fd431c76c045393b6522b4bff547f50`
2024-01-18 13:18:02 +00:00
Etan Kissling
3a8bd709ea
bump gnosis-chain-configs to f0c2cb0d64c7c30105ae9c09a156d0dac0411c10 (#5778)
- Set correct CONFIG_NAME for chiado
2024-01-18 13:24:09 +01:00
tersec
36545e1d84
remove expensive logging from function called in prepareBeaconProposer inner loop (#5776) 2024-01-17 22:58:46 +00:00
Etan Kissling
0775a48420
bump gnosis-chain-configs to 9ea107b310486cdfc98a8785859bda124a606a83 (#5772)
- Update Chiado config format and keys
2024-01-17 16:48:06 +00:00
Etan Kissling
e7794b6aec
log delay relative to deadline (#5769)
To better analyze logs across different `SECONDS_PER_SLOT`, log delays
for duties relative to their deadline instead of relative to slot start.
2024-01-17 15:52:19 +01:00
Etan Kissling
f409ed97ae
align sync contribution logs with aggregate processing (#5770)
There are two conditions leading to `duplicate contribution` log.
Align the logs with the ones used for attestation aggregates,
so that the two conditions can be separated when reading logs.
2024-01-17 15:46:54 +01:00
Jacek Sieka
d5785677a8
split out eth1chain into its own module (#5768)
reduces import junk in some places - more could be done here
2024-01-17 15:26:16 +01:00
Etan Kissling
68d0542ae1
log const_preset on beacon node startup (#5764)
To understand what binary is being used (regular / minimal / gnosis),
extend launch logging.
2024-01-17 14:38:56 +01:00
andri lim
8afaeecaf8
Bump nim-json-serialization to b14f5b58e91c702f42c82da006890fdef4b6cc70 (#5767)
Deconvolute optional fields writer
2024-01-17 13:40:00 +07:00
andri lim
7addd0a68b
Bump json-rpc to f90e946b6a92432cbfe7abb59f9c05af17bfddde (#5737)
Router.register should not raise exception
Both http server and client now can handle chunked transfer
Add comments in wrapper generator
2024-01-17 07:41:32 +07:00
Etan Kissling
11ebbe0cac
fix LC header production for Deneb (#5763)
The `blob_gas_used` field was not properly populated when constructing
Deneb light client data. This is due to #5026 not applying the change to
the entire codebase when the new field got introduced, and due to #5350
not catching that oversight in other modules. Also reviewed codebase and
discovered that `shortLog` for Deneb execution payloads has same bug.
2024-01-16 22:54:20 +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
Etan Kissling
ad74c1a6a5
add vanity mascot for upcoming fork to status bar (#5761)
To simplify supporting "am I ready for the fork" requests, add a simple
marker to the default status bar that indicates readiness by displaying
the fork's corresponding mascot. This is the same one that is also
displayed during the actual fork transition, so does not introduce
new dependencies. It also only shows in default status bar, not in logs.
2024-01-16 17:33:46 +00:00
Etan Kissling
06551dd320
bump nim-json-serialization to 42253591b955c5cfcef46f6ad906c5a4e4586ee6 (#5759)
- v0.2.4
- Writer produce correct top-level or in-array optional elem when custom
  flavor omit optional fields
- Add flavor feature: reader will skip null fields
- add lexer test cases
2024-01-16 16:47:12 +01:00
Etan Kissling
b382833f43
workaround random SIGSEGV on macOS aarch64 CI (#5757)
Separate a `let` block into multiple `let` statements to reduce
probability of hitting random `SIGSEGV` during flaky CI tests.

whatever... 🤯
2024-01-16 13:41:49 +01:00
tersec
8cfce83864
make constants 64-bit portably (#5755) 2024-01-16 02:26:18 +01:00
Etan Kissling
7443a4ac08
load Ethereum mainnet KZG setup on Gnosis networks (#5756)
Gnosis networks re-use the trusted setup from Ethereum mainnet.
Load it to support Deneb.
2024-01-16 01:58:07 +01:00
Etan Kissling
2608cd6477
bump nimbus-build-system to 3866a8ab98fc6e0e6d406b88800aed72163d5fd4 (#5754)
- bump `csources_v1` to `561b417c65791cd8356b5f73620914ceff845d10`
- adjust `CSOURCES_V1_COMMIT` variable with recent bump
- remove `Nim-csources-v1` and `nimble` checkouts
2024-01-15 18:24:24 +01:00
Etan Kissling
39a2a91003
only show upcoming fork info if one is scheduled (#5751)
This ensures that information about the next scheduled fork is only
displayed if one is actually scheduled. Current fork name is no longer
shown.
2024-01-15 17:48:03 +01:00
tersec
3541cfe020
remove extraneous length checks in KZG batch proofs (#5744)
* remove extraneous length checks in KZG batch proofs

* re-add winservice import but only for Windows, to avoid UnusedImport warning

* also uses establishWindowsService
2024-01-15 16:53:34 +01:00
tersec
52ed0d6aa1
rm kzg test fixture code duplication and add test vector coverage checks (#5742) 2024-01-15 07:14:38 +01:00
jangko
7378d55108
Fix unbound variable error in launch_local_testnet.sh 2024-01-15 09:21:20 +07:00
jangko
fc0d5552ec
Bump nim-web3 to c595e0d6c8ec1ea7c28b267c8141fa70437cccaa
Fix Quantity reader and writer
Fix SingleOrList parser
Fix RtBlockIdentifier parser
Use correct return type for eth_syncing
2024-01-15 09:21:20 +07:00
tersec
2c49caced9
report decimal produceBlockV3 consensus block, execution payload values (#5741) 2024-01-14 22:59:08 +01:00
Eugene Kabanov
5404178a40
Dissect Windows specific code from beacon node. (#5612)
* Make some startup procedures async.
Add more handful makeBannerAndConfig().

* Dissect windows service code from `nimbus_beacon_node.nim`.

* Add report service startup errors using windows error codes.
Add plug able exitService().

Co-authored-by: Zahary Karadjov <zahary@status.im>
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-01-13 12:53:53 +02: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
tersec
69af8f943e
implement blob_sidecar Beacon API streaming (#5728) 2024-01-13 11:52:13 +02:00
andri lim
a45609c4a3
Switch to llvm-mingw for faster Windows CI (#5729)
* Switch to llvm-mingw for faster Windows CI

* Enable ubsan of Windows CI
2024-01-13 11:45:20 +02:00
zah
00d05f8170
Use the latest web3signer (#5732)
Other changes:

* Include java in the Nix development shell
  (so users are able to run the web3signer)

* Update the simulation config files to the latest spec
  (so the web3signer accepts them)
2024-01-13 10:37:09 +02:00
tersec
1559a09184
add more logging of KZG commitments, proofs, and blobs (#5735) 2024-01-13 07:44:40 +01:00