Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions execution_chain/config.nim
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,16 @@ import
export net, defs, jsdefs, jsnet, nimbus_binary_common

const

# e.g.: Copyright (c) 2018-2025 Status Research & Development GmbH
NimbusCopyright* = "Copyright (c) 2018-" &
CompileDate.split('-')[0] &
" Status Research & Development GmbH"
# e.g.:
# nimbus_execution_client/v0.1.0-abcdef/os-cpu/nim-a.b.c/emvc
# Copyright (c) 2018-2025 Status Research & Development GmbH
NimbusBuild* = "$#\p$#" % [
ClientId,
copyrights,
NimbusCopyright,
]

NimbusHeader* = "$#\p\pNim version $#" % [
Expand Down
47 changes: 4 additions & 43 deletions execution_chain/version_info.nim
Original file line number Diff line number Diff line change
Expand Up @@ -11,59 +11,20 @@
import
std/[os, strutils, strformat],
stew/byteutils,
beacon_chain/buildinfo,
./compile_info,
./version

export version

# TODO: Unify and use the buildinfo from nimbus-eth2
# For that it needs to be shifted to a template which takes in the
# source path of nimbus-eth1 as an input
const sourcePath = currentSourcePath.rsplit({DirSep, AltSep}, 1)[0]

proc gitFolderExists(path: string): bool {.compileTime.} =
# walk up parent folder to find `.git` folder
var currPath = sourcePath
while true:
if dirExists(currPath & "/.git"):
return true
let parts = splitPath(currPath)
if parts.tail.len == 0:
break
currPath = parts.head
false

const
NimbusName* = "nimbus-eth1"
## project name string

GitRevisionOverride {.strdefine.} = ""

GitRevision* =
when GitRevisionOverride.len > 0:
static:
doAssert(
GitRevisionOverride.len == 8,
"GitRevisionOverride must consist of 8 characters",
)
doAssert(
GitRevisionOverride.allIt(it in HexDigits),
"GitRevisionOverride should contains only hex chars",
)
#GitRevisionOverride {.strdefine.} = ""
sourcePath = currentSourcePath.rsplit({DirSep, AltSep}, 1)[0]

GitRevisionOverride
else:
if gitFolderExists(sourcePath):
# only using git if the parent dir is a git repo.
strip(
staticExec(
"git -C " & strutils.escape(sourcePath) & " rev-parse --short=8 HEAD"
)
)
else:
# otherwise we use revision number given by build system.
# e.g. user download from release tarball, or Github zip download.
"00000000"
GitRevision* = generateGitRevision(sourcePath)

# Please keep it 4 bytes long, used in `engine_ClientVersionV1`
# https://github.com/ethereum/execution-apis/blob/v1.0.0-beta.4/src/engine/identification.md#clientversionv1
Expand Down
10 changes: 2 additions & 8 deletions portal/tests/beacon_network_tests/test_beacon_content.nim
Original file line number Diff line number Diff line change
Expand Up @@ -191,14 +191,8 @@ suite "Beacon Content Keys and Values":
# TODO: These tests are less useful now and should instead be altered to
# use the consensus test vectors to simply test if encoding / decoding works
# fine for the different forks.
const forkDigests = ForkDigests(
phase0: ForkDigest([0'u8, 0, 0, 1]),
altair: ForkDigest([0'u8, 0, 0, 2]),
bellatrix: ForkDigest([0'u8, 0, 0, 3]),
capella: ForkDigest([0'u8, 0, 0, 4]),
deneb: ForkDigest([0'u8, 0, 0, 5]),
electra: ForkDigest([0'u8, 0, 0, 6]), # TODO fulu: ForkDigest([0'u8, 0, 0, 7]),
)
let forkDigests =
ForkDigests.init(getMetadataForNetwork("mainnet").cfg, default(Eth2Digest))

test "LightClientBootstrap":
let
Expand Down
5 changes: 4 additions & 1 deletion portal/version.nim
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

{.push raises: [].}

import stew/byteutils, metrics, beacon_chain/buildinfo
import std/[os, strutils], stew/byteutils, metrics, beacon_chain/buildinfo

export buildinfo

Expand All @@ -18,6 +18,9 @@ const

versionAsStr* = $versionMajor & "." & $versionMinor & "." & $versionBuild

sourcePath = currentSourcePath.rsplit({DirSep, AltSep}, 1)[0]
GitRevision = generateGitRevision(sourcePath)

fullVersionStr* = "v" & versionAsStr & "-" & GitRevision

clientName* = "nimbus_portal_client"
Expand Down
2 changes: 1 addition & 1 deletion vendor/nimbus-eth2
Submodule nimbus-eth2 updated 61 files
+1 −0 .github/dependabot.yml
+23 −0 .github/workflows/ci.yml
+30 −0 .github/workflows/nightly_build.yml
+1 −5 AllTests-mainnet.md
+543 −0 ConsensusSpecPreset-mainnet.md
+593 −0 ConsensusSpecPreset-minimal.md
+3 −3 beacon_chain.nimble
+26 −28 beacon_chain/buildinfo.nim
+25 −22 beacon_chain/consensus_object_pools/block_clearance.nim
+47 −20 beacon_chain/consensus_object_pools/block_dag.nim
+12 −10 beacon_chain/consensus_object_pools/block_quarantine.nim
+35 −32 beacon_chain/consensus_object_pools/blockchain_dag.nim
+271 −182 beacon_chain/consensus_object_pools/consensus_manager.nim
+1 −1 beacon_chain/el/el_manager.nim
+70 −192 beacon_chain/gossip_processing/block_processor.nim
+6 −38 beacon_chain/gossip_processing/eth2_processor.nim
+27 −26 beacon_chain/light_client.nim
+3 −1 beacon_chain/networking/peer_scores.nim
+89 −30 beacon_chain/nimbus_beacon_node.nim
+13 −9 beacon_chain/nimbus_light_client.nim
+1 −1 beacon_chain/rpc/rest_config_api.nim
+3 −4 beacon_chain/rpc/rest_light_client_api.nim
+340 −34 beacon_chain/spec/beaconstate.nim
+8 −0 beacon_chain/spec/datatypes/constants.nim
+23 −10 beacon_chain/spec/forks.nim
+18 −30 beacon_chain/spec/helpers.nim
+2 −30 beacon_chain/spec/peerdas_helpers.nim
+25 −8 beacon_chain/spec/presets.nim
+28 −0 beacon_chain/spec/signatures.nim
+42 −1 beacon_chain/spec/state_transition.nim
+193 −7 beacon_chain/spec/state_transition_block.nim
+85 −202 beacon_chain/spec/state_transition_epoch.nim
+84 −1 beacon_chain/spec/validator.nim
+7 −13 beacon_chain/sync/light_client_protocol.nim
+53 −37 beacon_chain/sync/request_manager.nim
+9 −0 beacon_chain/sync/sync_manager.nim
+1 −3 beacon_chain/sync/sync_overseer.nim
+2 −2 beacon_chain/sync/sync_protocol.nim
+6 −1 beacon_chain/sync/sync_queue.nim
+2 −1 beacon_chain/sync/validator_custody.nim
+17 −4 beacon_chain/validators/block_payloads.nim
+3 −2 beacon_chain/version.nim
+7 −6 config.nims
+5 −1 ncli/ncli.nim
+4 −2 research/wss_sim.nim
+3 −1 tests/consensus_spec/gloas/all_gloas_fixtures.nim
+293 −0 tests/consensus_spec/gloas/test_fixture_operations.nim
+88 −0 tests/consensus_spec/gloas/test_fixture_rewards.nim
+3 −3 tests/consensus_spec/gloas/test_fixture_ssz_consensus_objects.nim
+178 −0 tests/consensus_spec/gloas/test_fixture_state_transition_epoch.nim
+10 −1 tests/consensus_spec/test_fixture_fork.nim
+12 −3 tests/consensus_spec/test_fixture_sanity_slots.nim
+4 −3 tests/helpers/debug_state.nim
+1 −188 tests/test_helpers.nim
+36 −2 tests/test_message_signatures.nim
+1 −34 tests/test_peerdas_helpers.nim
+4 −3 tests/testbcutil.nim
+1 −21 tests/teststateutil.nim
+1 −1 vendor/holesky
+1 −1 vendor/hoodi
+1 −1 vendor/sepolia
Loading