Commit Graph

1251 Commits

Author SHA1 Message Date
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