Skip to content

Commit 63af95e

Browse files
committed
test: Add state check for PoSt submission
1 parent 7f8e785 commit 63af95e

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

pallets/storage-provider/src/deadline.rs

+14
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ impl<BlockNumber: Clone + Copy + Ord> Deadlines<BlockNumber> {
199199
/// Constructor function.
200200
pub fn new() -> Self {
201201
let mut due = BoundedVec::new();
202+
// Initialize deadlines as empty deadlines.
202203
for _ in 0..48 {
203204
let _ = due.try_push(Deadline::new());
204205
}
@@ -271,6 +272,19 @@ impl<BlockNumber: Clone + Copy + Ord> Deadlines<BlockNumber> {
271272
}
272273
Ok(())
273274
}
275+
276+
pub fn update_deadline(
277+
&mut self,
278+
deadline_idx: usize,
279+
deadline: Deadline<BlockNumber>,
280+
) -> DeadlineResult<()> {
281+
let dl = self
282+
.due
283+
.get_mut(deadline_idx)
284+
.ok_or(DeadlineError::DeadlineNotFound)?;
285+
dl.update_deadline(deadline);
286+
Ok(())
287+
}
274288
}
275289

276290
#[derive(Clone, Debug, Decode, Encode, PartialEq, TypeInfo)]

pallets/storage-provider/src/storage_provider.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ where
146146

147147
/// Assign new sector to a deadline.
148148
pub fn assign_sectors_to_deadlines(
149-
&self,
149+
&mut self,
150150
current_block: BlockNumber,
151151
mut sectors: Vec<SectorOnChainInfo<BlockNumber>>,
152152
partition_size: u64,
@@ -164,7 +164,7 @@ where
164164
"assign_sectors_to_deadlines: deadline len = {}",
165165
deadlines.len()
166166
);
167-
deadlines.for_each(|deadline_idx, deadline| {
167+
deadlines.clone().for_each(|deadline_idx, deadline| {
168168
// Skip deadlines that aren't currently mutable.
169169
if deadline_is_mutable(
170170
self.current_proving_period_start(
@@ -191,6 +191,7 @@ where
191191
sectors,
192192
w_post_period_deadlines,
193193
)?;
194+
let deadlines = self.get_deadlines_mut();
194195
for (deadline_idx, deadline_sectors) in deadline_to_sectors.into_iter().enumerate() {
195196
if deadline_sectors.is_empty() {
196197
continue;
@@ -200,7 +201,9 @@ where
200201

201202
deadline.add_sectors(partition_size, &deadline_sectors)?;
202203

203-
// deadlines.update_deadline(policy, store, deadline_idx as u64, deadline)?;
204+
deadlines
205+
.update_deadline(deadline_idx, deadline.clone())
206+
.map_err(|e| StorageProviderError::DeadlineError(e))?;
204207
}
205208
Ok(())
206209
}

pallets/storage-provider/src/tests/submit_windowed_post.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use frame_support::assert_ok;
22
use sp_core::bounded_vec;
33

44
use crate::{
5-
pallet::Event,
5+
pallet::{Event, StorageProviders},
66
sector::ProveCommitSector,
77
tests::{
88
account, events, new_test_ext, register_storage_provider, run_to_block,
@@ -90,5 +90,10 @@ fn submit_windowed_post() {
9090
}
9191
)]
9292
);
93+
let state = StorageProviders::<Test>::get(account(ALICE)).unwrap();
94+
let deadlines = state.deadlines;
95+
let new_dl = deadlines.due.first().expect("Programmer error");
96+
assert_eq!(new_dl.live_sectors, 1);
97+
assert_eq!(new_dl.total_sectors, 1);
9398
});
9499
}

0 commit comments

Comments
 (0)