Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.4.0 #394

Merged
merged 31 commits into from
Jul 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
847261a
[docs] update changelog
stdevMac Dec 10, 2023
8ad99c0
[docs] update docs for version v1.3.0
stdevMac Dec 10, 2023
08e2d20
docs: update main docs page to holds holesky
stdevMac Dec 11, 2023
ac6a892
docs: add new info section on latest comment at quickstart page
stdevMac Dec 11, 2023
bb51d67
docs: update CHANGELOG
stdevMac Dec 11, 2023
9e3e89b
fix: golang version for release
stdevMac Dec 11, 2023
280a601
chore: Update client images to be ready for deneb forks
stdevMac Feb 3, 2024
c01c423
feat: update courtney dependency
adriantpaez Feb 12, 2024
5e8827b
fix: update unit_tests action
adriantpaez Feb 12, 2024
ca4a121
fix: update build workflow
adriantpaez Feb 12, 2024
8abfaaf
fix: update codecov/codecov-action to v4
adriantpaez Feb 12, 2024
cb46133
fix: update doc-test dependencies versions
adriantpaez Feb 12, 2024
270b40c
fix: update templates commands in tests
stdevMac Feb 12, 2024
013b770
feat: update versions of clients
stdevMac Feb 13, 2024
2cc5c00
fix: update lodestar command
stdevMac Feb 12, 2024
523eb5e
Update develop branch with main (#362)
stdevMac Mar 8, 2024
3df8466
Update images dencun-ready (#364)
stdevMac Mar 8, 2024
f9cd284
Remove obsolete version field (#373)
kamilchodola Apr 30, 2024
dd62062
fix: update github actions (#366)
adriantpaez May 16, 2024
4d41a7d
fix: check-version PR reviewers (#382)
adriantpaez May 16, 2024
398245d
Remove support for Goerli (#372)
khalifaa55 May 20, 2024
1f75887
test: Add E2E test suite (#384)
adriantpaez May 28, 2024
870874f
feat: Add Smart Contracts logic for Lido (#386)
khalifaa55 Jun 25, 2024
011fad2
feat: Allow keystores creation with eth1 withdrawal credentials (#235)
cbermudez97 Jul 4, 2024
74604f5
feat: Add support for mev-boost on Holesky (#380)
khalifaa55 Jul 4, 2024
4bb728e
feat: Update images to latest versions (#391)
stdevMac Jul 9, 2024
ee821a8
feat: Add Lido Flow (#389)
khalifaa55 Jul 9, 2024
bdf9cfb
feat: Support ubuntu 24.04 deps install (#392)
AntiD2ta Jul 9, 2024
5231116
fix(cli): Mev-boost not being generated for holesky (#393)
AntiD2ta Jul 9, 2024
4917740
Merge remote-tracking branch 'origin/main' into release/v1.4.0
stdevMac Jul 10, 2024
122dbc8
docs: update documentation for release v.1.4.0
stdevMac Jul 10, 2024
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
45 changes: 45 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/go
{
"name": "Go",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/go:1-1.22-bookworm",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers-contrib/features/curl-apt-get:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"GitHub.copilot",
"streetsidesoftware.code-spell-checker",
"ms-azuretools.vscode-docker",
"dbaeumer.vscode-eslint",
"donjayamanne.githistory",
"GitHub.copilot-chat",
"GitHub.vscode-pull-request-github",
"golang.go",
"yzhang.markdown-all-in-one",
"DavidAnson.vscode-markdownlint",
"unifiedjs.vscode-mdx",
"redhat.vscode-yaml",
"eamodio.gitlens"
]
}
}

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "go version",

// Configure tool-specific properties.
// "customizations": {},

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
4 changes: 2 additions & 2 deletions .github/workflows/check-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ jobs:
PAT: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}

- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}
commit-message: Update image versions to latest version.
title: "[Update] Update image versions"
reviewers: falcoxyz, AntiD2ta, cbermudez97
reviewers: AntiD2ta, adriantpaez, stdevMac, cbermudez97
branch: feature/update-container-images
draft: false
34 changes: 34 additions & 0 deletions .github/workflows/e2e_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: sedge e2e tests
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:

jobs:
unit_tests:
name: Run e2e tests
strategy:
matrix:
include:
- os: ubuntu-latest
go: '1.21'
- os: windows-latest
go: '1.21'
runs-on: ${{ matrix.os }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}

- name: Install deps
run: make install-deps

- name: Run e2e tests
run: make e2e-test
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "1.19.0"

Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "1.21.0"

Expand All @@ -72,7 +72,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "1.19.0"

Expand Down Expand Up @@ -121,7 +121,7 @@ jobs:
bash /home/runner/work/sedge/sedge/homebrew-sedge/scripts/update-homebrew.sh

- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}
commit-message: Update Homebrew to latest release
Expand Down Expand Up @@ -187,7 +187,7 @@ jobs:
uses: actions/checkout@v4
with:
path: sedge
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "1.19.0"
- name: Run publish PPA script
Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [v1.4.0] - 2024-07-10

### Fixed
- Remove arguments for Lighthouse `--eth1` flag.

### Added

- Add support for MEV-boost on Holesky.
- New flag `--lido` to `generate` command for Lido CSM setup.
- New Sedge setup flow with `sedge cli` command for Lido CSM setup.
- Support for `sedge keys` to generate 0x01 withdrawal credentials.
- Support for installing Docker in Ubuntu 24.04 LTS.

### Changed

- Update client images to Dencun-ready versions.
- Renamed `--eth1-withdrawal-address` flag from `sedge keys` to `--eth-withdrawal-address`.
- Update client images to latest versions.

### Removed

- Removed support for Goerli.


## [v1.3.2] - 2024-03-08

### Changed
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ test: generate ## run tests
@mkdir -p coverage
@go test -coverprofile=coverage/coverage.out -covermode=count ./...

e2e-test: generate ## Run e2e tests
@go test -timeout 20m -count=1 ./e2e/...

codecov-test: generate ## unit tests with coverage using the courtney tool
@mkdir -p coverage
@courtney/courtney -v -o coverage/coverage.out ./...
Expand Down
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ Sedge is a one-click node setup tool for PoS network/chain validators and nodes
- [Supported networks and clients](#supported-networks-and-clients)
- [Mainnet](#mainnet)
- [Sepolia](#sepolia)
- [Goerli](#goerli)
- [Holesky](#holesky)
- [Gnosis](#gnosis)
- [Chiado (Gnosis testnet)](#chiado-gnosis-testnet)
Expand Down Expand Up @@ -128,6 +127,15 @@ While Sedge assists in installing the validator, it is not designed to register

Users acknowledge that no warranty is being made of a successful installation. Sedge is a tool and it ultimately depends on you to use it correctly and follow all the best practice guidance, as found in this README and documentation.

## Lido integration

Sedge is integrated with [Lido CSM](https://operatorportal.lido.fi/modules/community-staking-module), with
permissionless entry, allowing any node operator — and especially community stakers, from solo stakers, to groups of
friends, to amateur operators — to operate validators by providing an ETH-based bond (security collateral).

Sedge supports the Lido CSM, allowing users to generate validator keys and set up their full nodes with ease. You can
read more about it in [our documentation](https://docs.sedge.nethermind.io/docs/quickstart/staking-with-lido)!

## Supported networks and clients

### Mainnet
Expand All @@ -148,15 +156,6 @@ Users acknowledge that no warranty is being made of a successful installation. S
| Erigon | Prysm | Prysm |
| Besu | Teku | Teku |

### Goerli

| Execution | Consensus | Validator |
| ---------- | ---------- | ---------- |
| Geth | Lighthouse | Lighthouse |
| Nethermind | Lodestar | Lodestar |
| Erigon | Prysm | Prysm |
| Besu | Teku | Teku |

### Holesky

| Execution | Consensus | Validator |
Expand Down Expand Up @@ -184,12 +183,12 @@ Users acknowledge that no warranty is being made of a successful installation. S

### CL clients with Mev-Boost

| Client | Mev-Boost | Networks |
| ---------- | --------- |--------------------------|
| Lighthouse | yes | Mainnet, Goerli, Sepolia |
| Lodestar | yes | Mainnet, Goerli, Sepolia |
| Prysm | yes | Mainnet, Goerli, Sepolia |
| Teku | yes | Mainnet, Goerli, Sepolia |
| Client | Mev-Boost | Networks |
| ---------- | --------- |---------------------------|
| Lighthouse | yes | Mainnet, Sepolia, Holesky |
| Lodestar | yes | Mainnet, Sepolia, Holesky |
| Prysm | yes | Mainnet, Sepolia, Holesky |
| Teku | yes | Mainnet, Sepolia, Holesky |

## Supported Linux flavours for dependency installation

Expand Down Expand Up @@ -256,6 +255,7 @@ The following roadmap covers the main features and ideas we want to implement bu
### Version 1.X (Current)

- [x] Support Erigon on Gnosis
- [x] Support for Lido CSM
- [ ] Include monitoring tool for alerting, tracking validator balance, and tracking sync progress and status of nodes
- [ ] More tests!!!
- [ ] Support for Nimbus client
Expand Down
2 changes: 1 addition & 1 deletion cli/actions/importKeys.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ func setupLodestarValidatorImport(dockerClient client.APIClient, serviceManager
// CMD
var preset string
switch options.Network {
case "mainnet", "goerli", "sepolia", "holesky":
case "mainnet", "sepolia", "holesky":
preset = "mainnet"
case "gnosis", "chiado":
preset = "gnosis"
Expand Down
4 changes: 2 additions & 2 deletions cli/actions/importKeys_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ func TestImportKeys_CustomOptions(t *testing.T) {
customImage bool
}{}
for _, validatorClient := range []string{"prysm", "lodestar"} {
for _, network := range []string{"sepolia", "goerli", "mainnet"} {
for _, network := range []string{"sepolia", "mainnet"} {
tests = append(tests, struct {
client string
network string
Expand All @@ -183,7 +183,7 @@ func TestImportKeys_CustomOptions(t *testing.T) {
}
}
for _, validatorClient := range []string{"lighthouse", "teku"} {
for _, network := range []string{"sepolia", "goerli", "mainnet"} {
for _, network := range []string{"sepolia", "mainnet"} {
tests = append(tests, struct {
client string
network string
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down Expand Up @@ -86,7 +85,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
consensus:
stop_grace_period: 30s
Expand Down Expand Up @@ -33,7 +32,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down Expand Up @@ -86,7 +85,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down Expand Up @@ -86,7 +85,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down Expand Up @@ -72,7 +71,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down Expand Up @@ -86,7 +85,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.9"
services:
execution:
stop_grace_period: 30s
Expand Down Expand Up @@ -86,7 +85,7 @@ services:
- --target-peers=${CC_PEER_COUNT}
- --execution-endpoints=${EC_AUTH_URL}
- --execution-jwt=/tmp/jwt/jwtsecret
- --eth1=${EC_API_URL}
- --eth1
- --debug-level=${CC_LOG_LEVEL}
- --suggested-fee-recipient=${FEE_RECIPIENT}
- --validator-monitor-auto
Expand Down
Loading