5247 Commits

Author SHA1 Message Date
tersec
ec77116414
automated consensus spec URL updating from v1.3.0-rc.3 to rc.4 (#4742) 2023-03-17 01:10:31 +00:00
Etan Kissling
fb26e19de9
use v1.3.0-rc.4 consensus spec test vectors (#4740) 2023-03-16 21:35:20 +01:00
zah
db068b759a
Bump Nim to 1.6.12 (#4737) 2023-03-15 17:25:19 +00:00
Zahary Karadjov
1a8b182d98
Some tweaks to the release notes 2023-03-15 16:16:51 +02:00
henridf
9906a0d5a2
Gate Deneb beacon_block subscription (#4735) 2023-03-14 11:52:01 +00:00
Etan Kissling
ceefc49965
rm redundant ConsensusFork.toString (#4733) 2023-03-14 01:24:10 +00:00
Etan Kissling
5ef1ed5d96
indicate Capella / Shanghai readiness on startup (#4630)
In startup "Launching beacon node" message, log readiness for Capella /
Shanghai as part of config to aid with support requests.
2023-03-13 22:01:15 +01:00
Etan Kissling
29a699f69d
rename blockFork > consensusFork (#4731)
* rename `blockFork` > `consensusFork`

* revert one overzealous stateFork / blockFork rename
2023-03-12 18:48:38 +00:00
Etan Kissling
bc74c35283
rename _state_fork > _consensus_fork (#4730) 2023-03-12 02:34:38 +00:00
Etan Kissling
2f006d31e7
rename GETH_EIP_4844_BINARY > GETH_DENEB_BINARY (#4729) 2023-03-12 01:47:24 +00:00
Etan Kissling
f0dcbaacff
extend addTestBlock with Capella/Deneb support (#4728)
* extend `addTestBlock` with Capella/Deneb support

* bump copyright years

* fix
2023-03-11 20:11:33 +00:00
Etan Kissling
fd8e86972d
rename lcDataForkAtStateFork > lcDataForkAtConsensusFork (#4726) 2023-03-11 20:09:21 +00:00
Etan Kissling
3e872bec86
rename eip4844_preset.nim > deneb_preset.nim (#4724) 2023-03-11 17:00:35 +00:00
Etan Kissling
d8f39dd24f
rename stateForkForDigest > consensusForkForDigest (#4727) 2023-03-11 16:58:48 +00:00
Etan Kissling
b0cccae7f4
rename (with|at)StateFork > (with|at)ConsensusFork (#4725) 2023-03-11 14:39:29 +00:00
Etan Kissling
eba5f9af26
rename upgrade_to_eip4844 > upgrade_to_deneb (#4723) 2023-03-11 14:28:55 +00:00
virchau13
a3e90eae99
vendor/nim-json-rpc: fix Nim 1.6 regression (#4722) 2023-03-11 10:51:08 +02:00
tersec
d454fcaa90
Use clang optimization flag for actual macOS target CPU, not iOS phone CPU (#4706) 2023-03-11 09:33:53 +02:00
Etan Kissling
0f272adebd
rename EIP4844 > Deneb in test_beacon_chain_db (#4721) 2023-03-11 02:49:17 +01:00
Etan Kissling
e542d079b0
rename Deneb database tables (not in testnets atm) (#4720) 2023-03-11 02:26:03 +01:00
Etan Kissling
69013d153c
bump light client spec references to v1.3.0-rc.3 (#4719) 2023-03-11 01:11:51 +00:00
Zahary Karadjov
17c0eeeede
Version 23.3.0 v23.3.0 2023-03-11 02:51:44 +02:00
Etan Kissling
ad118cd354
rename stateFork > consensusFork (#4718)
Just the variable, not yet `lcDataForkAtStateFork` / `atStateFork`.

- Shorten comment in `light_client.nim` to keep line width
- Do not rename `stateFork` mention in `runProposalForkchoiceUpdated`.
- Do not rename `stateFork` in `getStateField(dag.headState, fork)`

Rest is just a mechanical mass replace
2023-03-11 00:35:52 +00:00
Etan Kissling
969c6f73ae
misc local EIP4844 > Deneb bumps (#4717)
* misc local `EIP4844` > `Deneb` bumps

* fix
2023-03-11 00:28:19 +00:00
Zahary Karadjov
f91fe5646e
Redo fix #4588 2023-03-10 19:40:27 +02:00
Zahary Karadjov
89dccedcc9
Prevent the build up of parallel 'waitELToSync' operations 2023-03-10 19:24:20 +02:00
Etan Kissling
57b2151f95
rename EIP4844 > Deneb for light client (#4713)
* rename `EIP4844` > `Deneb` for light client

* regenerate test logs
2023-03-10 17:16:26 +00:00
Etan Kissling
8fd3723e82
rename EIP4844BeaconStateNoImmutableValidators > DenebXyz (#4712) 2023-03-10 17:15:08 +00:00
Etan Kissling
b0577bdc6c
rename OnEIP4844BlockAdded > OnDenebBlockAdded (#4714) 2023-03-10 17:14:27 +00:00
Etan Kissling
e4b5478fff
rename ForkDigests.eip4844 > ForkDigests.deneb (#4715) 2023-03-10 17:13:40 +00:00
Etan Kissling
bc37a2d1a6
update transition test category from EIP4844 to Deneb (#4716) 2023-03-10 17:12:46 +00:00
henridf
f5612f2a77
Remove BlobsSidecar used in BeaconChainDB (#4710) 2023-03-10 12:51:36 +00:00
Zahary Karadjov
5370a6b67b
Capture the Geth output when running 'make zhejiang' 2023-03-10 11:13:24 +02:00
Zahary Karadjov
70d3045584
Cosmetic logging changes in the EL manager 2023-03-10 11:12:29 +02:00
zah
c6ce7f383d
More forceful EL connection resetting (fixes #4424) (#4708) 2023-03-09 23:41:28 +00:00
Zahary Karadjov
f5a3ea6cbb
Fix an accidentally wrong partial git stage 2023-03-09 22:30:01 +02:00
Zahary Karadjov
e808fda02c
engine_api_response_time renamed to engine_api_request_duration_seconds 2023-03-09 19:29:24 +02:00
zah
ef20e831a8
More metrics for the EL monitor (#4707)
* `engine_api_response_time` provides a histogram for the Engine API
  response times for each unique pair ot URL and request type.

* All engine API requests are now tracked

Other changes:

The client will no longer exit on start-up if it fails to connect to
a properly configured EL node.
2023-03-09 19:29:04 +02:00
tersec
8625704dde
don't clear validator change subpools after creating each block (#4704)
* don't clear validator change subpools after creating each block

* remove now-spurious tests of removed behavior
2023-03-09 18:19:36 +02:00
tersec
a47f0b054e
finish eip4844 to deneb module rename (#4705) 2023-03-09 01:34:17 +01:00
Etan Kissling
879f8ab5e8
check correct fork version in LC sync protocol (#4703)
Tests updated: https://github.com/ethereum/consensus-specs/pull/3284
2023-03-08 19:59:21 +01:00
Etan Kissling
e499c709f4
avoid pruning LC data pre dag.tail.slot (#4702)
When using `--history=prune`, `dag.tail.slot` may advance beyond the
configured light client data retention period. Update the LC logic so
that the `dag.tail.slot` is no longer considered for LC pruning.
It is still considered to check whether new data can be produced.
2023-03-08 19:59:00 +01:00
henridf
90640cce05
Update sync to use post-decoupling RPC (#4701)
* Update sync to use post-decoupling RPCs

blob_sidecars_by_range returns a flat list of sidecars, which must
then be grouped per-slot.

* Add test for groupBlobs

* createBlobs: convert proc to func
2023-03-07 20:19:17 +00:00
tersec
2c0762013e
bump eth2-networks to include goerli/prater capella fork epoch (#4699) 2023-03-07 05:03:47 +00:00
zah
9cd30768e7
Bugfix: historic blocks violate the latest specs for the extraData field (fixes #4695) (#4700) 2023-03-07 04:43:27 +00:00
tersec
63b1b0840f
5 more modules of eip4844.foo to deneb.foo renames (#4698) 2023-03-06 18:45:52 +00:00
tersec
8541674498
simplify ELMonitor fcU payload attributes handling (#4696) 2023-03-06 16:19:15 +00:00
zah
8771e91d53
Support for driving multiple EL nodes from a single Nimbus BN (#4465)
* Support for driving multiple EL nodes from a single Nimbus BN

Full list of changes:

* Eth1Monitor has been renamed to ELManager to match its current
  responsibilities better.

* The ELManager is no longer optional in the code (it won't have
  a nil value under any circumstances).

* The support for subscribing for headers was removed as it only
  worked with WebSockets and contributed significant complexity
  while bringing only a very minor advantage.

* The `--web3-url` parameter has been deprecated in favor of a
  new `--el` parameter. The new parameter has a reasonable default
  value and supports specifying a different JWT for each connection.
  Each connection can also be configured with a different set of
  responsibilities (e.g. download deposits, validate blocks and/or
  produce blocks). On the command-line, these properties can be
  configured through URL properties stored in the #anchor part of
  the URL. In TOML files, they come with a very natural syntax
  (althrough the URL scheme is also supported).

* The previously scattered EL-related state and logic is now moved
  to `eth1_monitor.nim` (this module will be renamed to `el_manager.nim`
  in a follow-up commit). State is assigned properly either to the
  `ELManager` or the to individual `ELConnection` objects where
  appropriate.

  The ELManager executes all Engine API requests against all attached
  EL nodes, in parallel. It compares their results and if there is a
  disagreement regarding the validity of a certain payload, this is
  detected and the beacon node is protected from publishing a block
  with a potential execution layer consensus bug in it.

  The BN provides metrics per EL node for the number of successful or
  failed requests for each type Engine API requests. If an EL node
  goes offline and connectivity is resoted later, we report the
  problem and the remedy in edge-triggered fashion.

* More progress towards implementing Deneb block production in the VC
  and comparing the value of blocks produced by the EL and the builder
  API.

* Adds a Makefile target for the zhejiang testnet
2023-03-05 01:40:21 +00:00
tersec
e3d96ef147
rename most eip4844Data to denebData (#4693) 2023-03-04 22:23:52 +00:00
tersec
3b41e6a0e7
rename ConsensusFork.EIP4844 to ConsensusFork.Deneb (#4692) 2023-03-04 13:35:39 +00:00