Skip to content

Commit 5ab0183

Browse files
jtragliametachrismikemillaa0xTylerHolmesohko4711
authored
v1.9 (#776)
* v1.8.2-dev * fix CONTRIBUTING lint path (#683) * Update linters and fix issues (#707) * Update main.go (#706) * chore: add `.env.example` (#696) * chore(git): add *.env, !.env.example to .gitignore * chore: .env.example * docs: fix invalid link in the document (#690) * Release the RISC-V binary. (#682) Part of #681. * Add support for Electra (#651) * Replace go-*-client deps with electra forks * Add processElectraPayload * Run make fmt * Replace Exits with WithdrawRequests * Rename WithdrawRequest to WithdrawalRequest * Run go mod tidy * Use go-*-client@electra * Upgrade go-eth2-client * update deps * Add t.Helper() call * Add back nolint comment * Replace attestantio/go-*-client deps * Fix accidental change * Update go-boost-utils * Update go-eth2-client for alpha.7 support * Fix mistake * Update & reverse payload decoding order * Revert decoding order & add replacements * Update go-eth2-client * Update go-builder-client * Modify processElectraPayload to use a channel (#704) * server: refactor processElectraPayload (#703) * Update go-eth2-client to latest electra commit * Remove nolint:canonicalheader comments * Disable canonicalheader linter --------- Co-authored-by: avalonche <[email protected]> Co-authored-by: Tyler <[email protected]> * Update golang to 1.23 (#717) * Update linter tools (#718) * Update dependencies (#716) * Update go-ethereum to v1.14.13 * Update go-utils to v0.8.3 * Update uint256 to v1.3.2 * Update testify to v1.10.0 * Update urfave/cli/v3 to v3.0.0-beta1 * Update go-bitfield to v0.0.0-20240618144021-706c95b2dd15 * Bump golang.org/x/crypto from 0.23.0 to 0.31.0 (#714) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.31.0. - [Commits](golang/crypto@v0.23.0...v0.31.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Minor cleanup (#715) * server: refactor bidRespKey * server: split http handling and functionality * Fix versionFlag to output to stdout (#710) * Fix versionFlag to output to stdout * Write version with fmt.Fprintf(cmd.Writer, ...) --------- Co-authored-by: Justin Traglia <[email protected]> Co-authored-by: Justin Traglia <[email protected]> * server: split http handling and functionality (part2) (#721) * server: split out logger preparation (#722) * server: make processPayload generic (#723) * server: re-add capella types (#724) * server: re-add capella types * Remove unnecessary type arguments * Add missing verifyBlockhash for electra --------- Co-authored-by: Justin Traglia <[email protected]> * server: re-add bellatrix support (#725) * server: re-add bellatrix support * Remove unnecessary type arguments * server: refactor TestGetPayloadFork tests (#726) * server: refactor getPayloadForks tests * server: remove old tests * server: add nolint directive * server: remove duplicate tests * server: tiny refactor * server: tiny refactor * server: tiny refactor * server: refactor tests again * Rename denebHeader & add comment --------- Co-authored-by: Justin Traglia <[email protected]> * Fix various nits (#728) * Make error message better * Use phase0.Slot type for slots * Do a little clean up in service * Rename "_slot" to "slot" * Clean up getHeader function * Do some clean up in functionality * Split functionality.go into get_{header,payload}.go (#730) * Use consistent capitalization for log messages (#732) * Add fixes to SendHTTPRequest (#735) * add missing error check * move error check and use the same format for header comments * Bump github.com/ethereum/go-ethereum from 1.14.13 to 1.15.0 (#737) Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.14.13 to 1.15.0. - [Release notes](https://github.com/ethereum/go-ethereum/releases) - [Commits](ethereum/go-ethereum@v1.14.13...v1.15.0) --- updated-dependencies: - dependency-name: github.com/ethereum/go-ethereum dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Forward validator registrations without decoding (#733) * Bump github.com/ethereum/go-ethereum from 1.15.0 to 1.15.1 (#740) Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.15.0 to 1.15.1. - [Release notes](https://github.com/ethereum/go-ethereum/releases) - [Commits](ethereum/go-ethereum@v1.15.0...v1.15.1) --- updated-dependencies: - dependency-name: github.com/ethereum/go-ethereum dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add SSZ tests for registerValidator (#741) * Add SSZ tests for registerValidator * Simplify conditional * Fix a flakey test * Remove support for relay monitors (#739) * Remove support for relay monitors * Remove blocknative relay from example * Add getHeader SSZ support (#734) * docs: fix Rémy Roy's guide link in README.md (#744) * docs: fix Rémy Roy's guide link in README.md * Update README.md Co-authored-by: Marius van der Wijden <[email protected]> --------- Co-authored-by: Marius van der Wijden <[email protected]> * Bump github.com/ethereum/go-ethereum from 1.15.1 to 1.15.2 (#743) Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.15.1 to 1.15.2. - [Release notes](https://github.com/ethereum/go-ethereum/releases) - [Commits](ethereum/go-ethereum@v1.15.1...v1.15.2) --- updated-dependencies: - dependency-name: github.com/ethereum/go-ethereum dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/attestantio/go-builder-client (#745) * Add HeaderDateMilliseconds for improved request timing tracking (#748) - Introduce new HeaderDateMilliseconds constant in constants.go - Add HeaderDateMilliseconds to getHeader and processPayload methods - Mark HeaderStartTimeUnixMS as deprecated with a comment * Update dependencies (#755) * Upgrade to go 1.24 * Update dependencies * Update linters & fix complaints * Update go versions elsewhere * Add Hoodi testnet flag (#758) * Add hoodi flag to the CLI * Update docs * Add getPayload SSZ support (#742) * Start to add getPayload SSZ support * Add log for failed content parsing * Update go-builder-client * Properly parse getPayload response content type * s/relaysToRequestFrom/relays * Do a single SSZ to JSON conversion if necessary * Only use JSON if necessary * Simplify * Only do conversion if necessary * Bump version to v1.9-rc3 (#759) * Remove deprecated HeaderStartTimeUnixMS (#749) - Remove HeaderStartTimeUnixMS constant from constants.go - Remove HeaderStartTimeUnixMS from getHeader and processPayload methods - Fully transition to using HeaderDateMilliseconds for request timing Co-authored-by: Justin Traglia <[email protected]> * Add more logging to registerValidator (#768) * fix: JSON Content-Type for relay get payload w/o SSZ support (#769) * Update linters (#772) * Update linters & migrate golangci-lint config * Fix linter errors * Update all dependencies (#771) * Update version to v1.9 (#775) --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Chris Hager <[email protected]> Co-authored-by: Jonas Warlike <[email protected]> Co-authored-by: Tyler <[email protected]> Co-authored-by: richard <[email protected]> Co-authored-by: Lorenzo <[email protected]> Co-authored-by: guckool <[email protected]> Co-authored-by: Leonardo Arias <[email protected]> Co-authored-by: avalonche <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Marius van der Wijden <[email protected]> Co-authored-by: coincashew <[email protected]> Co-authored-by: Alexey Shekhirin <[email protected]> Co-authored-by: Alexander Tesfamichael <[email protected]> Co-authored-by: Jacob Kaufmann <[email protected]>
1 parent cb1b521 commit 5ab0183

35 files changed

+3068
-1119
lines changed

.env.example

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# General settings
2+
BOOST_LISTEN_ADDR=localhost:18550 # Listen address for mev-boost server
3+
4+
# Logging and debugging settings
5+
LOG_JSON=false # Set to true to log in JSON format instead of text
6+
DEBUG=false # Set to true to enable debug mode (shorthand for '--loglevel debug')
7+
LOG_LEVEL=info # Log level: trace, debug, info, warn/warning, error, fatal, panic
8+
LOG_SERVICE_TAG= # Optional: add a 'service=...' tag to all log messages
9+
DISABLE_LOG_VERSION=false # Set to true to disable logging the version
10+
11+
# Genesis settings
12+
GENESIS_FORK_VERSION= # Custom genesis fork version (optional)
13+
GENESIS_TIMESTAMP=-1 # Custom genesis timestamp (in unix seconds)
14+
MAINNET=true # Set to true to use Mainnet
15+
SEPOLIA=false # Set to true to use Sepolia network
16+
HOLESKY=false # Set to true to use Holesky network
17+
18+
# Relay settings
19+
RELAYS= # Relay URLs: single entry or comma-separated list (scheme://pubkey@host)
20+
MIN_BID_ETH=0 # Minimum bid to accept from a relay (in ETH)
21+
RELAY_STARTUP_CHECK=false # Set to true to check relay status on startup and on status API call
22+
23+
# Relay timeout settings (in ms)
24+
RELAY_TIMEOUT_MS_GETHEADER=950 # Timeout for getHeader requests to the relay (in ms)
25+
RELAY_TIMEOUT_MS_GETPAYLOAD=4000 # Timeout for getPayload requests to the relay (in ms)
26+
RELAY_TIMEOUT_MS_REGVAL=3000 # Timeout for registerValidator requests (in ms)
27+
28+
# Retry settings
29+
REQUEST_MAX_RETRIES=5 # Maximum number of retries for a relay get payload request

.github/workflows/lint.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Go
1818
uses: actions/setup-go@v3
1919
with:
20-
go-version: ^1.22.0
20+
go-version: ^1.24.0
2121
id: go
2222

2323
- name: Ensure go mod tidy runs without changes
@@ -27,13 +27,13 @@ jobs:
2727
git diff-index --quiet HEAD
2828
2929
- name: Install gofumpt
30-
run: go install mvdan.cc/gofumpt@v0.6.0
30+
run: go install mvdan.cc/gofumpt@v0.8.0
3131

3232
- name: Install staticcheck
33-
run: go install honnef.co/go/tools/cmd/staticcheck@v0.4.7
33+
run: go install honnef.co/go/tools/cmd/staticcheck@v0.6.1
3434

3535
- name: Install golangci-lint
36-
run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.56.1
36+
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.2
3737

3838
- name: Lint
3939
run: make lint

.github/workflows/release.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
- name: Set up Go
7272
uses: actions/setup-go@v3
7373
with:
74-
go-version: ^1.22
74+
go-version: ^1.24
7575
- name: Run GoReleaser
7676
uses: goreleaser/goreleaser-action@v3
7777
with:
@@ -81,7 +81,7 @@ jobs:
8181
env:
8282
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8383
- name: Upload
84-
uses: actions/upload-artifact@v3
84+
uses: actions/upload-artifact@v4
8585
with:
8686
name: mev-boost-build
8787
path: |
@@ -101,12 +101,12 @@ jobs:
101101
- name: Set up Go
102102
uses: actions/setup-go@v3
103103
with:
104-
go-version: ^1.22
104+
go-version: ^1.24
105105
- name: Make directories
106106
run: |
107107
mkdir -p ./build
108108
- name: Download binaries
109-
uses: actions/download-artifact@v3
109+
uses: actions/download-artifact@v4
110110
with:
111111
name: mev-boost-build
112112
path: ./build

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Set up Go
1515
uses: actions/setup-go@v3
1616
with:
17-
go-version: ^1.22
17+
go-version: ^1.24
1818
id: go
1919

2020
- name: Checkout sources

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,9 @@
2727
.vscode/
2828
/README.internal.md
2929
/validator_data.json
30-
/build/
30+
/build/
31+
32+
# Environemnt variable files
33+
.env*
34+
!.env.example
35+

.golangci.yml

Lines changed: 58 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,76 @@
1+
version: "2"
12
linters:
2-
enable-all: true
3+
default: all
34
disable:
5+
- canonicalheader
6+
- contextcheck
7+
- copyloopvar
8+
- cyclop
9+
- depguard
410
- dupl
511
- exhaustruct
12+
- funcorder
613
- funlen
714
- gochecknoglobals
815
- gochecknoinits
16+
- gocognit
17+
- goconst
918
- gocritic
1019
- godot
1120
- godox
12-
- gomnd
21+
- gosec
22+
- intrange
23+
- ireturn
1324
- lll
25+
- maintidx
26+
- mnd
27+
- musttag
1428
- nlreturn
29+
- noctx
1530
- nonamedreturns
16-
- nosnakecase
1731
- paralleltest
18-
- testpackage
19-
- varnamelen
20-
- wrapcheck
21-
- wsl
22-
- musttag
23-
- depguard
24-
25-
#
26-
# Maybe fix later:
27-
#
28-
- cyclop
29-
- gocognit
30-
- goconst
31-
- gosec
32-
- ireturn
33-
- noctx
34-
- tagliatelle
3532
- perfsprint
36-
37-
#
38-
# Disabled because of generics:
39-
#
40-
- contextcheck
4133
- rowserrcheck
4234
- sqlclosecheck
43-
- structcheck
35+
- tagliatelle
36+
- testpackage
37+
- varnamelen
4438
- wastedassign
45-
46-
#
47-
# Disabled because deprecated:
48-
#
49-
- deadcode
50-
- exhaustivestruct
51-
- golint
52-
- ifshort
53-
- interfacer
54-
- maligned
55-
- scopelint
56-
- varcheck
57-
58-
linters-settings:
59-
gofumpt:
60-
extra-rules: true
61-
govet:
62-
enable-all: true
63-
disable:
64-
- fieldalignment
65-
- shadow
66-
67-
output:
68-
print-issued-lines: true
69-
sort-results: true
39+
- wrapcheck
40+
- wsl
41+
settings:
42+
gomoddirectives:
43+
replace-allow-list:
44+
- github.com/attestantio/go-builder-client
45+
- github.com/attestantio/go-eth2-client
46+
govet:
47+
disable:
48+
- fieldalignment
49+
- shadow
50+
enable-all: true
51+
exclusions:
52+
generated: lax
53+
presets:
54+
- comments
55+
- common-false-positives
56+
- legacy
57+
- std-error-handling
58+
paths:
59+
- third_party$
60+
- builtin$
61+
- examples$
62+
formatters:
63+
enable:
64+
- gci
65+
- gofmt
66+
- gofumpt
67+
- goimports
68+
settings:
69+
gofumpt:
70+
extra-rules: true
71+
exclusions:
72+
generated: lax
73+
paths:
74+
- third_party$
75+
- builtin$
76+
- examples$

.goreleaser-build.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,9 @@ builds:
2222
goarch:
2323
- amd64
2424
- arm64
25+
- riscv64
26+
ignore:
27+
- goos: darwin
28+
goarch: riscv64
29+
- goos: windows
30+
goarch: riscv64

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Please start by reading our [code of conduct](CODE_OF_CONDUCT.md).
66

77
## Set up
88

9-
Install a few dev dependencies for `make lint`: https://github.com/flashbots/mev-boost/blob/go122/.github/workflows/lint.yml#L29-L37
9+
Install a few dev dependencies for `make lint`: https://github.com/flashbots/mev-boost/blob/develop/.github/workflows/lint.yml#L29-L37
1010

1111
Look at the [README for instructions to install the dependencies and build `mev-boost`](README.md#installing)
1212

@@ -16,10 +16,10 @@ Alternatively, run mev-boost without build step:
1616
go run . -h
1717

1818
# Run mev-boost
19-
./mev-boost -goerli -relay-check -relay URL-OF-TRUSTED-RELAY
19+
./mev-boost -hoodi -relay-check -relay URL-OF-TRUSTED-RELAY
2020
```
2121

22-
Note that you'll need to set the correct genesis fork version (either manually with `-genesis-fork-version` or a helper flag `-mainnet`/`-goerli`/`-sepolia`/`-holesky`).
22+
Note that you'll need to set the correct genesis fork version (either manually with `-genesis-fork-version` or a helper flag `-mainnet`/`-sepolia`/`-holesky`/`-hoodi`).
2323

2424
## Test
2525

@@ -37,7 +37,7 @@ test-cli is a utility to run through all the proposer requests against mev-boost
3737

3838
Mergemock is fully integrated: https://github.com/protolambda/mergemock
3939

40-
Make sure you've setup and built mergemock first, refer to its [README](https://github.com/flashbots/mergemock#quick-start) but here's a quick setup guide:
40+
Make sure you've setup and built mergemock first, refer to its [README](https://github.com/protolambda/mergemock/blob/master/README.md) but here's a quick setup guide:
4141

4242
```bash
4343
git clone https://github.com/protolambda/mergemock.git

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile:1
2-
FROM golang:1.22 as builder
2+
FROM golang:1.24 as builder
33
ARG VERSION
44
WORKDIR /build
55

README.md

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ See also:
4848
- [Systemd configuration](#systemd-configuration)
4949
- [Usage](#usage)
5050
- [Mainnet](#mainnet)
51-
- [Goerli testnet](#goerli-testnet)
5251
- [Sepolia testnet](#sepolia-testnet)
5352
- [Holesky testnet](#holesky-testnet)
53+
- [Hoodi testnet](#hoodi-testnet)
5454
- [`test-cli`](#test-cli)
5555
- [mev-boost cli arguments](#mev-boost-cli-arguments)
5656
- [API](#api)
@@ -78,7 +78,7 @@ Read more in [Why run MEV-Boost?](https://writings.flashbots.net/why-run-mevboos
7878

7979
The most common setup is to install MEV-Boost on the same machine as the beacon client. Multiple beacon-clients can use a single MEV-Boost instance. The default port is 18550.
8080

81-
See also [Rémy Roy's guide](https://github.com/remyroy/ethstaker/blob/main/prepare-for-the-merge.md#installing-mev-boost) for comprehensive instructions on installing, configuring and running MEV-Boost.
81+
See also [Rémy Roy's guide](https://github.com/eth-educators/ethstaker-guides/blob/main/docs/prepare-for-the-merge.md#installing-mev-boost) for comprehensive instructions on installing, configuring and running MEV-Boost.
8282

8383
## Binaries
8484

@@ -196,14 +196,6 @@ Run MEV-Boost pointed at a mainnet relay:
196196
./mev-boost -relay-check -relay URL-OF-TRUSTED-RELAY
197197
```
198198

199-
## Goerli testnet
200-
201-
Run MEV-Boost pointed at a Goerli relay:
202-
203-
```
204-
./mev-boost -goerli -relay-check -relay URL-OF-TRUSTED-RELAY
205-
```
206-
207199
## Sepolia testnet
208200

209201
Run MEV-Boost pointed at a Sepolia relay:
@@ -220,6 +212,14 @@ Run MEV-Boost pointed at a Holesky relay:
220212
./mev-boost -holesky -relay-check -relay URL-OF-TRUSTED-RELAY
221213
```
222214

215+
## Hoodi testnet
216+
217+
Run MEV-Boost pointed at a Hoodi relay:
218+
219+
```
220+
./mev-boost -hoodi -relay-check -relay URL-OF-TRUSTED-RELAY
221+
```
222+
223223
## `test-cli`
224224

225225
`test-cli` is a utility to execute all proposer requests against MEV-Boost + relay. See also the [test-cli readme](cmd/test-cli/README.md).
@@ -238,10 +238,10 @@ Usage of mev-boost:
238238
shorthand for '-loglevel debug'
239239
-genesis-fork-version string
240240
use a custom genesis fork version
241-
-goerli
242-
use Goerli
243241
-holesky
244242
use Holesky
243+
-hoodi
244+
use Hoodi
245245
-json
246246
log in JSON format instead of text
247247
-log-no-version
@@ -258,10 +258,6 @@ Usage of mev-boost:
258258
a single relay, can be specified multiple times
259259
-relay-check
260260
check relay status on startup and on the status API call
261-
-relay-monitor value
262-
a single relay monitor, can be specified multiple times
263-
-relay-monitors string
264-
relay monitor urls - single entry or comma-separated list (scheme://host)
265261
-relays string
266262
relay urls - single entry or comma-separated list (scheme://pubkey@host)
267263
-request-timeout-getheader int

0 commit comments

Comments
 (0)