Agnish Ghosh
d9e019e2e2
sidecar verification disable at block processing
2024-08-20 12:52:29 +05:30
Agnish Ghosh
fcdd7ee492
enable data column verification in block processor, other general fixes
2024-08-20 12:19:54 +05:30
Agnish Ghosh
70029545ea
added support for customisable custody subnet count on boot, from bn startup flags
2024-08-20 03:58:27 +05:30
Agnish Ghosh
f142dcd36f
make reconstruct and broadcast right after performing validator duties
2024-08-19 21:33:40 +05:30
Agnish Ghosh
0034fea1d6
reduce outgoing root requests
2024-08-19 20:42:58 +05:30
Agnish Ghosh
2444b3190e
init flag for csc, reduce debug messages
2024-08-19 20:08:01 +05:30
Agnish Ghosh
e5da0681b3
get data column sidecar cell and proof variant
2024-08-19 19:24:59 +05:30
Agnish Ghosh
61033ed99b
fix: recover cells and proofs
2024-08-19 18:50:20 +05:30
Agnish Ghosh
f71354b307
experimentally disable verifying data column sidecar before storing block
2024-08-19 13:52:47 +05:30
Agnish Ghosh
635eebbed1
fix response time
2024-08-19 13:17:33 +05:30
Agnish Ghosh
287bf72fbb
simplify data column reconstruct and broadcast logic
2024-08-19 12:04:05 +05:30
Agnish Ghosh
9ed7a193cd
disable rman for blobs
2024-08-19 02:58:50 +05:30
Agnish Ghosh
80b3e70673
slight fix
2024-08-19 01:30:34 +05:30
Agnish Ghosh
15a302cea2
fixes related to reconstruction
2024-08-19 01:23:37 +05:30
Agnish Ghosh
831089825c
activate data column verification before storing backfill block
2024-08-18 23:07:33 +05:30
Agnish Ghosh
7e7c14989e
bump up data column gossip wait time
2024-08-18 22:23:33 +05:30
Agnish Ghosh
8bb1145b43
populate dataColumnSidecarByRange with remote custody columns
2024-08-18 21:42:10 +05:30
Agnish Ghosh
032f544d65
revert constants until all cl agree
2024-08-18 14:17:33 +05:30
Agnish Ghosh
8eaa903c43
bump devnet constants
2024-08-18 13:41:32 +05:30
Agnish Ghosh
75e1bb616b
handling reconstruction condition internally
2024-08-18 13:35:16 +05:30
Agnish Ghosh
e7610ece97
ignore peers with low csc
2024-08-18 13:10:21 +05:30
Agnish Ghosh
f5354eb46d
bump parallel requests for data columns upto 64 for supernode
2024-08-18 12:17:25 +05:30
Agnish Ghosh
04fd58efbf
disable valid csc set experimentally
2024-08-18 04:11:39 +05:30
Agnish Ghosh
121a3687b8
disable blob quarantine checks
2024-08-18 02:10:51 +05:30
Agnish Ghosh
7c39d79e7e
remove metadata v3 call from handleStatus
2024-08-18 01:06:05 +05:30
Agnish Ghosh
7c33d3f0f4
prevent blob proposal in pd devnet
2024-08-17 23:42:31 +05:30
Agnish Ghosh
cd5532c078
add filtering to peer pool and protocol, remove filtering from SyncManager level
2024-08-17 20:51:36 +05:30
Agnish Ghosh
f3f61cbbff
conditionally reconstruct and broadcast only when supernode
2024-08-16 01:03:53 +05:30
Agnish Ghosh
cc21a2a630
fix: enr bitfield logic for custody subnet count
2024-08-14 16:29:28 +05:30
Agnish Ghosh
1ebba1fac4
add: metadata-v3 for custody subnet count ( #6486 )
...
* init: add metadatav3, save progress
* fix import issues
* fix spec version
* fix: metadata_v2 to return altair.MetaData
* update metata function backward compatible now
2024-08-12 21:27:37 +05:30
Agnish Ghosh
9be615dff9
add: data column reconstruction and broadcast ( #6481 )
...
* save commit, decouples reconstruction and broadcasting
* save progress
* add: reconstruction event loop, previous reconstruction related cleanups
2024-08-08 17:44:55 +05:30
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
20e6b189e8
resovle merge conflicts
2024-07-29 19:02:52 +05:30
Agnish Ghosh
329fc21eab
add: condition for being able to selfReconstruct
2024-07-29 19:00:43 +05:30
Agnish Ghosh
e80bd36f76
add: verify data column kzg proof during storeBlock, added serializeDataColumn for better logs
2024-07-26 14:19:44 +05:30
Agnish Ghosh
2e9750ba76
add: get_extended_sample_count for lossy sampler and it's unit test
2024-07-25 18:56:10 +05:30
Agnish Ghosh
874488843a
add: hypergeom cdf
2024-07-25 17:58:29 +05:30
Agnish Ghosh
7faec9b7a3
nits
2024-07-23 16:42:36 +05:30
Agnish Ghosh
c6513122b9
fix reviewed code
2024-07-23 12:38:16 +05:30
Agnish Ghosh
b001499281
add: valid custody peer set to RequestManager
2024-07-23 12:36:42 +05:30
Agnish Ghosh
d2c7208492
Eth2Node not needed in sync man
2024-07-22 19:07:51 +05:30
Agnish Ghosh
5265eeb6ea
refactor: sync manager to range request only valid peers if not supernode
2024-07-22 19:04:04 +05:30
Agnish Ghosh
fa5b15436c
add: logic constructing valid set of peers
2024-07-19 13:58:26 +05:30
Agnish Ghosh
e034f30b5e
add: subscribeAllSubnets feature
2024-07-15 13:50:41 +05:30
Agnish Ghosh
b33900bd35
added enr struct
2024-07-15 13:11:09 +05:30
Agnish Ghosh
cf40d7faae
cleanup for debugs, complete
2024-07-08 11:39:50 +05:30
Agnish Ghosh
5eb854bfcd
checkpoint 2 cleanup
2024-07-07 19:48:56 +05:30
Agnish Ghosh
aaba448bc9
convert to List add
2024-07-07 15:59:27 +05:30
Agnish Ghosh
0bffdd0dca
change checkpoints
2024-07-07 05:02:58 +05:30
Agnish Ghosh
7a891f13d6
rework on cell and proof
2024-07-07 04:35:06 +05:30
Agnish Ghosh
c14b59264c
add: checkpoints for debug support
2024-07-07 03:01:32 +05:30
Agnish Ghosh
e5237d19a3
cell and proof extraction
2024-07-07 02:06:13 +05:30
Agnish Ghosh
abf58928cf
handle empty blobs
2024-07-07 00:43:24 +05:30
Agnish Ghosh
755c24d6aa
fix: blob len 0 case
2024-07-06 21:54:29 +05:30
Agnish Ghosh
7b9c68b19d
oops
2024-07-06 13:55:33 +05:30
Agnish Ghosh
74ee8bb74d
refactor cells and proofs logic + fix edge cases
2024-07-06 13:24:51 +05:30
Agnish Ghosh
85db9ca99c
regressive fix
2024-07-06 00:33:15 +05:30
Agnish Ghosh
1729bdcf57
reduce parallel requests
2024-07-06 00:30:18 +05:30
Agnish Ghosh
adc717c3d0
change return type for get dc
2024-07-06 00:28:55 +05:30
Agnish Ghosh
7101f93ff4
gindex issue fix
2024-07-05 23:03:37 +05:30
Agnish Ghosh
a92eda56d0
prevent pulling const values from deneb preset
2024-07-05 17:16:20 +05:30
Agnish Ghosh
778ea9f094
fix build proof in get dc
2024-07-05 16:15:38 +05:30
Agnish Ghosh
086d3f1fdc
fix: get dc sidecar
2024-07-05 15:56:03 +05:30
Agnish Ghosh
fab427d65f
enable dc in gossip and message router
2024-07-05 14:34:51 +05:30
Agnish Ghosh
318d656942
fix: gindex
2024-07-05 14:26:42 +05:30
Agnish Ghosh
14afc82a1d
gindex fix
2024-07-05 00:05:37 +05:30
Agnish Ghosh
eb46f4c486
fix kzg inclusion proof logic
2024-07-04 23:51:38 +05:30
Agnish Ghosh
6cdc6bfa32
debug: verify data column kzg proofs via kurtosis
2024-07-04 20:24:11 +05:30
Agnish Ghosh
93c3525955
increase ops cost
2024-07-04 19:23:24 +05:30
Agnish Ghosh
24b30a9cec
test kurtosis
2024-07-04 19:20:53 +05:30
Agnish Ghosh
fe183e7465
change timings
2024-07-04 19:14:16 +05:30
Agnish Ghosh
41b35b9799
fix: get data column fixes
2024-07-04 16:49:55 +05:30
Agnish Ghosh
13029d952e
fix: get data column
2024-07-04 14:45:23 +05:30
Agnish Ghosh
b927ddd65a
fix: get_data_column_sidecars
2024-07-04 13:55:51 +05:30
Agnish Ghosh
3bea5742f2
reduce data column response cost
2024-07-04 13:03:48 +05:30
Agnish Ghosh
a755dbaaa9
inclusion proof depth
2024-07-04 11:51:54 +05:30
Agnish Ghosh
c6662bd914
reenable blobs in block proposal
2024-07-04 11:46:40 +05:30
Agnish Ghosh
1a857603b2
fix: cell and proof aggregator
2024-07-04 00:08:11 +05:30
Agnish Ghosh
d49b1a1d47
fix: ckzg function change
2024-07-03 23:51:41 +05:30
Agnish Ghosh
706373909f
fix: get_data_column_sidecars
2024-07-03 23:45:20 +05:30
Agnish Ghosh
887a44a82f
revert gossip val
2024-07-03 21:59:54 +05:30
Agnish Ghosh
53f7175cd8
minor fix
2024-07-03 21:54:40 +05:30
Agnish Ghosh
9f42196c75
exp disable of some gossip conditions
2024-07-03 21:51:59 +05:30
Agnish Ghosh
152d276d78
added reconstruction logic
2024-07-03 21:50:52 +05:30
Agnish Ghosh
d292e94560
sync queue
2024-07-02 22:37:09 +05:30
Agnish Ghosh
ad64b22485
shortLog for dc
2024-07-02 22:26:31 +05:30
Agnish Ghosh
8f9f6544d9
intentionally increase custody requirement
2024-07-02 21:41:46 +05:30
Agnish Ghosh
0e710da37b
update timings
2024-07-02 21:27:50 +05:30
Agnish Ghosh
d0722cd465
update constants
2024-07-02 20:33:09 +05:30
Agnish Ghosh
d8e1beff45
debug 4
2024-07-02 19:56:41 +05:30
Agnish Ghosh
8d2c4893d8
debug3
2024-07-02 19:28:23 +05:30
Agnish Ghosh
77cc2ef358
debug2
2024-07-02 18:35:58 +05:30
Agnish Ghosh
75c3e0b6d3
debug
2024-07-02 18:05:39 +05:30
Agnish Ghosh
2f7a3d0ff2
reenable checkpoints to debug exception
2024-07-02 17:15:08 +05:30
Agnish Ghosh
67fe8aca0b
disable blob activity (exp), improve gossip validation
2024-07-02 14:36:44 +05:30
Agnish Ghosh
9e6cad4105
bit more disabling for kurtosis
2024-07-02 04:51:58 +05:30
Agnish Ghosh
a8e2c3e9a2
exp: disable some gossip conditions
2024-07-02 04:45:23 +05:30
Agnish Ghosh
0e02eb4ce7
fix test_sync_manager
2024-07-02 04:01:37 +05:30
Agnish Ghosh
9325423a6b
strangely disable this line makes it go away :)
2024-07-02 03:15:25 +05:30
Agnish Ghosh
3b1f5b48dd
weird fix
2024-07-02 03:09:49 +05:30
Agnish Ghosh
8e28654a24
exp: build failing, checking if failing on other machines with these changes
2024-07-02 00:14:58 +05:30
Agnish Ghosh
8ac4cc9152
add: data column grouping conditions for range request
2024-07-01 17:42:29 +05:30
Agnish Ghosh
26ac58716b
request man for data columns
2024-07-01 15:00:18 +05:30
Agnish Ghosh
510d988933
disable subnet gossip condition, fixed inclusion proof
2024-06-30 12:16:17 +05:30
Agnish Ghosh
c8d957a495
add: experimental checkpoints on gossip validation to localize failing conditions
2024-06-29 14:26:52 +05:30
Agnish Ghosh
742669052a
dc quarantine activation, keeping blobs compatible
2024-06-29 14:07:09 +05:30
Agnish Ghosh
ca3bd3eeee
experimental: disable scoring for data columns
2024-06-28 18:04:46 +05:30
Agnish Ghosh
0e01d2fb15
experimental disable for inclusion proofs
2024-06-28 18:01:14 +05:30
Agnish Ghosh
27b0705e0d
verify kzg disable
2024-06-28 15:29:57 +05:30
Agnish Ghosh
5bf1e021a7
initiate data column quarantine
2024-06-28 14:53:08 +05:30
Agnish Ghosh
3db92f8b26
add: data column reconstruction logic
2024-06-27 19:31:04 +05:30
Agnish Ghosh
34a2478113
add: blob recovery logic
2024-06-26 16:05:58 +05:30
Agnish Ghosh
0b4cf1017b
rm: unused code in data column getter
2024-06-26 12:48:02 +05:30
Agnish Ghosh
18e3ba2a39
fix: get_data_column_sidecar
2024-06-26 12:26:37 +05:30
Agnish Ghosh
87bc91febe
fix: message router
2024-06-26 02:38:04 +05:30
Agnish Ghosh
81b55faee2
add: fetch subnetCount for super node when subscribeAllSubnets flag passed
2024-06-26 02:22:03 +05:30
Agnish Ghosh
aa390e9ada
rm: message router logic for data column, need to move it
2024-06-26 02:04:06 +05:30
Agnish Ghosh
325bdfd4a2
support for enqueueing whichever is activated blob/data_column
2024-06-25 18:08:00 +05:30
Agnish Ghosh
07d33b3abd
add dataColumns to db during forward syncing
2024-06-24 21:28:23 +05:30
Agnish Ghosh
791d2fb0d1
add: forward and backward syncing for data columns, broadcasting data columns created from blobs, added dc support to sync_queue
2024-06-24 17:32:06 +05:30
Agnish Ghosh
e2afc583cb
fix: reviews, pass1
2024-06-21 14:51:54 +05:30
Agnish Ghosh
f0cae305d6
add: pruneDataColumns at the end of slot
2024-06-19 20:42:31 +05:30
Agnish Ghosh
51f189ef53
add: getMissingDataColumns, requestManagerDataColumnLoop
2024-06-19 03:46:03 +05:30
Agnish Ghosh
46d07b140d
add: data column support in sync_protocol, sync_manager, request_manager, fix: gossipValidation rules
2024-06-18 19:01:56 +05:30
Agnish Ghosh
8e49f88067
update URLs
2024-06-17 23:58:52 +05:30
Agnish Ghosh
ebe9b3b4f8
rm: TODO comment, revisiting later
2024-06-15 10:29:43 +05:30
Agnish Ghosh
5934400106
add: req/res rpc handlers
2024-06-15 01:12:32 +05:30
Agnish Ghosh
986a2bdcdc
save work push, build failing
2024-06-15 00:23:47 +05:30
Agnish Ghosh
02e5430468
init: add req/res domain for peerdas
2024-06-14 18:30:16 +05:30
Agnish Ghosh
7d13a808dc
added another unit test, disabling test in CI for now, because changes in spec
2024-06-13 20:15:00 +05:30
Agnish Ghosh
96b3e95f8e
fix: suggested fixes
2024-06-13 16:48:28 +05:30
Agnish Ghosh
2615514909
add: testing init for peerdas eip
2024-06-13 16:19:15 +05:30
Agnish Ghosh
d8acc16918
rename: KzgCell --> Cell
2024-06-11 15:12:09 +05:30
Agnish Ghosh
282b716ed2
add: test for ssz consensus objects
2024-06-09 11:04:42 +05:30
Agnish Ghosh
c0ade0c005
added test_fixture_networking for peerdas
2024-06-07 13:10:28 +05:30
Agnish Ghosh
9be2e4da9a
experimental disabling of upstream
2024-06-03 12:06:07 +05:30
Agnish Ghosh
b4810fabeb
fix
2024-06-02 14:49:38 +05:30
Agnish Ghosh
c35b5f1b4b
disable more
2024-06-02 10:52:13 +05:30
Agnish Ghosh
caf5557d8b
oops
2024-06-02 10:47:28 +05:30
Agnish Ghosh
578a10693f
conditional disabling
2024-06-02 10:46:10 +05:30
Agnish Ghosh
ca19e12136
experimental chenges
2024-06-02 10:39:45 +05:30
Agnish Ghosh
538ce0a805
fix: added global ctx verification in computeCellsAndProofs and recoverAllCells
2024-05-31 13:15:03 +05:30
Agnish Ghosh
a268ad2c72
fix:reduced blank lines
2024-05-30 03:53:24 +05:30
Agnish Ghosh
80387f1306
fix: code styles
2024-05-30 03:51:32 +05:30
Agnish Ghosh
983522fe84
fix copyright year, and push raises
2024-05-29 14:12:01 +05:30
Agnish Ghosh
26519f68a0
feat: added kzg specs to gossip validation rules, fixed peerdas from C API
2024-05-29 14:02:56 +05:30
Agnish Ghosh
4c390323d3
rebase/add: rebased kzgpeerdas to wip-peerdas, no conflicts with unstable
2024-05-28 13:59:31 +05:30
Agnish Ghosh
eb0e40a5f0
added dataColumnSidecar on deneb fork
2024-05-27 18:15:41 +05:30
Agnish Ghosh
aa2ce79770
fixed upto electra
2024-05-27 18:10:00 +05:30
Agnish Ghosh
905f3b8170
rebased on top of unstable
2024-05-27 18:06:58 +05:30
Etan Kissling
0efc81d96d
use correct minimum size when reading block / state headers ( #6263 )
...
`sizeof` also includes padding between fields, while SSZ defines
`fixedPortionSize` (on type) or `sszSize` (on value) to denote
required bytes to encode. Switch forked block/state readers to SSZ size.
As blocks/states are much larger than the padding, this doesn't affect
practical use cases but is slightly more correct this way.
2024-05-25 07:30:05 +02:00
tersec
c7bf6fb542
rm debugRaiseAssert; clean up several debugComments ( #6308 )
...
* rm debugRaiseAssert; clean up several debugComments
* exception linting
2024-05-23 23:51:09 +02:00
tersec
a7b5741163
Merge remote-tracking branch 'origin/stable' into unstable
2024-05-23 13:29:21 +00:00
tersec
a98c119b98
version v24.5.1
2024-05-23 10:52:55 +00:00
tersec
73f56b5026
version v24.5.0
2024-05-23 03:44:54 +00:00
tersec
b56a671122
fix most ConvFromXtoItselfNotNeeded hints and unhide remaining ones ( #6307 )
2024-05-22 13:56:37 +02:00
tersec
708b23f084
rm unused produceBlockV2Plain() RPC signature ( #6304 )
2024-05-22 07:47:03 +02:00
tersec
3e6990ccc4
rm unused ProduceBlockResponseV2 type ( #6302 )
2024-05-22 04:52:35 +02:00
tersec
dd452f71d3
rm outdated/semi-duplicate execution layer withdrawal request processing ( #6301 )
2024-05-22 01:59:11 +02:00
Eugene Kabanov
34853ca155
VC: Deprecate fallback path to produceBlockV2, use produceBlockV3 always. ( #6300 )
...
* Remove fallback path to publishBlockV2(), use publishBlockV3().
* Update AllTests.md.
2024-05-22 00:03:38 +02:00
Eugene Kabanov
d7c5bc0397
[VC] Add builderBoostFactor support. ( #6294 )
...
* Initial commit.
* Replace localBlockValueBoost with builderBoostFactor.
* Add test.
* Update AllTests.
* Update options.md
* Recover `localBlockValueBoost` for BN-only mode.
* Address review comments.
2024-05-19 04:49:43 +03:00
Jacek Sieka
d191b35e2e
electra: attestatoin sending ( #6296 )
2024-05-17 17:34:46 +02:00
Jacek Sieka
045c4cf185
electra attestation updates ( #6295 )
...
* electra attestation updates
In Electra, we have two attestation formats: on-chain and on-network -
the former combines all committees of a slot in a single committee bit
list.
This PR makes a number of cleanups to move towards fixing this -
attestation packing however still needs to be fixed as it currently
creates attestations with a single committee only which is very
inefficient.
* more attestations in the blocks
* signing and aggregation fixes
* tool fix
* test, import
2024-05-17 15:37:41 +03:00
tersec
826bf4c3ee
be more optimistic about electra
2024-05-17 07:13:30 +00:00
Eugene Kabanov
41db536d63
Fix el-manager warnings and issues. ( #6293 )
2024-05-16 13:54:51 +02:00
tersec
4355f81731
temporarily disable optimistic block hashing on electra
2024-05-16 11:17:31 +00:00
tersec
c7b916fe7b
rename depositReceipts/exits to depositRequests/withdrawalRequests
2024-05-16 00:23:00 +00:00
tersec
b9151d43ce
produce blobs in electra
2024-05-15 14:49:57 +00:00
tersec
111e5d8006
add push raises to nimbus_light_client
2024-05-15 14:01:52 +00:00
tersec
69f13eaa51
add electra gossip transition
2024-05-15 13:30:49 +00:00
Eugene Kabanov
0b8cb4efc4
Add metrics to all RPC {state_id} endpoints. ( #6282 )
2024-05-15 09:52:57 +03:00
tersec
d0400e408b
rename ExitV1 to WithdrawalRequestV1 ( #6290 )
2024-05-15 06:44:52 +02:00
tersec
c0601608f9
rm future_combinators ( #6289 )
2024-05-14 22:14:26 +02:00
tersec
0ca5211f6a
enable nbn electra block processing ( #6288 )
2024-05-14 20:29:03 +02:00
Eugene Kabanov
e6b9bfc9e4
el_manager initial refactor. ( #6228 )
...
* Initial commit.
* Address review comments and fix missing primitive.
* Fix developer build.
* More asyncraises updates.
* Refactor and optimize forkchoiceUpdated() and sendNewPayload().
* Fix runtime assertion.
* Refactor getPayload().
2024-05-14 21:03:30 +03:00
tersec
c1b9e82502
electra attestation gossip plumbing ( #6287 )
2024-05-14 19:01:26 +03:00
tersec
1c3aaa7be2
add (Signed)AggregateAndProof SSZ tests ( #6285 )
2024-05-14 13:51:06 +02:00
tersec
9c669cf57a
some debugRaiseAssert to debugComment; unblock some spec tests ( #6284 )
2024-05-14 12:19:24 +03:00
tersec
3f972a2ca5
add some support for electra aggregated attestations ( #6283 )
2024-05-14 06:12:35 +02:00
Etan Kissling
87605d08a7
bump `nim-eth` to `c482b4c5b658a77cc96b49d4a397aa6d98472ac7` ( #6281 )
...
- Introduce wrapper type for EIP-4844 transactions
2024-05-13 17:58:47 +02:00
tersec
6b8061b5d6
automated consensus spec URL updating to v1.5.0-alpha.2 ( #6279 )
2024-05-09 05:03:10 +00:00
tersec
963e0bb92b
use EF consensus spec v1.5.0-alpha.2 test vectors ( #6272 )
2024-05-08 04:43:05 +02:00
tersec
1b30dcc165
initial electra attestation pool changes; electra block_sim ( #6255 )
2024-05-07 15:01:51 +00:00
tersec
c41fe698cf
small datatypes cleanups ( #6266 )
2024-05-06 10:21:37 +02:00
Eugene Kabanov
a6f68d3edc
Fix POST to /eth/v2/beacon/blocks unable to verify correct block signature. ( #6261 )
2024-05-06 04:15:17 +00:00
Eugene Kabanov
484f48953b
Fix POST to eth/v1/builder/blinded_blocks missing header Eth-Consensus-Version. ( #6256 )
...
* Fix submitBlindededBlock() do not send consensus-version HTTP header.
* Address review comments.
2024-05-03 01:08:16 +00:00
Eugene Kabanov
c9b54bf1aa
Enable IPv6 for discovery5 using dualstack support. ( #6242 )
...
* Make listen-address default to use dualstack.
* Use correct newProtocol().
* Bump nim-eth.
* Bump nim-eth one more time.
* Use `*` instead of IPv6 address for dualstack sockets.
* Bump chronos and nim-eth.
* Use new constructor.
* Fix listenAddress should be Opt[T] not Option[T].
* Fix options.md.
2024-05-01 19:29:39 +00:00
Eugene Kabanov
f3da063510
Fix VC not properly handled getAggregatedAttestation's 404 error. ( #6254 )
...
* Fix VC not properly handled getAggregatedAttestation's 404 error.
* Update AllTests.
2024-05-01 15:32:28 +00:00
tersec
1ab6f1654f
Merge remote-tracking branch 'origin/stable' into unstable
2024-04-29 06:08:43 +00:00
tersec
e70fa6d6de
rename ElectraIndexedAttestation/ElectraAttesterSlashing for consistency ( #6252 )
2024-04-29 04:19:10 +02:00
tersec
f20a21c015
v24.4.0
2024-04-29 01:00:13 +00:00
tersec
abc8bbbf23
add EF consensus spec test Electra fork and transition fixtures ( #6251 )
2024-04-28 16:13:17 +02:00
tersec
a66876c8e5
add EF consensus spec test Electra block sanity fixtures ( #6250 )
...
* add EF consensus spec test Electra block sanity fixtures
* move process_consolidation/process_deposit_receipt before usage
2024-04-28 09:15:03 +00:00
tersec
302f645a01
use EF consensus spec v1.5.0-alpha.1 test vectors ( #6249 )
2024-04-28 03:33:44 +00:00
tersec
6119389c3a
add EF consensus spec test Electra attestation operations fixture ( #6248 )
2024-04-28 00:52:14 +00:00
tersec
8f0a61b964
add EF consensus spec test Electra execution payload operations fixture ( #6246 )
2024-04-26 16:02:15 +00:00
tersec
63d00931a3
add EF consensus spec test Electra deposit receipt operations fixture ( #6245 )
2024-04-26 12:39:09 +00:00
tersec
34ba05f4d3
add EF consensus spec test Electra deposits operations fixture ( #6243 )
2024-04-26 07:18:44 +00:00
tersec
b0f58a58b6
add EF consensus spec test Electra consolidation operations fixture ( #6235 )
2024-04-25 18:50:54 +00:00
tersec
8c4ddd64c0
add EF consensus spec test attester slashing, proposer slashing, voluntary exit, and execution layer withdrawal request tests ( #6234 )
2024-04-25 08:41:17 +00:00
tersec
f53271eaaa
add rest of EF consensus spec test Electra epoch transition fixture(s) ( #6232 )
2024-04-24 12:28:47 +00:00
tersec
e6e95cbab7
add Electra slot sanity tests ( #6230 )
2024-04-23 07:58:32 +00:00
tersec
eb997f4e1f
add 10 sub-test-fixtures for electra epoch transitions; use v2.0.4 for Nim 2.x ( #6229 )
2024-04-23 01:15:55 +00:00
tersec
87452374e4
add Electra SSZ object test fixture ( #6225 )
2024-04-22 09:00:38 +00:00
tersec
d139c92df9
explicitly scope AttesterSlashing and IndexedAttestation types to phase0 ( #6224 )
2024-04-21 05:49:11 +00:00
tersec
caa3b73dbb
move AttesterSlashing and IndexedAttestation from base to phase0 ( #6223 )
2024-04-21 01:17:02 +00:00
tersec
41f8400f97
fix Electra light client objects; use version-2-0 for Nim again ( #6222 )
2024-04-19 19:20:45 +00:00
careworry
2ec82fe3ce
chore: remove repetitive words ( #6219 )
...
Signed-off-by: careworry <worrycare@outlook.com>
2024-04-19 11:31:15 +00:00
tersec
73738c702c
use consensus spec v1.5.0-alpha.0 test vectors; use Nim v2.0.4 specifically for 2.0.x ( #6221 )
2024-04-19 02:55:58 +00:00
tersec
e4b0e24614
add compounding withdrawal helpers ( #6217 )
2024-04-18 10:12:37 +00:00
tersec
645e627b03
add new Electra beacon chain containers and presets ( #6216 )
...
* add new Electra beacon chain containers and presets
* re-enable attestations in electra state transition
2024-04-18 07:30:01 +00:00
tersec
0132f5d689
some consensus spec v1.4.0 spec URL updates ( #6215 )
2024-04-18 03:00:04 +02:00
tersec
603c83522e
explicitly refer to phase0.{Attestation,TrustedAttestation} rather than sans module name ( #6214 )
2024-04-17 20:44:29 +00:00
tersec
867995acd1
some consensus spec v1.4.0 spec URL updates ( #6208 )
2024-04-17 05:51:16 +02:00
tersec
bb2ca747bc
move Attestation-related types/logging from base to phase0 types ( #6207 )
2024-04-16 19:01:30 +00:00
tersec
bd3c9af0f8
implement EIP-7002 ( #6206 )
...
* implement EIP-7002
* fix linting
2024-04-16 18:09:39 +00:00
Etan Kissling
c7d5ad78e1
avoid `--gc:arc` issue in validator key caching ( #6203 )
...
The current implementation of the validator key cache as introduced in
#5883 leads to issues when compiling with `--gc:arc`. Namely, the assert
in `injectdestructors.nim` > `destructiveMoveVar` is triggered:
```nim
assert n.kind != nkSym or not hasDestructor(c, n.sym.typ)
```
`cached == nkSym`, and `n.sym.typ == ref HashedValidatorPubKeyItem` with
`hasDestructor(c, n.sym.typ) == true`.
Inlining the `addr ...[]` avoids the problem and allows `--gc:arc`
compilation as part of LC wasm demo project.
Compilation command:
```sh
nim c \
-d:disable_libbacktrace \
-d:disableMarchNative \
-d:disableLTO \
-d:emscripten \
-d:release \
-d:useGcAssert \
-d:useSysAssert \
--debuginfo:off \
--nimcache:nimcache \
--os:linux \
--cpu:wasm32 \
--cc:clang \
--clang.exe:emcc \
--clang.linkerexe:emcc \
--gc:arc \
--exceptions:goto \
--define:noSignalHandler \
--define:danger \
--panics:on \
--passC:-fpic \
--passL:-Os \
--passL:-fpic \
--passC:'-pthread' \
--passL:'-pthread' \
--passC:'-sASSERTIONS' \
--passL:'-sASSERTIONS' \
--passC:'-sINITIAL_MEMORY=256MB' \
--passL:'-sINITIAL_MEMORY=256MB' \
--passC:'-sSTACK_SIZE=128MB' \
--passL:'-sSTACK_SIZE=128MB' \
--passC:'-sUSE_PTHREADS=1' \
--passL:'-sUSE_PTHREADS=1' \
--passC:'-sPTHREAD_POOL_SIZE_STRICT=0' \
--passL:'-sPTHREAD_POOL_SIZE_STRICT=0' \
--passL:'-sEXPORTED_FUNCTIONS="[_free, _malloc, _NimMain, _ETHRandomNumberCreate, _ETHConsensusConfigCreateFromYaml, _ETHConsensusConfigGetConsensusVersionAtEpoch, _ETHBeaconStateCreateFromSsz, _ETHBeaconStateDestroy, _ETHBeaconStateCopyGenesisValidatorsRoot, _ETHRootDestroy, _ETHForkDigestsCreateFromState, _ETHBeaconClockCreateFromState, _ETHBeaconClockGetSlot, _ETHLightClientStoreCreateFromBootstrap, _ETHLightClientStoreDestroy, _kETHLcSyncKind_UpdatesByRange, _kETHLcSyncKind_FinalityUpdate, _kETHLcSyncKind_OptimisticUpdate, _ETHLightClientStoreGetNextSyncTask, _ETHLightClientStoreGetMillisecondsToNextSyncTask, _ETHLightClientStoreProcessUpdatesByRange, _ETHLightClientStoreProcessFinalityUpdate, _ETHLightClientStoreProcessOptimisticUpdate, _ETHLightClientStoreGetFinalizedHeader, _ETHLightClientStoreIsNextSyncCommitteeKnown, _ETHLightClientStoreGetOptimisticHeader, _ETHLightClientStoreGetSafetyThreshold, _ETHLightClientHeaderCreateCopy, _ETHLightClientHeaderDestroy, _ETHLightClientHeaderCopyBeaconRoot, _ETHLightClientHeaderGetBeacon, _ETHBeaconBlockHeaderGetSlot, _ETHBeaconBlockHeaderGetProposerIndex, _ETHBeaconBlockHeaderGetParentRoot, _ETHBeaconBlockHeaderGetStateRoot, _ETHBeaconBlockHeaderGetBodyRoot, _ETHLightClientHeaderCopyExecutionHash, _ETHLightClientHeaderGetExecution, _ETHExecutionPayloadHeaderGetParentHash, _ETHExecutionPayloadHeaderGetFeeRecipient, _ETHExecutionPayloadHeaderGetStateRoot, _ETHExecutionPayloadHeaderGetReceiptsRoot, _ETHExecutionPayloadHeaderGetLogsBloom, _ETHExecutionPayloadHeaderGetPrevRandao, _ETHExecutionPayloadHeaderGetBlockNumber, _ETHExecutionPayloadHeaderGetGasLimit, _ETHExecutionPayloadHeaderGetGasUsed, _ETHExecutionPayloadHeaderGetTimestamp, _ETHExecutionPayloadHeaderGetExtraDataBytes, _ETHExecutionPayloadHeaderGetBaseFeePerGas, _ETHExecutionPayloadHeaderGetBlobGasUsed, _ETHExecutionPayloadHeaderGetExcessBlobGas, _ETHExecutionBlockHeaderCreateFromJson, _ETHExecutionBlockHeaderDestroy, _ETHExecutionBlockHeaderGetTransactionsRoot, _ETHExecutionBlockHeaderGetWithdrawalsRoot, _ETHTransactionsCreateFromJson, _ETHTransactionsDestroy, _ETHTransactionsGetCount, _ETHTransactionsGet, _ETHTransactionGetHash, _ETHTransactionGetFrom, _ETHTransactionGetNonce, _ETHTransactionGetMaxPriorityFeePerGas, _ETHTransactionGetMaxFeePerGas, _ETHTransactionGetGas, _ETHTransactionIsCreatingContract, _ETHTransactionGetTo, _ETHTransactionGetValue, _ETHTransactionGetInputBytes, _ETHTransactionGetBytes, _ETHTransactionGetEip6493Root, _ETHTransactionGetEip6493Bytes, _ETHTransactionGetNumEip6493SnappyBytes, _ETHReceiptsCreateFromJson, _ETHReceiptsDestroy, _ETHReceiptsGet, _ETHReceiptHasStatus, _ETHReceiptGetBytes, _ETHReceiptGetEip6493Bytes, _ETHReceiptGetNumEip6493SnappyBytes]"' \
--passL:'-sEXPORTED_RUNTIME_METHODS="[lengthBytesUTF8, stringToNewUTF8]"' \
--passL:'-Wl,--no-entry' \
--noMain:on \
--passL:'-o libnimbus_lc.js' \
nimbus-eth2/beacon_chain/libnimbus_lc/libnimbus_lc.nim
```
2024-04-16 11:47:18 +02:00
Eugene Kabanov
c5f04dd237
produceBlockV3 call should send `execution_payload_blinded` value as boolean. ( #6204 )
...
* Fix `execution_payload_blinded` in produceBlockV3 response should be boolean not string.
* Address review comments.
2024-04-15 23:08:41 +00:00
Etan Kissling
c57fcb426a
bump `nim-libp2p` to `89cad5a3ba9088cc721682469a10917903da25a0` ( #6199 )
...
- add support for setting protocol handlers with `{.raises.}` annotation
- fix: valueOr and withValue utilities
- fix: remove explicit param from GossipSubParams constructor
2024-04-12 11:12:44 +02:00
tersec
e51c5ec783
add Electra blob support to block/blob quarantines, block processor, and request manager ( #6201 )
2024-04-11 09:31:39 +00:00
tersec
205d63a897
fill in executionpayload for/from GetPayloadV4 ( #6200 )
2024-04-10 23:34:34 +00:00
Etan Kissling
9bffc51cf6
allow frontfilling finalized CP block from era file ( #6164 )
...
Add support for using era file for the initial checkpoint block.
This should also avoid an error when the beacon node is restarted
before the backfill process has made any progress (#6059 ).
2024-04-10 14:11:07 +02:00
Etan Kissling
a561024d88
rank peers by their score instead of their memory address ( #6149 )
...
The `<` function to compare peers was not exported, leading to the same
peer be acquired over and over again until kick. `mixin` doesn't pull it
into `peerCmp` without `*` export, and with the export no mixin needed.
2024-04-10 14:09:37 +02:00
tersec
e7dede344a
bump nim-web3 to get updated Pectra GetPayloadV4 types ( #6191 )
2024-04-10 11:38:38 +02:00
tersec
1bf4058e22
add Electra support to beacon API produceBlindedBlock and produceBlockV3 endpoints; add further VC publish(Blinded)Block Electra support ( #6190 )
2024-04-10 10:54:00 +02:00
tersec
8a30cffbcc
initial VC Electra publishBlock support ( #6189 )
2024-04-09 16:54:05 +02:00
tersec
749a45695f
support engine_newPayloadV4 ( #6188 )
2024-04-09 12:44:03 +02:00
tersec
6ce5d5814c
support electra block proposals for internal BN validators ( #6187 )
2024-04-09 12:04:33 +02:00
tersec
ba45a1821c
implement Electra beacon API publishBlindedBlock ( #6185 )
2024-04-08 18:03:20 +02:00
Etan Kissling
41a3b62fe2
update `wss_sim` for Bellatrix, Capella and Deneb ( #6170 )
...
The `wss_sim` was not properly maintained since Bellatrix. The missing
functionality is now added, including:
- Bellatrix: Connect to an EL for execution payload production
- Capella: Correct withdrawals processing, is mandatory to do
- Deneb: Dump blob sidecars into the output directory
See https://ethresear.ch/t/insecura-my-consensus-for-the-pyrmont-network/11833
2024-04-08 15:28:46 +02:00
tersec
97bfca4b88
implement Electra beacon API getBlindedBlock ( #6183 )
2024-04-08 14:49:03 +02:00
tersec
361be082ae
add Electra toSignedBlindedBlock tests ( #6182 )
2024-04-08 10:34:15 +02:00
tersec
937cc62b85
block_sim runs electra ( #6181 )
2024-04-07 09:58:11 +02:00
tersec
27921406e9
remove some debugRaiseAsserts and fill in Electra functionality ( #6179 )
2024-04-06 15:11:47 +02:00
tersec
0d534224b3
remove some debugRaiseAsserts and fill in Electra functionality ( #6178 )
2024-04-06 07:46:02 +00:00
tersec
06894dd2f6
remove some debugRaiseAsserts and fill in Electra functionality ( #6177 )
2024-04-05 21:30:06 +02:00
Etan Kissling
86a265308a
filter out `nil` values when iterating peers ( #6151 )
...
Iterating peers should only yield peers present in registry, otherwise
`nil` pointers are returned and depending on comparison function it will
break, see #6149 .
2024-04-05 16:38:04 +02:00
tersec
08d6dc347e
rm payload transaction value calculation for Bellatrix engine API ( #6173 )
2024-04-04 06:33:08 +02:00
tersec
0b6f75b88b
remove some debugRaiseAsserts and fill in actual Electra functionality ( #6172 )
2024-04-04 05:17:31 +02:00
tersec
13a70e9d69
rm built-in Goerli beacon chain support ( #6057 )
2024-04-03 23:25:36 +00:00
Etan Kissling
df0ff5f0fb
fix initialization of sync committee cache after loading non-epoch state ( #6160 )
...
When initializing from a state that's not aligned to an epoch boundary,
an earlier state is loaded that's epoch aligned, and subsequently topped
up with the missing blocks. `dag.headSyncCommittee` is initialized prior
to topping up the missing blocks, though. If the sync committee changes
while applying the blocks (e.g., a sync committee period boundary hits),
the cached information becomes unlinked from `dag.head`, leading to
valid blocks based on that chain being rejected. To fix this, move cache
initialization after the top up with blocks. This has been observed on
Goerli by initializing from 7919502 and attempting to top up 7920111.
The block gets rejected with an invalid state root on nodes that have
restarted after setting 7920111 as head, while it gets accepted by all
other nodes. Error message is `block: state root verification failed`.
The incorrect initialization behaviour was introduced in #4592 , before
which the sync committee cache was initialized after applying blocks.
2024-04-03 23:03:06 +02:00
Etan Kissling
96e27d9d35
avoid modifying blobless collection during iteration in edge case ( #6168 )
...
The fallback when blobless quarantine contains a block with all blobs
modifies collection while iterating, potentially asserting if reachable.
Using a second loop to process this situation resolves that.
2024-04-03 23:02:24 +02:00
tersec
7fa32b7f02
add Electra to ConsensusFork enum ( #6169 )
...
* add Electra to ConsensusFork enum
* fix gnosis check
2024-04-03 16:43:43 +02:00
Etan Kissling
6a318d0f1a
avoid rejecting empty era file in verification ( #6163 )
...
`batchVerify`'s precondition is a non-empty signature list:
```nim
if input.len == 0:
# Spec precondition
return false
```
This means that in eras without any blocks (as has happened on Goerli),
calling it leads to era files being reported as invalid.
2024-04-03 10:06:21 +02:00
Etan Kissling
0000f81df0
remove unused and redundant `PayloadID` type definition ( #6165 )
...
`PayloadID` is defined in `nim-web3` and our own Bellatrix definition
can be removed.
2024-04-03 07:27:00 +02:00
tersec
27ec2893ff
rm unused parameters of get_state_exit_queue_info() ( #6167 )
2024-04-03 01:45:57 +00:00
Etan Kissling
5f4fa9ae69
avoid code repetition across forks for signed block contents ( #6150 )
...
Use forks sugar to make `RestPublishedSignedBlockContents` more concise.
2024-04-03 02:05:29 +02:00
tersec
109007dc93
avoid quadratic behavior exiting validators ( #6161 )
...
* avoid quadratic behavior exiting validators
* fix libnfuzz callers
2024-04-02 12:18:40 +00:00
tersec
4457334dd0
Add support for Pectra ExecutionPayload representations ( #6158 )
2024-03-29 13:37:27 +01:00
tersec
3ceb26ba23
Merge remote-tracking branch 'origin/stable' into unstable
2024-03-28 06:19:26 +00:00