Skip to content

Commit

Permalink
pr comments
Browse files Browse the repository at this point in the history
  • Loading branch information
avalonche committed Jul 28, 2023
1 parent 7a2f9f8 commit 8547527
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 55 deletions.
4 changes: 4 additions & 0 deletions services/api/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ var (
ErrBuilderAPIWithoutSecretKey = errors.New("cannot start builder API without secret key")
ErrMismatchedForkVersions = errors.New("can not find matching fork versions as retrieved from beacon node")
ErrMissingForkVersions = errors.New("invalid fork version from beacon node")
ErrNegativeTimestamp = errors.New("timestamp cannot be negative")
)

var (
Expand Down Expand Up @@ -939,6 +940,9 @@ func (api *RelayAPI) handleRegisterValidator(w http.ResponseWriter, req *http.Re
if err != nil {
return nil, fmt.Errorf("invalid timestamp: %w", err)
}
if timestamp < 0 {
return nil, ErrNegativeTimestamp
}

// GasLimit
_gasLimit, err := jsonparser.GetUnsafeString(value, "message", "gas_limit")
Expand Down
55 changes: 0 additions & 55 deletions services/api/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ import (
"github.com/stretchr/testify/require"
)

// var builderSigningDomain = phase0.Domain([32]byte{0, 0, 0, 1, 245, 165, 253, 66, 209, 106, 32, 48, 39, 152, 239, 110, 211, 9, 151, 155, 67, 0, 61, 35, 32, 217, 240, 232, 234, 152, 49, 169})

type testBackend struct {
t require.TestingT
relay *RelayAPI
Expand Down Expand Up @@ -209,65 +207,12 @@ func TestLivez(t *testing.T) {
func TestRegisterValidator(t *testing.T) {
path := "/eth/v1/builder/validators"

// t.Run("Normal function", func(t *testing.T) {
// backend := newTestBackend(t, 1)
// pubkeyHex := common.ValidPayloadRegisterValidator.Message.Pubkey.PubkeyHex()
// index := uint64(17)
// err := backend.redis.SetKnownValidator(pubkeyHex, index)
// require.NoError(t, err)

// // Update datastore
// _, err = backend.datastore.RefreshKnownValidators()
// require.NoError(t, err)
// require.True(t, backend.datastore.IsKnownValidator(pubkeyHex))
// pkH, ok := backend.datastore.GetKnownValidatorPubkeyByIndex(index)
// require.True(t, ok)
// require.Equal(t, pubkeyHex, pkH)

// payload := []apiv1.SignedValidatorRegistration{common.ValidPayloadRegisterValidator}
// rr := backend.request(http.MethodPost, path, payload)
// require.Equal(t, http.StatusOK, rr.Code)
// time.Sleep(20 * time.Millisecond) // registrations are processed asynchronously

// isKnown := backend.datastore.IsKnownValidator(pubkeyHex)
// require.True(t, isKnown)
// })

t.Run("not a known validator", func(t *testing.T) {
backend := newTestBackend(t, 1)

rr := backend.request(http.MethodPost, path, []apiv1.SignedValidatorRegistration{common.ValidPayloadRegisterValidator})
require.Equal(t, http.StatusBadRequest, rr.Code)
})

// t.Run("Reject registration for >10sec into the future", func(t *testing.T) {
// backend := newTestBackend(t, 1)

// // Allow +10 sec
// td := uint64(time.Now().Unix())
// payload, err := generateSignedValidatorRegistration(nil, bellatrix.ExecutionAddress{1}, td+10)
// require.NoError(t, err)
// err = backend.redis.SetKnownValidator(payload.Message.Pubkey.PubkeyHex(), 1)
// require.NoError(t, err)
// _, err = backend.datastore.RefreshKnownValidators()
// require.NoError(t, err)

// rr := backend.request(http.MethodPost, path, []apiv1.SignedValidatorRegistration{*payload})
// require.Equal(t, http.StatusOK, rr.Code, rr.Body.String())

// // Disallow +11 sec
// td = uint64(time.Now().Unix())
// payload, err = generateSignedValidatorRegistration(nil, bellatrix.ExecutionAddress{1}, td+12)
// require.NoError(t, err)
// err = backend.redis.SetKnownValidator(payload.Message.Pubkey.PubkeyHex(), 1)
// require.NoError(t, err)
// _, err = backend.datastore.RefreshKnownValidators()
// require.NoError(t, err)

// rr = backend.request(http.MethodPost, path, []apiv1.SignedValidatorRegistration{*payload})
// require.Equal(t, http.StatusBadRequest, rr.Code)
// require.Contains(t, rr.Body.String(), "timestamp too far in the future")
// })
}

func TestGetHeader(t *testing.T) {
Expand Down

0 comments on commit 8547527

Please sign in to comment.