From 18eab0b369744552dbbb57669f42bf75e8646b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rok=20=C4=8Cerni=C4=8D?= Date: Mon, 15 Jul 2024 09:54:26 +0200 Subject: [PATCH] fix: SectorPreCommitInfoBuilder default impl --- pallets/storage-provider/src/tests/mod.rs | 54 +++++++++--------- .../src/tests/pre_commit_sector.rs | 56 ++----------------- .../src/tests/prove_commit_sector.rs | 11 +--- 3 files changed, 35 insertions(+), 86 deletions(-) diff --git a/pallets/storage-provider/src/tests/mod.rs b/pallets/storage-provider/src/tests/mod.rs index 6fe2aba45..d2af5277b 100644 --- a/pallets/storage-provider/src/tests/mod.rs +++ b/pallets/storage-provider/src/tests/mod.rs @@ -211,29 +211,35 @@ fn register_storage_provider(account: AccountIdOf) { struct SectorPreCommitInfoBuilder { seal_proof: RegisteredSealProof, - sector_number: Option, - sealed_cid: Option, - deal_ids: Option>>, + sector_number: SectorNumber, + sealed_cid: SectorId, + deal_ids: BoundedVec>, expiration: u64, - unsealed_cid: Option, + unsealed_cid: SectorId, } impl Default for SectorPreCommitInfoBuilder { fn default() -> Self { Self { seal_proof: RegisteredSealProof::StackedDRG2KiBV1P1, - sector_number: None, - sealed_cid: None, - deal_ids: None, + sector_number: 1, + sealed_cid: cid_of("sealed_cid") + .to_bytes() + .try_into() + .expect("hash is always 32 bytes"), + deal_ids: bounded_vec![0, 1], expiration: YEARS, - unsealed_cid: None, + unsealed_cid: cid_of("unsealed_cid") + .to_bytes() + .try_into() + .expect("hash is always 32 bytes"), } } } impl SectorPreCommitInfoBuilder { pub fn sector_number(mut self, sector_number: u64) -> Self { - self.sector_number = Some(sector_number); + self.sector_number = sector_number; self } @@ -242,27 +248,23 @@ impl SectorPreCommitInfoBuilder { I: IntoIterator, { let deal_ids_vec = deal_ids.into_iter().collect::>(); - self.deal_ids = Some(BoundedVec::try_from(deal_ids_vec).unwrap()); + self.deal_ids = BoundedVec::try_from(deal_ids_vec).unwrap(); self } pub fn sealed_cid(mut self, data: &str) -> Self { - self.sealed_cid = Some( - cid_of(data) - .to_bytes() - .try_into() - .expect("hash is always 32 bytes"), - ); + self.sealed_cid = cid_of(data) + .to_bytes() + .try_into() + .expect("hash is always 32 bytes"); self } pub fn unsealed_cid(mut self, data: &str) -> Self { - self.unsealed_cid = Some( - cid_of(data) - .to_bytes() - .try_into() - .expect("hash is always 32 bytes"), - ); + self.unsealed_cid = cid_of(data) + .to_bytes() + .try_into() + .expect("hash is always 32 bytes"); self } @@ -274,11 +276,11 @@ impl SectorPreCommitInfoBuilder { pub fn build(self) -> SectorPreCommitInfo { SectorPreCommitInfo { seal_proof: self.seal_proof, - sector_number: self.sector_number.expect("sector number is required"), - sealed_cid: self.sealed_cid.expect("sealed cid is required"), - deal_ids: self.deal_ids.expect("deal ids are required"), + sector_number: self.sector_number, + sealed_cid: self.sealed_cid, + deal_ids: self.deal_ids, expiration: self.expiration, - unsealed_cid: self.unsealed_cid.expect("unsealed cid is required"), + unsealed_cid: self.unsealed_cid, } } } diff --git a/pallets/storage-provider/src/tests/pre_commit_sector.rs b/pallets/storage-provider/src/tests/pre_commit_sector.rs index 2b33da84b..36d07840c 100644 --- a/pallets/storage-provider/src/tests/pre_commit_sector.rs +++ b/pallets/storage-provider/src/tests/pre_commit_sector.rs @@ -20,12 +20,7 @@ fn successfully_precommited() { register_storage_provider(account(storage_provider)); // Sector to be pre-committed. - let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") - .build(); + let sector = SectorPreCommitInfoBuilder::default().build(); // Check starting balance assert_eq!(Balances::free_balance(account(storage_provider)), 100); @@ -66,12 +61,7 @@ fn successfully_precommited() { fn fails_should_be_signed() { new_test_ext().execute_with(|| { // Sector to be pre-committed - let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") - .build(); + let sector = SectorPreCommitInfoBuilder::default().build(); // Run pre commit extrinsic assert_noop!( @@ -85,12 +75,7 @@ fn fails_should_be_signed() { fn fails_storage_provider_not_found() { new_test_ext().execute_with(|| { // Sector to be pre-committed - let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") - .build(); + let sector = SectorPreCommitInfoBuilder::default().build(); // Run pre commit extrinsic assert_noop!( @@ -111,12 +96,7 @@ fn fails_sector_number_already_used() { register_storage_provider(account(storage_provider)); // Sector to be pre-committed - let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") - .build(); + let sector = SectorPreCommitInfoBuilder::default().build(); // Run pre commit extrinsic assert_ok!(StorageProvider::pre_commit_sector( @@ -127,7 +107,7 @@ fn fails_sector_number_already_used() { assert_noop!( StorageProvider::pre_commit_sector( RuntimeOrigin::signed(account(storage_provider)), - sector.clone() + sector ), Error::::SectorNumberAlreadyUsed, ); @@ -144,9 +124,6 @@ fn fails_invalid_sector() { // Sector to be pre-committed let sector = SectorPreCommitInfoBuilder::default() .sector_number(SECTORS_MAX as u64 + 1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") .build(); // Run pre commit extrinsic @@ -168,12 +145,7 @@ fn fails_invalid_cid() { register_storage_provider(account(storage_provider)); // Sector to be pre-committed - let mut sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") - .build(); + let mut sector = SectorPreCommitInfoBuilder::default().build(); // Setting the wrong unseal cid on the sector sector.unsealed_cid = BoundedVec::new(); @@ -200,10 +172,6 @@ fn fails_expiration_before_activation() { // Sector to be pre-committed let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") .expiration(1000) .build(); @@ -231,10 +199,6 @@ fn fails_expiration_too_soon() { // Sector to be pre-committed let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") // Set expiration to be in the next block after the maximum // allowed activation. .expiration(current_height + MaxProveCommitDuration::get() + 1) @@ -263,10 +227,6 @@ fn fails_expiration_too_long() { // Sector to be pre-committed let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") // Set expiration to be in the next block after the maximum // allowed .expiration(current_height + MaxSectorExpirationExtension::get() + 1) @@ -299,10 +259,6 @@ fn fails_expiration_too_long() { // // Sector to be pre-committed // let sector = SectorPreCommitInfoBuilder::default() -// .sector_number(1) -// .deals([0, 1]) -// .sealed_cid("sealed_cid") -// .unsealed_cid("unsealed_cid") // .expiration(current_height + MaxProveCommitDuration::get() + SectorMaximumLifetime::get()) // .build(); diff --git a/pallets/storage-provider/src/tests/prove_commit_sector.rs b/pallets/storage-provider/src/tests/prove_commit_sector.rs index 446523214..006bc471d 100644 --- a/pallets/storage-provider/src/tests/prove_commit_sector.rs +++ b/pallets/storage-provider/src/tests/prove_commit_sector.rs @@ -52,8 +52,6 @@ fn successfully_prove_sector() { let sector = SectorPreCommitInfoBuilder::default() .sector_number(sector_number) .deals([0]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") .build(); // Run pre commit extrinsic @@ -105,12 +103,7 @@ fn successfully_prove_sector() { fn fails_should_be_signed() { new_test_ext().execute_with(|| { // Sector to be pre-committed - let sector = SectorPreCommitInfoBuilder::default() - .sector_number(1) - .deals([0, 1]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") - .build(); + let sector = SectorPreCommitInfoBuilder::default().build(); // Run pre commit extrinsic assert_noop!( @@ -204,8 +197,6 @@ fn fails_prove_commit_after_deadline() { let sector = SectorPreCommitInfoBuilder::default() .sector_number(sector_number) .deals([0]) - .sealed_cid("sealed_cid") - .unsealed_cid("unsealed_cid") .build(); // Run pre commit extrinsic