Skip to content

Commit

Permalink
Merge branch 'unstable' into cayman/ssz-api
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig committed Mar 14, 2024
2 parents 282bb85 + c94ecd2 commit c3afb0b
Show file tree
Hide file tree
Showing 36 changed files with 301 additions and 157 deletions.
9 changes: 6 additions & 3 deletions .env.test
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# We use these images during sim and e2e tests
# TODO: Upgrade Geth once the Nethermind issue is resolved else it's causing following error
# Rejected peer id=134e2c1a76745626 addr=192.168.0.3:9052 conn=staticdial err="useless peer"
GETH_DOCKER_IMAGE=ethereum/client-go:v1.11.6
# This is the last version which supports pre/post merge chains in the same network
# All newer versions only work with post merge chains
GETH_DOCKER_IMAGE=ethereum/client-go:v1.13.14
# Use either image or local binary for the testing
GETH_BINARY_DIR=
LIGHTHOUSE_DOCKER_IMAGE=sigp/lighthouse:v4.6.0-amd64-modern-dev

# We can't upgrade nethermind further due to genesis hash mismatch with the geth
# https://github.com/NethermindEth/nethermind/issues/6683
# Disabling Nethermind from sim tests until the above issue is resolved
NETHERMIND_DOCKER_IMAGE=nethermind/nethermind:1.18.2

# We mostly use mainnet for unit testing
# Changing this value may impact the tests which are written with mainnet in mind
LODESTAR_PRESET=mainnet
2 changes: 1 addition & 1 deletion .github/workflows/test-sim.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ jobs:
run: |
docker pull ${{env.GETH_DOCKER_IMAGE}}
docker pull ${{env.LIGHTHOUSE_DOCKER_IMAGE}}
docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
# docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
- name: Sim tests mixed client
run: DEBUG='${{github.event.inputs.debug}}' yarn test:sim:mixedclient
working-directory: packages/cli
Expand Down
180 changes: 172 additions & 8 deletions dashboards/lodestar_block_processor.json
Original file line number Diff line number Diff line change
Expand Up @@ -1915,6 +1915,88 @@
"title": "State SSZ cache miss rate on preState",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": []
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 82
},
"id": 536,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "rate(lodestar_epoch_transition_by_caller_total[$rate_interval]) * 384",
"instant": false,
"legendFormat": "{{caller}}",
"range": true,
"refId": "A"
}
],
"title": "Epoch transition by reason",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
Expand Down Expand Up @@ -1965,7 +2047,7 @@
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"x": 12,
"y": 82
},
"id": 526,
Expand Down Expand Up @@ -3455,6 +3537,88 @@
"title": "Runs / epoch",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"unit": "s"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 149
},
"id": 535,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"expr": "rate(lodestar_precompute_next_epoch_transition_duration_seconds_sum[$rate_interval])\n/\nrate(lodestar_precompute_next_epoch_transition_duration_seconds_count[$rate_interval])",
"instant": false,
"legendFormat": "prepare_next_epoch_duration",
"range": true,
"refId": "A"
}
],
"title": "Prepare Next Epoch Duration",
"type": "timeseries"
},
{
"collapsed": false,
"datasource": {
Expand All @@ -3465,7 +3629,7 @@
"h": 1,
"w": 24,
"x": 0,
"y": 149
"y": 157
},
"id": 136,
"panels": [],
Expand Down Expand Up @@ -3533,7 +3697,7 @@
"h": 8,
"w": 12,
"x": 0,
"y": 150
"y": 158
},
"id": 130,
"options": {
Expand Down Expand Up @@ -3633,7 +3797,7 @@
"h": 8,
"w": 12,
"x": 12,
"y": 150
"y": 158
},
"id": 140,
"options": {
Expand Down Expand Up @@ -3735,7 +3899,7 @@
"h": 8,
"w": 12,
"x": 0,
"y": 158
"y": 166
},
"id": 132,
"options": {
Expand Down Expand Up @@ -3863,7 +4027,7 @@
"h": 8,
"w": 12,
"x": 12,
"y": 158
"y": 166
},
"id": 138,
"options": {
Expand Down Expand Up @@ -3985,7 +4149,7 @@
"h": 8,
"w": 12,
"x": 0,
"y": 166
"y": 174
},
"id": 531,
"options": {
Expand Down Expand Up @@ -4101,7 +4265,7 @@
"h": 8,
"w": 12,
"x": 12,
"y": 166
"y": 174
},
"id": 533,
"options": {
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/contribution/testing/simulation-tests.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ Here is an example of the table and how to interpret it:
- `fork`: shows what fork is currently being tested
- `eph`: During simulation tests the Lodestar repo is setup to use 8 slot per epoch so what is shown is the epoch number and the slot number within that epoch as `epoch/slot`
- `slot`: The slot number that is currently being processed
- `head`: If all clients have the the same head the first couple of bytes of the hash are shown. If all clients do not have the same head `different` is reported.
- `head`: If all clients have the same head the first couple of bytes of the hash are shown. If all clients do not have the same head `different` is reported.
- `finzed`: Shows the number of the last finalized slot
- `peers`: The number of peers that each node is connected to. If all have the same number then only a single value is shown. If they do not have the same number of peers count for each node is reported in a comma-separated list
- `attCount`: The number of attestations that the node has seen.
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/tools/heap-dumps.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ $ ./configure --debug
# that a release version of node is already installed on the system
$ make -C out BUILDTYPE=Debug -j$(nproc --all)

# Move the debug version of node the the same folder that the release
# Move the debug version of node the same folder that the release
# version is installed in and name it `node_debug`. This will put the
# debug binary on the path and allow you to run it with the
# `node_debug` command
Expand All @@ -127,7 +127,7 @@ $ yarn install

# Ensure that all native modules are rebuilt with debug symbols. Some
# modules are prebuilt, like classic-level, and the debug symbols may
# not be included. If the the debugging exercise is focussed around
# not be included. If the debugging exercise is focussed around
# one of these dependencies, then you will need to manually clone those
# repos and manually build them with debug symbols.
$ npm rebuild --debug
Expand Down
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
],
"npmClient": "yarn",
"useNx": true,
"version": "1.16.0",
"version": "1.17.0",
"stream": true,
"command": {
"version": {
Expand Down
10 changes: 5 additions & 5 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "1.16.0",
"version": "1.17.0",
"type": "module",
"exports": {
".": {
Expand Down Expand Up @@ -69,10 +69,10 @@
"dependencies": {
"@chainsafe/persistent-merkle-tree": "^0.6.1",
"@chainsafe/ssz": "^0.14.3",
"@lodestar/config": "^1.16.0",
"@lodestar/params": "^1.16.0",
"@lodestar/types": "^1.16.0",
"@lodestar/utils": "^1.16.0",
"@lodestar/config": "^1.17.0",
"@lodestar/params": "^1.17.0",
"@lodestar/types": "^1.17.0",
"@lodestar/utils": "^1.17.0",
"eventsource": "^2.0.2",
"qs": "^6.11.1"
},
Expand Down
26 changes: 13 additions & 13 deletions packages/beacon-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "1.16.0",
"version": "1.17.0",
"type": "module",
"exports": {
".": {
Expand Down Expand Up @@ -118,18 +118,18 @@
"@libp2p/peer-id-factory": "^4.0.3",
"@libp2p/prometheus-metrics": "^3.0.10",
"@libp2p/tcp": "9.0.10",
"@lodestar/api": "^1.16.0",
"@lodestar/config": "^1.16.0",
"@lodestar/db": "^1.16.0",
"@lodestar/fork-choice": "^1.16.0",
"@lodestar/light-client": "^1.16.0",
"@lodestar/logger": "^1.16.0",
"@lodestar/params": "^1.16.0",
"@lodestar/reqresp": "^1.16.0",
"@lodestar/state-transition": "^1.16.0",
"@lodestar/types": "^1.16.0",
"@lodestar/utils": "^1.16.0",
"@lodestar/validator": "^1.16.0",
"@lodestar/api": "^1.17.0",
"@lodestar/config": "^1.17.0",
"@lodestar/db": "^1.17.0",
"@lodestar/fork-choice": "^1.17.0",
"@lodestar/light-client": "^1.17.0",
"@lodestar/logger": "^1.17.0",
"@lodestar/params": "^1.17.0",
"@lodestar/reqresp": "^1.17.0",
"@lodestar/state-transition": "^1.17.0",
"@lodestar/types": "^1.17.0",
"@lodestar/utils": "^1.17.0",
"@lodestar/validator": "^1.17.0",
"@multiformats/multiaddr": "^12.1.3",
"c-kzg": "^2.1.2",
"datastore-core": "^9.1.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/beacon-node/src/chain/bls/multithread/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ export class BlsMultiThreadWorkerPool implements IBlsVerifier {

// Send work package to the worker
// If the job, metrics or any code below throws: the job will reject never going stale.
// Only downside is the the job promise may be resolved twice, but that's not an issue
// Only downside is the job promise may be resolved twice, but that's not an issue

const [jobStartSec, jobStartNs] = process.hrtime();
const workResult = await workerApi.verifyManySignatureSets(workReqs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {PayloadAttributesRpc} from "./types.js";
// Idealy this only need to be set to the max head reorgs number
const MAX_PAYLOAD_IDS = SLOTS_PER_EPOCH;

// An execution engine can produce a payload id anywhere the the uint64 range
// An execution engine can produce a payload id anywhere the uint64 range
// Since we do no processing with this id, we have no need to deserialize it
export type PayloadId = string;

Expand Down

0 comments on commit c3afb0b

Please sign in to comment.