Commit Graph

7022 Commits

Author SHA1 Message Date
Etan Kissling dc007e3977
nullability annotations for `libnimbus_lc.h` (#6417)
Annotate functions that may return `NULL` with `_Nullable` to properly
bridge into Swift.
2024-07-09 12:38:16 +02:00
tersec 3db571d182
allow individual calculation of validator balances across epoch boundaries (#6416) 2024-07-07 00:32:50 +02:00
Jhett Black 3f051e9ab0
Add beacon node count metrics. (#6371) 2024-07-06 21:07:56 +00:00
andri lim 0b276315d2
Bump nim-eth: Convert GasInt to uint64 (#6415)
* Bump nim-eth: Convert GasInt to uint64

* Fixes

* Fix libnimbus_lc
2024-07-06 20:25:31 +00:00
Etan Kissling 7f59e80aaa
validate EL block hash in Electra when no EL is connected (#6407)
When no EL is connected, it is still required to validate the block hash
of `ExecutionPayload` to prevent attacks that trick us into attesting to
a circular chain with invalid in-between block hashes. This is already
done through Deneb but was still missing in Electra to be rectified now.
2024-07-05 10:18:50 +02:00
Eugene Kabanov c59bb71916
Add implementation of publishBlindedBlockV2() REST API endpoint. (#6413) 2024-07-04 19:48:12 +00:00
Etan Kissling abf818a9f3
bump nim-eth to `d8fda55c79dd48ba564f3cb540b968f4a1c1aae6` (#6405)
* bump nim-eth to `d8fda55c79dd48ba564f3cb540b968f4a1c1aae6`

- Overhaul of ENR implementation - part I
- Rework of ENR decoding code
- Update discv5 to use non deprecated ENR calls and simplify code
- simplify .nimble file
- avoid warnings when processing `GasInt` for RLP
- define Electra types and RLP encoding

* explicitly indicate consensus types over nim-eth types in EL manager
2024-07-04 18:40:11 +00:00
tersec 9f654690b8
update builder API registrations after keymanager API fee recipient change (#6412) 2024-07-04 14:08:07 +02:00
Eugene Kabanov 85c2850971
Fix publishBlockV1() and publishBlockV2() SSZ decoding process. (#6408) 2024-07-04 01:08:07 +00:00
tersec 0dc2447a58
omit frame pointer for secp256k1 (#6402) 2024-07-03 22:06:10 +00:00
kevaundray 814dcf595c
update copyright year (#6404) 2024-07-03 21:49:23 +00:00
Etan Kissling 858c66b4ba
bump nim-json-rpc to `8e1cdb18230f7e7172b4b4aa503b0d66fe530942` (#6411)
- Add redefine pragma to inner template
- update ci.yml and be more explicit in .nimble
2024-07-03 21:49:03 +00:00
Etan Kissling a725da20b8
bump nim-confutils to `cb640db2cd66d7f4a1810a7df51b55f6f59cf3c5` (#6410)
- update ci.yml and be more explicit in .nimble
2024-07-03 21:48:55 +00:00
Etan Kissling 14edccc962
bump nim-json-serialization to `89f7be1783b2f828a95dea1496fdac3510532997` (#6409)
- update ci.yml and be more explicit in .nimble
- extend automatic serialization support for `distinct` in Nim 2
2024-07-03 21:48:47 +00:00
Etan Kissling cac63a3a82
use `pull_request_target` to run PR block action (#6376)
To avoid requiring authorization to run the PR block action for new
contributors, use `pull_request_target`. Running the workflow file from
the destination branch does not require approval.

- https://stackoverflow.com/questions/74957218/what-is-the-difference-between-pull-request-and-pull-request-target-event-in-git
2024-07-03 13:00:39 +02:00
Eugene Kabanov 84a35c85c5
Fix for gcc-14 issues in kzg-4844. (#6403)
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.

* Add debugging output.

* Remove debugging output.

* Restore groupBlobs function.
2024-07-03 10:01:33 +00:00
tersec e54b3e8fda
bump nimbus-build-system for Nim v2.0.8 (#6401) 2024-07-03 04:29:43 +00:00
Etan Kissling 515bd486e6
ensure passing unsigned integer to `rlp.encode` (#6397)
RLP encoding is not defined for signed integers. Make sure to use
unsigned integers when encoding RLP for EL block hash computation.
2024-07-03 01:43:16 +00:00
Etan Kissling fba8cc3ee5
fix EIP reference in Electra type definition (#6398)
The field `withdrawal_requests` is from EIP-7002 instead of EIP-6110.
2024-07-03 01:41:01 +00:00
Etan Kissling 1fd246b23e
explicitly refer to attestation fork in SSZ consensus object tests (#6399)
Use fully qualified types when referring to attestation related types
in tests. We should also consider to merge these to a single runner.
2024-07-03 01:40:47 +00:00
Etan Kissling 12a7ed8c29
bump geth to `v1.14.6` (#6400)
- https://github.com/ethereum/go-ethereum/releases/tag/v1.14.6
2024-07-03 01:40:17 +00:00
tersec 8c67a265d0
bump nim-web3 to align WithdrawalRequestV1 with EIP-7002 and consensus spec (#6395) 2024-07-01 16:07:30 +02:00
tersec 13e766d4df
add database electra block tests (#6394) 2024-07-01 04:18:41 +00:00
Jacek Sieka 68eabc098b
ssz: bump (fixes #6393) 2024-06-30 08:56:52 +02:00
Etan Kissling 08863465a0
deps: update ci.yml and be more explicit in .nimble (#6392)
Bump nim-blscurve, nim-faststreams, nim-http-utils, nim-metrics,
nim-presto, nim-serialization, nim-snappy for explicit refc and use
`results` instead of `stew/results`.
2024-06-28 16:04:04 +02:00
Eugene Kabanov 190dbfd481
Fix empty status string handling, address #6175. (#6391) 2024-06-28 05:54:51 +02:00
Eugene Kabanov bab7d8428f
Bump nim-bearssl. (#6390) 2024-06-27 03:54:04 +02:00
Etan Kissling 9924aec1e3
extend light client protocol for Electra (#6375)
* extend light client protocol for Electra

Add missing Electra support for light client protocol:

- https://github.com/ethereum/consensus-specs/pull/3811

Tested against PR consensus-spec-tests, the test runner automatically
picks up the new tests once available.

* workaround `version-2-0`: `Error: cannot instantiate: 'SomeUnsignedInt'`

* fix initialization when Electra not scheduled

* try reduce stack size in test

* put correct sync committee branch version into DB

* adjust fork schedule in light client data tests

* further reduce stack size

* split function into multiple parts

* rename variable

* regenerate test reports to cover new Electra tests

* add Nim bug reference
2024-06-26 19:02:03 +00:00
Etan Kissling 3da85e593f
update references for LC related Nim issues (#6389)
Addresses feedback from #6375 that is applicable to pre-existing code
moreso than to the new PR.
2024-06-26 14:31:36 +02:00
tersec 288540e794
fix UnnamedBreak deprecation build warnings (#6388) 2024-06-26 10:48:49 +02:00
tersec 2d4ece0c3b
bump nimbus-build-system to use Nim v2.0.6 (#6386)
* bump nimbus-build-system to use Nim v2.0.6

* fix: update name and hash for csources of Nim v2

Otherwise we get errors like:
```
Building: Nim compiler
/build/source/vendor/nimbus-build-system/vendor/Nim /build/source
cmd: git clone -q --depth 1 -b master https://github.com/nim-lang/csources_v2.git csources_v2
24.6.0-dirty
cmd: cd csources_v2
ci/funs.sh: line 10: cd: csources_v2: No such file or directory
make[1]: *** [vendor/nimbus-build-system/makefiles/targets.mk:81: build-nim] Error 1
```
Also need to add source for `checksums` repository.

Signed-off-by: Jakub Sokołowski <jakub@status.im>

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Jakub Sokołowski <jakub@status.im>
2024-06-25 00:02:16 +02:00
Etan Kissling 7b680bb72d
bump nim-libp2p to `v1.2.1-rc` (#6354)
- chore(README): small PRs
- Send IDONTWANT before validating message
- chore(peer-scoring): enhance score trace logs (x2)
- chore: fix typos
- fix(multicodec): remove unnecessary "!=" operator
2024-06-24 10:05:01 +00:00
tersec a787c85589
Merge remote-tracking branch 'origin/stable' into unstable 2024-06-24 09:23:31 +00:00
Etan Kissling cd4de1357a
during proposal duties, perform sync aggregation duties if not received (#6384)
Including sync contributions into a block affects validator rewards.
When we have not received aggregate sync contributions, but have seen
individual messages, we can produce the contributions locally, improving
validator rewards when subscribing to all subnets or when having a
non-aggregating attached validator in the sync committee.
2024-06-24 09:13:15 +00:00
tersec 7d00786d5e
version v24.6.0 2024-06-24 07:25:15 +00:00
Etan Kissling e4efe9ed75
ensure that rarely ran files are compiled on PR (#6379)
* ensure that rarely ran files are compiled on PR

Add some missing files to `isMainModule` developer internal builds CI.

* fix fork choice compilation

* fix `rest_api_benchmark` compilation

* skip linking

* fix loop

* fix `mock_genesis`

* fix signedness
2024-06-23 23:35:56 +00:00
Etan Kissling 6d0c9d37fa
produce Elctra attestations when running tests (#6383)
Test blocks don't include Electra attestations currently so finality
breaks and tests fail if prolonged. Fix that.
2024-06-23 13:06:58 +00:00
tersec 9b6b42c8f9
some consensus spec URL updates to v1.5.0-alpha.3 (#6382) 2024-06-22 07:28:19 +02:00
tersec b759038ba8
increase TNS state download timeout to 90 (#6363) 2024-06-21 22:14:28 +00:00
Etan Kissling 8bc53bde71
bump holesky to `874c199423ccd180607320c38cbaca05d9a1573a` (#6377)
- Add Chainlens explorer for Holesky
- update repository layout
2024-06-21 21:51:25 +00:00
Etan Kissling 35c6e68d84
bump nim-ssz-serialization to `b71ebc41c8e5027580be77a9707df1a64e6d9c8b` (#6381)
- Digest fallback when using llvm-mingw on Windows
2024-06-21 20:23:16 +00:00
Etan Kissling 573e0f09e1
bump nim-libbacktrace to `4db9cae5ac0225e3439f577f5c5cd67086232b3f` (#6380)
- bump whereami to `f5e3eac441acbb4ec1fe3e2c32646248ae463398`
2024-06-21 20:09:18 +00:00
Etan Kissling 784a5d3e02
remove prater reference from era file docs (#6378)
Prater network is no longer relevant, remove reference from docs.
2024-06-21 20:06:54 +00:00
Etan Kissling 31653d5869
fix DB size estimates for light client data (#6373)
Addresses two inaccuracies in light client data size documentation:

1. `SyncCommittee` pubkeys serialize are 48 bytes not 64 bytes
2. Some of the estimates used 1000 vs 1024 bytes/KB, aligned to 1024
2024-06-21 12:39:38 +00:00
Etan Kissling 22b5bc6256
cleanup Electra fork references (#6372)
Adjust two fork references to match surrounding code style.
2024-06-20 21:09:41 +02:00
Eugene Kabanov 61610fd243
BN: Disable genesis sync via long-range-sync argument. (#6361)
* Initial commit.

* Update options.md.

* Add pre-database initialization weak subjectivity period check.

* Add proper log message.
2024-06-20 18:57:08 +00:00
Etan Kissling f30f670584
bump nim-sqlite3-abi to `262fa35f092cb254abd6eff2a9d46b99392a6dca` (#6356)
- bump `sqlite-amalgamation` to `3.45.3`
2024-06-19 03:31:07 +00:00
Kim De Mey 7a8c1d818a
Bump nim-eth for Opt changes and make Opt related adjustments (#6369) 2024-06-18 23:46:51 +02:00
Jakub Sokołowski cb2c379b37
update links to public API endpoints in readme
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-06-18 09:03:58 +02:00
tersec bfd1a36fcf
add engine API consolidation requests support for getPayloadV4/newPayloadV4 (#6368) 2024-06-18 07:35:36 +02:00