Etan Kissling
7c45b8f98d
convert remaining `toFork` -> `kind` for consistency ( #5462 )
...
We currently have multiple ways to obtain `ConsensusFork` or
`LcDataFork` from a forky type. Rename `toFork` to `kind`
for a consistent API naming.
2023-09-27 15:10:28 +00: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
1640c45a95
reject invalid proofs when validating blobs ( #5445 )
...
Currently, passing `0xc00000...` proof seems to pass `verifyProofs`.
Unsure why such a check is not necessary in spec, and also unsure
whether it is correct to reject proof at infinity, or if it could
occur, e.g., for a blob containing all 0 bytes. Weird overall...
* proper fix
2023-09-19 22:13:58 +00:00
tersec
5a29ad7e4f
update some consensus-spec URLs to v1.4.0-beta.1 ( #5429 )
2023-09-14 18:23:59 +00:00
tersec
a8c56b1660
update some consensus-spec URLs to v1.4.0-beta.1 ( #5379 )
2023-09-01 09:31:52 +00:00
tersec
db6f4e8090
update some consensus-spec URLs to v1.4.0-beta.1 ( #5357 )
2023-08-25 15:58:44 +00:00
tersec
d171303133
update some consensus spec URLs to v1.4.0-beta.1 ( #5287 )
2023-08-12 10:38:06 +00:00
tersec
85e1976ac3
automated consensus spec URL updating to v1.4.0-beta.1 ( #5280 )
2023-08-09 03:58:47 +00:00
henridf
28194468c9
Rename "data gas" to "blob gas" ( #5216 )
...
* Rename data gas to blob gas
* Update vendor/nim-eth and vendor/nim-web3
2023-08-02 22:07:57 +00:00
tersec
1e2d3b12c4
update some consensus-specs ref URLs to v1.4.0-beta.0 ( #5163 )
2023-07-05 16:02:55 +00:00
tersec
0be95571a7
update some consensus spec URLs to v1.4.0-beta.0 ( #5150 )
2023-06-30 16:12:54 +00:00
tersec
614202e30d
automated consensus spec URL updating to v1.4.0-beta.0 ( #5121 )
2023-06-24 15:43:30 +00:00
tersec
9dbf63d8ca
use v1.4.0-beta.0 consensus spec test vectors ( #5120 )
2023-06-24 12:27:15 +00:00
Etan Kissling
3a6b50cf21
require sync committee supermajority in CI ( #5085 )
...
* require sync committee supermajority in CI
To better catch problems with sync committee messages in CI, extend
local testnet simulation to also verify that each block is signed
by a supermajority of the sync committee.
Requires #5083 and #5084
* lint
2023-06-17 06:00:01 +00:00
tersec
591c2246d5
update consensus spec URLs to v1.4.0-alpha.3 ( #5088 )
2023-06-16 16:45:09 +00:00
tersec
788cdb7133
automated v1.4.0-alpha.2 to v1.4.0-alpha.3 consensus spec URL updates ( #5065 )
2023-06-13 14:03:49 +00:00
tersec
22208836b1
automated v1.4.0-alpha.1 to v1.4.0-alpha.2 consensus spec URL updates ( #5056 )
2023-06-10 09:56:54 +00:00
tersec
9e14d904ac
https://github.com/ethereum/consensus-specs/pull/3359 ( #5047 )
2023-06-10 05:39:10 +00:00
tersec
30c859e8a4
update some consensus-spec URLs to v1.4.0-alpha.1 ( #5035 )
2023-06-06 17:09:48 +00:00
tersec
f86febc111
update consensus spec URLs to v1.4.0-alpha.1 ( #5027 )
2023-06-04 10:32:50 +00:00
tersec
b25ca0833b
use v1.4.0-alpha.1 consensus spec test vectors ( #5026 )
2023-06-03 21:55:08 +00:00
tersec
ee71b6cc36
update consensus spec URLs to v1.4.0-alpha.0 ( #5022 )
2023-06-02 12:59:38 +00:00
tersec
1f535336da
automated v1.3.0 to v1.4.0-alpha.0 consensus spec URL updates ( #4996 )
...
* automated v1.3.0 to v1.4.0-alpha.0 consensus spec URL updates
* add copyright year headers
2023-05-26 00:14:28 +02:00
tersec
10569ff2e9
use v1.4.0-alpha.0 consensus spec test vectors ( #4990 )
2023-05-25 07:55:00 +00:00
henridf
01549f6aa4
Wire in blob validation ( #4864 )
...
* Wire in blob validation
* Remove unused "is_data_available"
* Log blobs when blob validation fails
2023-05-17 13:55:50 +00:00
tersec
d3929cbb45
update some beacon API spec URLs; fix some Name and DuplicateModuleImport hints ( #4929 )
2023-05-10 10:20:55 +00:00
Etan Kissling
34e7181b0d
`KZG(Commitment(s)?|Proof)` > `Kzg$1` ( #4917 )
...
Fix style-check by using matching capitalization for `nim-kzg` types.
2023-05-09 19:51:36 +00:00
Etan Kissling
93899b2e2a
consensus-specs v1.3.0 bumps with cleanup ( #4918 )
...
Some more consensus-specs v1.3.0 bumps. No semantic logic changes,
but also contains cleanup, so separate PR to reduce noise.
2023-05-09 20:16:49 +02:00
Etan Kissling
e9319a5947
`bls_to_execution_changes` check alternative ( #4916 )
...
Make intent clearer about when to expect `bls_to_execution_changes`,
and replace test-time errors with compile-time errors if the field
is renamed or goes away in the future.
2023-05-09 17:24:02 +00:00
tersec
b390911e93
automatic update of v1.3.0-rc.5 consensus spec URLs to v1.3.0 ( #4848 )
2023-04-21 18:52:43 +00:00
tersec
4643a357ef
consensus spec ref URL update to v1.3.0-rc.5 ( #4837 )
2023-04-18 22:00:06 +00:00
tersec
b4508b853a
assorted consensus spec URL updates ( #4776 )
2023-03-30 23:08:52 +00:00
tersec
9d2fdc2e26
assorted consensus spec URL updates to v1.3.0-rc.5 ( #4768 )
2023-03-27 14:41:22 +00:00
henridf
635a924e8c
Add nim-kzg4844 and use it in validate_blobs ( #4732 )
2023-03-23 09:47:04 +00:00
tersec
2f634c10a4
automated consensus spec URL updating from v1.3.0-rc.4 to rc.5 ( #4756 )
2023-03-21 00:42:22 +00:00
tersec
0c62950de6
more consensus spec v1.3.0-rc.4 URL updates ( #4744 )
2023-03-17 12:14:08 +00:00
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
969c6f73ae
misc local `EIP4844` > `Deneb` bumps ( #4717 )
...
* misc local `EIP4844` > `Deneb` bumps
* fix
2023-03-11 00:28:19 +00:00
tersec
ea060de6d4
more eip4844 -> deneb module references ( #4690 )
2023-03-02 21:09:24 +01:00
tersec
8f269c92d7
rename eip48844ImplementationMissing to denebImplementationMissing ( #4654 )
2023-02-23 10:37:45 +00:00
tersec
1dd07d5def
switch 3 modules in beacon_chain/spec/ from eip4844 to deneb ( #4651 )
2023-02-22 14:10:00 +01:00
tersec
29fb65a9db
automated update of v1.3.0-rc.2 to v1.3.0-rc.3 consensus spec URLs ( #4647 )
2023-02-21 16:43:21 +00:00
tersec
b19f7001aa
log expected_withdrawals discrepancy ( #4595 )
...
* log expected_withdrawals discrepancy
* capella-only rather than not-bellatrix
* add one more (in theory unnecessary, but) guard against get(none)
2023-02-20 09:46:37 +01:00
tersec
a382498cfe
batch-verify BLS to execution change messages ( #4637 )
2023-02-17 13:35:12 +00:00
tersec
b7c3037f01
consensus spec ref URL updates to v1.3.0-rc.2 ( #4626 )
2023-02-15 14:43:51 +00:00
tersec
bca781b1b0
prioritize REST API-provided BLS to execution changes over gossip-received changes ( #4580 )
2023-02-03 16:28:28 +01:00
tersec
58ed9308d2
automated v1.3.0-rc.1 to v1.3.0-rc.2 consensus spec URL updates ( #4568 )
2023-01-31 00:26:57 +01:00
tersec
8c2e01da24
consensus spec ref URL updates to v1.3.0-rc.1 ( #4534 )
2023-01-20 22:33:05 +00:00
tersec
aacc8d702d
remove Nim 1.2-compatible `push raise`s and update copyright notice years ( #4528 )
2023-01-20 14:14:37 +00:00
tersec
819e007689
exit/validatorchange pool includes BLS to execution messages; REST support for new pool ( #4519 )
...
* exit/validatorchange pool includes BLS to execution messages; REST
support for new pool
* catch failed individual futures
* increase BLS changes bound and keep BLS seen consistent with subpool
* deque capacities should be powers of 2
2023-01-19 22:00:40 +00:00
tersec
073c544f0c
automated update from v1.3.0-rc.0 to v1.3.0-rc.1 consensus spec URLs ( #4517 )
2023-01-17 16:10:52 +00:00
Etan Kissling
609227559f
LC data fork cleanup ( #4506 )
...
Distinguish between those code locations that need to be updated on each
light client data format change, and those others that should generally
be fine, as long as a valid light client object is processed.
The former are tagged with static assert for `LightClientDataFork.high`.
The latter are changed to `lcDataFork > LightClientDataFork.None` to
indicate that they depend only on presence of any valid object.
Also bundled a few minor cleanups and fixes.
Also add `Forky` type for `LightClientStore` and minor fixes / cleanups.
2023-01-14 22:19:50 +01:00
tersec
68e08c6f15
use v1.3.0-rc.1 consensus spec test vectors ( #4505 )
2023-01-14 04:20:51 +00:00
tersec
4f9064a153
consensus spec ref URL updates ( #4496 )
2023-01-12 13:33:14 +00:00
Jacek Sieka
ba3db7aa5a
spec: Option -> Opt ( #4488 )
2023-01-11 12:29:21 +00:00
tersec
e28e1aeec8
a few consensus spec ref URL updates ( #4483 )
2023-01-10 16:14:17 +00:00
tersec
2dd3cd786f
consensus spec ref URL update v1.3.0-{alpha.2,rc.0}; copyright year update ( #4477 )
2023-01-09 22:44:44 +00:00
tersec
787703bd0c
use v1.3.0-rc.0 consensus spec test vectors ( #4472 )
2023-01-09 15:15:43 +01:00
tersec
47cb0f7991
capella forkchoiceUpdated support ( #4462 )
...
* capella forkchoiceUpdated support
* match V2 fcU with V2 getPayload
2023-01-06 22:01:10 +01:00
tersec
c5d1683f19
spec ref URL & copyright year updates ( #4467 )
2023-01-06 16:28:46 +00:00
henridf
8251cc223d
eip4844 gossip ( #4444 )
...
* eip4844 gossip
* Check BLSFieldElement range validity in gossip validation
* lint/nits cleanup
* Use template to avoid an assignment with copy.
* More review feedback
* lint
* lint
* processSignedBeaconBlockAndBlobsSidecar: clean up error handling flow
* Undo factoring-out of beacon blocks validator installation
2023-01-04 12:34:15 +00:00
Jacek Sieka
bd8f08204e
Implement skip_randao_verification for blinded blocks ( #4435 )
...
* Implement skip_randao_verification for blinded blocks
* fix redundant randao verification on block replay (5% faster)
* check randao in REST instead of internally
* avoid redundant copies when making blocks
* cleanup leftover randao skipping code
* fix test summary
2022-12-19 15:11:12 +02:00
tersec
110401394b
consolidate consensus spec transition test fixtures ( #4428 )
...
* consolidate consensus spec transition test fixtures
* include capella
* consoliate fork test fixtures
* note change in EIP-4844 process_block in alpha.2
2022-12-15 22:51:04 +00:00
tersec
bb4ea37baa
update EF consensus spec URLs from v1.3.0-alpha.1 to v1.3.0-alpha.2 ( #4432 )
2022-12-15 12:15:12 +00:00
tersec
d269d82b71
use v1.3.0-alpha.2 EF consensus spec test vectors ( #4430 )
2022-12-15 01:51:06 +00:00
tersec
bc996623e0
add EIP4844 block database read/write test ( #4416 )
2022-12-13 00:56:50 +00:00
tersec
dee5af58d6
eip4844 light client tests; avoid case object out-of-bound array reads ( #4404 )
2022-12-08 17:21:53 +01:00
tersec
50bcc48e17
eip4844 block/slot sanity and transition tests ( #4399 )
2022-12-08 02:07:41 +00:00
tersec
7cf432b155
eip4844 fork and epoch transition tests; some eip4844 gossip ( #4393 )
2022-12-06 16:43:11 +00:00
tersec
031780b612
eip4844 operations tests ( #4392 )
2022-12-06 12:40:13 +00:00
tersec
415b11aa67
EIP4844 tweaks to pass SSZ consensus object tests ( #4390 )
2022-12-05 21:36:53 +00:00
tersec
5c16062de9
remove all but truly stub support for `SHARDING_FORK_{EPOCH,VERSION}` ( #4385 )
2022-12-02 13:33:18 +01:00
tersec
474b0d8502
`withUpdatedState` injects `updatedState` rather than `state` template ( #4375 )
2022-11-30 16:37:23 +02:00
tersec
df54470b13
verify `CAPELLA_FORK_EPOCH == FAR_FUTURE_EPOCH` for supported networks ( #4369 )
2022-11-29 09:12:25 +01:00
tersec
898684c175
REST server shouldn't create validation objects when optimistically synced ( #4361 )
2022-11-25 22:49:31 +00:00
tersec
61c5ac32d8
automated consensus spec ref URL update to v1.3.0-alpha.1 ( #4354 )
2022-11-24 19:07:02 +00:00
tersec
1146470f7d
use v1.3.0-alpha.1 consensus spec test vectors ( #4338 )
2022-11-21 08:44:49 +01:00
tersec
909c095e64
initial automated v1.2.0 -> v1.3.0-alpha.0 consensus spec URL update ( #4296 )
2022-11-08 02:37:28 +00:00
tersec
0a43c89cd2
run capella block sanity tests in CI ( #4292 )
2022-11-07 18:37:48 +00:00
tersec
5b46f0b723
add Capella support to Forked* ( #4276 )
...
* add Capella support to Forked*
* remove cruft
* add `OnForkyBlockAdded`
2022-11-02 16:23:30 +00:00
tersec
0cfc1b776e
add all missing epoch transition tests ( #4269 )
2022-10-28 08:02:33 +00:00
tersec
06ccf5b80c
capella test vector support ( #4261 )
2022-10-27 06:29:24 +00:00
tersec
ce915c0a03
add beaconcha.in mainnet relay overview to guide ( #4217 )
2022-10-04 19:45:06 +03: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
tersec
3c03ba86c1
update consensus spec ref URLs to v1.2.0 ( #4164 )
2022-09-23 07:56:06 +00:00
Michael Sproul
d6325b1ab5
api: add skip_randao_verification for produceBlockV2 ( #3837 )
2022-09-21 09:38:08 +02:00
tersec
ad0d30093f
state/forkyState cleanup; spec URL updates; rm unused imports ( #4052 )
2022-08-31 13:29:34 +02:00
tersec
9ae796daed
Cache and resend, rather than recreate, builder API registrations ( #4040 )
2022-08-31 03:29:03 +03:00
tersec
b60456fdf3
`withState`: `state` -> `forkyState` ( #4038 )
2022-08-26 22:47:40 +00:00
tersec
c65eaca1bf
update spec ref URLs ( #4005 )
2022-08-20 16:03:32 +00:00
tersec
c0f673dc09
spec ref URL updates: v1.2.0-rc.{1,2} for phase0/fork-choice altair/beacon-chain ( #3986 )
2022-08-18 07:25:33 +00:00
tersec
8274d5373b
update spec ref URLs ( #3979 )
2022-08-17 11:33:19 +00:00
Miran
dfd4afc9f2
compatibility with Nim 1.4+ ( #3888 )
2022-07-29 10:53:42 +00:00
Jacek Sieka
48f01186d6
fix unnecessary HashList/HashArray cache invalidation ( #3660 )
...
* SSZ `[]` -> `mitem`
* `[]` -> `item`
immutable access via mutable instance cannot rely on template
overloading, and `[]` cannot be a `func` because of special seq handling
in compiler.
2022-05-30 13:30:42 +00:00
tersec
bf1763fdef
consensus specs v1.2.0-rc.1 ( #3661 )
2022-05-25 13:49:29 +00:00
tersec
b3d603f364
more CL spec URL updates to v1.2.0-rc.1 ( #3657 )
2022-05-24 08:26:35 +00:00
Jacek Sieka
1101c745b9
document and clean up `ValidatorIndex` usage ( #3651 )
...
* document static vs dynamic range checking requirements
* add `vindices` iterator to iterate over valid validator indices in a
state
* clean up spec comments in general
* fixup
Co-authored-by: tersec <tersec@users.noreply.github.com>
2022-05-23 23:39:08 +00:00
tersec
c73239f60b
CL spec URL updates to v1.2.0-rc.1 ( #3655 )
2022-05-23 19:30:24 +00:00
zah
18968e9dfa
Bugfix: Invalid blocks were produced in the presence of invalid deposits ( #3639 )
...
Since we were not verifying BLS signature in blocks that we produce,
we were failing to notice that some deposits need to be ignored (due
to having an invalid signature). Processing these deposits resulted
in a different ending state after the state transition which caused
our blocks to be rejected by the network.
2022-05-17 22:56:15 +03:00
tersec
61ba308e13
stylecheck fixes ( #3593 )
2022-04-14 17:39:37 +02:00