Commit Graph

1341 Commits

Author SHA1 Message Date
Etan Kissling a810894635
bump `nim-libp2p` to `2fa2c4425f4bb835c0517efc03009925dcd28239` (#6314)
- fix(CI): rename branch from unstable to master in bumper workflow
- fix(transport): various tcp transport races
- chore(gossipsub): cleanups
- fix(yamux): set EoF when remote peer half closes the stream in yamux
2024-05-29 10:11:50 +00:00
Etan Kissling dc3eddde72
bump `nim-secp256k1` to `194b715b16766e383b5aef92dd779fb182faf45d` (#6316)
- bump `secp256k1` to `v0.5.0`
2024-05-29 10:08:51 +00:00
Etan Kissling dc6951eee9
bump `nim-web3` to `46b4b4c8bc42013196a6290ee53029131f97931a` (#6319)
- CI do not install openssl on macos+nim devel anymore
- Fixed encoding of (multidimentional) dynamic arrays
2024-05-25 11:13:30 +02:00
Etan Kissling de740199f5
bump `nim-kzg4844` to `f12616d0675d9f6346141ca95f0840ab227eb213` (#6313)
- bump `csources` to `v1.0.2`
2024-05-25 00:36:08 +02:00
Etan Kissling ad2f14e76a
bump `nim-stint` to `9d2b382c5dc34f0d6bbd93b2a5d65dde85067e0f` (#6318)
- Fix pointer deref issue on Macos and Nim >= 2.0
- Fix GCC-14 [-Wincompatible-pointer-types] issue.
2024-05-24 22:35:50 +00:00
Etan Kissling 1150aa3e11
bump `gnosis-chain-configs` to `9ed6c63314899d17e2c3f669adbe2bc915610982` (#6311)
- Update spec
2024-05-25 00:33:34 +02:00
Etan Kissling e5b69bd688
bump `nim-snappy` to `913c426d571cf82601452642e01cd11ea26f7ac6` (#6317)
- bump `snappycpp` to `1.2.1`
2024-05-24 21:49:35 +00:00
Etan Kissling e4fcf56648
bump `nim-nat-traversal` to `54bf8aa2913e8550463779beeae4b469941e039c` (#6315)
- bump `libnatpmp-upstream` to
  `007c3a53165a0551c877130eea4d966885ce19ae`
2024-05-24 21:39:55 +00:00
Etan Kissling ad7daf6be7
bump `nim-json-serialization` to `4d0b0662ed960ab2c5a1ddbd08f77048bac13ae7` (#6312)
- Workaround Nim regression #23611 related to dirty template
2024-05-24 22:25:55 +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 c7b916fe7b
rename depositReceipts/exits to depositRequests/withdrawalRequests 2024-05-16 00:23:00 +00:00
tersec d0400e408b
rename ExitV1 to WithdrawalRequestV1 (#6290) 2024-05-15 06:44:52 +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
Jacek Sieka 8ca537c8b9
libp2p: bump (#6280)
* fixes Defect on slow send
* avoid compiler warnings from chronos
* improve latency on send fast path
* avoid copying in message cache, improving heartbeat performance
2024-05-09 17:24:29 +02:00
Jacek Sieka 31fdbae9d4
ssz: bump to disable arm64 hashtree (#6278) 2024-05-09 08:15:22 +02:00
tersec 963e0bb92b
use EF consensus spec v1.5.0-alpha.2 test vectors (#6272) 2024-05-08 04:43:05 +02:00
Jacek Sieka d0cea28a79
chronos: bump (#6264)
* Revert "revert to v2.0.4"

This reverts commit fc3fad2433.

* chronos: bump

Maybe work around https://github.com/nim-lang/Nim/issues/23568
2024-05-05 19:36:16 +02:00
Jacek Sieka 2969e187b8
ssz: bump (#6262)
*  fix missing arm64 symbols
* official release ver
2024-05-05 13:35:19 +02:00
Etan Kissling 8c84e835c6
bump `nim-chronicles` to `33761a5f77610d3f87f774244490eae43a9ac5a1` (#6265)
- Fixing CI.
2024-05-05 03:25:29 +02:00
Jacek Sieka 7bef68ce93
libp2p: bump (#6260)
Improves memory and cpu efficiency of seen/idonwant caches (100mb mem
savings on holesky)
2024-05-02 14:29:26 +02:00
Etan Kissling bfb9670f79
bump `holesky` to `bc5dfed5d939f611ad519a89d84ae227e83b5570` (#6258)
- Added Blockscout to the list of block explorers
2024-05-02 13:43:01 +02:00
Etan Kissling b6d0bf1df3
bump `gnosis-chain-configs` to `c115f3688c19eb6153e22c1e76477db4ed27fae3` (#6257)
- Bump config to v1.5.0-alpha.0
2024-05-02 12:35:11 +02:00
Etan Kissling 0881d38aad
bump `nim-chronos` to `72f560f049efa42fffb50aff2015782f6f17825e` (#6259)
- Fix RangeError defect being happened using android toolchain.
2024-05-02 09:26:17 +00:00
Jacek Sieka ab30efaf80
Integrate `hashtree` for better hashing performance (#5188)
status-im/nim-ssz-serialization#35 brings in https://github.com/prysmaticlabs/hashtree as a supported backend for SHA256, giving a nice little performance boost to all hash_tree_root calls on supported platforms / compilers.

Expected gains are on the order of 30% which in the case of a replayed state nets us 0.2-0.3s improvement.

More about this design here: https://hackmd.io/@potuz/BJyrx9DOF - kudos to @potuz for this excellent library!
2024-05-02 08:54:32 +02: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
kaiserd bd33828681
Chore/update libp2p branch master (#6253)
* chore: change nim-libp2p branch from unstable to master

* chore: dummy bump of nim-libp2p version to please linter

---------

Co-authored-by: ksr <kaiserd@users.noreply.github.com>
2024-05-01 19:08:48 +02:00
Etan Kissling f6fbb054b4
bump `nimbus-build-system` to `a15dc546a053dd94c610a4178887bbf7c908aadb` (#6244)
- switch to Nim `v1.6.20`
2024-04-28 22:37:30 -07:00
tersec 302f645a01
use EF consensus spec v1.5.0-alpha.1 test vectors (#6249) 2024-04-28 03:33:44 +00:00
Etan Kissling 9f5d2e290c
bump `nim-libbacktrace` to `cefd3eec9c13330f6726383ed0c8a60ca8823603` (#6247)
- bump `libbacktrace` to `ae1e707dbacd4a5cc82fcf2d3816f410e9c5fec4`
2024-04-26 19:58:33 +00:00
Etan Kissling 5d5517b566
bump `nim-websock` to `63bcc2902d884c63101e144555ad99421734a70a` (#6241)
- Fix CI badge URL
2024-04-26 04:42:21 +00:00
Etan Kissling 224a24c717
bump `nim-web3` to `290acb6e6200230fc625209e6654f6bb60aceb13` (#6240)
- Change some FeeHistoryResult field types from Quantity to UInt256
- bump `execution-apis` to `v1.0.0-beta.4`
2024-04-26 04:12:47 +00:00
Etan Kissling c89843efd4
bump `nim-libp2p` to `2b5319622c997ce1c80bc62c863e30f3349ee0d7` (#6238)
- fix: reset accept fut in stop
- always allow new data be received if the recvWindow is > 0
- Revert "always allow new data be received if the recvWindow is > 0"
2024-04-26 02:45:12 +00:00
Etan Kissling 98e710b7ff
bump `nim-stew` to `104132fd0217e846b04dd26a5fbe3e43a4929a05` (#6239)
- Update LRU directives
2024-04-26 02:33:21 +00:00
Etan Kissling d864ab717f
bump `nim-chronicles` to `856514a5b10e9293f6cdcf4cc60d7bb969f6b1c0` (#6237)
- task requires
- Fix CI badge URL
2024-04-26 02:09:56 +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
Etan Kissling 4c031a7887
bump `nimcrypto` to `485f7b3cfa83c1beecc0e31be0e964d697aa74d7` (#6213)
- test refc under Nim 2.0 and later
2024-04-17 14:11:53 +00:00
Etan Kissling 23a4646705
bump `nim-chronos` to `0d050d582306e8c521c3a4a6f6dcb3c83c93a90f` (#6211)
- Add custom ring buffer into chronos streams and transports.
- Add `join()` operation to wait for future completion.
- Ensure that all buffers used inside HTTP client will follow original buffer size.
- Add automatic constructors for TCP and UDP transports.
2024-04-17 14:01:21 +00:00
Etan Kissling 02a61258d4
bump `nim-faststreams` to `11b9d952a80ec87e2443405a6a5382f9daac51f8` (#6212)
- Fix spelling & grammer errors in the README
2024-04-17 13:43:34 +00:00
Etan Kissling d03e014bd6
bump `nim-bearssl` to `d81b37dc2011bf3a2bd93500489877c2ce8e6ac3` (#6210)
- Bump cacert to version 2024-03-11.
2024-04-17 15:21:50 +02: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
Etan Kissling 6530a36a0f
bump `nim-nat-traversal` to `4c4fc6f1436b5e0468a6b3a7929bb603f0b43f33` (#6197)
- bump `miniupnp` to `miniupnpc_2_2_7`
2024-04-11 18:10:19 +02:00
Etan Kissling b9f9fc4035
bump `nim-json-serialization` to `1ac1d69f9512d55d15e8218a9dbdff129bf96ddb` (#6198)
- Add JsonValueRef compare operation
2024-04-10 18:50:44 +00:00
Etan Kissling c332c88f40
bump `nim-libbacktrace` to `66864ed4ae18d14a2b4acb4549561efd7755351f` (#6196)
- quote and library paths for use in passc/passl to allow embedded spaces
- use strutils.escape to handle more special chars
2024-04-10 17:30:28 +00:00
Etan Kissling 2f388df0b4
bump `nim-normalize` to `b828f07037c87382b7f20f96e6cca6e85788dd25` (#6195)
- test refc in Nim 2.0 and newer
- update CI
- update CI
2024-04-10 16:21:55 +00:00
Etan Kissling 7e58286887
bump `nim-snappy` to `aaef74113cadaaca690c6144eae0cf2c2a10db28` (#6194)
- bump `snappycpp` to `1.2.0`
2024-04-10 15:36:55 +00:00
Etan Kissling b305a58f57
bump `nim-unicodedb` to `3db16f8ece5d0eba310c8f1ed812c6ff5a21a34a` (#6193)
- test refc in Nim 2.0 and newer
- update CI
- update CI
2024-04-10 17:03:36 +02:00
Etan Kissling ef3aeb09a1
bump `nimbus-build-system` to `d7e7f1044def3c62d0b4bcec60c0b53876e44d71` (#6192)
- fix miniupnpc build on Windows by not escaping PATH
- allow overriding CC for libimiupnpc.a and libnatpmp.a targets
- Use -fPIC when building nat traversal
2024-04-10 16:35:09 +02:00
tersec e7dede344a
bump nim-web3 to get updated Pectra GetPayloadV4 types (#6191) 2024-04-10 11:38:38 +02:00
Etan Kissling b8eb51852c
bump `gnosis-chain-configs` to `cf17b34b6e999d1bd70b0f557d85ae0d1931d92b` (#6186)
- chore: add new bootnodes and remove obsolete ones for GnosisDAO
2024-04-08 18:11:02 +02:00
tersec 13a70e9d69
rm built-in Goerli beacon chain support (#6057) 2024-04-03 23:25:36 +00:00
tersec 54ccb24782
Revert "bump nim-libbacktrace handle special characters in source paths (#6142)" (#6157)
This reverts commit f590970fd3.
2024-03-29 06:15:11 +00:00
Jacek Sieka 0495c15a23
ssz: bump (#6155)
should fix `dereferencing pointer to incomplete type` errors seen on
some gcc versions
2024-03-29 00:09:43 +01:00
diegomrsantos 885989f3df
bump libp2p (#6148) 2024-03-27 15:53:02 +00:00
Jacek Sieka 6f063c068c
chronos: bump to 4.0.2
* removes `sink` due to upstream bugs
* nim-2.0-compatible `Raising` macros
2024-03-27 13:15:28 +01:00
diegomrsantos edad7c8a4c
bump libp2p (#6132) 2024-03-27 11:16:57 +01:00
tersec 0e9b3dbad0
bump nim-kzg4844 to get c-kzg Nim bindings allowing special build path chars (#6147) 2024-03-27 10:15:12 +00:00
tersec ad2299cd8c
bump nim-web3 for Prague engine API types (#6145) 2024-03-27 07:58:26 +01:00
tersec 54d56995a3
bump nimbus-build-system to quote include and library paths for use in passc/passl to allow embedded spaces (#6143) 2024-03-26 22:12:56 +00:00
tersec f590970fd3
bump nim-libbacktrace handle special characters in source paths (#6142) 2024-03-26 22:57:30 +01:00
tersec c9f59083a4
bump nim-chronicles for clang 15/16 workaround (#6137) 2024-03-26 07:11:45 +01:00
Etan Kissling e75b209076
Revert `nim-libp2p` to `28609597d104a9be880ed5e1648e1ce18ca9dc38` (#6107)
* Revert "bump `nim-libp2p` to `49a92e564167c0ffdcc86838c5e45cc985665d96` (#6084)"

This reverts commit 78f3e03d53.

* Revert "bump `nim-libp2p` to `ae13a0d58301159e6b3bfc43fe23986c254c741a` (#6065)"

This reverts commit 4a6ed0323e.
2024-03-20 13:46:12 +01:00
andri lim 1fe6efcf53
Bump nim-web3 to 285d97c2b05bbe2a13dab4b52ea878157fb1a1a1 (#6106)
Unify EthCall/EthSend into TransactionArgs (#138)
2024-03-20 14:39:12 +07:00
Etan Kissling 8514e4a44c
bump `gnosis-chain-configs` to `14d8439235fa757dd39b9fb1c10a06a99a720989` (#6100)
- Add more Chiado bootnodes for GnosisDAO
2024-03-19 16:32:48 +00: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
Etan Kissling d4d27164f9
bump `nim-sqlite3-abi` to `1453b19b1a3cac24002dead15e02bd978cb52355` (#6096)
- bump `sqlite-amalgamation` to `3.45.2`
2024-03-18 00:17:29 +01:00
Etan Kissling d22dfaed41
bump `nim-ssz-serialization` to `0fc5e49093fa8d3c07476738e3257d0d8e7999a3` (#6095)
- more fixes for `distinct` integer types
- avoid double testing `--mm:refc`
2024-03-18 00:14:19 +01:00
Etan Kissling 4aea780320
bump `nim-ssz-serialization` to `9bb15468c64851e9300ccab662f16a15be6d833e` (#6089)
- use `toSszType` for elements of `HashList|HashArray|List|array`
2024-03-17 02:46:49 +01:00
Etan Kissling 30460aad9c
bump `nim-chronos` to `47cc17719f4293bf80a22ebe28e3bfc54b2a59a1` (#6083)
- print warning when calling failed
2024-03-16 15:38:17 +01:00
Etan Kissling 74a238460b
bump `nim-json-rpc` to `ad8721e0f3c6925597b5a93b6c53e040f26b5fb3` (#6086)
- Export errors for json-rpc clients
2024-03-16 04:05:44 +00:00
Etan Kissling 448e610f8a
bump `nim-presto` to `a9687dda1c3e20d5b066d42b33c2a63f018af93f` (#6085)
- Add examples
2024-03-16 03:46:37 +00:00
Etan Kissling 78f3e03d53
bump `nim-libp2p` to `49a92e564167c0ffdcc86838c5e45cc985665d96` (#6084)
- default `MultiAddress` param for `newStandardSwitch` does not raise
- clean up triple lookup and avoid `KeyError` when adding muxer
- `{.async: (raises).}` for `relay/utils.nim`
- `{.async: (raises).}` annotations for `protocols/secure`
- avoid pointless exception raising in `dcutr/server`
2024-03-16 02:25:40 +00:00
Etan Kissling 82b8c96f72
bump `nim-results` to `e2adf66b8bc2f41606e8469a5f0a850d1e545b55` (#6082)
- Formatted with nph v0.5.1-0-gde5cd48
- Update CI
- ci: Combine c/c++
- extend `optValue` support for `Result[void, E]`
- Document a few fixes
2024-03-16 02:15:03 +00:00
Etan Kissling 7a7c024534
bump `nim-libbacktrace` to `027570111c161d8378bca9e84b5f75500a8c38a3` (#6081)
- bump `libbacktrace` to `7ead8c1ea2f4aeafe9c5b9ef8a9461a9ba781aa8`
2024-03-16 02:22:20 +01:00
Etan Kissling 2d52016e5c
bump `nim-stew` to `a0c085a51fe4f2d82aa96173ac49b3bfe6043858` (#6079)
- strformat: compile-time format string parser (backport Nim 2.2)
2024-03-16 02:08:54 +01:00
Etan Kissling b3bce7ce79
bump `nim-stint` to `3c238df6cd4b9c1f37a9f103383e7d2bbd420c13` (#6078)
- fix noInit to noinit; use evergreen GitHub Actions image versions
2024-03-16 01:53:35 +01:00
Etan Kissling 4a6ed0323e
bump `nim-libp2p` to `ae13a0d58301159e6b3bfc43fe23986c254c741a` (#6065)
- Send priority with queue fix
2024-03-15 22:49:01 +01:00
tersec c3016a9bc5
use v1.4.0 consensus spec test vectors (#6072) 2024-03-13 21:42:40 +01:00
Etan Kissling 659be0b08e
bump `nim-kzg4844` to `057f7c653e1abe91cca9aac2f94832f39228ea98` (#6067)
- bump `c-kzg-4844` to `v1.0.0`
2024-03-12 18:32:04 +01:00
Etan Kissling 79b230828d
bump `nim-unittest2` to `e96f3215030cbfa13abc2f5827069b6f8ba87e38` (#6063)
- release `v0.2.2`
2024-03-12 03:35:37 +01:00
Etan Kissling 1a9cafd3dd
bump `nim-libp2p` to `28609597d104a9be880ed5e1648e1ce18ca9dc38` (#6062)
- fix: allFuturesThrowing compilation issue on daily
- feat: Yamux timeout
- Fix empty path crash issue for MultiAddresses `unix`, `ip6zone`, `dns***`.
- fix: move transport interop tests to nim-libp2p repo
- use chronos 4.0.0
- fix typo in `ProtoMessage.toString()`
- increase tolerance of `simple heartbeat` test
- remove unused `MultiBase.encode(..., Cid)` function
- move `allFutureThrowing` helper to tests
- use new Chronos `trackCounter` APIs for leaks checks in tests
- remove unused `LPStreamError` types
- change `SecioError` and `NoiseError` to descendants of `LPStreamError`
- do not log yamux buffers without sanitization (trace log level)
- don't forget closing the stream when final `{Fin}` fails in yamux
- use `race` instead of `or` to avoid lockup
- in yamux, do not write `{Rst}` packet to stream that's in use
- avoid `KeyError` in edge case of yamux handler
- avoid triple lookup in `m.flushed` yamux table
- catch `WebSocketError` in `wstransport`
- define proper parent error type for `YamuxError`
- document known `--mm:orc` crash
- add `{.async: (raises).}` to `libp2p/stream` modules
2024-03-12 03:28:51 +01:00
Jacek Sieka 65c47c7769
Reapply "ssz: bump (#5996)" (#6037) (#6051)
* Reapply "ssz: bump (#5996)" (#6037)

This reverts commit a299d17fe7.

Fixed in https://github.com/status-im/nim-faststreams/pull/51

* bump
2024-03-09 10:25:39 +01:00
Kim De Mey 513ccc1e0d
Bump eth2-networks for fixed LH bootstrap nodes on mainnet (#6052) 2024-03-08 20:02:28 +01:00
Etan Kissling a0bc3fff86
fix `/eth/v1/beacon/deposit_snapshot` for EIP-4881 (#6038)
Fix the `/eth/v1/beacon/deposit_snapshot` API to produce proper EIP-4881
compatible `DepositTreeSnapshot` responses. The endpoint used to expose
a Nimbus-specific database internal format.

Also fix trusted node sync to consume properly formatted EIP-4881 data
with `--with-deposit-snapshot`, and `--finalized-deposit-tree-snapshot`
beacon node launch option to use the EIP-4881 data. Further ensure that
`ncli_testnet` produces EIP-4881 formatted data for interoperability.
2024-03-08 14:22:03 +01:00
Etan Kissling f0f63c2c53
bump `nim-kzg4844` to `9d4b32e3fbadd77526e7faefa50ab6f507fe8583` (#6043)
- bump `c-kzg-4844` to `v0.4.3`
2024-03-08 12:17:47 +00:00
Etan Kissling 6f7138e7d0
bump `nim-libp2p` to `aa4ebb0b3c58ef26561741e355467d248ed7bf0d` (#6045)
- fix(hole-punching-interop): update nim to 1.6.16
- fix: compilation issue when `libp2p_expensive_metrics` is enabled.
- fix: more metrics issues when libp2p_expensive_metrics is enabled
- tests(flaky): Increase check timeouts
- docs: add comments and improve yamux readability
- test(flaky): Log checkExpiring failure
- fix: yamux metrics
- improvement: enhanced checkExpiring macro with custom timeout
- docs(general): Improve docs
2024-03-08 03:58:36 +00:00
Etan Kissling 8be52de557
bump `nim-libbacktrace` to `a6746c4df8dd8550ae5e75f4740f4470d5ed9aad` (#6044)
- bump `libbacktrace` to `f41cf1fecbc01966e0a3c32a1a54ff9cb0a19bb9`
2024-03-08 03:28:53 +00:00
Etan Kissling d1935376e3
bump `nim-json-rpc` to `a20ba207d25a9ab496518e84ec0c28b2d8d25ad7` (#6042)
- Introduce custom application error with optional data object
2024-03-08 01:53:09 +00:00
Etan Kissling 6d91305a7b
bump `nim-chronos` to `17b7a76c7e40c89f31351cd1a5faf76f177b30ac` (#6041)
- fix conversion error with `or` on futures with `{.async: (raises: []).}`
- Fix `or` deadlock issue.
- Ensure that `OwnCancelSchedule` flag will not be removed from `wait()` and `withTimeout()`.
- Add missing parts of defaults buffer size increase.
- Avoid `ValueError` effect in varargs `race`/`one`
- fix circular reference in timer
- Ensure `transp.reader` is reset to `nil` on error
2024-03-08 01:42:19 +00:00
Etan Kissling 96ebc32f26
bump `nim-bearssl` to `86f212c6a5d76b52e20fad2e318cc5436d04fc26` (#6040)
- release `v0.2.2`
2024-03-08 01:56:25 +01:00
Etan Kissling 5f641d09ff
bump `goerli` to `e3c0766b1cf5ddc22fe017e1389c6f60f0f9a468` (#6039)
- Delete `genesis_deposit_contract_snapshot.ssz` file
2024-03-08 01:33:28 +01:00
Etan Kissling a299d17fe7
Revert "ssz: bump (#5996)" (#6037)
This reverts commit 21601f59e2.

Reason: `/eth/v1/beacon/light_client/updates?start_period=0&count=128`
provides malformed data. Reverting fixes it locally.

Download JSON and SSZ, then use this script to validate (Holesky).
Need to export some symbols for parsing.

```nim
import
  stew/io2,
  ./beacon_chain/spec/[digest, forks, helpers, presets],
  ./beacon_chain/spec/eth2_apis/[eth2_rest_serialization, rest_light_client_calls]

let jsonBytes = io2.readAllBytes("/Users/etan/Downloads/json_updates.json").get()

let
  (cfg, unknowns) = readRuntimeConfig("/Users/etan/Documents/Repos/nimbus-eth2/vendor/holesky/custom_config_data/config.yaml")
  genesis_validators_root = Eth2Digest.fromHex("0x9143aa7c615a7f7115e2b6aac319c03529df8242ae705fba9df39b79c59fa8b1")
  forkDigests = newClone ForkDigests.init(cfg, genesis_validators_root)

let updates = seq[ForkedLightClientUpdate].decodeJsonLightClientObjects(jsonBytes, cfg, forkDigests)

var entries = newSeqOfCap[RestVersioned[ForkedLightClientUpdate]](updates.len)
for update in updates:
  let
    contextEpoch = withForkyUpdate(update):
      when lcDataFork > LightClientDataFork.None:
        forkyUpdate.contextEpoch
      else:
        continue
    contextFork = cfg.consensusForkAtEpoch(contextEpoch)
  entries.add RestVersioned[ForkedLightClientUpdate](
    data: update,
    jsonVersion: contextFork,
    sszContext: forkDigests[].atconsensusFork(contextFork))

let res =
  block:
    var default: seq[byte]
    try:
      var stream = memoryOutput()
      for e in entries:
        withForkyUpdate(e.data):
          when lcDataFork > LightClientDataFork.None:
            var cursor = stream.delayFixedSizeWrite(sizeof(uint64))
            let initPos = stream.pos
            stream.write e.sszContext.data
            var writer = SszWriter.init(stream)
            writer.writeValue forkyUpdate
            cursor.finalWrite (stream.pos - initPos).uint64.toBytesLE()
      stream.getOutput(seq[byte])
    except SerializationError:
      default
    except IOError:
      default

let sszBytes = io2.readAllBytes("/Users/etan/Downloads/ssz_updates.ssz").get()

let sszUpdates = seq[ForkedLightClientUpdate].decodeSszLightClientObjects(res, cfg, forkDigests)
doAssert updates.len == sszUpdates.len
for i in 0 ..< updates.len:
  doAssert updates[i].kind == sszUpdates[i].kind
  withForkyUpdate(updates[i]):
    when lcDataFork > LightClientDataFork.None:
      doAssert forkyUpdate == sszUpdates[i].forky(lcDataFork)

doAssert sszBytes == res
```
2024-03-07 22:37:03 +00:00
Etan Kissling d158c0cb2f
bump `goerli` to `4cd051913c95afba2e702c51cab2a156d0dde5b8` (#6024)
- remove Nimbus bootstrap nodes
2024-03-04 21:19:06 +01:00
Etan Kissling bb8c6cda18
bump `nim-web3` to `747001250a27278e0f0f1706fe1dec88ad3ede8d` (#6020)
- Remove error field from AccessListResult
- Add optional yParity field to TransactionObject
2024-03-03 17:17:06 +01:00
Etan Kissling 649f0165b8
bump `nim-eth` to `d66a29db7ca4372dba116928f979e92cb7f7661f` (#6017)
- avoid `XDeclaredButNotUsed` in `kvstore_sqlite3` with empty tuple
2024-03-03 14:40:57 +01:00
Etan Kissling 7527b3a152
bump `nim-results` to `193d3c6648bd0f7e834d4ebd6a1e1d5f93998197` (#6019)
- test refc in CI in Nim 2.0 and later
2024-03-03 02:44:39 +00:00
Etan Kissling 6788c08869
bump `nim-json-serialization` to `7516a92eb8339f8fc1de7dd16cfa3d77bce87cd2` (#6018)
- avoid `XDeclaredButNotUsed` when no field `isnot JsonVoid`
- Fix JsonValueRef.Object comparison
2024-03-03 02:49:57 +01:00
Etan Kissling 45c283c256
bump `nim-sqlite3-abi` to `6d99f874d610d9ddac3c5b63ca5d0a341049c2ed` (#5976)
- validate SHA3 hash
- bump `sqlite-amalgamation` to `3.41.2`
- bump `sqlite-amalgamation` to `3.42.0`
- apply nimble update and git commit in `update.sh`
- bump `sqlite-amalgamation` to `3.43.0`
- bump `sqlite-amalgamation` to `3.43.1`
- bump `sqlite-amalgamation` to `3.43.2`
- bump `sqlite-amalgamation` to `3.44.0`
- bump `sqlite-amalgamation` to `3.44.1`
- bump `sqlite-amalgamation` to `3.44.2`
- bump `sqlite-amalgamation` to `3.45.0`
- bump `sqlite-amalgamation` to `3.45.1`
2024-03-01 18:08:53 +01:00
Jacek Sieka 21601f59e2
ssz: bump (#5996)
Avoids 25k allocations and >100mb memory overhead when saving a state
(etc everywhere else)
2024-02-29 12:03:10 +01:00
Etan Kissling d77af57ce0
bump `nim-websock` to `6db6088792bde0998c2b84c2d8e231f1d0507e49` (#5980)
- test refc in CI in Nim 2.0 and later
2024-02-28 16:39:19 +00:00
Etan Kissling ac11f50b77
bump `nim-toml-serialization` to `24bbfcb8e4e256883fc959dc6f5c15fe7a84fca5` (#5979)
- Upgrade github actions to v4
2024-02-28 11:19:59 +00:00
Etan Kissling 1f48795e91
bump `nim-taskpools` to `d4c43137c0590cb47f893a66ca8cb027fa6c217e` (#5978)
- test refc in CI in Nim 2.0 and later
2024-02-27 23:55:18 +00:00
Etan Kissling 80ed64d2ff
bump `nim-stint` to `7bb0ccc7842577243edc3b8d61f75bf498551a7a` (#5977)
- Upgrade github actions to v4
2024-02-27 22:49:28 +00:00
Etan Kissling 170036af18
bump `nim-snappy` to `984bdad602e977ea6c461c28201422fdeeccfb7c` (#5975)
- use non-EOL macOS version for GitHub Actions CI
2024-02-27 20:46:31 +00:00
Etan Kissling 3a74821d1e
bump `nim-results` to `dfeef8ba705d7bab3e2073bb44549f0a2562df70` (#5974)
- Formatted with nph v0.4-0-g537f1ce
- Add 592e0dcba157da84e2cced2309fa27dc67b667f3 to .git-blame-ignore-revs
- restore 1.2 compat in tests
2024-02-27 21:06:42 +01:00
Etan Kissling a38e17cd8d
bump `nim-presto` to `223aadeb82d35b57e6dae99f0b325ec6345ce7ff` (#5973)
- test refc in CI in Nim 2.0 and later
- use non-EOL macOS version for GitHub Actions CI
- Add implementation of PRESTO middleware.
2024-02-27 19:36:37 +00:00
Etan Kissling 0356eda0db
bump `nim-nat-traversal` to `d423ff9e436b8a8219926f4e3350b09108e42847` (#5972)
- bump `miniupnp` to `miniupnpc_2_2_6`
2024-02-27 18:02:23 +00:00
Etan Kissling 9d6be476cf
bump `nim-kzg4844` to `39bee1b4c91a476ddcce04cd31e095063e993c2c` (#5970)
- Upgrade github actions to v4
2024-02-27 17:48:56 +00:00
Etan Kissling 78b1514745
bump `nim-blscurve` to `d091a579a2e7c4668140e675a6fb2c78b8c6dc57` (#5969)
- remove MIRACL Core backend
2024-02-27 16:50:10 +00:00
Eugene Kabanov 95280e6766
Fix stint parser to raise ValueError instead of RangeDefect. (#5967) 2024-02-27 03:46:12 +01:00
Etan Kissling 97527e2ca5
bump `nim-web3` to `15325bd844a38234e4f705b3399d0bbfa3b63a12` (#5938)
- Replace eth_getBlockReceipts return type with Opt[T] instead of Option[T]
- use non-EOL macOS version and fix spelling
- test refc in CI in Nim 2.0 and later
2024-02-22 13:09:25 +00:00
Etan Kissling 1cf9d87137
bump `nim-nat-traversal` to `a48100fa23b3f07895683f3ca30c6be2bac22ca0` (#5934)
- bump `miniupnp` to `miniupnpc_2_2_5`
- require minimum of Nim 1.6
2024-02-22 13:02:48 +00:00
Etan Kissling fd54423a0a
bump `nim-serialization` to `afae13adac25b6fa98bacf4b9f38458dc64317b0` (#5935)
- Upgrade to github actions v4
- Silence the infamous Conversion from itself warnings
2024-02-22 12:28:42 +00:00
Etan Kissling c5cb0ea3f6
bump `nim-testutils` to `ae476c67314ac4b294d21040315e0f716189a70e` (#5936)
- Resolve ambiguity between chronicles and macros on nim v2
- Upgrade github action to v3
- use non-EOL macOS version for GitHub Actions CI
2024-02-22 11:46:45 +00:00
Etan Kissling cce8f25263
bump `nim-unittest2` to `b5028a44710f0317c5e710c80cec90127aa7e77c` (#5937)
- unittest2.nim: ensure the testTeardownIMPL is performed at the end
- Add test for PR #35
- only run `teardown` if `setup` completed
- Fix allow break in test body regression
- Upgrade github actions to v4
- use non-EOL macOS version for GitHub Actions CI
2024-02-22 10:36:25 +00:00
Etan Kissling 7642b0c04f
bump `nim-zxcvbn` to `d0fb557f74a28912ff129ce0ba24008b00b1019b` (#5939)
- use non-EOL macOS version for GitHub Actions CI
2024-02-22 08:49:48 +00:00
Jacek Sieka 1ef7d237cc
Shared validator pubkey (#5883)
This PR allows sharing the pubkey data between validators by using a
thread-local cache for pubkey data, netting about a 400mb mem usage
reduction on holesky due to us keeping 3 permanent + several ephemeral
state copies in memory at all times and each state copy holding a full
validator.

The PR also introduces a hash cache for the key which gives ~14% speedup
for a full state `hash_tree_root` - the key makes up for a large part of
the `Validator` htr time.

Finally, the time it takes to copy a state goes down as well from ~80m
ms to ~60, for reasons similar to htr.

We use a `ptr` even if a `ref` could in theory have been used - there is
not much practical benefit to a `ref` (given it's mutable) while a `ptr`
is cheaper and easier to copy (when copying temporary states).

We could go further and cache a cooked pubkey but it turns out this is
quite intrusive - in all the relevant places, we're already using a
cooked key from the immutable validator data so there are no immediate
performance gains of doing so while managing the compressed -> cooked
key mapping would become more difficult - something for a future PR
perhaps.

Co-authored-by: Etan Kissling <etan@status.im>
2024-02-21 20:06:19 +01:00
Etan Kissling 86aee03bcf
bump `nim-libbacktrace` to `008de2cd425cbca19f7d922e4e8b209d92313752` (#5931)
- bump `whereami` to `c5f6b015c36964790493841b9b4623184c0f7c3f`
- require minimum of Nim 1.6
2024-02-21 14:26:18 +00:00
Etan Kissling 0c745e2f92
bump `nim-http-utils` to `be57dbc902d36f37540897e98c69aa80f868cb45` (#5928)
- test refc in CI in Nim 2.0 and later
- use non-EOL macOS version for GitHub Actions CI
2024-02-21 14:16:03 +00:00
Etan Kissling e5ba18c55d
bump `nim-zlib` to `45b06fca15ce0f09586067d950da30c10227865a` (#5933)
- bump `csources` to `v1.3.1`
- test refc in CI in Nim 2.0 and later
- use non-EOL macOS version for GitHub Actions CI
2024-02-21 12:06:51 +00:00
Etan Kissling c4535f5bb6
bump `nim-metrics` to `0e768ca7fb7df4798649145a403e7db65cae1f8b` (#5932)
- Upgrade to github actions v4
- Fix 'value' template compilation error
- fix missing import
- Partial instantiation of 'value' template
2024-02-21 11:15:00 +00:00
Etan Kissling d1bce17109
bump `nim-json-rpc` to `8682bb6c858fbcff2f0070c241ce6aae030753a3` (#5930)
- align maximum body size between Websock and HTTP transports
2024-02-21 08:04:36 +00:00
Etan Kissling 1beb603c67
bump `nim-faststreams` to `8ff78919aa5a23aecaf4a647e23cfa8ecda6736a` (#5927)
- test refc in CI in Nim 2.0 and later
- use supported version of macOS
- stop testing Nim C++ backend in GitHub Actions
2024-02-21 05:40:25 +00:00
Etan Kissling 3e2c320b70
bump `nim-eth` to `d8209f623f837d14c43a9e3fd464b0e199c5d180` (#5926)
- Refactor p2pProtocol internals
- Fix chronos related deprecated warnings in discv5 and uTP
- normalise nimble, ci
- Fix chronos related deprecated warnings in uTP code part II
- Remove usage of stew/shim/net
- Upgrade github actions to v4
- Fix two bugs in Receipts RLP encoding/decoding
- Move Ethereum specific RLP encoding tests under tests/common
- Reduce compiler warnings in rlp
- test refc in CI in Nim 2.0 and later
- test Nim 2.0 in CI and use non-EOL macOS version
- Use asyncraises in p2p
- Don't auto write p2pProtocol macro expansion to file
- Fix improper yield usage in rlpx and refine exception handling
2024-02-21 04:31:07 +00:00
Etan Kissling 6d741467f0
bump `nim-confutils` to `0adf3b7db70736061bf12fa23c2fc51f395b289e` (#5925)
- Dynlib fix for status-go integration
- Add ORC testing for the devel branch
- Upgrade github actions to v4
- Add copyright to source code
- Add push raises
- add missing `{.raises.}` to `addConfigFileContent`
2024-02-21 03:54:43 +00:00
Etan Kissling 50872b2fd4
bump `nimcrypto` to `0c6ddab03a99805239b7875f71d2ca95fbed6f85` (#5924)
- use non-EOL macOS version for GitHub Actions CI and rm AppVeyor and Travis configs
2024-02-21 02:44:24 +00:00
Etan Kissling 2a1bf9944d
bump `nim-json-rpc` to `9c65df305390ab01a13788af5aea78cd62dceb2a` (#5923)
- Client also handle error message if id is null
- Client pass meaningful error to newFut when processMessage failed
- Refactoring: extract rpc handler from HTTP and WebSocket server
- Use pragma push/pop pair to disable warning
- http server better exception handling
- Fix CI badge url
- Upgrade github actions to v4
- Revert "Fix CI badge url"
- HttpAuthHook use async raises
- Move CancelledError handling to outer try/except of RpcWebsocketServer
- Implement RPC batch call both in servers and clients
- v0.4.0
- Should compile if chronicles log turned on
- Add framework to support more optional types
- v0.4.2
- test refc in CI in Nim 2.0 and later
- use non-EOL macOS version for GitHub Actions CI
- avoid failing uninitialized `Future`
- Improve batch call example and wrapper comments
- Fix ws and socket client error handling and add test to #212
- Add build test with chronicles to json enabled
2024-02-20 21:27:06 +01:00
Etan Kissling eefe8841ef
bump `nim-stew` to `1662762c0144854db60632e4115fe596ffa67fca` (#5921)
- Add push raises to shims/macros module
- rename `RangeError` -> `RangeDefect` in test name
2024-02-20 21:21:09 +01:00
Etan Kissling 9286eb6795
bump `nim-kzg4844` to `5eba921b1079376403b8b8e1b44c70248eabbc70` (#5922)
- bump `csources` to `v0.4.1`
- test refc in CI in Nim 2.0 and later
- bump `csources` to `v0.4.2`
2024-02-20 18:45:00 +00:00
Etan Kissling 6fe183f0de
bump `nim-websock` to `ed89f58624ba6482225bb6a3169cefd7e632f498` (#5920)
- Reduce compiler warnings when using new chronos
- Upgrade github action to v3
- Fix autobahn tests
- Reenable tests
- Restrict autobahn tests run to merged PR only
- Upgrade github action setup-python to v3 and up/dn artifact to v3
- Reduce compiler warnings
- Fix github actions badge url
- Reduce compiler warnings
- Upgrade to github actions v4
- Revert "Fix github actions badge url"
- Downgrade upload artifact action to v3
- use non-EOL macOS version for GitHub Actions CI
2024-02-20 17:12:09 +00:00
Etan Kissling 8b494c2f26
bump `nim-chronicles` to `ab3ab545be0b550cca1c2529f7e97fbebf5eba81` (#5918)
- Upgrade to github actions v4
- Silence declared but unused warnings when there is no loggging code generated
2024-02-20 15:21:28 +01:00
Etan Kissling 74eeb0b93c
bump `nim-blscurve` to `1002533ad205fa71d60d6fd8f8c283b9352a5314` (#5916)
- update instructions for tracking upstream MIRACL Core
- bump `bls12-381-tests` to `v0.1.2`
- bump `miracl-core` to `0f67878bee7c4108405deb2b0b5e4e58d1ae30fc`
- test refc in CI in Nim 2.0 and later
- rename `milagro.nims` -> `miracl.nims`
- rename `milagro.nim` -> `miracl.nim`
- rename `milagro(Path|_func)` -> `miracl(Path|_func)`
- rename `milagro` references -> `miracl` in documentation
2024-02-20 13:35:22 +01:00
Etan Kissling ba7549a66e
bump `nim-bearssl` to `7640cc6aa859f6d4ad657c892f14c76dc1d34bd5` (#5915)
- test refc in CI in Nim 2.0 and later
2024-02-20 13:31:36 +01:00
Etan Kissling ae12b71ce0
bump `holesky` to `60997dd7e876a67775a7f2d53b852e75bbb2a630` (#5912)
- Add Lodestar holesky bootnode ENRs
2024-02-19 19:27:10 +01:00
tersec ea29e0afc8
use 1.4.0-beta.7-hotfix consensus spec test vectors (#5894) 2024-02-16 04:49:18 +00:00
Eugene Kabanov 211f53582f
Increase buffer sizes to 16348. Which should bring some fresh air to el_manager. (#5893) 2024-02-15 07:01:15 +01:00
Eugene Kabanov 535d599c57
Bump chronos to fix REST server become unresponsive at some cases. (#5892) 2024-02-14 20:31:16 +01:00
Etan Kissling 81b849a2eb
bump `gnosis-chain-configs` to `b02e5dd0bc61f123fa28d027cf95d47ebe2ae05d` (#5885)
- Schedule deneb
2024-02-13 12:07:22 +01:00
Etan Kissling a746063a61
bump `eth2-networks` to `934c948e69205dcf2deb87e4ae6cc140c335f94d` (#5868)
- Schedule Deneb for Mainnet
2024-02-08 19:18:35 +00:00
Eugene Kabanov 464ff68658
Address issues #5675 and #5681. (#5846) 2024-02-07 19:51:36 +00:00
Etan Kissling da567ea994
bump `nim-web3` to `a67213af4f711a7aa94b86ebe3935f8e397197bc` (#5857)
- Synchronize order of `blobGasUsed` / `excessBlobGas` in test
- Reduce compiler warnings
- Upgrade github actions to v4
- v0.3.2
- re-add support for `fromBlock`, `toBlock`, `blockHash` in `eth_getLogs`
2024-02-07 00:46:33 +01:00
Etan Kissling f556b91af0
bump `eth2-networks` to `7433deff7655559078cf60bb67caaaace67fe52b` (#5848)
- Update bootstrap_nodes.txt
2024-02-05 13:40:30 +01:00
Etan Kissling a4c5edaefc
bump `holesky` to `1eac87bdec0fdfcb88d2dbb493014767fe802fa4` (#5849)
- fix: remove eip7516 from chainspec
2024-02-05 11:55:23 +01:00
tersec 5c54eb58e1
bump nim-confutils (#5828) 2024-01-25 14:39:00 +00:00
Etan Kissling 7888622d1e
bump `holesky` to `9d9aabf2d4de51334ee5fed6c79a4d55097d1a43` (#5824)
- add `MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT`
2024-01-24 13:39:06 +01:00
Jacek Sieka 6328c77778
raises for gossip (#5808)
* raises for gossip

* fix light client
2024-01-22 17:34:54 +01:00
tersec ee798af1dd
bump nim-stew (#5814) 2024-01-22 09:44:42 +01:00
Etan Kissling 9acb7b99fe
bump `nim-json-rpc` to `8d79d528412d7cdd022ff91fb6bacd4f5bb01d58` (#5800)
- Fix improper yield usage in json-rpc-websocketserver
- Improve both client and server resilience against fields and elements with null value
2024-01-20 15:21:17 +00:00
Etan Kissling 1d9a3b23f3
bump `nim-libp2p` to `2725be64bacb46997c0959560d833ff946c8cb3b` (#5799)
- improvement(yamux): make the window size configurable
- improvement(ci): improve ci daily workflows
- fix: use a temp var in withValue
2024-01-20 08:03:24 +00:00
Etan Kissling f8a8206406
bump `nim-chronos` to `3ca2c5e6b510c15ce88c94ed25731b30f7ad46b5` (#5798)
- Feature flag for raises support
- HTTP server middleware implementation
- Fix examples documentation
- check leaks after every test
- deprecate `callback=`, UDP fixes
2024-01-20 06:49:49 +00:00