@@ -16,7 +16,7 @@ use timeboost_config::{CERTIFIER_PORT_OFFSET, DECRYPTER_PORT_OFFSET, ParentChain
16
16
use timeboost_contract:: KeyManager :: { self , CommitteeCreated } ;
17
17
use timeboost_contract:: provider:: PubSubProvider ;
18
18
use timeboost_crypto:: prelude:: DkgEncKey ;
19
- use timeboost_types:: { KeyStore , Timestamp } ;
19
+ use timeboost_types:: { BlockNumber , KeyStore , Timestamp } ;
20
20
use tracing:: error;
21
21
use url:: Url ;
22
22
@@ -29,6 +29,7 @@ pub type NewCommitteeStream = Pin<Box<dyn Stream<Item = CommitteeInfo>>>;
29
29
pub struct CommitteeInfo {
30
30
id : CommitteeId ,
31
31
timestamp : Timestamp ,
32
+ registered_blk : BlockNumber ,
32
33
signing_keys : Vec < multisig:: PublicKey > ,
33
34
dh_keys : Vec < x25519:: PublicKey > ,
34
35
dkg_keys : Vec < DkgEncKey > ,
@@ -78,6 +79,7 @@ impl CommitteeInfo {
78
79
Ok ( Self {
79
80
id : committee_id,
80
81
timestamp : c. effectiveTimestamp . into ( ) ,
82
+ registered_blk : c. registeredBlockNumber . to :: < u64 > ( ) . into ( ) ,
81
83
signing_keys,
82
84
dh_keys,
83
85
dkg_keys,
@@ -93,6 +95,10 @@ impl CommitteeInfo {
93
95
self . timestamp
94
96
}
95
97
98
+ pub fn registered_block ( & self ) -> BlockNumber {
99
+ self . registered_blk
100
+ }
101
+
96
102
pub fn signing_keys ( & self ) -> & [ multisig:: PublicKey ] {
97
103
& self . signing_keys
98
104
}
@@ -160,17 +166,13 @@ impl CommitteeInfo {
160
166
/// subscribe an event stream
161
167
pub async fn new_committee_stream (
162
168
provider : & PubSubProvider ,
163
- start_ts : Timestamp ,
169
+ from_block : BlockNumber ,
164
170
config : & ParentChain ,
165
171
) -> Result < NewCommitteeStream > {
166
- let from_block = provider
167
- . get_block_number_by_timestamp ( start_ts)
168
- . await ?
169
- . unwrap_or_default ( ) ;
170
172
let events = provider
171
173
. event_stream :: < CommitteeCreated > (
172
174
config. key_manager_contract ,
173
- BlockNumberOrTag :: Number ( from_block) ,
175
+ BlockNumberOrTag :: Number ( * from_block) ,
174
176
)
175
177
. await
176
178
. map_err ( |e| {
0 commit comments