diff --git a/contracts/coconut-dkg/src/contract.rs b/contracts/coconut-dkg/src/contract.rs index 6f3e331ed3..1460c7d61c 100644 --- a/contracts/coconut-dkg/src/contract.rs +++ b/contracts/coconut-dkg/src/contract.rs @@ -29,7 +29,7 @@ use crate::verification_key_shares::queries::{query_vk_share, query_vk_shares_pa use crate::verification_key_shares::transactions::try_commit_verification_key_share; use crate::verification_key_shares::transactions::try_verify_verification_key_share; use cosmwasm_std::{ - entry_point, to_json_binary, Deps, DepsMut, Env, MessageInfo, QueryResponse, Response, + Deps, DepsMut, Env, MessageInfo, QueryResponse, Response, entry_point, to_json_binary, }; use cw4::Cw4Contract; use nym_coconut_dkg_common::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMsg}; @@ -267,10 +267,10 @@ mod tests { use super::*; use crate::support::tests::fixtures::TEST_MIX_DENOM; use crate::support::tests::helpers::{ADMIN_ADDRESS, MULTISIG_CONTRACT}; - use cosmwasm_std::testing::{message_info, mock_dependencies, mock_env, MockApi}; - use cosmwasm_std::{coins, Addr}; - use cw4::Member; + use cosmwasm_std::testing::{MockApi, message_info, mock_dependencies, mock_env}; + use cosmwasm_std::{Addr, coins}; use cw_multi_test::{App, AppBuilder, AppResponse, ContractWrapper, Executor}; + use cw4::Member; use nym_coconut_dkg_common::dealing::DEFAULT_DEALINGS; use nym_coconut_dkg_common::msg::ExecuteMsg::{InitiateDkg, RegisterDealer}; use nym_coconut_dkg_common::types::NodeIndex; diff --git a/contracts/coconut-dkg/src/dealers/queries.rs b/contracts/coconut-dkg/src/dealers/queries.rs index 4a309405f7..48da257025 100644 --- a/contracts/coconut-dkg/src/dealers/queries.rs +++ b/contracts/coconut-dkg/src/dealers/queries.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 use crate::dealers::storage::{ - self, get_dealer_details, get_dealer_index, get_registration_details, DEALERS_INDICES, - EPOCH_DEALERS_MAP, + self, DEALERS_INDICES, EPOCH_DEALERS_MAP, get_dealer_details, get_dealer_index, + get_registration_details, }; use crate::epoch_state::storage::load_current_epoch; use cosmwasm_std::{Deps, Order, StdResult}; diff --git a/contracts/coconut-dkg/src/dealers/storage.rs b/contracts/coconut-dkg/src/dealers/storage.rs index b2b45e298e..615aa46584 100644 --- a/contracts/coconut-dkg/src/dealers/storage.rs +++ b/contracts/coconut-dkg/src/dealers/storage.rs @@ -1,8 +1,8 @@ // Copyright 2022 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::error::ContractError; use crate::Dealer; +use crate::error::ContractError; use cosmwasm_std::{StdResult, Storage}; use cw_storage_plus::{Item, Map}; use nym_coconut_dkg_common::dealer::{BlockHeight, OwnershipTransfer, TransactionIndex}; diff --git a/contracts/coconut-dkg/src/dealers/transactions.rs b/contracts/coconut-dkg/src/dealers/transactions.rs index 0197431b69..93e3285611 100644 --- a/contracts/coconut-dkg/src/dealers/transactions.rs +++ b/contracts/coconut-dkg/src/dealers/transactions.rs @@ -1,16 +1,16 @@ // Copyright 2022-2024 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 +use crate::Dealer; use crate::dealers::storage::{ - ensure_dealer, get_or_assign_index, is_dealer, save_dealer_details_if_not_a_dealer, - DEALERS_INDICES, EPOCH_DEALERS_MAP, OWNERSHIP_TRANSFER_LOG, + DEALERS_INDICES, EPOCH_DEALERS_MAP, OWNERSHIP_TRANSFER_LOG, ensure_dealer, get_or_assign_index, + is_dealer, save_dealer_details_if_not_a_dealer, }; use crate::epoch_state::storage::{load_current_epoch, save_epoch}; use crate::epoch_state::utils::check_epoch_state; use crate::error::ContractError; use crate::state::storage::STATE; use crate::verification_key_shares::storage::vk_shares; -use crate::Dealer; use cosmwasm_std::{Deps, DepsMut, Env, Event, MessageInfo, Response}; use nym_coconut_dkg_common::dealer::{DealerRegistrationDetails, OwnershipTransfer}; use nym_coconut_dkg_common::types::{EncodedBTEPublicKeyWithProof, EpochState}; @@ -188,9 +188,9 @@ pub(crate) mod tests { use super::*; use crate::epoch_state::transactions::{try_advance_epoch_state, try_initiate_dkg}; use crate::support::tests::helpers; - use crate::support::tests::helpers::{add_fixture_dealer, ADMIN_ADDRESS}; - use cosmwasm_std::testing::{message_info, mock_env}; + use crate::support::tests::helpers::{ADMIN_ADDRESS, add_fixture_dealer}; use cosmwasm_std::Addr; + use cosmwasm_std::testing::{message_info, mock_env}; use nym_coconut_dkg_common::types::TimeConfiguration; #[test] @@ -243,7 +243,7 @@ pub(crate) mod tests { mod tests_with_mock { use super::*; use crate::testable_dkg_contract::{ - init_contract_tester, init_contract_tester_with_group_members, DkgContractTesterExt, + DkgContractTesterExt, init_contract_tester, init_contract_tester_with_group_members, }; use anyhow::Context; use cosmwasm_std::testing::message_info; @@ -257,12 +257,16 @@ mod tests_with_mock { let group_member = contract.random_group_member(); // sanity check, pre-dkg - assert!(DEALERS_INDICES - .may_load(&contract, &group_member)? - .is_none()); - assert!(EPOCH_DEALERS_MAP - .may_load(&contract, (0, &group_member))? - .is_none()); + assert!( + DEALERS_INDICES + .may_load(&contract, &group_member)? + .is_none() + ); + assert!( + EPOCH_DEALERS_MAP + .may_load(&contract, (0, &group_member))? + .is_none() + ); contract.run_initial_dummy_dkg(); let old_index = DEALERS_INDICES.load(&contract, &group_member)?; @@ -271,35 +275,45 @@ mod tests_with_mock { let not_group_member = contract.addr_make("not_group_member"); let (deps, env) = contract.deps_mut_env(); - assert!(try_transfer_ownership( - deps, - env, - message_info(&group_member, &[]), - not_group_member.to_string() - ) - .is_err()); + assert!( + try_transfer_ownership( + deps, + env, + message_info(&group_member, &[]), + not_group_member.to_string() + ) + .is_err() + ); let new_group_member = contract.addr_make("new_group_member"); contract.add_group_member(new_group_member.clone()); let (deps, env) = contract.deps_mut_env(); - assert!(try_transfer_ownership( - deps, - env.clone(), - message_info(&group_member, &[]), - new_group_member.to_string() - ) - .is_ok()); + assert!( + try_transfer_ownership( + deps, + env.clone(), + message_info(&group_member, &[]), + new_group_member.to_string() + ) + .is_ok() + ); // data under old key doesn't exist anymore - assert!(DEALERS_INDICES - .may_load(&contract, &group_member)? - .is_none()); - assert!(EPOCH_DEALERS_MAP - .may_load(&contract, (0, &group_member))? - .is_none()); - assert!(vk_shares() - .may_load(&contract, (&group_member, 0))? - .is_none()); + assert!( + DEALERS_INDICES + .may_load(&contract, &group_member)? + .is_none() + ); + assert!( + EPOCH_DEALERS_MAP + .may_load(&contract, (0, &group_member))? + .is_none() + ); + assert!( + vk_shares() + .may_load(&contract, (&group_member, 0))? + .is_none() + ); let new_index = DEALERS_INDICES.load(&contract, &new_group_member)?; let new_details = EPOCH_DEALERS_MAP.load(&contract, (0, &new_group_member))?; @@ -362,30 +376,42 @@ mod tests_with_mock { let new_group_member = contract.addr_make("new_group_member"); contract.add_group_member(new_group_member.clone()); let (deps, env) = contract.deps_mut_env(); - assert!(try_transfer_ownership( - deps, - env.clone(), - message_info(&group_member, &[]), - new_group_member.to_string() - ) - .is_ok()); + assert!( + try_transfer_ownership( + deps, + env.clone(), + message_info(&group_member, &[]), + new_group_member.to_string() + ) + .is_ok() + ); // data under old key doesn't exist anymore - assert!(DEALERS_INDICES - .may_load(&contract, &group_member)? - .is_none()); - assert!(EPOCH_DEALERS_MAP - .may_load(&contract, (0, &group_member))? - .is_none()); - assert!(EPOCH_DEALERS_MAP - .may_load(&contract, (1, &group_member))? - .is_none()); - assert!(EPOCH_DEALERS_MAP - .may_load(&contract, (2, &group_member))? - .is_none()); - assert!(EPOCH_DEALERS_MAP - .may_load(&contract, (3, &group_member))? - .is_none()); + assert!( + DEALERS_INDICES + .may_load(&contract, &group_member)? + .is_none() + ); + assert!( + EPOCH_DEALERS_MAP + .may_load(&contract, (0, &group_member))? + .is_none() + ); + assert!( + EPOCH_DEALERS_MAP + .may_load(&contract, (1, &group_member))? + .is_none() + ); + assert!( + EPOCH_DEALERS_MAP + .may_load(&contract, (2, &group_member))? + .is_none() + ); + assert!( + EPOCH_DEALERS_MAP + .may_load(&contract, (3, &group_member))? + .is_none() + ); let new_index = DEALERS_INDICES.load(&contract, &new_group_member)?; let new_details0 = EPOCH_DEALERS_MAP.load(&contract, (0, &new_group_member))?; diff --git a/contracts/coconut-dkg/src/dealings/queries.rs b/contracts/coconut-dkg/src/dealings/queries.rs index d4de607c6d..8a8db27689 100644 --- a/contracts/coconut-dkg/src/dealings/queries.rs +++ b/contracts/coconut-dkg/src/dealings/queries.rs @@ -1,7 +1,7 @@ // Copyright 2022-2024 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::dealings::storage::{StoredDealing, DEALINGS_METADATA}; +use crate::dealings::storage::{DEALINGS_METADATA, StoredDealing}; use crate::state::storage::STATE; use cosmwasm_std::{Deps, StdResult}; use nym_coconut_dkg_common::dealing::{ diff --git a/contracts/coconut-dkg/src/dealings/storage.rs b/contracts/coconut-dkg/src/dealings/storage.rs index 27ef0fd3fd..58690319d8 100644 --- a/contracts/coconut-dkg/src/dealings/storage.rs +++ b/contracts/coconut-dkg/src/dealings/storage.rs @@ -1,8 +1,8 @@ // Copyright 2022-2024 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::error::ContractError; use crate::Dealer; +use crate::error::ContractError; use cosmwasm_std::Storage; use cw_storage_plus::{Key, Map, Path, PrimaryKey}; use nym_coconut_dkg_common::dealing::{DealingMetadata, PartialContractDealing}; diff --git a/contracts/coconut-dkg/src/dealings/transactions.rs b/contracts/coconut-dkg/src/dealings/transactions.rs index 186754c3a8..2bca496585 100644 --- a/contracts/coconut-dkg/src/dealings/transactions.rs +++ b/contracts/coconut-dkg/src/dealings/transactions.rs @@ -3,7 +3,7 @@ use crate::dealers::storage::ensure_dealer; use crate::dealings::storage::{ - metadata_exists, must_read_metadata, store_metadata, StoredDealing, + StoredDealing, metadata_exists, must_read_metadata, store_metadata, }; use crate::epoch_state::storage::{load_current_epoch, save_epoch}; use crate::epoch_state::utils::check_epoch_state; @@ -11,7 +11,7 @@ use crate::error::ContractError; use crate::state::storage::STATE; use cosmwasm_std::{Addr, DepsMut, Env, MessageInfo, Response, Storage}; use nym_coconut_dkg_common::dealing::{ - DealingChunkInfo, DealingMetadata, PartialContractDealing, MAX_DEALING_CHUNKS, + DealingChunkInfo, DealingMetadata, MAX_DEALING_CHUNKS, PartialContractDealing, }; use nym_coconut_dkg_common::types::{ChunkIndex, DealingIndex, EpochId, EpochState}; @@ -209,7 +209,7 @@ pub(crate) mod tests { use crate::epoch_state::transactions::{try_advance_epoch_state, try_initiate_dkg}; use crate::support::tests::fixtures::{dealing_metadata_fixture, partial_dealing_fixture}; use crate::support::tests::helpers; - use crate::support::tests::helpers::{add_current_dealer, re_register_dealer, ADMIN_ADDRESS}; + use crate::support::tests::helpers::{ADMIN_ADDRESS, add_current_dealer, re_register_dealer}; use cosmwasm_std::testing::{message_info, mock_env}; use nym_coconut_dkg_common::dealer::DealerDetails; use nym_coconut_dkg_common::types::{ContractSafeBytes, TimeConfiguration}; diff --git a/contracts/coconut-dkg/src/epoch_state/queries.rs b/contracts/coconut-dkg/src/epoch_state/queries.rs index f107d2e59c..1a62da77ec 100644 --- a/contracts/coconut-dkg/src/epoch_state/queries.rs +++ b/contracts/coconut-dkg/src/epoch_state/queries.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use crate::epoch_state::storage::{ - load_current_epoch, EPOCH_THRESHOLDS, HISTORICAL_EPOCH, THRESHOLD, + EPOCH_THRESHOLDS, HISTORICAL_EPOCH, THRESHOLD, load_current_epoch, }; use crate::epoch_state::utils::check_state_completion; use crate::error::ContractError; @@ -63,9 +63,9 @@ pub(crate) fn query_epoch_threshold( pub(crate) mod test { use super::*; use crate::epoch_state::transactions::try_initiate_dkg; - use crate::support::tests::helpers::{init_contract, ADMIN_ADDRESS}; - use cosmwasm_std::testing::{message_info, mock_env}; + use crate::support::tests::helpers::{ADMIN_ADDRESS, init_contract}; use cosmwasm_std::Addr; + use cosmwasm_std::testing::{message_info, mock_env}; use nym_coconut_dkg_common::types::TimeConfiguration; #[test] diff --git a/contracts/coconut-dkg/src/epoch_state/storage.rs b/contracts/coconut-dkg/src/epoch_state/storage.rs index 4318c8cf7b..d688ffadd9 100644 --- a/contracts/coconut-dkg/src/epoch_state/storage.rs +++ b/contracts/coconut-dkg/src/epoch_state/storage.rs @@ -41,7 +41,7 @@ pub fn load_current_epoch(storage: &dyn Storage) -> StdResult { mod tests { use super::*; use crate::epoch_state::transactions::{try_advance_epoch_state, try_initiate_dkg}; - use crate::support::tests::helpers::{init_contract, ADMIN_ADDRESS}; + use crate::support::tests::helpers::{ADMIN_ADDRESS, init_contract}; use cosmwasm_std::testing::{message_info, mock_dependencies, mock_env}; use cosmwasm_std::{Addr, Env}; use nym_coconut_dkg_common::types::EpochState; @@ -80,9 +80,11 @@ mod tests { let mut empty_deps = mock_dependencies(); // before contract is initialised, there's nothing saved - assert!(HISTORICAL_EPOCH - .may_load(empty_deps.as_mut().storage)? - .is_none()); + assert!( + HISTORICAL_EPOCH + .may_load(empty_deps.as_mut().storage)? + .is_none() + ); let mut deps = init_contract(); let mut env = EnvWrapper { env: mock_env() }; @@ -153,9 +155,11 @@ mod tests { ); // check old data - assert!(HISTORICAL_EPOCH - .may_load_at_height(deps.as_mut().storage, init_height - 1)? - .is_none()); + assert!( + HISTORICAL_EPOCH + .may_load_at_height(deps.as_mut().storage, init_height - 1)? + .is_none() + ); assert_eq!( HISTORICAL_EPOCH .may_load_at_height(deps.as_mut().storage, init_height + 1)? diff --git a/contracts/coconut-dkg/src/epoch_state/transactions/advance_epoch_state.rs b/contracts/coconut-dkg/src/epoch_state/transactions/advance_epoch_state.rs index 156459f24c..fff7672d07 100644 --- a/contracts/coconut-dkg/src/epoch_state/transactions/advance_epoch_state.rs +++ b/contracts/coconut-dkg/src/epoch_state/transactions/advance_epoch_state.rs @@ -1,7 +1,7 @@ // Copyright 2024 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::epoch_state::storage::{load_current_epoch, save_epoch, EPOCH_THRESHOLDS, THRESHOLD}; +use crate::epoch_state::storage::{EPOCH_THRESHOLDS, THRESHOLD, load_current_epoch, save_epoch}; use crate::epoch_state::transactions::reset_dkg_state; use crate::epoch_state::utils::check_state_completion; use crate::error::ContractError; @@ -95,7 +95,7 @@ mod tests { use crate::epoch_state::utils::check_epoch_state; use crate::error::ContractError::EarlyEpochStateAdvancement; use crate::state::storage::STATE; - use crate::support::tests::helpers::{init_contract, ADMIN_ADDRESS}; + use crate::support::tests::helpers::{ADMIN_ADDRESS, init_contract}; use cosmwasm_std::testing::{message_info, mock_env}; use cosmwasm_std::{Addr, Storage}; use nym_coconut_dkg_common::types::TimeConfiguration; diff --git a/contracts/coconut-dkg/src/epoch_state/transactions/mod.rs b/contracts/coconut-dkg/src/epoch_state/transactions/mod.rs index e206fcb379..a18a7629d1 100644 --- a/contracts/coconut-dkg/src/epoch_state/transactions/mod.rs +++ b/contracts/coconut-dkg/src/epoch_state/transactions/mod.rs @@ -1,7 +1,7 @@ // Copyright 2022-2024 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::epoch_state::storage::{load_current_epoch, save_epoch, THRESHOLD}; +use crate::epoch_state::storage::{THRESHOLD, load_current_epoch, save_epoch}; use crate::error::ContractError; use crate::state::storage::DKG_ADMIN; use cosmwasm_std::{DepsMut, Env, MessageInfo, Response, Storage}; @@ -90,9 +90,9 @@ pub(crate) fn try_trigger_resharing( pub(crate) mod tests { use super::*; use crate::epoch_state::storage::load_current_epoch; - use crate::support::tests::helpers::{init_contract, ADMIN_ADDRESS}; - use cosmwasm_std::testing::{message_info, mock_env}; + use crate::support::tests::helpers::{ADMIN_ADDRESS, init_contract}; use cosmwasm_std::Addr; + use cosmwasm_std::testing::{message_info, mock_env}; use cw_controllers::AdminError; #[test] diff --git a/contracts/coconut-dkg/src/epoch_state/utils.rs b/contracts/coconut-dkg/src/epoch_state/utils.rs index 31ce9def13..33911e43de 100644 --- a/contracts/coconut-dkg/src/epoch_state/utils.rs +++ b/contracts/coconut-dkg/src/epoch_state/utils.rs @@ -68,8 +68,8 @@ pub(crate) mod test { use super::*; use crate::epoch_state::storage::save_epoch; use crate::support::tests::helpers::init_contract; - use cosmwasm_std::testing::mock_env; use cosmwasm_std::Timestamp; + use cosmwasm_std::testing::mock_env; use nym_coconut_dkg_common::types::TimeConfiguration; #[test] diff --git a/contracts/coconut-dkg/src/error.rs b/contracts/coconut-dkg/src/error.rs index e50db87c9c..543950f7ae 100644 --- a/contracts/coconut-dkg/src/error.rs +++ b/contracts/coconut-dkg/src/error.rs @@ -51,7 +51,9 @@ pub enum ContractError { #[error("This sender is not a dealer for epoch {epoch_id}")] NotADealer { epoch_id: EpochId }, - #[error("Dealer {dealer} has already committed dealing chunk for epoch {epoch_id} with dealing index {dealing_index} and chunk index {chunk_index} at height {block_height}")] + #[error( + "Dealer {dealer} has already committed dealing chunk for epoch {epoch_id} with dealing index {dealing_index} and chunk index {chunk_index} at height {block_height}" + )] DealingChunkAlreadyCommitted { epoch_id: EpochId, dealer: Addr, @@ -60,7 +62,9 @@ pub enum ContractError { block_height: u64, }, - #[error("dealer {dealer} tried to commit chunk {chunk_index} of dealing {dealing_index} for epoch {epoch_id}, but it hasn't been declared in the prior metadata")] + #[error( + "dealer {dealer} tried to commit chunk {chunk_index} of dealing {dealing_index} for epoch {epoch_id}, but it hasn't been declared in the prior metadata" + )] DealingChunkNotInMetadata { epoch_id: EpochId, dealer: Addr, @@ -68,7 +72,9 @@ pub enum ContractError { chunk_index: ChunkIndex, }, - #[error("dealer {dealer} has attempted to commit dealing chunk for epoch {epoch_id} with dealing index {index} while the key size is set to {key_size}")] + #[error( + "dealer {dealer} has attempted to commit dealing chunk for epoch {epoch_id} with dealing index {index} while the key size is set to {key_size}" + )] DealingOutOfRange { epoch_id: EpochId, dealer: Addr, @@ -76,7 +82,10 @@ pub enum ContractError { key_size: u32, }, - #[error("dealer {dealer} has attempted to commit dealing metadata for epoch {epoch_id} for dealing index {dealing_index} with {chunks} chunks while at most {} chunks are allowed", MAX_DEALING_CHUNKS)] + #[error( + "dealer {dealer} has attempted to commit dealing metadata for epoch {epoch_id} for dealing index {dealing_index} with {chunks} chunks while at most {} chunks are allowed", + MAX_DEALING_CHUNKS + )] TooFragmentedMetadata { epoch_id: EpochId, dealer: Addr, @@ -84,7 +93,9 @@ pub enum ContractError { chunks: usize, }, - #[error("the declared chunk split for epoch {epoch_id} from dealer {dealer} for dealing index {dealing_index} is uneven. first chunk has size of {first_chunk_size} while chunk at index {chunk_index} has {size}")] + #[error( + "the declared chunk split for epoch {epoch_id} from dealer {dealer} for dealing index {dealing_index} is uneven. first chunk has size of {first_chunk_size} while chunk at index {chunk_index} has {size}" + )] UnevenChunkSplit { epoch_id: EpochId, dealer: Addr, @@ -94,7 +105,9 @@ pub enum ContractError { size: u64, }, - #[error("the received chunk for epoch {epoch_id} from dealer {dealer} at dealing index {dealing_index} at chunk index {chunk_index} has inconsistent length. the metadata contains length of {metadata_length} while the received data is {received} bytes long")] + #[error( + "the received chunk for epoch {epoch_id} from dealer {dealer} at dealing index {dealing_index} at chunk index {chunk_index} has inconsistent length. the metadata contains length of {metadata_length} while the received data is {received} bytes long" + )] InconsistentChunkLength { epoch_id: EpochId, dealer: Addr, @@ -104,21 +117,27 @@ pub enum ContractError { received: u64, }, - #[error("dealer {dealer} has attempted to commit dealing metadata for epoch {epoch_id} for dealing index {dealing_index} zero chunks")] + #[error( + "dealer {dealer} has attempted to commit dealing metadata for epoch {epoch_id} for dealing index {dealing_index} zero chunks" + )] EmptyMetadata { epoch_id: EpochId, dealer: Addr, dealing_index: DealingIndex, }, - #[error("metadata for dealing for epoch {epoch_id} from {dealer} at index {dealing_index} does not exist")] + #[error( + "metadata for dealing for epoch {epoch_id} from {dealer} at index {dealing_index} does not exist" + )] UnavailableDealingMetadata { epoch_id: EpochId, dealer: Addr, dealing_index: DealingIndex, }, - #[error("metadata for dealing for epoch {epoch_id} from {dealer} at index {dealing_index} already exists")] + #[error( + "metadata for dealing for epoch {epoch_id} from {dealer} at index {dealing_index} already exists" + )] MetadataAlreadyExists { epoch_id: EpochId, dealer: Addr, @@ -137,7 +156,9 @@ pub enum ContractError { #[error("cannot perform DKG resharing during an ongoing exchange")] CantReshareDuringExchange, - #[error("retrieved the maximum allowed number of cw4 members. for more the contracts have to be refactored")] + #[error( + "retrieved the maximum allowed number of cw4 members. for more the contracts have to be refactored" + )] PossiblyIncompleteGroupMembersQuery, #[error("this method has been called outside transaction context")] diff --git a/contracts/coconut-dkg/src/support/tests/fixtures.rs b/contracts/coconut-dkg/src/support/tests/fixtures.rs index 87a59af53b..ed2680ddcb 100644 --- a/contracts/coconut-dkg/src/support/tests/fixtures.rs +++ b/contracts/coconut-dkg/src/support/tests/fixtures.rs @@ -1,8 +1,8 @@ // Copyright 2022-2024 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use cosmwasm_std::testing::MockApi; use cosmwasm_std::Addr; +use cosmwasm_std::testing::MockApi; use nym_coconut_dkg_common::dealer::DealerDetails; use nym_coconut_dkg_common::dealing::{DealingChunkInfo, PartialContractDealing}; use nym_coconut_dkg_common::types::ContractSafeBytes; diff --git a/contracts/coconut-dkg/src/support/tests/helpers.rs b/contracts/coconut-dkg/src/support/tests/helpers.rs index f609eca951..f130513dba 100644 --- a/contracts/coconut-dkg/src/support/tests/helpers.rs +++ b/contracts/coconut-dkg/src/support/tests/helpers.rs @@ -5,10 +5,10 @@ use super::fixtures::TEST_MIX_DENOM; use crate::contract::instantiate; use crate::dealers::storage::{DEALERS_INDICES, EPOCH_DEALERS_MAP}; use crate::epoch_state::storage::load_current_epoch; -use cosmwasm_std::testing::{message_info, mock_dependencies, mock_env, MockApi, MockQuerier}; +use cosmwasm_std::testing::{MockApi, MockQuerier, message_info, mock_dependencies, mock_env}; use cosmwasm_std::{ - from_json, to_json_binary, Addr, ContractResult, DepsMut, Empty, MemoryStorage, OwnedDeps, - QuerierResult, SystemResult, WasmQuery, + Addr, ContractResult, DepsMut, Empty, MemoryStorage, OwnedDeps, QuerierResult, SystemResult, + WasmQuery, from_json, to_json_binary, }; use cw4::{Cw4QueryMsg, Member, MemberListResponse, MemberResponse}; use easy_addr::addr; diff --git a/contracts/coconut-dkg/src/testable_dkg_contract/mod.rs b/contracts/coconut-dkg/src/testable_dkg_contract/mod.rs index 2ceaee2965..08266ab051 100644 --- a/contracts/coconut-dkg/src/testable_dkg_contract/mod.rs +++ b/contracts/coconut-dkg/src/testable_dkg_contract/mod.rs @@ -7,8 +7,8 @@ use crate::contract::{execute, instantiate, migrate, query}; use crate::error::ContractError; -use cosmwasm_std::testing::message_info; use cosmwasm_std::Addr; +use cosmwasm_std::testing::message_info; use cw4::{Cw4Contract, Member}; use nym_contracts_common_testing::{ AdminExt, ArbitraryContractStorageReader, ArbitraryContractStorageWriter, BankExt, ChainOpts, diff --git a/contracts/coconut-dkg/src/verification_key_shares/transactions.rs b/contracts/coconut-dkg/src/verification_key_shares/transactions.rs index 5c01b12b1a..1c020431e0 100644 --- a/contracts/coconut-dkg/src/verification_key_shares/transactions.rs +++ b/contracts/coconut-dkg/src/verification_key_shares/transactions.rs @@ -11,7 +11,7 @@ use crate::verification_key_shares::storage::vk_shares; use cosmwasm_std::{DepsMut, Env, MessageInfo, Response}; use nym_coconut_dkg_common::types::EpochState; use nym_coconut_dkg_common::verification_key::{ - to_cosmos_msg, ContractVKShare, VerificationKeyShare, + ContractVKShare, VerificationKeyShare, to_cosmos_msg, }; pub fn try_commit_verification_key_share( @@ -105,10 +105,10 @@ mod tests { use crate::epoch_state::transactions::{try_advance_epoch_state, try_initiate_dkg}; use crate::support::tests::helpers; use crate::support::tests::helpers::{ - add_current_dealer, add_fixture_dealer, ADMIN_ADDRESS, MULTISIG_CONTRACT, + ADMIN_ADDRESS, MULTISIG_CONTRACT, add_current_dealer, add_fixture_dealer, }; - use cosmwasm_std::testing::{message_info, mock_env}; use cosmwasm_std::Addr; + use cosmwasm_std::testing::{message_info, mock_env}; use cw_controllers::AdminError; use nym_coconut_dkg_common::dealer::DealerDetails; use nym_coconut_dkg_common::types::TimeConfiguration; diff --git a/contracts/ecash/src/contract/helpers.rs b/contracts/ecash/src/contract/helpers.rs index 578e967da8..77ce3ec85d 100644 --- a/contracts/ecash/src/contract/helpers.rs +++ b/contracts/ecash/src/contract/helpers.rs @@ -3,10 +3,10 @@ use crate::contract::NymEcashContract; use crate::helpers::{ - create_batch_redemption_proposal, create_blacklist_proposal, Config, ProposalId, + Config, ProposalId, create_batch_redemption_proposal, create_blacklist_proposal, }; use cosmwasm_schema::cw_serde; -use cosmwasm_std::{to_json_binary, Addr, Coin, Decimal, Deps, Storage, SubMsg, Uint128}; +use cosmwasm_std::{Addr, Coin, Decimal, Deps, Storage, SubMsg, Uint128, to_json_binary}; use cw3::ProposalResponse; use nym_ecash_contract_common::EcashContractError; use nym_multisig_contract_common::msg::QueryMsg as MultisigQueryMsg; diff --git a/contracts/ecash/src/contract/mod.rs b/contracts/ecash/src/contract/mod.rs index 934b2bdc07..4fe36618ae 100644 --- a/contracts/ecash/src/contract/mod.rs +++ b/contracts/ecash/src/contract/mod.rs @@ -5,14 +5,15 @@ use crate::constants::{BLACKLIST_PROPOSAL_REPLY_ID, REDEMPTION_PROPOSAL_REPLY_ID use crate::contract::helpers::Invariants; use crate::deposit::DepositStorage; use crate::helpers::{ - BlacklistKey, Config, MultisigReply, BLACKLIST_PAGE_DEFAULT_LIMIT, BLACKLIST_PAGE_MAX_LIMIT, - CONTRACT_NAME, CONTRACT_VERSION, DEPOSITS_PAGE_DEFAULT_LIMIT, DEPOSITS_PAGE_MAX_LIMIT, + BLACKLIST_PAGE_DEFAULT_LIMIT, BLACKLIST_PAGE_MAX_LIMIT, BlacklistKey, CONTRACT_NAME, + CONTRACT_VERSION, Config, DEPOSITS_PAGE_DEFAULT_LIMIT, DEPOSITS_PAGE_MAX_LIMIT, MultisigReply, }; -use cosmwasm_std::{coin, BankMsg, Coin, Event, Order, Reply, Response, StdResult}; -use cw4::Cw4Contract; +use cosmwasm_std::{BankMsg, Coin, Event, Order, Reply, Response, StdResult, coin}; use cw_controllers::Admin; use cw_storage_plus::{Bound, Item, Map}; +use cw4::Cw4Contract; use nym_contracts_common::set_build_information; +use nym_ecash_contract_common::EcashContractError; use nym_ecash_contract_common::blacklist::{ BlacklistedAccount, BlacklistedAccountResponse, Blacklisting, PagedBlacklistedAccountResponse, }; @@ -21,9 +22,8 @@ use nym_ecash_contract_common::deposit::{ DepositData, DepositResponse, LatestDepositResponse, PagedDepositsResponse, }; use nym_ecash_contract_common::events::{ - DEPOSITED_FUNDS_EVENT_TYPE, DEPOSIT_ID, PROPOSAL_ID_ATTRIBUTE_NAME, + DEPOSIT_ID, DEPOSITED_FUNDS_EVENT_TYPE, PROPOSAL_ID_ATTRIBUTE_NAME, }; -use nym_ecash_contract_common::EcashContractError; use nym_network_defaults::TICKETBOOK_SIZE; use sylvia::ctx::{ExecCtx, InstantiateCtx, MigrateCtx, QueryCtx}; use sylvia::{contract, entry_points}; diff --git a/contracts/ecash/src/contract/queued_migrations.rs b/contracts/ecash/src/contract/queued_migrations.rs index a479330aca..683a1d2bc8 100644 --- a/contracts/ecash/src/contract/queued_migrations.rs +++ b/contracts/ecash/src/contract/queued_migrations.rs @@ -4,8 +4,8 @@ use crate::contract::NymEcashContract; use crate::helpers::Config; use cosmwasm_std::{Addr, Coin, Decimal, DepsMut}; -use cw4::Cw4Contract; use cw_storage_plus::Item; +use cw4::Cw4Contract; use nym_ecash_contract_common::EcashContractError; use serde::{Deserialize, Serialize}; diff --git a/contracts/ecash/src/contract/test.rs b/contracts/ecash/src/contract/test.rs index 77f4dade4c..fe29f75c4e 100644 --- a/contracts/ecash/src/contract/test.rs +++ b/contracts/ecash/src/contract/test.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 use crate::contract::NymEcashContract; -use cosmwasm_std::testing::{message_info, mock_dependencies, mock_env, MockApi, MockQuerier}; -use cosmwasm_std::{coin, Addr, Empty, Env, MemoryStorage, OwnedDeps}; +use cosmwasm_std::testing::{MockApi, MockQuerier, message_info, mock_dependencies, mock_env}; +use cosmwasm_std::{Addr, Empty, Env, MemoryStorage, OwnedDeps, coin}; use sylvia::ctx::{InstantiateCtx, QueryCtx}; pub const TEST_DENOM: &str = "unym"; diff --git a/contracts/ecash/src/deposit.rs b/contracts/ecash/src/deposit.rs index 11d13831b8..60cceb2f6b 100644 --- a/contracts/ecash/src/deposit.rs +++ b/contracts/ecash/src/deposit.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 use cosmwasm_std::{Order, StdResult, Storage}; -use cw_storage_plus::{range_with_prefix, Bound, Item, Key, Path, Prefix, PrimaryKey}; +use cw_storage_plus::{Bound, Item, Key, Path, Prefix, PrimaryKey, range_with_prefix}; use nym_ecash_contract_common::deposit::DepositId; -use nym_ecash_contract_common::{deposit::Deposit, EcashContractError}; +use nym_ecash_contract_common::{EcashContractError, deposit::Deposit}; use std::ops::Deref; pub(crate) struct DepositStorage { diff --git a/contracts/ecash/src/helpers.rs b/contracts/ecash/src/helpers.rs index 82f5767ecc..dd68ad3e91 100644 --- a/contracts/ecash/src/helpers.rs +++ b/contracts/ecash/src/helpers.rs @@ -3,14 +3,14 @@ use crate::constants::{BLACKLIST_PROPOSAL_REPLY_ID, REDEMPTION_PROPOSAL_REPLY_ID}; use cosmwasm_std::{ - to_json_binary, Addr, Coin, CosmosMsg, Reply, StdError, StdResult, SubMsg, SubMsgResult, - WasmMsg, + Addr, Coin, CosmosMsg, Reply, StdError, StdResult, SubMsg, SubMsgResult, WasmMsg, + to_json_binary, }; use cw4::Cw4Contract; use nym_contracts_common::events::try_find_attribute; use nym_ecash_contract_common::events::{PROPOSAL_ID_ATTRIBUTE_NAME, WASM_EVENT_NAME}; use nym_ecash_contract_common::redeem_credential::BATCH_REDEMPTION_PROPOSAL_TITLE; -use nym_ecash_contract_common::{msg::ExecuteMsg, EcashContractError}; +use nym_ecash_contract_common::{EcashContractError, msg::ExecuteMsg}; use nym_multisig_contract_common::msg::ExecuteMsg as MultisigExecuteMsg; use serde::{Deserialize, Serialize}; diff --git a/contracts/ecash/src/multitest.rs b/contracts/ecash/src/multitest.rs index 74b3d2c443..64a78fd3dc 100644 --- a/contracts/ecash/src/multitest.rs +++ b/contracts/ecash/src/multitest.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use cosmwasm_std::testing::MockApi; -use cosmwasm_std::{coin, Coin}; +use cosmwasm_std::{Coin, coin}; use cw_multi_test::IntoBech32; use cw_utils::PaymentError; use nym_ecash_contract_common::EcashContractError; diff --git a/contracts/ecash/src/support/tests.rs b/contracts/ecash/src/support/tests.rs index de31ea4e6d..b374fb5226 100644 --- a/contracts/ecash/src/support/tests.rs +++ b/contracts/ecash/src/support/tests.rs @@ -3,10 +3,10 @@ use crate::contract::NymEcashContract; use crate::helpers::Config; -use cosmwasm_std::testing::{message_info, mock_dependencies, mock_env, MockApi, MockQuerier}; -use cosmwasm_std::{coin, Addr, Deps, Empty, Env, MemoryStorage, MessageInfo, OwnedDeps}; -use rand_chacha::rand_core::SeedableRng; +use cosmwasm_std::testing::{MockApi, MockQuerier, message_info, mock_dependencies, mock_env}; +use cosmwasm_std::{Addr, Deps, Empty, Env, MemoryStorage, MessageInfo, OwnedDeps, coin}; use rand_chacha::ChaCha20Rng; +use rand_chacha::rand_core::SeedableRng; use sylvia::ctx::{ExecCtx, InstantiateCtx, QueryCtx}; pub fn test_rng() -> ChaCha20Rng { diff --git a/contracts/mixnet-vesting-integration-tests/src/support/fixtures.rs b/contracts/mixnet-vesting-integration-tests/src/support/fixtures.rs index 2df1a87e35..2840b39b1b 100644 --- a/contracts/mixnet-vesting-integration-tests/src/support/fixtures.rs +++ b/contracts/mixnet-vesting-integration-tests/src/support/fixtures.rs @@ -4,8 +4,8 @@ use crate::support::setup::{MIX_DENOM, REWARDING_VALIDATOR}; use cosmwasm_std::Decimal; use nym_contracts_common::Percent; -use nym_mixnet_contract_common::reward_params::RewardedSetParams; use nym_mixnet_contract_common::InitialRewardingParams; +use nym_mixnet_contract_common::reward_params::RewardedSetParams; use std::time::Duration; pub fn default_mixnet_init_msg() -> nym_mixnet_contract_common::InstantiateMsg { diff --git a/contracts/mixnet-vesting-integration-tests/src/support/helpers.rs b/contracts/mixnet-vesting-integration-tests/src/support/helpers.rs index a714ccf493..d45ff98df7 100644 --- a/contracts/mixnet-vesting-integration-tests/src/support/helpers.rs +++ b/contracts/mixnet-vesting-integration-tests/src/support/helpers.rs @@ -1,11 +1,11 @@ // Copyright 2023 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::support::setup::{MIXNET_OWNER, MIX_DENOM, REWARDING_VALIDATOR, VESTING_OWNER}; -use cosmwasm_std::{coin, coins, Addr, Coin, Empty}; +use crate::support::setup::{MIX_DENOM, MIXNET_OWNER, REWARDING_VALIDATOR, VESTING_OWNER}; +use cosmwasm_std::{Addr, Coin, Empty, coin, coins}; use cw_multi_test::{Contract, ContractWrapper}; -use rand_chacha::rand_core::SeedableRng; use rand_chacha::ChaCha20Rng; +use rand_chacha::rand_core::SeedableRng; #[allow(unused)] pub fn mixnet_owner() -> Addr { diff --git a/contracts/mixnet-vesting-integration-tests/src/support/setup.rs b/contracts/mixnet-vesting-integration-tests/src/support/setup.rs index 90aa13526f..14aa0ddef4 100644 --- a/contracts/mixnet-vesting-integration-tests/src/support/setup.rs +++ b/contracts/mixnet-vesting-integration-tests/src/support/setup.rs @@ -5,7 +5,7 @@ use crate::support::fixtures; use crate::support::helpers::{ mixnet_contract_wrapper, rewarding_validator, test_rng, vesting_contract_wrapper, }; -use cosmwasm_std::{coins, Addr, Coin, Decimal, Timestamp}; +use cosmwasm_std::{Addr, Coin, Decimal, Timestamp, coins}; use cw_multi_test::{App, AppBuilder, Executor}; use nym_contracts_common::signing::{ContractMessageContent, MessageSignature, Nonce}; use nym_crypto::asymmetric::ed25519; diff --git a/contracts/nym-pool/src/contract.rs b/contracts/nym-pool/src/contract.rs index 476aaad5f7..67703ca7e0 100644 --- a/contracts/nym-pool/src/contract.rs +++ b/contracts/nym-pool/src/contract.rs @@ -13,7 +13,7 @@ use crate::transactions::{ try_withdraw_locked_allowance, }; use cosmwasm_std::{ - entry_point, to_json_binary, Binary, Deps, DepsMut, Env, MessageInfo, Response, + Binary, Deps, DepsMut, Env, MessageInfo, Response, entry_point, to_json_binary, }; use nym_contracts_common::set_build_information; use nym_pool_contract_common::{ @@ -193,7 +193,7 @@ mod tests { #[cfg(test)] mod setting_initial_grants { use super::*; - use cosmwasm_std::{coin, Order, Storage}; + use cosmwasm_std::{Order, Storage, coin}; use nym_contracts_common_testing::deps_with_balance; use nym_pool_contract_common::{Allowance, BasicAllowance, Grant, GranteeAddress}; use std::collections::HashMap; diff --git a/contracts/nym-pool/src/queries.rs b/contracts/nym-pool/src/queries.rs index 2d8dcc57a1..428d4b9698 100644 --- a/contracts/nym-pool/src/queries.rs +++ b/contracts/nym-pool/src/queries.rs @@ -1,7 +1,7 @@ // Copyright 2025 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::storage::{retrieval_limits, NYM_POOL_STORAGE}; +use crate::storage::{NYM_POOL_STORAGE, retrieval_limits}; use cosmwasm_std::{Coin, Deps, Env, Order, StdResult}; use cw_controllers::AdminResponse; use cw_storage_plus::Bound; @@ -182,9 +182,9 @@ pub fn query_granters_paged( mod tests { use super::*; use crate::contract::instantiate; - use crate::testing::{init_contract_tester, NymPoolContractTesterExt, TEST_DENOM}; + use crate::testing::{NymPoolContractTesterExt, TEST_DENOM, init_contract_tester}; use cosmwasm_std::testing::{message_info, mock_dependencies_with_balance, mock_env}; - use cosmwasm_std::{coin, Uint128}; + use cosmwasm_std::{Uint128, coin}; use nym_contracts_common_testing::{AdminExt, ChainOpts, ContractOpts, DenomExt, RandExt}; use nym_pool_contract_common::{Allowance, BasicAllowance, GranterInformation, InstantiateMsg}; @@ -574,7 +574,7 @@ mod tests { #[cfg(test)] mod grants_paged_query { use super::*; - use crate::testing::{init_contract_tester, NymPoolContract}; + use crate::testing::{NymPoolContract, init_contract_tester}; use nym_contracts_common_testing::{ContractOpts, ContractTester}; fn grants_sorted( diff --git a/contracts/nym-pool/src/storage.rs b/contracts/nym-pool/src/storage.rs index 9d01d5796f..d99004edaa 100644 --- a/contracts/nym-pool/src/storage.rs +++ b/contracts/nym-pool/src/storage.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use crate::helpers::validate_usage_coin; -use cosmwasm_std::{coin, Addr, Coin, Deps, DepsMut, Env, Storage, Uint128}; +use cosmwasm_std::{Addr, Coin, Deps, DepsMut, Env, Storage, Uint128, coin}; use cw_controllers::Admin; use cw_storage_plus::{Item, Map}; use nym_pool_contract_common::constants::storage_keys; @@ -489,11 +489,11 @@ mod tests { #[cfg(test)] mod nympool_storage { use super::*; - use crate::testing::{init_contract_tester, NymPoolContractTesterExt, TEST_DENOM}; + use crate::testing::{NymPoolContractTesterExt, TEST_DENOM, init_contract_tester}; use cosmwasm_std::testing::{ - mock_dependencies, mock_env, MockApi, MockQuerier, MockStorage, + MockApi, MockQuerier, MockStorage, mock_dependencies, mock_env, }; - use cosmwasm_std::{coin, coins, Empty, OwnedDeps}; + use cosmwasm_std::{Empty, OwnedDeps, coin, coins}; use nym_contracts_common_testing::{AdminExt, ContractOpts, RandExt}; use nym_pool_contract_common::BasicAllowance; @@ -502,7 +502,7 @@ mod tests { use super::*; use crate::testing::TEST_DENOM; use cosmwasm_std::testing::{mock_dependencies, mock_env}; - use cosmwasm_std::{coin, Order}; + use cosmwasm_std::{Order, coin}; use nym_contracts_common_testing::deps_with_balance; use nym_pool_contract_common::BasicAllowance; @@ -688,9 +688,11 @@ mod tests { let mut grants = HashMap::new(); grants.insert(deps.api.addr_make("gr1").to_string(), dummy_allowance()); grants.insert("invalid_address".to_string(), dummy_allowance()); - assert!(storage - .initialise(deps.as_mut(), env.clone(), admin.clone(), denom, grants) - .is_err()); + assert!( + storage + .initialise(deps.as_mut(), env.clone(), admin.clone(), denom, grants) + .is_err() + ); // fails on invalid allowance let mut deps = deps_with_balance(&env); @@ -702,9 +704,11 @@ mod tests { expiration_unix_timestamp: None, }), ); - assert!(storage - .initialise(deps.as_mut(), env.clone(), admin, denom, grants) - .is_err()); + assert!( + storage + .initialise(deps.as_mut(), env.clone(), admin, denom, grants) + .is_err() + ); Ok(()) } @@ -782,11 +786,13 @@ mod tests { let denom = &TEST_DENOM.to_string(); storage.initialise(deps.as_mut(), env, admin, denom, HashMap::new())?; - assert!(storage - .locked - .total_locked - .load(deps.as_ref().storage)? - .is_zero()); + assert!( + storage + .locked + .total_locked + .load(deps.as_ref().storage)? + .is_zero() + ); Ok(()) } @@ -966,12 +972,16 @@ mod tests { let not_granter = test.generate_account(); let deps = test.deps(); - assert!(storage - .ensure_is_whitelisted_granter(deps, &granter) - .is_ok()); - assert!(storage - .ensure_is_whitelisted_granter(deps, ¬_granter) - .is_err()); + assert!( + storage + .ensure_is_whitelisted_granter(deps, &granter) + .is_ok() + ); + assert!( + storage + .ensure_is_whitelisted_granter(deps, ¬_granter) + .is_err() + ); Ok(()) } @@ -1207,14 +1217,18 @@ mod tests { let admin = test.admin_unchecked(); let granter = test.generate_account(); - assert!(storage - .remove_granter(test.deps_mut(), &admin, &granter) - .is_err()); + assert!( + storage + .remove_granter(test.deps_mut(), &admin, &granter) + .is_err() + ); test.add_granter(&granter); - assert!(storage - .remove_granter(test.deps_mut(), &admin, &granter) - .is_ok()); + assert!( + storage + .remove_granter(test.deps_mut(), &admin, &granter) + .is_ok() + ); Ok(()) } @@ -1230,33 +1244,43 @@ mod tests { test.add_granter(&granter); // can't be removed by the granter itself - assert!(storage - .remove_granter(test.deps_mut(), &granter, &granter) - .is_err()); + assert!( + storage + .remove_granter(test.deps_mut(), &granter, &granter) + .is_err() + ); // not by some random address - assert!(storage - .remove_granter(test.deps_mut(), &random_address, &granter) - .is_err()); + assert!( + storage + .remove_granter(test.deps_mut(), &random_address, &granter) + .is_err() + ); // admin can do it though! - assert!(storage - .remove_granter(test.deps_mut(), &admin, &granter) - .is_ok()); + assert!( + storage + .remove_granter(test.deps_mut(), &admin, &granter) + .is_ok() + ); test.add_granter(&granter); let new_admin = test.generate_account(); test.change_admin(&new_admin); // old admin can't do anything : ( - assert!(storage - .remove_granter(test.deps_mut(), &admin, &granter) - .is_err()); + assert!( + storage + .remove_granter(test.deps_mut(), &admin, &granter) + .is_err() + ); // but new admin can! - assert!(storage - .remove_granter(test.deps_mut(), &new_admin, &granter) - .is_ok()); + assert!( + storage + .remove_granter(test.deps_mut(), &new_admin, &granter) + .is_ok() + ); Ok(()) } @@ -1270,17 +1294,21 @@ mod tests { let granter = test.generate_account(); test.add_granter(&granter); - assert!(storage - .granters - .may_load(test.storage(), granter.clone())? - .is_some()); + assert!( + storage + .granters + .may_load(test.storage(), granter.clone())? + .is_some() + ); storage.remove_granter(test.deps_mut(), &admin, &granter)?; - assert!(storage - .granters - .may_load(test.storage(), granter.clone())? - .is_none()); + assert!( + storage + .granters + .may_load(test.storage(), granter.clone())? + .is_none() + ); Ok(()) } } @@ -1478,14 +1506,16 @@ mod tests { assert!(matches!(res, NymPoolContractError::GrantNotFound { .. })); test.add_dummy_grant_for(&grantee); - assert!(storage - .try_spend_part_of_grant( - test.deps_mut(), - &env, - &grantee, - &coin(100, TEST_DENOM) - ) - .is_ok()); + assert!( + storage + .try_spend_part_of_grant( + test.deps_mut(), + &env, + &grantee, + &coin(100, TEST_DENOM) + ) + .is_ok() + ); Ok(()) } @@ -1629,17 +1659,21 @@ mod tests { // removes the actual entry from the map test.add_dummy_grant_for(&grantee); - assert!(storage - .grants - .may_load(test.storage(), grantee.clone())? - .is_some()); + assert!( + storage + .grants + .may_load(test.storage(), grantee.clone())? + .is_some() + ); assert!(storage.remove_grant(test.deps_mut(), &grantee).is_ok()); - assert!(storage - .grants - .may_load(test.storage(), grantee.clone())? - .is_none()); + assert!( + storage + .grants + .may_load(test.storage(), grantee.clone())? + .is_none() + ); // if applicable, unlocks any locked tokens // (all the details of unlocking are already tested in different unit test(s), @@ -1649,11 +1683,13 @@ mod tests { assert!(storage.remove_grant(test.deps_mut(), &grantee2).is_ok()); - assert!(storage - .locked - .grantees - .may_load(test.storage(), grantee2)? - .is_none()); + assert!( + storage + .locked + .grantees + .may_load(test.storage(), grantee2)? + .is_none() + ); assert!(storage.locked.total_locked.load(test.storage())?.is_zero()); Ok(()) @@ -1682,9 +1718,11 @@ mod tests { ); test.add_dummy_grant_for(&grantee); - assert!(storage - .revoke_grant(test.deps_mut(), &grantee, &admin) - .is_ok()); + assert!( + storage + .revoke_grant(test.deps_mut(), &grantee, &admin) + .is_ok() + ); Ok(()) } @@ -1698,17 +1736,21 @@ mod tests { // current admin let admin = test.admin_unchecked(); - assert!(storage - .revoke_grant(test.deps_mut(), &grantee, &admin) - .is_ok()); + assert!( + storage + .revoke_grant(test.deps_mut(), &grantee, &admin) + .is_ok() + ); // new admin let new_admin = test.generate_account(); let grantee = test.add_dummy_grant().grantee; test.change_admin(&new_admin); - assert!(storage - .revoke_grant(test.deps_mut(), &grantee, &new_admin) - .is_ok()); + assert!( + storage + .revoke_grant(test.deps_mut(), &grantee, &new_admin) + .is_ok() + ); // old admin let grantee = test.add_dummy_grant().grantee; @@ -1750,9 +1792,11 @@ mod tests { )?; // still whitelisted - assert!(storage - .revoke_grant(test.deps_mut(), &grantee1, &granter) - .is_ok()); + assert!( + storage + .revoke_grant(test.deps_mut(), &grantee1, &granter) + .is_ok() + ); // not whitelisted anymore storage.remove_granter(test.deps_mut(), &admin, &granter)?; @@ -1775,10 +1819,12 @@ mod tests { let grantee = test.add_dummy_grant().grantee; storage.revoke_grant(test.deps_mut(), &grantee, &admin)?; - assert!(storage - .grants - .may_load(test.storage(), grantee.clone())? - .is_none()); + assert!( + storage + .grants + .may_load(test.storage(), grantee.clone())? + .is_none() + ); Ok(()) } @@ -1801,12 +1847,16 @@ mod tests { let env = test.env(); - assert!(storage - .lock_part_of_allowance(test.deps_mut(), &env, &grantee, bad_amount) - .is_err()); - assert!(storage - .lock_part_of_allowance(test.deps_mut(), &env, &grantee, good_amount) - .is_ok()); + assert!( + storage + .lock_part_of_allowance(test.deps_mut(), &env, &grantee, bad_amount) + .is_err() + ); + assert!( + storage + .lock_part_of_allowance(test.deps_mut(), &env, &grantee, good_amount) + .is_ok() + ); Ok(()) } @@ -1821,15 +1871,19 @@ mod tests { let amount = test.coin(100); // doesn't exist - assert!(storage - .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount.clone()) - .is_err()); + assert!( + storage + .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount.clone()) + .is_err() + ); // does exist test.add_dummy_grant_for(&grantee); - assert!(storage - .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount) - .is_ok()); + assert!( + storage + .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount) + .is_ok() + ); Ok(()) } @@ -1848,14 +1902,18 @@ mod tests { storage.insert_new_grant(test.deps_mut(), &env, &admin, &grantee, allowance)?; let amount = test.coin(101); - assert!(storage - .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount) - .is_err()); + assert!( + storage + .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount) + .is_err() + ); let amount = test.coin(100); - assert!(storage - .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount) - .is_ok()); + assert!( + storage + .lock_part_of_allowance(test.deps_mut(), &env, &grantee, amount) + .is_ok() + ); Ok(()) } @@ -1962,7 +2020,7 @@ mod tests { #[cfg(test)] mod unlocking_part_of_allowance { use super::*; - use crate::testing::{init_contract_tester, NymPoolContract}; + use crate::testing::{NymPoolContract, init_contract_tester}; use nym_contracts_common_testing::{ContractTester, DenomExt}; fn setup_locked_grant(test: &mut ContractTester) -> Addr { @@ -1980,12 +2038,16 @@ mod tests { let bad_amount = coin(0, "invalid-denom"); let good_amount = test.coin(100); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &bad_amount) - .is_err()); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &good_amount) - .is_ok()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &bad_amount) + .is_err() + ); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &good_amount) + .is_ok() + ); Ok(()) } @@ -1997,14 +2059,18 @@ mod tests { let grantee = setup_locked_grant(&mut test); let amount = test.coin(101); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) - .is_err()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) + .is_err() + ); let amount = test.coin(100); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) - .is_ok()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) + .is_ok() + ); Ok(()) } @@ -2016,14 +2082,18 @@ mod tests { let amount = test.coin(100); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) - .is_err()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) + .is_err() + ); test.add_dummy_grant_for(&grantee); test.lock_allowance(&grantee, Uint128::new(100)); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) - .is_ok()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) + .is_ok() + ); Ok(()) } @@ -2035,13 +2105,17 @@ mod tests { let amount = test.coin(100); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) - .is_err()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) + .is_err() + ); test.lock_allowance(&grantee, Uint128::new(100)); - assert!(storage - .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) - .is_ok()); + assert!( + storage + .unlock_part_of_allowance(test.deps_mut(), &grantee, &amount) + .is_ok() + ); Ok(()) } @@ -2112,11 +2186,13 @@ mod tests { let amount = test.coin(80); storage.unlock_part_of_allowance(test.deps_mut(), &grantee, &amount)?; - assert!(storage - .locked - .grantees - .may_load(test.storage(), grantee)? - .is_none(),); + assert!( + storage + .locked + .grantees + .may_load(test.storage(), grantee)? + .is_none(), + ); assert!(storage.locked.total_locked.load(test.storage())?.is_zero()); Ok(()) @@ -2127,7 +2203,7 @@ mod tests { #[cfg(test)] mod locked_storage { use super::*; - use crate::testing::{init_contract_tester, NymPoolContractTesterExt}; + use crate::testing::{NymPoolContractTesterExt, init_contract_tester}; use cosmwasm_std::testing::mock_dependencies; use nym_contracts_common_testing::{ContractOpts, RandExt}; @@ -2154,15 +2230,19 @@ mod tests { let storage = LockedStorage::new(); // returns zero when there's nothing - assert!(storage - .grantee_locked(test.deps().storage, &grantee)? - .is_zero()); + assert!( + storage + .grantee_locked(test.deps().storage, &grantee)? + .is_zero() + ); // even when a grant is created (but with nothing locked!) test.add_dummy_grant_for(&grantee); - assert!(storage - .grantee_locked(test.deps().storage, &grantee)? - .is_zero()); + assert!( + storage + .grantee_locked(test.deps().storage, &grantee)? + .is_zero() + ); let to_lock = Uint128::new(100); // lock some tokens... @@ -2185,15 +2265,19 @@ mod tests { let storage = LockedStorage::new(); // returns None when there's nothing - assert!(storage - .maybe_grantee_locked(test.deps().storage, &grantee)? - .is_none()); + assert!( + storage + .maybe_grantee_locked(test.deps().storage, &grantee)? + .is_none() + ); // even when a grant is created (but with nothing locked!) test.add_dummy_grant_for(&grantee); - assert!(storage - .maybe_grantee_locked(test.deps().storage, &grantee)? - .is_none()); + assert!( + storage + .maybe_grantee_locked(test.deps().storage, &grantee)? + .is_none() + ); let to_lock = Uint128::new(100); // lock some tokens... diff --git a/contracts/nym-pool/src/transactions.rs b/contracts/nym-pool/src/transactions.rs index 3274a31c34..597653b356 100644 --- a/contracts/nym-pool/src/transactions.rs +++ b/contracts/nym-pool/src/transactions.rs @@ -262,7 +262,7 @@ pub fn try_remove_expired( #[cfg(test)] mod tests { use super::*; - use crate::testing::{init_contract_tester, NymPoolContractTesterExt}; + use crate::testing::{NymPoolContractTesterExt, init_contract_tester}; use nym_contracts_common_testing::{AdminExt, ContractOpts, DenomExt, RandExt}; use nym_pool_contract_common::ExecuteMsg; @@ -418,14 +418,16 @@ mod tests { )); let valid_address = test.generate_account(); - assert!(try_grant_allowance( - test.deps_mut(), - env.clone(), - admin.clone(), - valid_address.to_string(), - dummy_grant - ) - .is_ok()); + assert!( + try_grant_allowance( + test.deps_mut(), + env.clone(), + admin.clone(), + valid_address.to_string(), + dummy_grant + ) + .is_ok() + ); Ok(()) } @@ -473,13 +475,15 @@ mod tests { ); // for sanity’s sake check with an existing grant - assert!(try_revoke_grant( - test.deps_mut(), - env.clone(), - admin.clone(), - grant.grantee.to_string() - ) - .is_ok()); + assert!( + try_revoke_grant( + test.deps_mut(), + env.clone(), + admin.clone(), + grant.grantee.to_string() + ) + .is_ok() + ); Ok(()) } @@ -811,7 +815,7 @@ mod tests { #[cfg(test)] mod withdrawing_from_allowance { use super::*; - use crate::testing::{init_contract_tester, NymPoolContractTesterExt}; + use crate::testing::{NymPoolContractTesterExt, init_contract_tester}; use cosmwasm_std::coin; use nym_contracts_common_testing::{AdminExt, ChainOpts, ContractOpts, DenomExt, RandExt}; use nym_pool_contract_common::{BasicAllowance, ExecuteMsg}; @@ -1450,10 +1454,12 @@ mod tests { assert!(res.is_ok()); // introduces new granter - assert!(NYM_POOL_STORAGE - .granters - .may_load(test.storage(), good_address)? - .is_some()); + assert!( + NYM_POOL_STORAGE + .granters + .may_load(test.storage(), good_address)? + .is_some() + ); Ok(()) } @@ -1493,10 +1499,12 @@ mod tests { ); assert!(res.is_ok()); - assert!(NYM_POOL_STORAGE - .granters - .may_load(test.storage(), granter_address)? - .is_none()); + assert!( + NYM_POOL_STORAGE + .granters + .may_load(test.storage(), granter_address)? + .is_none() + ); Ok(()) } @@ -1504,7 +1512,7 @@ mod tests { #[cfg(test)] mod removing_expired { use super::*; - use crate::testing::{init_contract_tester, NymPoolContract, NymPoolContractTesterExt}; + use crate::testing::{NymPoolContract, NymPoolContractTesterExt, init_contract_tester}; use nym_contracts_common_testing::{ChainOpts, ContractOpts, ContractTester, RandExt}; use nym_pool_contract_common::{BasicAllowance, GranteeAddress}; @@ -1580,10 +1588,12 @@ mod tests { let (mut test, grantee) = setup_with_expired_grant(); let sender = test.generate_account(); - assert!(NYM_POOL_STORAGE - .grants - .may_load(test.storage(), grantee.clone())? - .is_some()); + assert!( + NYM_POOL_STORAGE + .grants + .may_load(test.storage(), grantee.clone())? + .is_some() + ); test.execute_raw( sender.clone(), @@ -1592,10 +1602,12 @@ mod tests { }, )?; - assert!(NYM_POOL_STORAGE - .grants - .may_load(test.storage(), grantee)? - .is_none()); + assert!( + NYM_POOL_STORAGE + .grants + .may_load(test.storage(), grantee)? + .is_none() + ); Ok(()) } diff --git a/contracts/performance/src/contract.rs b/contracts/performance/src/contract.rs index 2f488f3961..5c6454965a 100644 --- a/contracts/performance/src/contract.rs +++ b/contracts/performance/src/contract.rs @@ -14,7 +14,7 @@ use crate::transactions::{ try_submit_performance_results, try_update_contract_admin, }; use cosmwasm_std::{ - entry_point, to_json_binary, Binary, Deps, DepsMut, Env, MessageInfo, Response, + Binary, Deps, DepsMut, Env, MessageInfo, Response, entry_point, to_json_binary, }; use nym_contracts_common::set_build_information; use nym_performance_contract_common::{ diff --git a/contracts/performance/src/helpers.rs b/contracts/performance/src/helpers.rs index 8219910787..9a16cdabf4 100644 --- a/contracts/performance/src/helpers.rs +++ b/contracts/performance/src/helpers.rs @@ -1,7 +1,7 @@ // Copyright 2025 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use cosmwasm_std::{from_json, Binary, CustomQuery, QuerierWrapper, StdError, StdResult}; +use cosmwasm_std::{Binary, CustomQuery, QuerierWrapper, StdError, StdResult, from_json}; use cw_storage_plus::{Key, Namespace, Path, PrimaryKey}; use nym_mixnet_contract_common::{Interval, NymNodeBond}; use nym_performance_contract_common::{EpochId, NodeId}; diff --git a/contracts/performance/src/queries.rs b/contracts/performance/src/queries.rs index 5fe2c3ed91..a213ab72c1 100644 --- a/contracts/performance/src/queries.rs +++ b/contracts/performance/src/queries.rs @@ -1,7 +1,7 @@ // Copyright 2025 - Nym Technologies SA // SPDX-License-Identifier: Apache-2.0 -use crate::storage::{retrieval_limits, NYM_PERFORMANCE_CONTRACT_STORAGE}; +use crate::storage::{NYM_PERFORMANCE_CONTRACT_STORAGE, retrieval_limits}; use cosmwasm_std::{Addr, Deps, Order, StdResult}; use cw_controllers::AdminResponse; use cw_storage_plus::Bound; @@ -315,7 +315,7 @@ pub fn query_last_submission(deps: Deps) -> Result