Eugene Kabanov
525b994e7d
Adopt asyncraises guarantees to most of the REST API handlers. ( #5803 )
...
* Adopt asyncraises guarantees to most of the REST API handlers.
Bump presto.
* Fix copyright year.
---------
Co-authored-by: Etan Kissling <etan@status.im>
2024-01-20 17:06:28 +01:00
tersec
6c53dc1e11
automated consensus spec URL updating to v1.4.0-beta.6 ( #5804 )
2024-01-20 11:19:47 +00:00
Eugene Kabanov
10dbd773c7
Address issue #5758 . ( #5762 )
2024-01-19 23:34:11 +00:00
tersec
36545e1d84
remove expensive logging from function called in prepareBeaconProposer inner loop ( #5776 )
2024-01-17 22:58:46 +00: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
cf1bec7670
update some deprecated stew/results to results imports ( #5743 )
2024-01-16 22:37:14 +00:00
tersec
2c49caced9
report decimal produceBlockV3 consensus block, execution payload values ( #5741 )
2024-01-14 22:59:08 +01:00
tersec
69af8f943e
implement blob_sidecar Beacon API streaming ( #5728 )
2024-01-13 11:52:13 +02:00
tersec
251143fd51
attest to known valid block when possible ( #5313 )
...
* attest to known valid block when possible
* cleaner approach; slot is always == attestation slot itself
* copyright year linting
2024-01-11 22:34:10 +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
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
Etan Kissling
583782a061
emit `proposer_slashing`/`attester_slashing` SSE on beacon-API ( #5678 )
...
Add support for slashings on the beacon-API event stream for compat with
beacon-API specs.
- https://github.com/ethereum/beacon-APIs/pull/376
2023-12-22 18:54:55 +01:00
Etan Kissling
a2081521f6
emit `bls_to_execution_change` SSE on beacon-API ( #5677 )
...
With Capella, `bls_to_execution_change` SSE should be emitted on the
event stream whenever a new `SignedBLSToExecutionChange` is received.
Add this missing functionality for compatibility with beacon-API specs.
- https://github.com/ethereum/beacon-APIs/pull/248
2023-12-22 14:52:43 +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
13c9f3b1e1
avoid pointlessly full blocks while handle blobsidecar REST requests ( #5668 )
2023-12-14 18:02:36 +01:00
tersec
91029ce6d6
fix XDeclaredButNotUsed hints ( #5652 )
2023-12-06 17:23:45 +01:00
Jacek Sieka
9d155ebb35
avoid json-rpc server import ( #5649 )
2023-12-05 22:08:18 +01:00
tersec
c36d2aa103
fix XDeclaredButNotUsed warnings ( #5648 )
2023-12-05 11:45:47 +00:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
1791b0ee0a
fix XDeclaredButNotUsed warnings ( #5638 )
2023-12-04 21:14:35 +00:00
tersec
144d453f4a
Update to current (deprecated, but) version of produceBlindedBlock ( #5639 )
2023-12-03 10:04:12 +01:00
Eugene Kabanov
26bcb7057c
REST: Add implementation of postStateValidators and postStateValidatorBalances. ( #5632 )
...
* Add implementation POST versions of /eth/v1/beacon/states/{state_id}/validators and /eth/v1/beacon/states/{state_id}/validator_balances.
Add tests.
* Address review comments.
Fix toList() issue.
* Fix tests.
* Address review comments 2.
* Address review comments 3.
Fix unique check for validator identifiers.
* Address review comments.
* Fix constant value.
2023-11-29 12:05:03 +00: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
af0b36f2e7
respond even in not-yet-supported Deneb beacon+builder API case in REST server ( #5628 )
2023-11-26 10:00:04 +00:00
Etan Kissling
98e969084d
update Deneb for latest builder-specs flow ( #5598 )
...
The `BlobSidecar` construction has been moved to the relay and is no
longer done by the BN / VC in blinded flow. Builder bid contents have
been shrinked from full `BlindedBlobBundle` to `blob_kzg_commitments`.
- https://github.com/ethereum/builder-specs/pull/90
- https://github.com/ethereum/beacon-APIs/pull/369
2023-11-15 16:20:13 -08:00
Etan Kissling
101b723f52
make `MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS` configurable ( #5582 )
...
* make `MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS` configurable
Gnosis uses custom `MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS` to account
for the faster slot timing, so that blobs still remain available for
roughly the same amount of real time.
Also extend REST config endpoint with full config form `v1.4.0-beta.4`,
and extend compatibility checks when loading configs to reduce warnings.
2023-11-09 23:41:17 +03: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
a05278e263
wrap `kzgs`/`proofs`/`blobs` fields as `BlobsBundle` ( #5562 )
...
Less type conversion / copying by keeping the `BlobsBundle` together.
2023-11-04 13:49:58 +00:00
Etan Kissling
baf81595a7
add `KZG_COMMITMENT_INCLUSION_PROOF_DEPTH` preset constant ( #5555 )
...
`v1.4.0-beta.4` added `KZG_COMMITMENT_INCLUSION_PROOF_DEPTH` to preset:
- Spec PR: https://github.com/ethereum/consensus-specs/pull/3531
- Gnosis PR: https://github.com/gnosischain/configs/pull/17
2023-11-03 13:54:21 +00:00
Eugene Kabanov
e1f47bb27a
Address #5539 . ( #5548 )
2023-11-01 08:32:41 +01:00
Eugene Kabanov
1a5bcb479e
Fix `broadcast_validation` handling in `publishBlockV2` ( fixes #5531 ) ( #5547 )
...
* Address issue #5531 .
* Add more tests.
* Add to resttest ability to check values.
Fix tests.
2023-11-01 08:31:18 +01:00
tersec
b0d5001571
implement getBlobSidecars Beacon API endpoint ( #5530 )
2023-10-29 00:06:13 +00:00
tersec
026ad21906
send DenebBlockContents in produceBlockV2 ( #5519 )
2023-10-24 02:50:26 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
tersec
c5028b56bf
change blinded block proposal failures to REST internal errors ( #5501 )
2023-10-12 23:54:24 +02:00
tersec
edc5c03230
consistently use SignedBlindedBeaconBlockContents; remove more Bellatrix Builder API remnants ( #5493 )
2023-10-11 11:48:35 +00:00
Eugene Kabanov
4fb95d000d
REST server fixes and improvements. ( #5422 )
...
* Move from Option[T] to Opt[T] usage.
* Add `finalized` flag.
* Fix compilation issue.
* Http415 error code for some REST API calls.
Introduce more comprehensive error reporting for block calls.
Deprecate decodeEthConsensusVersion() function.
* Bump http-utils.
* Fix copyright year.
* Fix serialization issue.
* Address review comments.
* Post rebase fixes.
2023-09-27 16:45:33 +02:00
Eugene Kabanov
caaad4777c
BN+LC+SN: Fix cancellation deprecate warnings. ( #5455 )
...
* Fix deprecation cancel() warnings in SN, BN, LC.
* Fix missing import.
2023-09-22 11:06:27 +00:00
Eugene Kabanov
88565e6da4
Make KeystoreCache working with KeystoreManagement API. ( #5443 )
2023-09-21 20:07:02 +02:00
tersec
2895a9a05c
automated consensus spec URL updating to v1.4.0-beta.2 ( #5453 )
2023-09-21 18:06:51 +00:00
Etan Kissling
e7bc41e005
`blck` --> `forkyBlck` when using `withBlck` / `withStateAndBlck` ( #5451 )
...
For symmetry with `forkyState` when using `withState`, and to avoid
problems with shadowing of `blck` when using `withBlck` in `template`,
also rename the injected `blck` to `forkyBlck`.
- https://github.com/nim-lang/Nim/issues/22698
2023-09-21 12:49:14 +02:00
Etan Kissling
273f1d34cd
implement EIP-7514 for Deneb: Add Max Epoch Churn Limit ( #5442 )
...
* implement EIP-7514 for Deneb: Add Max Epoch Churn Limit
Cap activations per epoch according to EIP-7514:
- https://eips.ethereum.org/EIPS/eip-7514
- https://github.com/ethereum/consensus-specs/pull/3499
* apply proposer boost to first block in case of equivocation
Implement spec changes to fork choice; this only affects equivocation
when multiple blocks are signed for the same slot. Regular operation
is not changed.
- https://github.com/ethereum/consensus-specs/pull/3352
* bump test vectors to v1.4.0-beta.2-hotfix
---------
Co-authored-by: tersec <tersec@users.noreply.github.com>
2023-09-20 13:39:56 +02:00
Etan Kissling
8fa5580c50
add infrastructure to select fork choice version ( #5387 )
...
To allow testing https://github.com/ethereum/consensus-specs/issues/3466
add support for selecting fork choice version at launch. This means we
can deploy a different logic when `DENEB_FORK_EPOCH != FAR_FUTURE_EPOCH`
that won't be used on Mainnet.
2023-09-12 09:52:51 +02:00
tersec
2b4f987c80
remove pre-v1.4.0 attestation stability subnets ( #5402 )
...
* remove pre-v1.4.0 attestation stability subnets
* re-add most of should register stability subnets on attester duties test
2023-09-11 16:03:34 +00:00
Eugene Kabanov
3c3c4e8edf
Fix /eth/v1/validator/liveness/{epoch} call names and links in code ( #5392 )
...
* Fix getLiveness() call links and names.
* Add getLiveness() decoding test.
* Remove BN state updates from getLiveness() call.
* Fix AllTests.
* Reduce number of tests.
2023-09-11 12:07:34 +02:00
zah
53589b5a7d
Add metadata for the Holesky network ( #5337 )
...
* Add metadata for the Holesky network
* Add copyright banner to the new Nim module
* Working version
* Bump Chronos to fix downloading from Github
* Add checksum check of the downloaded file
* Clean up debugging code and obsolete imports
2023-09-08 08:53:27 +03:00
tersec
6c42cfa79e
use correct decimal or hex encoding/decoding for REST GetSpec ( #5371 )
2023-08-30 12:43:25 +03:00
Etan Kissling
c211a3849e
remove `{.raises: [Defect].}` Nim 1.2 compatibility ( #5352 )
...
In Nim 1.6, `{.raises: [Defect].}` is no longer necessary. Remove it.
2023-08-25 11:29:07 +02:00