xiaolou86
af6affb5b3
Fix typos ( #5835 )
...
* Fix typos
* Update copyright year
2024-01-29 09:37:38 +00:00
tersec
225ef5e69a
partially revert https://github.com/status-im/nimbus-eth2/pull/5765 ( #5833 )
2024-01-28 23:45:52 +01:00
Jacek Sieka
6328c77778
raises for gossip ( #5808 )
...
* raises for gossip
* fix light client
2024-01-22 17:34:54 +01:00
tersec
7fd8beb418
rm unused code in {ncli,research,tests}/ ( #5809 )
2024-01-21 07:55:03 +01:00
tersec
d669eef97b
rm unused code; fix a Deprecated warning; proc to func ( #5807 )
2024-01-20 21:36:01 +00:00
tersec
3b025adda1
rm some unnecessary stew/shims/net imports to reduce deprecation warnings ( #5805 )
2024-01-20 12:32:38 +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
d99347afaa
add all remaining KZG test cases ( #5793 )
2024-01-19 10:59:07 +00:00
Etan Kissling
006fa59ec2
use consensus spec v1.4.0-beta.6 test vectors ( #5783 )
2024-01-18 18:14:44 +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
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
tersec
52ed0d6aa1
rm kzg test fixture code duplication and add test vector coverage checks ( #5742 )
2024-01-15 07:14:38 +01:00
tersec
c815e71af0
rest of EF KZG test harnesses ( #5734 )
2024-01-13 01:31:29 +00:00
tersec
aef3879652
some EF KZG test harnesses ( #5733 )
2024-01-12 22:29:43 +00:00
Etan Kissling
95e9740506
use `forks` sugar in `loadForkedState` testing function ( #5720 )
...
Adjust `loadForkedState` to use `withState` sugar to reduce code
duplication.
2024-01-09 17:27:32 +00:00
Jacek Sieka
62cbdeefc5
verify `genesis_time` more strictly ( fixes #1667 ) ( #5694 )
...
Bogus values lead to crashes down the line when timers overflow
2024-01-06 15:26:56 +01:00
Etan Kissling
508f3b6368
add missing `std/` prefix to more imports ( #5696 )
...
Bumping some `std` imports to explicitly include the prefix.
Also add explicit `./` prefix for local directory imports.
2024-01-06 07:18:28 +01: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
Etan Kissling
030226148d
rename `exit_pool` > `validator_change_pool` ( #5679 )
...
The `ExitPool` was renamed to `ValidatorChangePool` with Capella, but
the files were still using the previous name. Rename for consistency.
2023-12-23 06:55:47 +01:00
zah
29b29e1945
Use the new strict Json flavors mechanism for RestJson ( #5674 )
...
This requires all object types to be explicitly white-listed for
default serialization. The PR makes the minimal changes, although
a number of similar mechanisms in eth2_rest_serialization can now
be removed.
2023-12-19 17:44:27 +02:00
tersec
9c6ba7d142
consensus spec v1.4.0-beta.5 URL updates ( #5672 )
2023-12-16 03:27:06 +01:00
andri lim
15147cccb1
Bump nim-web3 to dcabb8f29ee55afedefdf93cd3e102bb1daee354 ( #5664 )
...
* bump nim-web3 to dcabb8f29ee55afedefdf93cd3e102bb1daee354
also bump json-rpc to a8731e91bc336d930ac66f985d3b88ed7cf2a7d7
2023-12-12 22:15:00 +07:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
0e5c44b529
use v5.3.0 slashing interchange test vectors ( #5640 )
2023-12-04 12:55:56 +01:00
Eugene Kabanov
e2e4912645
REST API produceBlockV3 implementation ( #5474 )
...
Co-authored-by: Etan Kissling <etan@status.im>
Co-authored-by: Jacek Sieka <jacek@status.im>
2023-11-29 00:30:14 +01:00
tersec
6dee4d59fe
switch engine authentication from `Option` to `Opt` ( #5624 )
...
* switch engine authentication from Option to Opt
* el_conf updates
* LC and el_conf tests
2023-11-27 14:48:29 +00:00
Etan Kissling
8cea8af620
fix startup after BN exited between head and finalized blocks updates ( #5617 )
...
When the BN exits after writing new `head` to database, but before
completing the `updateFinalizedBlocks` call, the database is slightly
inconsistent due to the partial write. We currently fail to start up
after that. Fix that by catching up on partial `updateFinalizedBlocks`
tasks on start up, and add a test for this edge case.
2023-11-23 00:44:20 +01:00
Jacek Sieka
e1e809eeb7
Batch slashing protection registration ( #5604 )
...
This PR brings down the time to send 100 attestations from ~1s to
~100ms, making it feasible to run 10k validators on a single node (which
regularly send 300 attestations / slot).
This is done by batching the slashing protection database write in a
single transaction thus avoiding a slow fsync for every signature -
effects will be more pronounced on slow drives.
The benefit applies both to beacon and client validators.
2023-11-19 14:08:07 +01:00
Eugene Kabanov
9889b840ce
VC: new scoring functions. ( #5447 )
...
* Initial commit.
* Fix issues and tests.
* Fix test compilation issue.
* Update AllTests.
* Change the most poor score name from <lowest> to <bad>.
Split sync committee message score in range, so lexicographic scores will not intersect with normal one.
Lexicographic scores should be below to normal scores.
* Address review comments.
Fix aggregated attestation scoring to use MAX_VALIDATORS_PER_COMMITTEE.
Fix sync committee contributions to use SYNC_SUBCOMMITTEE_SIZE.
Add getUniqueVotes test vectors.
* Post-rebase fixes.
* Address review comments.
* Return back score calculation based on actual bits length.
* AllTests modification.
2023-11-14 12:13:26 +01:00
tersec
54bdda13b4
rm unused code ( #5596 )
2023-11-11 11:49:34 +03:00
tersec
b669f23c25
remove `XDeclaredButNotUsed` exclusion from Nim configurations ( #5595 )
...
* remove XDeclaredButNotUsed exclusion from Nim configurations
* copyright year linting
2023-11-11 07:54:52 +00: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
Etan Kissling
eb35039704
allow higher `MIN_EPOCHS_FOR_BLOCK_REQUESTS` than safe minimum ( #5590 )
...
Gnosis uses `MIN_EPOCHS_FOR_BLOCK_REQUESTS` = 33024, but the computed
safe minimum (that Nimbus was using) is 2304. Relax the compatibility
check to allow `MIN_EPOCHS_FOR_BLOCK_REQUESTS` above the safe minimum
and honor `config.yaml` preferences for `MIN_EPOCHS_FOR_BLOCK_REQUESTS`.
2023-11-10 15:04:55 +00:00
Etan Kissling
d9031d97dc
rename `_INDEX` generalized index constants to `_GINDEX` ( #5583 )
...
Rename constants for consistency with upcoming spec adjustment:
- https://github.com/ethereum/consensus-specs/pull/3537
2023-11-09 12:54:44 +00:00
Eugene Kabanov
6bc038e8d5
VC: Obol middleware support ( #5375 )
2023-11-08 14:03:51 +02: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
8d46809a5c
skip upcoming FC tests for intentional block reorgs until implemented ( #5566 )
...
v1.4.0-beta.4 adds tests for intentional block reorgs. To reflect the
implementation status, skip those tests for now and mark them as such.
2023-11-04 20:36:01 +01:00
Etan Kissling
6958f67af3
add test runner for v1.4.0-beta.4 Merkle proof tests ( #5567 )
...
Create a test runner for validating the new `Merkle proof` Deneb tests
that are added with `v1.4.0-beta.4` specs.
2023-11-04 20:35:41 +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
62d59daaa7
consensus-spec URL updates to v1.4.0-beta.3 ( #5541 )
2023-10-30 06:44:43 +00:00
tersec
922283e2e3
clean up ncli_testnet and reduce `ValidIpAddress` usage ( #5529 )
...
* ValidIpAddress -> IpAddress
* clean up ncli_testnet and reduce ValidIpAddress usage
2023-10-26 23:16:15 +00:00
tersec
09df3f32b5
add non-SZ getBlobSidecar and BlobSidecar database tests ( #5528 )
2023-10-26 03:40:04 +00:00
tersec
41dfc9ed91
add `KZGProof` and `Blob` REST JSON serializations ( #5526 )
...
* add KZGProof and Blob REST JSON serializations
* error summary updates
* copyright notice
* consistent integer types for Nim 2.0
2023-10-25 23:50:59 +02:00
tersec
5aa5095e17
Fix REST JSON KzgCommitment encoding/decoding to use hex strings per spec ( #5522 )
2023-10-24 15:22:59 +00:00
tersec
513c9d9637
fix Deneb RestPublishedSignedBlockContents REST JSON decoding ( #5520 )
2023-10-24 05:50:32 +00:00
tersec
fd21882e24
improve test coverage of post-Bellatrix initialize_beacon_state_from_eth1 ( #5517 )
2023-10-24 01:58:52 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00