@@ -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.
0 commit comments