1
+ use std:: time:: Duration ;
2
+
1
3
use clap:: Parser ;
2
4
use config:: { builder:: DefaultState , ConfigBuilder } ;
3
5
use libp2p:: Multiaddr ;
@@ -23,6 +25,10 @@ pub struct SignerCommand {
23
25
/// Aggregator endpoint URL.
24
26
#[ clap( long, env = "AGGREGATOR_ENDPOINT" ) ]
25
27
aggregator_endpoint : String ,
28
+
29
+ /// Interval at which a signer registration should be repeated in milliseconds (defaults to 1 hour)
30
+ #[ clap( long, env = "SIGNER_REPEATER_DELAY" , default_value_t = 3_600 * 1_000 ) ]
31
+ signer_repeater_delay : u64 ,
26
32
}
27
33
28
34
impl SignerCommand {
@@ -32,8 +38,15 @@ impl SignerCommand {
32
38
let dial_to = self . dial_to . to_owned ( ) ;
33
39
let addr: Multiaddr = format ! ( "/ip4/0.0.0.0/tcp/{}" , self . listen_port) . parse ( ) ?;
34
40
let aggregator_endpoint = self . aggregator_endpoint . to_owned ( ) ;
35
-
36
- let mut relay = SignerRelay :: start ( & addr, & server_port, & aggregator_endpoint) . await ?;
41
+ let signer_repeater_delay = Duration :: from_millis ( self . signer_repeater_delay ) ;
42
+
43
+ let mut relay = SignerRelay :: start (
44
+ & addr,
45
+ & server_port,
46
+ & aggregator_endpoint,
47
+ & signer_repeater_delay,
48
+ )
49
+ . await ?;
37
50
if let Some ( dial_to_address) = dial_to {
38
51
relay. dial_peer ( dial_to_address. clone ( ) ) ?;
39
52
}
0 commit comments