Skip to content

Commit e9a5b1c

Browse files
committed
Factor out keyper instantiation
1 parent 925a119 commit e9a5b1c

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

rolling-shutter/keyperimpl/gnosis/keyper.go

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

109-
kpr.core, err = keyper.New(
110-
&kprconfig.Config{
111-
InstanceID: kpr.config.InstanceID,
112-
DatabaseURL: kpr.config.DatabaseURL,
113-
HTTPEnabled: kpr.config.HTTPEnabled,
114-
HTTPListenAddress: kpr.config.HTTPListenAddress,
115-
P2P: kpr.config.P2P,
116-
Ethereum: kpr.config.Gnosis.Node,
117-
Shuttermint: kpr.config.Shuttermint,
118-
Metrics: kpr.config.Metrics,
119-
MaxNumKeysPerMessage: kpr.config.MaxNumKeysPerMessage,
120-
},
121-
kpr.decryptionTriggerChannel,
122-
keyper.WithDBPool(kpr.dbpool),
123-
keyper.NoBroadcastEonPublicKey(),
124-
keyper.WithEonPublicKeyHandler(kpr.channelNewEonPublicKey),
125-
keyper.WithMessaging(messagingMiddleware),
126-
)
109+
kpr.core, err = NewKeyper(kpr, messagingMiddleware)
127110
if err != nil {
128111
return errors.Wrap(err, "can't instantiate keyper core")
129112
}
@@ -179,6 +162,28 @@ func (kpr *Keyper) Start(ctx context.Context, runner service.Runner) error {
179162
return runner.StartService(kpr.core, kpr.chainSyncClient, kpr.slotTicker, kpr.eonKeyPublisher)
180163
}
181164

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

0 commit comments

Comments
 (0)