Agnish Ghosh
b32205de7c
upstream peerdas alpha3 related spec changes + fix upstream related issues ( #6468 )
...
* reworked some of the das core specs, pr'd to check whether whether the conflicting type issue is centric to my machine or not
* bumped nim-blscurve to 9c6e80c6109133c0af3025654f5a8820282cff05, same as unstable
* bumped nim-eth2-scenarios, nim-nat-traversal at par with unstable, added more pathches, made peerdas devnet branch backward compatible, peerdas passing new ssz tests as per alpha3, disabled electra fixture tests, as branch hasn't been rebased for a while
* refactor test fixture files
* rm: serializeDataColumn
* refactor: took data columns extracted from blobs during block proposal to the heap
* disable blob broadcast in pd devnet
* fix addBlock in message router
* fix: data column iterator
* added debug checkpoints to check CI
* refactor if else conditions
* add: updated das core specs to alpha 3, and unit tests pass
2024-08-05 19:27:39 +05:30
Agnish Ghosh
874488843a
add: hypergeom cdf
2024-07-25 17:58:29 +05:30
tersec
6b8061b5d6
automated consensus spec URL updating to v1.5.0-alpha.2 ( #6279 )
2024-05-09 05:03:10 +00:00
tersec
0132f5d689
some consensus spec v1.4.0 spec URL updates ( #6215 )
2024-04-18 03:00:04 +02:00
tersec
867995acd1
some consensus spec v1.4.0 spec URL updates ( #6208 )
2024-04-17 05:51:16 +02:00
Etan Kissling
5d42859176
make `Gwei` `distinct` ( #6090 )
...
#6087 introduced a subtle change to `nim-web3` resulting in `Gwei` to be
serialized differently than before. Using a `distinct` type for `Gwei`
improves type safety and avoids such problems in the future.
2024-03-19 14:22:07 +01:00
tersec
0a6d189161
automated consensus spec URL updating to v1.4.0 ( #6074 )
2024-03-14 07:26:36 +01:00
tersec
f65c1121d2
add Electra overloads for spec functions; add Electra block processing ( #5963 )
2024-02-26 02:38:21 +00:00
tersec
a4f4a35845
Revert "initial Electra support skeleton" ( #5955 )
...
* Revert "initial Electra support skeleton (#5946 )"
This reverts commit d09bf3b587
.
* Update test_signing_node.nim
2024-02-25 19:42:44 +00:00
tersec
d09bf3b587
initial Electra support skeleton ( #5946 )
2024-02-24 13:44:15 +00:00
tersec
0f155ebf95
some consensus spec v1.4.0-beta.7 spec URL updates ( #5945 )
2024-02-22 02:42:57 +00:00
tersec
c73d7c6f6f
automated consensus spec URL updating to v1.4.0-beta.7 ( #5942 )
2024-02-21 19:44:48 +00:00
Etan Kissling
4fc1550d0f
add `{.push raises: [].}` to recently modified files ( #5908 )
...
Status Nim style mandates `{.push raises: []}.` at start of modules.
Ensure that's the case so that exceptions are properly tracked.
- https://status-im.github.io/nim-style-guide/errors.exceptions.html
- https://github.com/status-im/nim-eth/pull/614#discussion_r1220906149
2024-02-18 01:16:49 +00:00
tersec
e410fe0052
https://github.com/ethereum/consensus-specs/pull/3600 ( #5896 )
2024-02-17 09:02:50 +00:00
tersec
6c53dc1e11
automated consensus spec URL updating to v1.4.0-beta.6 ( #5804 )
2024-01-20 11:19:47 +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
Etan Kissling
7db95f047b
track latest `LightClientUpdate` only once fork choice selects it ( #5691 )
...
Instead of tracking the latest `LightClientUpdate` across all branches,
track the latest one on the current branch as selected by fork choice.
2024-01-03 23:36:05 +01:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
Etan Kissling
b9a693d5fe
send LC finality update on event stream on supermajority ( #5602 )
...
When new finality is reached without supermajority sync committee
support, trigger another event push on beacon-API and libp2p once
the finality gains supermajority support.
- https://github.com/ethereum/consensus-specs/pull/3549
2023-11-16 19:57:15 -08: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
tersec
c96163dbca
update some consensus spec URLs to v1.4.0-beta.4 ( #5594 )
2023-11-11 06:27:53 +01: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
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
andri lim
0f9b52933e
Bump nim-eth: Change block timestamp from std.Time to distinct uint64 ( #5510 )
...
* Bump nim-eth: Change block timestamp from std.Time to distinct uint64
Also change tx.maxFeePerBlobGas from GasInt to UInt256
following Cancun latest spec
* Fix EthTime.now from func to proc due to sideeffects
2023-10-18 07:37:57 +07:00
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
tersec
5a29ad7e4f
update some consensus-spec URLs to v1.4.0-beta.1 ( #5429 )
2023-09-14 18:23:59 +00:00
Etan Kissling
89d133d0e5
further reduce stack size of LC helpers for Nim 2.0 ( #5401 )
...
The `is_next_sync_committee_known` helper allocates a fresh
`SyncCommittee` in the caller and `nimZeroMem`s it on each use.
Use `static` to compare against a compile-time zeroed copy instead.
This also should help reduce stack size far enough to link with Nim 2.0.
2023-09-06 16:05:12 +02:00
Etan Kissling
be9ecfa1c9
add helpers for processing withdrawals to `libnimbus_lc.a` ( #5374 )
...
Similar to the existing helpers for processing transactions / receipts,
extend `libnimbus_lc.a` with support for processing withdrawals as well.
2023-09-04 20:44:03 +02:00
tersec
a8c56b1660
update some consensus-spec URLs to v1.4.0-beta.1 ( #5379 )
2023-09-01 09:31:52 +00:00
Etan Kissling
09020ebd2f
add helpers for processing receipts to `libnimbus_lc.a` ( #5360 )
...
Similar to the existing helpers for processing transactions,
extend `libnimbus_lc.a` with support for processing receipts as well.
2023-08-28 15:56:40 +00:00
tersec
db6f4e8090
update some consensus-spec URLs to v1.4.0-beta.1 ( #5357 )
2023-08-25 15:58:44 +00:00
Etan Kissling
991c31f42b
add helpers for processing transactions to `libnimbus_lc.a` ( #5269 )
...
It is useful to verify transactions data against `transactionsRoot`.
Add corresponding functionality to the light client library.
2023-08-25 11:29:39 +02:00
tersec
6fd4983f6b
EIP-4788/parentBeaconBlockRoot fixes ( #5318 )
2023-08-19 08:38:17 +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
Etan Kissling
d7afa1c78a
add helpers for processing EL block header to `libnimbus_lc.a` ( #5199 )
...
To obtain the correct `transactions_root` and `withdrawals_root`,
it is necessary to process execution block header. Light client updates
don't contain the correct MPT roots.
2023-08-07 14:23:44 +02:00
Jacek Sieka
5bc48acc36
reduce memory allocations during state transition ( #5235 )
...
This PR removes a few hundred thousand temporary seq allocations during
state transition - in particular, the flag seq was allocated per
validator while committees are computed per attestation.
2023-08-03 01:03:40 +02: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
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
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