@@ -106,24 +106,7 @@ func (kpr *Keyper) Start(ctx context.Context, runner service.Runner) error {
106
106
messageSender .AddMessageHandler (& DecryptionKeysHandler {kpr .dbpool })
107
107
messagingMiddleware := NewMessagingMiddleware (messageSender , kpr .dbpool , kpr .config )
108
108
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 )
127
110
if err != nil {
128
111
return errors .Wrap (err , "can't instantiate keyper core" )
129
112
}
@@ -179,6 +162,28 @@ func (kpr *Keyper) Start(ctx context.Context, runner service.Runner) error {
179
162
return runner .StartService (kpr .core , kpr .chainSyncClient , kpr .slotTicker , kpr .eonKeyPublisher )
180
163
}
181
164
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
+
182
187
// initSequencerSycer initializes the sequencer syncer if the keyper is known to be a member of a
183
188
// keyper set. Otherwise, the syncer will only be initialized once such a keyper set is observed to
184
189
// be added, as only then we will know which eon(s) we are responsible for.
0 commit comments