zah
3f90fe8a7d
Switch to the new style of importing vendor packages ( #4218 )
2022-10-04 23:39:12 +00:00
zah
576b999387
Handle Sqlite automatic rollbacks gracefully ( #3996 )
2022-10-04 22:40:46 +00:00
tersec
ce915c0a03
add beaconcha.in mainnet relay overview to guide ( #4217 )
2022-10-04 19:45:06 +03:00
tersec
20d6481b39
increase local testnet validators from 128 to 1024 ( #4214 )
2022-10-04 19:44:20 +03:00
Zahary Karadjov
3299529bd3
Final release notes for 22.10.0 [skip ci]
2022-10-04 19:39:50 +03:00
Jakub Sokołowski
20c9c9b381
nimbus-build-system: allow for overriding CC ( #4215 )
...
Depends on: https://github.com/status-im/nimbus-build-system/pull/51
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-04 19:17:43 +03:00
Etan Kissling
7202acddff
update for latest LC REST proposal ( #4213 )
...
Implements the latest proposal for providing LC data via REST, as of
https://github.com/ethereum/beacon-APIs/pull/247 with a v0 suffix.
Requests:
- `/eth/v0/beacon/light_client/bootstrap/{block_root}`
- `/eth/v0/beacon/light_client/updates?start_period={start_period}&count={count}`
- `/eth/v0/beacon/light_client/finality_update`
- `/eth/v0/beacon/light_client/optimistic_update`
HTTP Server-Sent Events (SSE):
- `light_client_finality_update_v0`
- `light_client_optimistic_update_v0`
2022-10-04 13:38:09 +02:00
Jacek Sieka
40bed02f60
Build block in parallel with attestation packing ( #4185 )
...
* fix block proposal in first slot after checkpoint
2022-10-04 11:24:16 +00:00
Etan Kissling
83cd104d07
add section headers for REST serialization ( #4210 )
...
Adds missing REST serialization sections and makes them consistent.
2022-10-03 22:29:07 +00:00
Etan Kissling
231eb8a590
use same style for sending block and state rsps ( #4209 )
...
For JSON responses, "eth-consensus-version" header is handled in
`eth2_rest_serialization` for states and `rest_beacon_api` for blocks.
Align them to also be handled in `eth2_rest_serialization` for blocks.
2022-10-04 01:05:52 +03:00
Zahary Karadjov
2d6911d526
Version 22.10.0
2022-10-04 01:04:16 +03:00
Zahary Karadjov
66579ea9a7
Merge branch 'stable' into unstable
2022-10-04 00:46:19 +03:00
Etan Kissling
b4b19b9aa7
update `ContentNotAcceptable` error description ( #4212 )
...
The `ContentNotAcceptableError` is triggered when client either requests
an unsupported media type, or has form errors such as sending multiples.
Updating the description to also indicate non-supported Accept headers.
2022-10-04 00:44:08 +03:00
tersec
5da94ad2dd
remove ncli `re` import/`libpcre` dependency ( #4208 )
2022-10-04 00:43:40 +03:00
tersec
76b3db3d7e
add prater.beaconcha.in external block builder overview link ( #4211 )
...
* add prater.beaconcha.in external block builder overview link
* Update docs/the_nimbus_book/src/external-block-builder.md
Co-authored-by: Etan Kissling <etan@status.im>
Co-authored-by: Etan Kissling <etan@status.im>
2022-10-03 16:56:49 +00:00
tersec
ad7541567c
move LVH handling to tests/; increase maximum fork choice retries ( #4205 )
2022-10-03 13:10:08 +00:00
tersec
0a4aa5fdb3
switch `withStateAndBlck` usage to `forkyState`; rm unused `tests/mocking/` modules ( #4206 )
2022-10-03 13:08:50 +00:00
Julian Ste
86800066e4
Typo and updated specific version ( #4203 )
...
* Typo and updated specific version
* Update keep-updated.md
* Update keep-updated.md
2022-10-01 20:20:11 +00:00
Julian Ste
bee50d7578
Updated nomenclature for eth2 naming ( #4202 )
2022-10-01 20:01:41 +00:00
Eugene Kabanov
a845450283
REST API: add ssz encoding for publishBlock ( #4154 )
2022-09-30 00:00:53 +03:00
Jacek Sieka
af9ec577d0
nicer error message for failed backfill ( #4188 )
...
* nicer error message for failed backfill
Many checkpoint sources don't support block download
* RestGenericError -> RestErrorMessage
...and other assorted fixes to bring rest types closer to spec
* fix tests
2022-09-29 23:55:18 +03:00
Etan Kissling
5968ed586b
use LRU strategy for shuffling/epoch caches ( #4196 )
...
When EL `newPayload` is slow (e.g., Raspberry Pi with Besu), the epoch
and shuffling caches tend to fill up with multiple copies per epoch when
processing gossip and performing validator duties close to wall slot.
The old strategy of evicting oldest epoch led to the same item being
evicted over and over, leading to blocking of over 5 minutes in extreme
cases where alternate epochs/shuffling got loaded repeatedly.
Changing the cache eviction strategy to least-recently-used seems to
improve the situation drastically. A simple implementation was selected
based on single linked-list without a hashtable.
2022-09-29 14:55:58 +00:00
Eugene Kabanov
eea13ee5ed
VC: roles & strategies. ( #4113 )
...
* Initial commit.
* Roles changes.
* Fix all the compilation issues.
* Add beacon node roles.
Add loop for firstSuccessParallel().
* Remove unused variables.
2022-09-29 09:57:14 +02:00
tersec
c367b14ad9
deprecate `--safe-slots-to-import-optimistically` ( #4182 )
2022-09-29 06:29:49 +00:00
Etan Kissling
c9f69fc38e
fix best LC updates when backfilling ( #4195 )
...
When backfilling LC updates (`--light-client-data-import-mode=full`),
the highest participation update is computed without ensuring that the
finalized header is in the same period. Updates sharing same period for
both finalized and attested headers should be preferred.
Fixes a bug leading to suboptimal update selection.
2022-09-29 07:55:04 +02:00
Etan Kissling
c1fe81d2ec
sync test report ( #4197 )
...
Update `AllTests-mainnet.md` by running `make -j test`.
2022-09-29 05:22:58 +00:00
tersec
1819d79e07
avoid potential database inconsistency after fcU `INVALID`+crash ( #4192 )
...
* avoid database race-condition inconsistency after fcU `INVALID` then crash
* ensure head doesn't fall behind finalized; add more tests for head movement/reloading DAG
2022-09-28 21:07:31 +00:00
Etan Kissling
2fe22c97e6
update `PeerScore` comments for non-blocks ( #4191 )
...
PeerScore is not just updated for blocks but also for LC updates.
Make documentation comments more generic.
2022-09-28 18:56:04 +00:00
Eugene Kabanov
8778e1cf8d
Fix REST generic error parsing. ( #4189 )
...
* Fix REST generic error parser.
* Unescape test vectors.
* Fix RestGenericError writer and tests, to encode `code` as `Number`.
2022-09-28 18:47:15 +00:00
Jacek Sieka
c11b30f8e1
Remove deprecated REST API calls from client ( #4190 )
...
* https://github.com/ethereum/beacon-APIs/pull/220
* https://github.com/ethereum/beacon-APIs/pull/218
2022-09-28 10:37:54 +00:00
tersec
57d68d0f72
re-enable randao checks ( #4187 )
...
* re-enable randao checks
* use `asSigVerified` consistently
* fix spelling
* document why state_transition.makeBeaconBlock trusting signatures is safe
2022-09-28 01:15:10 +00:00
Jacek Sieka
b1bc830a92
Harden EpochRef loading against bogus block root at tail ( #4178 )
...
* add more error information when things go wrong with database
* lower log level when reloading attestations from no-block epoch start
slot
2022-09-27 18:56:08 +02:00
tersec
df03d81e3d
don't verify BLS signatures in produced blocks ( #4184 )
2022-09-27 14:19:53 +00:00
Jacek Sieka
3c1caab107
web3: bump ( #4183 )
...
* point to master branch again
2022-09-27 14:25:26 +02:00
tersec
0f6d19b4b3
implement v1.2.0 optimistic sync tests ( #4174 )
...
* implement v1.2.0 optimistic sync tests
* Update beacon_chain/consensus_object_pools/blockchain_dag.nim
Co-authored-by: Etan Kissling <etan@status.im>
* `lvh` -> `latestValidHash` and only invalidate one specific block"
* `getEarliestInvalidRoot` -> `getEarliestInvalidBlockRoot`; `defaultEarliestInvalidRoot` -> `defaultEarliestInvalidBlockRoot`
Co-authored-by: Etan Kissling <etan@status.im>
2022-09-27 15:11:47 +03:00
Jacek Sieka
7f9af78ddb
test randao skippping (complements #3837 ) ( #4179 )
2022-09-27 09:22:24 +02:00
tersec
a0ead042ad
newPayload `INVALIDATED` should be `unviableFork` ( #4180 )
2022-09-26 21:24:32 +00:00
tersec
9750cd3a38
update state diffs to Bellatrix ( #4177 )
2022-09-26 19:13:50 +00:00
tersec
6c18e82506
link to document of available external builder relays ( #4157 )
2022-09-26 19:11:34 +00:00
Etan Kissling
d76df065a1
rm unused `dump` function for `KeystoresAndSlashingProtection` ( #4170 )
...
In `eth2_rest_serialization` there was a `dump` function for
`KeystoresAndSlashingProtection` that does not seem to be used.
Removes that unused function.
2022-09-26 21:09:51 +02:00
tersec
321c872790
Remove warning on unused import of `filepath` ( #4176 )
2022-09-26 17:14:24 +00:00
Etan Kissling
7ac95c6ee7
move `EpochParticipationFlags` serialization to others ( #4167 )
...
The REST `writeValue/readValue` serialization functions are grouped up
with the exception of `EpochParticipationFlags`. Moving that to others.
2022-09-23 18:29:31 +00:00
Etan Kissling
77ea188c92
add `sszResponsePlain` for pre-encoded SSZ data ( #4171 )
...
For pre-encoded JSON REST responses we have `jsonResponsePlain`.
Adds a `sszResponsePlain` function to serve similar purpose for SSZ.
This avoids caller having to explicitly specify Http200 and media type.
2022-09-23 15:51:04 +00:00
Etan Kissling
6425f3f856
extend REST test with checks for `Eth-Consensus-Version` ( #4168 )
...
Adds checks to REST test suite to verify that `Eth-Consensus-Version`
HTTP header is properly included where expected.
2022-09-23 14:16:44 +00:00
Etan Kissling
8b11778e14
use `withState` in `jsonResponseState` ( #4169 )
...
The generic sandwich preventing `forks.withState` from working in REST
serialization is no longer applicable. Update to use `withState`.
2022-09-23 13:49:22 +00:00
Etan Kissling
cd626cf645
delete unused REST version constants ( #4166 )
...
Removes unused `Phase0Version` and `AltairVersion` constants.
2022-09-23 12:48:53 +00:00
tersec
deb043796b
a few more manual v1.2.0 consensus spec ref URL updates ( #4165 )
2022-09-23 12:00:17 +00:00
tersec
3c03ba86c1
update consensus spec ref URLs to v1.2.0 ( #4164 )
2022-09-23 07:56:06 +00:00
tersec
350223c8aa
external block builder metrics ( #4158 )
2022-09-23 09:20:32 +03:00
tersec
72e6b2021a
use v1.2.0 consensus spec test vectors ( #4163 )
2022-09-22 22:24:13 +00:00