Skip to content

Commit 2930225

Browse files
committed
rpc wait_seed expected to support niporep proof type #1086
1 parent 9eebcc8 commit 2930225

File tree

1 file changed

+21
-6
lines changed
  • damocles-worker/src/sealing/sealing_thread/planner

1 file changed

+21
-6
lines changed

damocles-worker/src/sealing/sealing_thread/planner/niporep.rs

+21-6
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,27 @@ impl<'t> NiPoRep<'t> {
238238
}
239239

240240
fn handle_persistance_submitted(&self) -> Result<Event, Failure> {
241-
// let sector_id = self.task.sector_id()?;
242-
// Todo:
243-
// Add RPC method GenSeed from venus
244-
let rng = [0u8;32];
245-
let rng = BytesArray32(rng);
246-
let seed = Seed { seed: rng, epoch: 100 };
241+
let sector_id = self.task.sector_id()?;
242+
243+
let seed = loop {
244+
let wait = call_rpc! {
245+
self.task.rpc()=>wait_seed(sector_id.clone(), )
246+
}?;
247+
248+
if let Some(seed) = wait.seed {
249+
break seed;
250+
};
251+
252+
if !wait.should_wait || wait.delay == 0 {
253+
return Err(anyhow!("invalid empty wait_seed response").temp());
254+
}
255+
256+
let delay = Duration::from_secs(wait.delay);
257+
258+
debug!(?delay, "waiting for next round of polling seed");
259+
260+
self.task.sealing_ctrl.wait_or_interrupted(delay)?;
261+
};
247262

248263
Ok(Event::AssignSeed(seed))
249264
}

0 commit comments

Comments
 (0)