diff --git a/go.mod b/go.mod index 5f01449..00db2a1 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.24 require ( github.com/attestantio/go-builder-client v0.6.1 - github.com/attestantio/go-eth2-client v0.24.0 + github.com/attestantio/go-eth2-client v0.25.1-0.20250603135601-6ac0bfda7fda github.com/consensys/gnark-crypto v0.16.0 github.com/ethereum/go-ethereum v1.15.2 github.com/stretchr/testify v1.10.0 @@ -49,3 +49,5 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect rsc.io/tmplfunc v0.0.3 // indirect ) + +replace github.com/attestantio/go-builder-client => github.com/bharath-123/go-builder-client v0.0.0-20250626135301-b3bfa7d447a0 diff --git a/go.sum b/go.sum index 11d5fa5..6257fcd 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,9 @@ github.com/VictoriaMetrics/fastcache v1.12.2 h1:N0y9ASrJ0F6h0QaC3o6uJb3NIZ9VKLjCM7NQbSmF7WI= github.com/VictoriaMetrics/fastcache v1.12.2/go.mod h1:AmC+Nzz1+3G2eCPapF6UcsnkThDcMsQicp4xDukwJYI= -github.com/attestantio/go-builder-client v0.6.1 h1:fn6PC8aDWx2YbptstR1JKP8NyakiNJJTiOE5f9N0z5Q= -github.com/attestantio/go-builder-client v0.6.1/go.mod h1:f8wi3HzuPxfJoi2PirpJK3yZhte4SavDgKJbRrKoB1Q= -github.com/attestantio/go-eth2-client v0.24.0 h1:lGVbcnhlBwRglt1Zs56JOCgXVyLWKFZOmZN8jKhE7Ws= -github.com/attestantio/go-eth2-client v0.24.0/go.mod h1:/KTLN3WuH1xrJL7ZZrpBoWM1xCCihnFbzequD5L+83o= +github.com/attestantio/go-eth2-client v0.25.1-0.20250603135601-6ac0bfda7fda h1:Wc7YGICtTWKNZvMjpIN/l6HKTj9POEU9N67NIWWWOk0= +github.com/attestantio/go-eth2-client v0.25.1-0.20250603135601-6ac0bfda7fda/go.mod h1:fvULSL9WtNskkOB4i+Yyr6BKpNHXvmpGZj9969fCrfY= +github.com/bharath-123/go-builder-client v0.0.0-20250626135301-b3bfa7d447a0 h1:GXOkX7tDTtfFJW0bdMXfMkMVIZElRsU+ig48J+5ZtHM= +github.com/bharath-123/go-builder-client v0.0.0-20250626135301-b3bfa7d447a0/go.mod h1:kF22wesT/Xu6gMEQ/sjXM0N/NRfE82kIXEzgBh3+ZA8= github.com/bits-and-blooms/bitset v1.20.0 h1:2F+rfL86jE2d/bmw7OhqUg2Sj/1rURkBn3MdfoPyRVU= github.com/bits-and-blooms/bitset v1.20.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= diff --git a/utils/utils.go b/utils/utils.go index 2235632..bd6c7fe 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -150,6 +150,17 @@ func PayloadToPayloadHeader(payload *api.VersionedExecutionPayload) (*api.Versio Version: spec.DataVersionElectra, Electra: header, }, nil + case spec.DataVersionFulu: + // Fulu uses the same ExecutionPayload as Deneb + header, err := denebPayloadToPayloadHeader(payload.Fulu) + if err != nil { + return nil, err + } + + return &api.VersionedExecutionPayloadHeader{ + Version: spec.DataVersionFulu, + Fulu: header, + }, nil case spec.DataVersionUnknown, spec.DataVersionPhase0, spec.DataVersionAltair: return nil, fmt.Errorf("%w: %d", ErrUnsupportedVersion, payload.Version) default: @@ -301,6 +312,13 @@ func ComputeBlockHash(payload *api.VersionedExecutionPayload, parentBeaconRoot * return phase0.Hash32{}, err } return phase0.Hash32(header.Hash()), nil + case spec.DataVersionFulu: + // Fulu uses the same ExecutionPayload as Deneb + header, err := denebExecutionPayloadToBlockHeader(payload.Fulu, parentBeaconRoot) + if err != nil { + return phase0.Hash32{}, err + } + return phase0.Hash32(header.Hash()), nil case spec.DataVersionPhase0, spec.DataVersionAltair: return phase0.Hash32{}, fmt.Errorf("%w: %d", ErrUnsupportedVersion, payload.Version) case spec.DataVersionUnknown: