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
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
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
a755dbaaa9
inclusion proof depth
2024-07-04 11:51:54 +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
152d276d78
added reconstruction logic
2024-07-03 21:50:52 +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
d0722cd465
update constants
2024-07-02 20:33:09 +05:30
Agnish Ghosh
510d988933
disable subnet gossip condition, fixed inclusion proof
2024-06-30 12:16:17 +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
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