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

Reverse broadcast-slashing flag to disable-broadcast-slashings #5952

Merged
merged 7 commits into from
May 22, 2020
4 changes: 2 additions & 2 deletions beacon-chain/rpc/beacon/slashings.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (bs *Server) SubmitProposerSlashing(
if err := bs.SlashingsPool.InsertProposerSlashing(ctx, beaconState, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not insert proposer slashing into pool: %v", err)
}
if featureconfig.Get().BroadcastSlashings {
if !featureconfig.Get().DisableBroadcastSlashings {
if err := bs.Broadcaster.Broadcast(ctx, req); err != nil {
return nil, err
}
Expand All @@ -48,7 +48,7 @@ func (bs *Server) SubmitAttesterSlashing(
if err := bs.SlashingsPool.InsertAttesterSlashing(ctx, beaconState, req); err != nil {
return nil, status.Errorf(codes.Internal, "Could not insert attester slashing into pool: %v", err)
}
if featureconfig.Get().BroadcastSlashings {
if !featureconfig.Get().DisableBroadcastSlashings {
if err := bs.Broadcaster.Broadcast(ctx, req); err != nil {
return nil, err
}
Expand Down
16 changes: 8 additions & 8 deletions beacon-chain/rpc/beacon/slashings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ import (
"github.com/prysmaticlabs/prysm/shared/testutil"
)

func TestServer_SubmitProposerSlashing(t *testing.T) {
func TestServer_SubmitProposerSlashing_DontBroadcast(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{DisableBroadcastSlashings: true})
defer resetCfg()
ctx := context.Background()
st, privs := testutil.DeterministicGenesisState(t, 64)
slashedVal, err := st.ValidatorAtIndex(5)
Expand Down Expand Up @@ -69,10 +71,8 @@ func TestServer_SubmitProposerSlashing(t *testing.T) {
}
}

func TestServer_SubmitProposerSlashingBroadcast(t *testing.T) {
func TestServer_SubmitProposerSlashing(t *testing.T) {
ctx := context.Background()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{BroadcastSlashings: true})
defer resetCfg()

st, privs := testutil.DeterministicGenesisState(t, 64)
slashedVal, err := st.ValidatorAtIndex(5)
Expand Down Expand Up @@ -111,7 +111,9 @@ func TestServer_SubmitProposerSlashingBroadcast(t *testing.T) {
}
}

func TestServer_SubmitAttesterSlashing(t *testing.T) {
func TestServer_SubmitAttesterSlashing_DontBroadcast(t *testing.T) {
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{DisableBroadcastSlashings: true})
defer resetCfg()
ctx := context.Background()
// We mark the validators at index 5, 6 as already slashed.
st, privs := testutil.DeterministicGenesisState(t, 64)
Expand Down Expand Up @@ -168,10 +170,8 @@ func TestServer_SubmitAttesterSlashing(t *testing.T) {
}
}

func TestServer_SubmitAttesterSlashingBroadcast(t *testing.T) {
func TestServer_SubmitAttesterSlashing(t *testing.T) {
ctx := context.Background()
resetCfg := featureconfig.InitWithReset(&featureconfig.Flags{BroadcastSlashings: true})
defer resetCfg()
// We mark the validators at index 5, 6 as already slashed.
st, privs := testutil.DeterministicGenesisState(t, 64)
slashedVal, err := st.ValidatorAtIndex(5)
Expand Down
10 changes: 5 additions & 5 deletions shared/featureconfig/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ type Flags struct {
// as the chain head. UNSAFE, use with caution.
DisableForkChoice bool

// BroadcastSlashings enables p2p broadcasting of proposer or attester slashing.
BroadcastSlashings bool
// DisableBroadcastSlashings disables p2p broadcasting of proposer and attester slashings.
DisableBroadcastSlashings bool
DisableHistoricalDetection bool // DisableHistoricalDetection disables historical attestation detection and performs detection on the chain head immediately.
DisableLookback bool // DisableLookback updates slasher to not use the lookback and update validator histories until epoch 0.

Expand Down Expand Up @@ -197,9 +197,9 @@ func ConfigureBeaconChain(ctx *cli.Context) {
log.Warn("Enabling state reference copy")
cfg.EnableStateRefCopy = true
}
if ctx.Bool(broadcastSlashingFlag.Name) {
log.Warn("Enabling broadcast slashing to p2p network")
cfg.BroadcastSlashings = true
if ctx.Bool(disableBroadcastSlashingFlag.Name) {
log.Warn("Disabling slashing broadcasting to p2p network")
cfg.DisableBroadcastSlashings = true
}
if ctx.Bool(skipRegenHistoricalStates.Name) {
log.Warn("Enabling skipping of historical states regen")
Expand Down
15 changes: 10 additions & 5 deletions shared/featureconfig/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ var (
Name: "dev",
Usage: "Enable experimental features still in development. These features may not be stable.",
}
broadcastSlashingFlag = &cli.BoolFlag{
Name: "broadcast-slashing",
Usage: "Broadcast slashings from slashing pool.",
disableBroadcastSlashingFlag = &cli.BoolFlag{
Name: "disable-broadcast-slashings",
Usage: "Disables broadcasting slashings submitted to the beacon node.",
}
minimalConfigFlag = &cli.BoolFlag{
Name: "minimal-config",
Expand Down Expand Up @@ -357,6 +357,11 @@ var (
Usage: deprecatedUsage,
Hidden: true,
}
deprecatedBroadcastSlashingFlag = &cli.BoolFlag{
Name: "broadcast-slashing",
Usage: deprecatedUsage,
Hidden: true,
}
)

var deprecatedFlags = []cli.Flag{
Expand Down Expand Up @@ -398,6 +403,7 @@ var deprecatedFlags = []cli.Flag{
deprecatedAccountMetricsFlag,
deprecatedEnableDomainDataCacheFlag,
deprecatedEnableByteMempool,
deprecatedBroadcastSlashingFlag,
}

// ValidatorFlags contains a list of all the feature flags that apply to the validator client.
Expand Down Expand Up @@ -444,7 +450,7 @@ var BeaconChainFlags = append(deprecatedFlags, []cli.Flag{
checkHeadState,
enableNoiseHandshake,
dontPruneStateStartUp,
broadcastSlashingFlag,
disableBroadcastSlashingFlag,
enableNewStateMgmt,
enableFieldTrie,
disableInitSyncBatchSaveBlocks,
Expand All @@ -464,5 +470,4 @@ var E2EBeaconChainFlags = []string{
"--enable-state-ref-copy",
"--enable-new-state-mgmt",
"--enable-init-sync-wrr",
"--broadcast-slashing",
}