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
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
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
5934400106
add: req/res rpc handlers
2024-06-15 01:12:32 +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
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
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
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
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
69f13eaa51
add electra gossip transition
2024-05-15 13:30:49 +00:00
tersec
d0400e408b
rename ExitV1 to WithdrawalRequestV1 ( #6290 )
2024-05-15 06:44:52 +02: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
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
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
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
e70fa6d6de
rename ElectraIndexedAttestation/ElectraAttesterSlashing for consistency ( #6252 )
2024-04-29 04:19:10 +02: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
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
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
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
tersec
0b6f75b88b
remove some debugRaiseAsserts and fill in actual Electra functionality ( #6172 )
2024-04-04 05:17:31 +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
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
7a3edb6961
more initialize_validator_exit optimization ( #6146 )
2024-03-27 09:18:50 +01:00
tersec
f9e5294802
dump EL-INVALID blocks if requested the same way as CL-INVALID blocks; optimize epoch transition validator exit ( #6144 )
2024-03-27 04:34:56 +01:00
Etan Kissling
fc9bc1da3a
add branch discovery module for supporting chain stall situation ( #6125 )
...
In split view situation, the canonical chain may only be served by a
tiny amount of peers, and branches may span long durations. Minority
branches may still have a large weight from attestations and should
be discovered. To assist with that, add a branch discovery module that
assists in such a situation by specifically targeting peers with unknown
histories and downloading from them, in addition to sync manager work
which handles popular branches.
2024-03-24 08:41:47 +00: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
Etan Kissling
1dd2c939ac
bump `nim-web3` to `80c7aa6de2a26c57fa1f06ad47f3ac6058e6545b` ( #6088 )
...
- Add writeValue for BlockNumber
- make `BlockNumber` `distinct`
2024-03-19 14:21:47 +01:00
Jacek Sieka
ed1ef19bf4
use `assign` for forky state assignment ( #6055 )
2024-03-19 09:50:25 +01:00
Etan Kissling
ef2411e1a0
use correct `INACTIVITY_SCORE_RECOVERY_RATE` if overridden from default ( #6091 )
...
When a config defines a different `INACTIVITY_SCORE_RECOVERY_RATE` than
the default, `process_inactivity_updates` uses an incorrect rate ever
since #2710 when `INACTIVITY_SCORE_RECOVERY_RATE` became configurable.
2024-03-17 13:32:30 +01:00
tersec
0a6d189161
automated consensus spec URL updating to v1.4.0 ( #6074 )
2024-03-14 07:26:36 +01:00
Eugene Kabanov
72c844534f
Add Keymanager API graffiti endpoints. ( #6054 )
...
* Initial commit.
* Add more tests.
* Fix API mistypes.
* Fix mistypes in tests.
* Fix one more mistype.
* Fix affected tests because of error code 401.
* Add GetGraffitiResponse object.
* Add more tests.
* Fix compilation errors.
* Recover old behavior.
* Recover old behavior.
* Fix mistype.
* Test could not know default graffiti value.
* Make VC use adopted graffiti settings.
* Make BN use adopted graffiti settings.
* Update Alltests.
* Fix test.
* Revert "Fix test."
This reverts commit c735f855d3cb9c4a1c8e8af29d3f4438d068e31f.
* Workaround {.push raises.} requirement.
* Fix comment.
* Update Alltests.
2024-03-14 03:44:00 +00:00
tersec
c3016a9bc5
use v1.4.0 consensus spec test vectors ( #6072 )
2024-03-13 21:42:40 +01:00