Skip to content

Commit 0d7a580

Browse files
authored
Merge pull request #474 from shutter-network/lint_fixes
Lint fixes
2 parents 42936dd + a5f0a2d commit 0d7a580

File tree

5 files changed

+56
-24
lines changed

5 files changed

+56
-24
lines changed

rolling-shutter/contract/deployment/deployment.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,12 @@ func (c *Contracts) getDeployment(name string) (*Deployment, error) {
248248
}
249249

250250
func publishDeploymentMetric(d *Deployment) {
251-
metricsContractDeploymentInfo.WithLabelValues(d.Name, d.Address.String(), strconv.FormatUint(d.ChainID, 10), strconv.FormatUint(d.DeployBlockNumber, 10)).Set(1)
251+
metricsContractDeploymentInfo.WithLabelValues(
252+
d.Name,
253+
d.Address.String(),
254+
strconv.FormatUint(d.ChainID, 10),
255+
strconv.FormatUint(d.DeployBlockNumber, 10),
256+
).Set(1)
252257
}
253258

254259
func LoadDeployments(dir string) (*Deployments, error) {

rolling-shutter/keyper/epochkghandler/key.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/pkg/errors"
1212
"github.com/rs/zerolog/log"
1313

14+
"github.com/shutter-network/shutter/shlib/puredkg"
1415
"github.com/shutter-network/shutter/shlib/shcrypto"
1516

1617
"github.com/shutter-network/rolling-shutter/rolling-shutter/keyper/database"
@@ -72,9 +73,19 @@ func (handler *DecryptionKeyHandler) ValidateMessage(ctx context.Context, msg p2
7273
return pubsub.ValidationReject, errors.New("no keys in message")
7374
}
7475
if len(key.Keys) > int(handler.config.GetMaxNumKeysPerMessage()) {
75-
return pubsub.ValidationReject, errors.Errorf("too many keys in message (%d > %d)", len(key.Keys), handler.config.GetMaxNumKeysPerMessage())
76+
return pubsub.ValidationReject, errors.Errorf(
77+
"too many keys in message (%d > %d)",
78+
len(key.Keys),
79+
handler.config.GetMaxNumKeysPerMessage(),
80+
)
7681
}
77-
for i, k := range key.Keys {
82+
83+
validationResult, err := checkKeysErrors(key.Keys, pureDKGResult)
84+
return validationResult, err
85+
}
86+
87+
func checkKeysErrors(keys []*p2pmsg.Key, pureDKGResult *puredkg.Result) (pubsub.ValidationResult, error) {
88+
for i, k := range keys {
7889
epochSecretKey, err := k.GetEpochSecretKey()
7990
if err != nil {
8091
return pubsub.ValidationReject, err
@@ -87,7 +98,7 @@ func (handler *DecryptionKeyHandler) ValidateMessage(ctx context.Context, msg p2
8798
return pubsub.ValidationReject, errors.Errorf("epoch secret key for identity %x is not valid", k.Identity)
8899
}
89100

90-
if i > 0 && bytes.Compare(k.Identity, key.Keys[i-1].Identity) < 0 {
101+
if i > 0 && bytes.Compare(k.Identity, keys[i-1].Identity) < 0 {
91102
return pubsub.ValidationReject, errors.Errorf("keys not ordered")
92103
}
93104
}

rolling-shutter/keyper/epochkghandler/keyshare.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,18 @@ func (handler *DecryptionKeyShareHandler) ValidateMessage(ctx context.Context, m
7474
return pubsub.ValidationReject, errors.New("no key shares in message")
7575
}
7676
if len(keyShare.Shares) > int(handler.config.GetMaxNumKeysPerMessage()) {
77-
return pubsub.ValidationReject, errors.Errorf("too many key shares in message (%d > %d)", len(keyShare.Shares), handler.config.GetMaxNumKeysPerMessage())
77+
return pubsub.ValidationReject, errors.Errorf(
78+
"too many key shares in message (%d > %d)",
79+
len(keyShare.Shares),
80+
handler.config.GetMaxNumKeysPerMessage(),
81+
)
7882
}
83+
84+
validationResult, err := checkKeyShares(keyShare, pureDKGResult)
85+
return validationResult, err
86+
}
87+
88+
func checkKeyShares(keyShare *p2pmsg.DecryptionKeyShares, pureDKGResult *puredkg.Result) (pubsub.ValidationResult, error) {
7989
shares := keyShare.GetShares()
8090
for i, share := range shares {
8191
epochSecretKeyShare, err := share.GetEpochSecretKeyShare()

rolling-shutter/keyperimpl/gnosis/keyper.go

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -102,24 +102,7 @@ func (kpr *Keyper) Start(ctx context.Context, runner service.Runner) error {
102102
messageSender.AddMessageHandler(&DecryptionKeysHandler{kpr.dbpool})
103103
messagingMiddleware := NewMessagingMiddleware(messageSender, kpr.dbpool, kpr.config)
104104

105-
kpr.core, err = keyper.New(
106-
&kprconfig.Config{
107-
InstanceID: kpr.config.InstanceID,
108-
DatabaseURL: kpr.config.DatabaseURL,
109-
HTTPEnabled: kpr.config.HTTPEnabled,
110-
HTTPListenAddress: kpr.config.HTTPListenAddress,
111-
P2P: kpr.config.P2P,
112-
Ethereum: kpr.config.Gnosis.Node,
113-
Shuttermint: kpr.config.Shuttermint,
114-
Metrics: kpr.config.Metrics,
115-
MaxNumKeysPerMessage: kpr.config.MaxNumKeysPerMessage,
116-
},
117-
kpr.decryptionTriggerChannel,
118-
keyper.WithDBPool(kpr.dbpool),
119-
keyper.NoBroadcastEonPublicKey(),
120-
keyper.WithEonPublicKeyHandler(kpr.channelNewEonPublicKey),
121-
keyper.WithMessaging(messagingMiddleware),
122-
)
105+
kpr.core, err = NewKeyper(kpr, messagingMiddleware)
123106
if err != nil {
124107
return errors.Wrap(err, "can't instantiate keyper core")
125108
}
@@ -175,6 +158,28 @@ func (kpr *Keyper) Start(ctx context.Context, runner service.Runner) error {
175158
return runner.StartService(kpr.core, kpr.chainSyncClient, kpr.slotTicker, kpr.eonKeyPublisher)
176159
}
177160

161+
func NewKeyper(kpr *Keyper, messagingMiddleware *MessagingMiddleware) (*keyper.KeyperCore, error) {
162+
core, err := keyper.New(
163+
&kprconfig.Config{
164+
InstanceID: kpr.config.InstanceID,
165+
DatabaseURL: kpr.config.DatabaseURL,
166+
HTTPEnabled: kpr.config.HTTPEnabled,
167+
HTTPListenAddress: kpr.config.HTTPListenAddress,
168+
P2P: kpr.config.P2P,
169+
Ethereum: kpr.config.Gnosis.Node,
170+
Shuttermint: kpr.config.Shuttermint,
171+
Metrics: kpr.config.Metrics,
172+
MaxNumKeysPerMessage: kpr.config.MaxNumKeysPerMessage,
173+
},
174+
kpr.decryptionTriggerChannel,
175+
keyper.WithDBPool(kpr.dbpool),
176+
keyper.NoBroadcastEonPublicKey(),
177+
keyper.WithEonPublicKeyHandler(kpr.channelNewEonPublicKey),
178+
keyper.WithMessaging(messagingMiddleware),
179+
)
180+
return core, err
181+
}
182+
178183
// initSequencerSycer initializes the sequencer syncer if the keyper is known to be a member of a
179184
// keyper set. Otherwise, the syncer will only be initialized once such a keyper set is observed to
180185
// be added, as only then we will know which eon(s) we are responsible for.

rolling-shutter/p2p/params.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ func makePubSubParams(
1919
gossipSubParams := &gsDefault
2020

2121
// modified defaults from ethereum consensus spec
22-
// https://github.com/ethereum/consensus-specs/blob/5d80b1954a4b7a121aa36143d50b366727b66cbc/specs/phase0/p2p-interface.md#why-are-these-specific-gossip-parameters-chosen //nolint:lll
22+
// https://github.com/ethereum/consensus-specs/blob/5d80b1954a4b7a121aa36143d50b366727b66cbc/\
23+
// specs/phase0/p2p-interface.md#why-are-these-specific-gossip-parameters-chosen //nolint:lll
2324
gossipSubParams.HeartbeatInterval = 700 * time.Millisecond
2425
gossipSubParams.HistoryLength = 6
2526

0 commit comments

Comments
 (0)