Commit Graph

4293 Commits

Author SHA1 Message Date
tersec f85521230f
stop checking for irrelevant unsigned wraparound in Electra deposit codepath (#6683) 2024-10-28 17:18:01 +01:00
tersec 4565c029e1
make Eth2Digest isZero 8x faster (#6682)
* make Eth2Digest isZero 8x faster

* use staticFor and copyMem

* branchless with or
2024-10-28 05:21:18 +00:00
tersec 58a34e00a1
fix inconsistent aggregation bits len in Electra (#6679) 2024-10-25 16:04:35 +02:00
Eugene Kabanov a3d4a3ee5e
BN: Fix el_manager timeouts issue in block processing. (#6665)
* Fix el_manager + block_processor NEWPAYLOAD_TIMEOUT timeouts issue.
Use predefined array of exponential timeouts when all the requests to EL has been failed.

* Increase timeout value to (next_slot.start_time - 1.second)

* Address review comments.

* Do not repeat requests when node is optimistically synced.
2024-10-23 00:42:46 +00:00
Etan Kissling 117fecad99
Bump nim-web3 to `c76ddefea96e7763c3cc5b28ec5cbac1adefc4e7` (#6670)
- Fix AuthorizationObject fields name to v, r, s
2024-10-22 18:13:36 +02:00
andri lim 5d940b4c1e
Bump nim-eth to 66297c5c0a8c22ec3f16c899e902d79aa00df575 (#6669) 2024-10-22 14:15:33 +02:00
Agnish Ghosh 250a80eb0c
add gossip validation for dc, and data column quarantine strategy (#6581)
* add gossip validation for dc

* review 1

* rm callback

* review 2

* added custody columns as a global entity

* alpha 8

* few typosA
2024-10-22 05:19:34 +00:00
Etan Kissling 3cb7b9140a
Remove request details from LC (#6666)
Requests are no longer exposed by execution data, remove from LC API.
2024-10-22 03:41:01 +00:00
Etan Kissling 6f6de8d9dc
Implement latest EIP-7685 `requestsHash` method (#6667)
It's now this weird one-off hashing method so that EL can partially
forget in some modules what the data schema is.
2024-10-21 17:09:26 +02:00
tersec 7e5338deb3
disable optimistic Electra EL block hash verification (#6664) 2024-10-21 05:09:33 +02:00
Caleb Omoniyi eb993ffcee
Fix comment to reflect correct validator balance count transition (#6663) 2024-10-21 00:40:14 +00:00
tersec 84eaa57f82
don't use {.noinit.} with case objects (#6662) 2024-10-21 01:22:16 +02:00
tersec 2d3614ff69
update to devnet-4-compatible engine API (#6657) 2024-10-17 16:53:37 +02:00
tersec f7ae15e107
rm experimental Yamux support (#6636) 2024-10-17 00:23:13 +00:00
Etan Kissling bd94c20325
fix migration of `blob_gas_used`/`excess_blob_gas` from Deneb to Electra (#6655)
`blob_gas_used` and `excess_blob_gas` were reset on fork transition
from Deneb to Electra, which is not according to spec. Fix it.
2024-10-17 00:15:34 +00:00
Eugene Kabanov fcf72a6e8e
VC: Electra fixes. (#6631)
* Initial commit.

* Add aggregated attestation processing.

* Add missing presets file.

* Fix compilation error.

* Fix post-rebase compilation error.

* Satisfy push raises requirement.

* Fix sync committee duties retrieval process.

* Fix forks configuration management.

* Fix deposits to use new fork configuration scheme.

* Fix /eth/v2/validator/aggregate_attestation implementation.

* Fix RANDAO preparation loop to handle blocks at epoch boundary properly.

* Simplification of RANDAO fix.

* Fix typo.

* Address review comments and fix tests.

* Fix incorrect status codes in REST test.

* Rework attestation and aggregated attestations processing code.

* Address review comments.

* Fill committee_index in RegisteredAttestation construction code.

* Address review comments part 2.

* Address review comments part 3.

* use Deneb fork epoch

* Add transition from Deneb to Electra into CI finalization test.

---------

Co-authored-by: tersec <tersec@users.noreply.github.com>
2024-10-16 17:20:39 +00:00
Etan Kissling c4be5f677a
bump nim-eth to `171531fbf1a308c1bf4d2f6b88c6ee6924657437` (#6645)
- rm Goerli bootnodes
- update Sepolia and Holesky bootnodes
- Fix Authorization fields name to v, r, s
- Add helper for recovering authority
2024-10-15 21:47:17 +00:00
tersec acad28d05b
avoid combining multiple aggregates from same committee (#6642) 2024-10-15 06:02:36 +02:00
Miran 585deb8f90
use types from `eth/common/eth_types` (#6614)
* bump nim-eth

* use types from `eth/common/eth_types`
2024-10-14 14:55:56 +00:00
tersec c01cf6601a
attestation and aggregated attestation BN fixes for Electra (#6641)
* attestation and aggregated attestation BN fixes for Electra

* disable electra transition for this PR

* use cleaned-up verification function everywhere
2024-10-14 14:20:26 +00:00
tersec bc51ba3077
styleCheck tweaks (#6638) 2024-10-12 00:51:28 +02:00
tersec 5608a803d7
update beacon_validators to be more Nim 2.2-compatible (#6637) 2024-10-11 15:39:45 +02:00
tersec 181f5f984d
use Deneb genesis for local testnet; add Electra forking support to local tesnet (#6634)
* use Deneb genesis for local testnet; add Electra forking support to local tesnet

* deneb -> electra in ncli_testnet help
2024-10-10 15:48:05 +00:00
tersec 9ba31fb5e6
adjust isomorphicCast to be Nim 2.2-compatible (#6633) 2024-10-10 12:23:23 +00:00
tersec 3868365ac0
automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
tersec b8a424991d
use EF consensus spec v1.5.0-alpha.8 test vectors (#6616) 2024-10-09 04:33:17 +00:00
Eugene Kabanov fc2b232b9e
Fix indefinite loop when when validators are present, but VC does not know indices yet. (#6615)
Fix block pruning when no validators seen.
2024-10-09 03:00:06 +02:00
Jacek Sieka 7990cc2d1c
Ordered trie for trie root computations (#6610)
Gives a 100x speed boost for this operation which happens during
optimistic sync when computing the block hash.

Co-authored-by: Etan Kissling <etan@nimbus.team>
2024-10-08 22:10:50 +02:00
Eugene Kabanov a25afaed5a
Increase number of web3 signer requests before signaling failure to 4. (#6609)
Decrease number of pre-computed slots from 32 to 2.
Add validator field to some log statements.
2024-10-08 05:37:00 +02:00
Miran 3f37caa0da
fix deprecated warnings (#6606) 2024-10-08 01:54:02 +00:00
Eugene Kabanov 5d11c5229b
Add Web3signer electra support (#6607)
* Add Electra support to nimbus_signing_node.
Add tests.
Annotate nimbus_signing_node with asyncraises.

* Update AllTests.
2024-10-07 23:31:16 +00:00
tersec b370112fe0
some manual updates to EF consensus-specs v1.5.0-alpha.7 URLs (#6604) 2024-10-07 12:30:09 +02:00
tersec 50eed81dcf
electra BN attestation aggregating (#6596) 2024-10-07 07:53:38 +00:00
tersec 17d66118e8
automated consensus spec URL updating to v1.5.0-alpha.7 (#6601) 2024-10-06 14:03:56 +00:00
tersec 9c9f3707a1
use EF consensus spec v1.5.0-alpha.7 test vectors (#6600) 2024-10-06 13:15:56 +02:00
Pedro Miranda ff0cc8e62e
Electra - Filter aggregated attestations by root/committee (#6594)
* Filter aggregated attestations by root/committee

* fixed validator api documentation link

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-10-04 05:15:48 +00:00
tersec eb30b741d9
bump nimbus-build-system to use Nim v2.0.10 (#6592)
* bump nimbus-build-system to use Nim v2.0.10

* fix `CatchableError` leak on Windows

* define ERROR_INVALID_ACCESS

* trigger finding correct hashes for nix build

* check checksums checksum

* update nix nimble checksum

* csources didn't change
2024-10-03 17:13:44 +02:00
Jacek Sieka 8f0d910422
web: bump to new nim-eth types (#6590) 2024-10-02 15:26:11 +02:00
tersec 7abf899a66
Merge remote-tracking branch 'origin/stable' into unstable 2024-09-30 12:37:04 +00:00
tersec 3bf96a5923
version v24.9.0 2024-09-30 03:14:58 +00:00
Jacek Sieka b20f1ba8b3
Update nim-eth types (#6583)
Minimal changes needed for compatiblity with
https://github.com/status-im/nim-eth/pull/733 which aligns core types
with execution spec.
2024-09-29 13:32:55 +02:00
tersec 2e64fdfa67
centralize ConsensusFork <=> string handling in spec/forks (#6587) 2024-09-28 09:23:45 +02:00
Pedro Miranda 4beb890385
new pool attester slashings endpoint version (V2) for electra (#6585)
* new pool attester slashings endpoint version (V2) for electra

* formatting

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-28 00:00:26 +00:00
tersec a441695c51
plumb through Electra attestation callbacks (#6586) 2024-09-27 13:30:26 +02:00
tersec fa8b7e380f
add Electra beacon chain database state tests (#6584) 2024-09-27 07:53:58 +02:00
Pedro Miranda 744cc00984
replace default word usage (#6580)
Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-26 19:49:03 +00:00
tersec 28b20936e9
add Electra attester slashing gossip support (#6582) 2024-09-26 08:11:58 +02:00
Pedro Miranda daf7f899c2
Attestation API updates for Electra (#6557)
* new V2 endpoint for beacon getBlockAttestations

* nnew GET endpoint version (V2) for getPoolAttestations

* new POST endpoint version (V2) for submitPoolAttestations

* remove premature ncli tests

* review improvements

* review comments and increased test coverage

* small improvements

* documentation typos

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-25 12:33:58 +00:00
tersec f2d6166099
remove block fork guessing/inference from REST JSON decoding (#6552)
* remove block fork guessing/inference from REST JSON decoding

* use template to avoid repetitive per-fork code

* consolidate RestPublishedSignedBeaconBlock and RestPublishedSignedBlockContents parsing fork handling
2024-09-25 02:58:53 +00:00
Agnish Ghosh 31b5c3e30e
add: inclusion proof and dc sidecar verification (#6577)
* add: inclusion proof and dc sidecar verification

* review 1
2024-09-24 14:46:05 +02:00