diff --git a/.github/workflows/static_analysis.yml b/.github/workflows/static_analysis.yml new file mode 100644 index 00000000..cbd8cb0e --- /dev/null +++ b/.github/workflows/static_analysis.yml @@ -0,0 +1,48 @@ +name: Cargo fmt & clippy + +on: + pull_request: + push: + branches: [master, develop] + +env: + CARGO_TERM_COLOR: always + +jobs: + static_analysis: + runs-on: ubuntu-latest + + steps: + # v4.1.1 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + with: + submodules: 'true' + + # v2.1.0 + - uses: arduino/setup-protoc@a8b67ba40b37d35169e222f3bb352603327985b6 + + # v2.7.1 + - uses: Swatinem/rust-cache@3cf7f8cc28d1b4e7d01e3783be10a97d55d483c8 + + # v2.20.16 + - name: cargo install + uses: taiki-e/install-action@ac89944b5b150d78567ab6c02badfbe48b0b55aa + with: + tool: clippy-sarif, sarif-fmt + + - name: cargo fmt + run: cargo fmt --check + + - name: cargo clippy + env: + SKIP_WASM_BUILD: 1 + run: cargo clippy --all-targets --features runtime-benchmarks + --message-format=json -- -D warnings | clippy-sarif | tee results.sarif | sarif-fmt + shell: bash + + - name: Upload SARIF file + if: always() + # v2.24.2 + uses: github/codeql-action/upload-sarif@49abf0ba24d0b7953cb586944e918a0b92074c80 + with: + sarif_file: results.sarif diff --git a/pallets/beefy-light-client/src/fixtures.rs b/pallets/beefy-light-client/src/fixtures.rs index ce5fc4ad..3cec99f1 100644 --- a/pallets/beefy-light-client/src/fixtures.rs +++ b/pallets/beefy-light-client/src/fixtures.rs @@ -118,7 +118,6 @@ impl ValidatorSet { pub fn proofs(&self) -> Vec> { (0..self.addresses.len()) - .into_iter() .map(|i| self.validator_pubkey_proof(i)) .collect() } @@ -132,10 +131,7 @@ impl ValidatorSet { } pub fn root(&self) -> H256 { - let root = beefy_merkle_tree::merkle_root::( - self.addresses.clone(), - ); - root + beefy_merkle_tree::merkle_root::(self.addresses.clone()) } fn authority_set(&self) -> sp_beefy::mmr::BeefyAuthoritySet { @@ -235,11 +231,10 @@ enum MMRNode { impl MMRNode { fn hash(&self) -> H256 { - let hash = match self { + match self { MMRNode::Leaf(leaf) => sp_runtime::traits::Keccak256::hash_of(leaf), MMRNode::Hash(hash) => *hash, - }; - hash + } } } @@ -315,7 +310,7 @@ pub fn generate_fixture(validators: usize, tree_size: u32) -> AnyResult sp_beefy::known_payloads::MMR_ROOT_ID, mmr_root.encode(), ), - block_number: tree_size as u32, + block_number: tree_size, validator_set_id: validator_set.id, }; let signed_commitment = validator_set.sign_commitment(&mut rng, commitment, None); diff --git a/pallets/beefy-light-client/src/tests.rs b/pallets/beefy-light-client/src/tests.rs index 1fb5780c..7c10509c 100644 --- a/pallets/beefy-light-client/src/tests.rs +++ b/pallets/beefy-light-client/src/tests.rs @@ -78,14 +78,13 @@ fn validator_proof( public_key_merkle_proofs.push(fixture.validator_set_proofs[i].clone()); } } - let validator_proof = bridge_common::beefy_types::ValidatorProof { + ValidatorProof { signatures: proof_signatures, positions, public_keys, - public_key_merkle_proofs: public_key_merkle_proofs, + public_key_merkle_proofs, validator_claims_bitfield: initial_bitfield, - }; - validator_proof + } } #[test_case(3, 5; "3 validators, 5 leaves")] diff --git a/pallets/data-signer/src/tests.rs b/pallets/data-signer/src/tests.rs index d2368d44..fa94dee7 100644 --- a/pallets/data-signer/src/tests.rs +++ b/pallets/data-signer/src/tests.rs @@ -504,7 +504,7 @@ fn it_works_finish_add_peer() { assert_ok!(DataSigner::register_network( RuntimeOrigin::root(), network_id, - peers.clone(), + peers, )); let new_peer = test_signer().public(); @@ -533,7 +533,7 @@ fn it_fails_add_peer_no_pending_update() { assert_ok!(DataSigner::register_network( RuntimeOrigin::root(), network_id, - peers.clone(), + peers, )); let new_peer = test_signer().public(); @@ -569,7 +569,7 @@ fn it_works_validate_unsigned() { assert_eq!( ::validate_unsigned( TransactionSource::External, - &call.into(), + &call, ), TransactionValidity::Ok( ValidTransaction::with_tag_prefix("DataSignerApprove") @@ -594,7 +594,7 @@ fn it_fails_validate_unsigned_no_network() { assert_ok!(DataSigner::register_network( RuntimeOrigin::root(), network_id, - peers.clone(), + peers, )); let different_network_id = bridge_types::GenericNetworkId::Sub(SubNetworkId::Kusama); @@ -611,7 +611,7 @@ fn it_fails_validate_unsigned_no_network() { assert_eq!( ::validate_unsigned( TransactionSource::External, - &call.into(), + &call, ), InvalidTransaction::BadSigner.into() ); @@ -628,7 +628,7 @@ fn it_fails_validate_unsigned_bad_proof() { assert_ok!(DataSigner::register_network( RuntimeOrigin::root(), network_id, - peers.clone(), + peers, )); let data = [1u8; 32]; @@ -643,7 +643,7 @@ fn it_fails_validate_unsigned_bad_proof() { assert_eq!( ::validate_unsigned( TransactionSource::External, - &call.into(), + &call, ), InvalidTransaction::BadProof.into() ); @@ -660,7 +660,7 @@ fn it_fails_validate_unsigned_bad_signer() { assert_ok!(DataSigner::register_network( RuntimeOrigin::root(), network_id, - peers.clone(), + peers, )); let data = [1u8; 32]; @@ -675,7 +675,7 @@ fn it_fails_validate_unsigned_bad_signer() { assert_eq!( ::validate_unsigned( TransactionSource::External, - &call.into(), + &call, ), InvalidTransaction::BadSigner.into() ); @@ -692,7 +692,7 @@ fn it_fails_validate_unsigned_transaction_stale() { assert_ok!(DataSigner::register_network( RuntimeOrigin::root(), network_id, - peers.clone(), + peers, )); let data = [1u8; 32]; @@ -716,7 +716,7 @@ fn it_fails_validate_unsigned_transaction_stale() { assert_eq!( ::validate_unsigned( TransactionSource::InBlock, - &call.into(), + &call, ), InvalidTransaction::Stale.into() ); @@ -736,15 +736,12 @@ fn it_fails_validate_unsigned_invalid_call() { peers.clone(), )); - let call = Call::register_network { - network_id, - peers: peers.clone(), - }; + let call = Call::register_network { network_id, peers }; assert_eq!( ::validate_unsigned( TransactionSource::External, - &call.into(), + &call, ), InvalidTransaction::Call.into() ); diff --git a/pallets/dispatch/src/mock.rs b/pallets/dispatch/src/mock.rs index 3eddc55a..550513bc 100644 --- a/pallets/dispatch/src/mock.rs +++ b/pallets/dispatch/src/mock.rs @@ -58,12 +58,12 @@ impl frame_system::Config for Test { } pub struct CallFilter; -impl frame_support::traits::Contains for CallFilter { +impl Contains for CallFilter { fn contains(call: &RuntimeCall) -> bool { - match call { - RuntimeCall::System(frame_system::pallet::Call::::remark { .. }) => true, - _ => false, - } + matches!( + call, + RuntimeCall::System(frame_system::pallet::Call::::remark { .. }) + ) } } diff --git a/pallets/multisig-verifier/src/tests.rs b/pallets/multisig-verifier/src/tests.rs index d12119f5..548516aa 100644 --- a/pallets/multisig-verifier/src/tests.rs +++ b/pallets/multisig-verifier/src/tests.rs @@ -163,7 +163,7 @@ fn it_works_delete_peer() { ().into() ); - let key = peers.last().unwrap().clone(); + let key = *peers.last().unwrap(); assert_ok!( TrustedVerifier::remove_peer(RuntimeOrigin::signed(alice::()), key,), @@ -189,7 +189,7 @@ fn it_works_delete_peer() { #[test] fn it_fails_delete_peer_not_initialized() { new_test_ext().execute_with(|| { - let key = test_peers().last().unwrap().clone(); + let key = *test_peers().last().unwrap(); assert_noop!( TrustedVerifier::remove_peer(RuntimeOrigin::signed(alice::()), key,), @@ -230,7 +230,7 @@ fn it_works_verify_signatures() { fn it_fails_verify_dublicated_signatures() { new_test_ext().execute_with(|| { let pairs = test_pairs(); - let peers: Vec = pairs.clone().into_iter().map(|x| x.public()).collect(); + let peers: Vec = pairs.into_iter().map(|x| x.public()).collect(); assert_ok!( TrustedVerifier::initialize( RuntimeOrigin::root(), @@ -266,7 +266,7 @@ fn it_fails_verify_dublicated_signatures() { fn it_fails_verify_not_enough_signatures() { new_test_ext().execute_with(|| { let pairs = test_pairs(); - let peers: Vec = pairs.clone().into_iter().map(|x| x.public()).collect(); + let peers: Vec = pairs.into_iter().map(|x| x.public()).collect(); assert_ok!( TrustedVerifier::initialize( RuntimeOrigin::root(), @@ -301,7 +301,7 @@ fn it_fails_verify_not_enough_signatures() { fn it_fails_verify_invalid_signature() { new_test_ext().execute_with(|| { let pairs = test_pairs(); - let peers: Vec = pairs.clone().into_iter().map(|x| x.public()).collect(); + let peers: Vec = pairs.into_iter().map(|x| x.public()).collect(); assert_ok!( TrustedVerifier::initialize( RuntimeOrigin::root(), diff --git a/pallets/parachain-app/src/lib.rs b/pallets/parachain-app/src/lib.rs index c9fb901f..a24a69d8 100644 --- a/pallets/parachain-app/src/lib.rs +++ b/pallets/parachain-app/src/lib.rs @@ -590,7 +590,7 @@ pub mod pallet { .ok_or(Error::::UnknownPrecision)?; let (amount, sidechain_amount) = - T::BalancePrecisionConverter::to_sidechain(&asset_id, precision, amount.clone()) + T::BalancePrecisionConverter::to_sidechain(&asset_id, precision, amount) .ok_or(Error::::WrongAmount)?; ensure!(sidechain_amount > 0, Error::::WrongAmount); diff --git a/pallets/parachain-app/src/mock.rs b/pallets/parachain-app/src/mock.rs index 75202caf..5a0fed85 100644 --- a/pallets/parachain-app/src/mock.rs +++ b/pallets/parachain-app/src/mock.rs @@ -83,9 +83,9 @@ type Block = frame_system::mocking::MockBlock; Deserialize, )] pub enum AssetId { - XOR, - ETH, - DAI, + Xor, + Eth, + Dai, Custom(u8), } @@ -187,7 +187,7 @@ impl currencies::Config for Test { type WeightInfo = (); } parameter_types! { - pub const GetBaseAssetId: AssetId = AssetId::XOR; + pub const GetBaseAssetId: AssetId = AssetId::Xor; pub GetTeamReservesAccountId: AccountId = AccountId32::from([0; 32]); pub GetFeesAccountId: AccountId = AccountId32::from([1; 32]); pub GetTreasuryAccountId: AccountId = AccountId32::from([2; 32]); @@ -213,7 +213,7 @@ parameter_types! { } parameter_types! { - pub const FeeCurrency: AssetId = AssetId::XOR; + pub const FeeCurrency: AssetId = AssetId::Xor; pub const ThisNetworkId: GenericNetworkId = GenericNetworkId::Sub(SubNetworkId::Mainnet); } @@ -257,7 +257,7 @@ impl BridgeAssetRegistry for AssetRegistryImpl { _symbol: Self::AssetSymbol, ) -> Result { match name.as_str() { - "XOR" => Ok(AssetId::XOR), + "XOR" => Ok(AssetId::Xor), "KSM" => Ok(AssetId::Custom(1)), _ => Ok(AssetId::Custom(0)), } @@ -272,7 +272,7 @@ impl BridgeAssetRegistry for AssetRegistryImpl { fn get_raw_info(asset_id: AssetId) -> bridge_types::types::RawAssetInfo { match asset_id { - AssetId::XOR => bridge_types::types::RawAssetInfo { + AssetId::Xor => bridge_types::types::RawAssetInfo { name: "XOR".to_owned().into(), symbol: "XOR".to_owned().into(), precision: 18, @@ -376,7 +376,7 @@ pub fn new_tester() -> sp_io::TestExternalities { ParachainApp::register_thischain_asset( Origin::::Root.into(), SubNetworkId::Kusama, - AssetId::XOR, + AssetId::Xor, sidechain_asset, allowed_parachains.clone(), minimal_xcm_amount, @@ -402,7 +402,7 @@ pub fn new_tester() -> sp_io::TestExternalities { .into(); ParachainApp::finalize_asset_registration( origin_kusama.clone(), - AssetId::XOR, + AssetId::Xor, AssetKind::Thischain, ) .expect("XOR registration finalization failed"); diff --git a/pallets/parachain-app/src/tests.rs b/pallets/parachain-app/src/tests.rs index c8525b47..70296d4c 100644 --- a/pallets/parachain-app/src/tests.rs +++ b/pallets/parachain-app/src/tests.rs @@ -91,7 +91,7 @@ fn it_fails_mint_not_registered() { (), )) .into(); - let asset_id = AssetId::ETH; + let asset_id = AssetId::Eth; let sender = None; let recipient = Keyring::Alice.into(); let amount = 1_000_000_000_000_000_000; @@ -113,7 +113,7 @@ fn it_fails_mint_no_precision() { (), )) .into(); - let asset_id = AssetId::ETH; + let asset_id = AssetId::Eth; let sender = None; let recipient = Keyring::Alice.into(); let amount = 1_000_000_000_000_000_000; @@ -143,7 +143,7 @@ fn it_fails_mint_wrong_amount() { let amount = 0; assert_noop!( - ParachainApp::mint(origin_kusama, asset_id, sender, recipient.clone(), amount), + ParachainApp::mint(origin_kusama, asset_id, sender, recipient, amount), Error::::WrongAmount ); }); @@ -171,15 +171,15 @@ fn it_works_burn() { assert_ok!(ParachainApp::burn( origin.clone().into(), network_id, - AssetId::XOR, + AssetId::Xor, recipient, amount )); let bridge_acc = BridgeAssetLockerImpl::::bridge_account(network_id.into()); - assert_eq!(Currencies::total_balance(AssetId::XOR, &bridge_acc), amount); + assert_eq!(Currencies::total_balance(AssetId::Xor, &bridge_acc), amount); assert_eq!( - Currencies::total_balance(AssetId::XOR, &Keyring::Alice.into()), + Currencies::total_balance(AssetId::Xor, &Keyring::Alice.into()), 1_000_000_000_000_000_000 - amount ); @@ -226,7 +226,7 @@ fn it_fails_burn_invalid_destination_params() { new_tester().execute_with(|| { let origin = Origin::::Signed(Keyring::Alice.into()); let network_id = SubNetworkId::Kusama; - let asset_id = AssetId::XOR; + let asset_id = AssetId::Xor; let amount = 100; // XCM v2 is not supported @@ -264,7 +264,7 @@ fn it_fails_burn_invalid_destination_params() { // XCM destination > X2 not supported assert_noop!( ParachainApp::burn( - origin.clone().into(), + origin.into(), network_id, asset_id, VersionedMultiLocation::V3(MultiLocation::new( @@ -290,7 +290,7 @@ fn it_fails_burn_relaychain_asset_not_registered() { new_tester_no_registered_assets().execute_with(|| { let origin = Origin::::Signed(Keyring::Alice.into()); let network_id = SubNetworkId::Kusama; - let asset_id = AssetId::XOR; + let asset_id = AssetId::Xor; let amount = 100; let sidechain_asset = ParachainAssetId::Concrete(MultiLocation::new( @@ -320,8 +320,8 @@ fn it_fails_burn_relaychain_asset_not_registered() { ) .expect("XOR registration failed"); ParachainApp::finalize_asset_registration( - origin_kusama.clone(), - AssetId::XOR, + origin_kusama, + AssetId::Xor, AssetKind::Thischain, ) .expect("XOR registration finalization failed"); @@ -350,7 +350,7 @@ fn it_fails_not_relay_transferable_asset() { let origin = Origin::::Signed(Keyring::Alice.into()); let network_id = SubNetworkId::Kusama; let amount = 100; - let asset_id = AssetId::DAI; + let asset_id = AssetId::Dai; ParachainApp::register_thischain_asset( Origin::::Root.into(), @@ -382,7 +382,7 @@ fn it_fails_not_relay_transferable_asset() { assert_noop!( ParachainApp::burn( - origin.clone().into(), + origin.into(), network_id, asset_id, VersionedMultiLocation::V3(MultiLocation::new( @@ -404,12 +404,12 @@ fn it_fails_burn_invalid_destination_parachain() { new_tester().execute_with(|| { let origin = Origin::::Signed(Keyring::Alice.into()); let network_id = SubNetworkId::Kusama; - let asset_id = AssetId::XOR; + let asset_id = AssetId::Xor; let amount = 100; assert_noop!( ParachainApp::burn( - origin.clone().into(), + origin.into(), network_id, asset_id, VersionedMultiLocation::V3(MultiLocation::new( @@ -448,13 +448,7 @@ fn it_fails_burn_token_not_registered() { let amount = 1_000_000; assert_noop!( - ParachainApp::burn( - origin.clone().into(), - network_id, - AssetId::ETH, - recipient, - amount - ), + ParachainApp::burn(origin.into(), network_id, AssetId::Eth, recipient, amount), Error::::TokenIsNotRegistered ); }); @@ -477,19 +471,13 @@ fn it_fails_burn_unknown_presicion() { let network_id = SubNetworkId::Kusama; let recipient = VersionedMultiLocation::V3(location); let amount = 1_000_000; - let asset_id = AssetId::DAI; + let asset_id = AssetId::Dai; crate::AllowedParachainAssets::::insert(SubNetworkId::Kusama, PARA_A, vec![asset_id]); crate::AssetKinds::::insert(SubNetworkId::Kusama, asset_id, AssetKind::Thischain); assert_noop!( - ParachainApp::burn( - origin.clone().into(), - network_id, - asset_id, - recipient, - amount - ), + ParachainApp::burn(origin.into(), network_id, asset_id, recipient, amount), Error::::UnknownPrecision ); }); @@ -544,32 +532,26 @@ fn it_fails_burn_outbound_channel_submit() { assert_ok!(ParachainApp::burn( origin.clone().into(), network_id, - AssetId::XOR, + AssetId::Xor, recipient.clone(), amount )); assert_ok!(ParachainApp::burn( origin.clone().into(), network_id, - AssetId::XOR, + AssetId::Xor, recipient.clone(), amount )); assert_ok!(ParachainApp::burn( origin.clone().into(), network_id, - AssetId::XOR, + AssetId::Xor, recipient.clone(), amount )); assert_noop!( - ParachainApp::burn( - origin.clone().into(), - network_id, - AssetId::XOR, - recipient, - amount - ), + ParachainApp::burn(origin.into(), network_id, AssetId::Xor, recipient, amount), substrate_bridge_channel::outbound::Error::::QueueSizeLimitReached ); }); @@ -580,7 +562,7 @@ fn it_works_register_thischain_asset() { new_tester_no_registered_assets().execute_with(|| { let origin = Origin::::Root; let network_id = SubNetworkId::Mainnet; - let asset_id = AssetId::XOR; + let asset_id = AssetId::Xor; let sidechain_asset = ParachainAssetId::Concrete(MultiLocation::new( 1, X2( @@ -609,7 +591,7 @@ fn it_works_register_thischain_asset() { fn it_works_register_asset_inner() { new_tester_no_registered_assets().execute_with(|| { let network_id = SubNetworkId::Mainnet; - let asset_id = AssetId::DAI; + let asset_id = AssetId::Dai; let sidechain_asset = ParachainAssetId::Concrete(MultiLocation::new( 1, X2( @@ -701,7 +683,7 @@ fn it_works_add_assetid_paraid() { new_tester().execute_with(|| { let origin = Origin::::Root; let network_id = SubNetworkId::Kusama; - let asset_id = AssetId::XOR; + let asset_id = AssetId::Xor; assert_ok!(ParachainApp::add_assetid_paraid( origin.into(), @@ -717,7 +699,7 @@ fn it_works_remove_assetid_paraid() { new_tester().execute_with(|| { let origin = Origin::::Root; let network_id = SubNetworkId::Kusama; - let asset_id = AssetId::XOR; + let asset_id = AssetId::Xor; assert_ok!(ParachainApp::remove_assetid_paraid( origin.into(), diff --git a/pallets/substrate-channel/src/inbound/test.rs b/pallets/substrate-channel/src/inbound/test.rs index 56bde810..26db7e58 100644 --- a/pallets/substrate-channel/src/inbound/test.rs +++ b/pallets/substrate-channel/src/inbound/test.rs @@ -91,9 +91,9 @@ pub type AccountId = <::Signer as IdentifyAccount>::Account Deserialize, )] pub enum AssetId { - XOR, - ETH, - DAI, + Xor, + Eth, + Dai, } pub type Balance = u128; @@ -262,7 +262,7 @@ fn test_submit() { let call = Call::::submit { network_id: BASE_NETWORK_ID, - commitment: commitment.clone(), + commitment, proof: vec![], }; @@ -270,7 +270,7 @@ fn test_submit() { TransactionSource::External, &call )); - assert_ok!(call.clone().dispatch_bypass_filter(origin.clone())); + assert_ok!(call.dispatch_bypass_filter(origin.clone())); let nonce: u64 = >::get(BASE_NETWORK_ID); assert_eq!(nonce, 1); @@ -288,7 +288,7 @@ fn test_submit() { let call = Call::::submit { network_id: BASE_NETWORK_ID, - commitment: commitment.clone(), + commitment, proof: vec![], }; @@ -296,7 +296,7 @@ fn test_submit() { TransactionSource::External, &call )); - assert_ok!(call.clone().dispatch_bypass_filter(origin.clone())); + assert_ok!(call.dispatch_bypass_filter(origin)); let nonce: u64 = >::get(BASE_NETWORK_ID); assert_eq!(nonce, 2); @@ -321,7 +321,7 @@ fn test_submit_with_invalid_nonce() { let call = Call::::submit { network_id: BASE_NETWORK_ID, - commitment: commitment.clone(), + commitment, proof: vec![], }; @@ -340,7 +340,7 @@ fn test_submit_with_invalid_nonce() { TransactionValidityError::Invalid(InvalidTransaction::BadProof) ); assert_noop!( - call.clone().dispatch_bypass_filter(origin.clone()), + call.dispatch_bypass_filter(origin), Error::::InvalidNonce ); }); @@ -364,7 +364,7 @@ fn test_submit_with_invalid_network_id() { let call = Call::::submit { network_id: SubNetworkId::Kusama, - commitment: commitment.clone(), + commitment, proof: vec![], }; @@ -373,7 +373,7 @@ fn test_submit_with_invalid_network_id() { TransactionValidityError::Invalid(InvalidTransaction::BadProof) ); assert_noop!( - call.clone().dispatch_bypass_filter(origin.clone()), + call.dispatch_bypass_filter(origin), Error::::InvalidNetwork ); }); diff --git a/pallets/substrate-channel/src/outbound/benchmarking.rs b/pallets/substrate-channel/src/outbound/benchmarking.rs index edd06bdc..1da2068a 100644 --- a/pallets/substrate-channel/src/outbound/benchmarking.rs +++ b/pallets/substrate-channel/src/outbound/benchmarking.rs @@ -31,17 +31,13 @@ //! BridgeOutboundChannel pallet benchmarking use super::*; -use bridge_types::substrate::BridgeMessage; use bridge_types::traits::OutboundChannel; use frame_benchmarking::benchmarks; -use frame_support::traits::OnInitialize; use frame_system::EventRecord; use frame_system::RawOrigin; use sp_runtime::traits::One; use sp_std::prelude::*; -const BASE_NETWORK_ID: SubNetworkId = SubNetworkId::Mainnet; - #[allow(unused_imports)] use crate::outbound::Pallet as BridgeOutboundChannel; diff --git a/pallets/substrate-channel/src/outbound/mock.rs b/pallets/substrate-channel/src/outbound/mock.rs index 99de41b1..4b9ae0ee 100644 --- a/pallets/substrate-channel/src/outbound/mock.rs +++ b/pallets/substrate-channel/src/outbound/mock.rs @@ -56,9 +56,9 @@ pub type AccountId = <::Signer as IdentifyAccount>::Account Deserialize, )] pub enum AssetId { - XOR, - ETH, - DAI, + Xor, + Eth, + Dai, } pub type Balance = u128; @@ -138,7 +138,7 @@ impl currencies::Config for Test { type WeightInfo = (); } parameter_types! { - pub const GetBaseAssetId: AssetId = AssetId::XOR; + pub const GetBaseAssetId: AssetId = AssetId::Xor; pub GetTeamReservesAccountId: AccountId = AccountId32::from([0; 32]); pub GetFeeAccountId: AccountId = AccountId32::from([1; 32]); pub GetTreasuryAccountId: AccountId = AccountId32::from([2; 32]); diff --git a/pallets/substrate-channel/src/outbound/mod.rs b/pallets/substrate-channel/src/outbound/mod.rs index 9df817b0..853408b9 100644 --- a/pallets/substrate-channel/src/outbound/mod.rs +++ b/pallets/substrate-channel/src/outbound/mod.rs @@ -225,7 +225,7 @@ pub mod pallet { impl Pallet { pub(crate) fn commit(network_id: SubNetworkId) { debug!("Commit substrate messages"); - let messages = MessageQueues::::take(&network_id); + let messages = MessageQueues::::take(network_id); let batch_nonce = ChannelNonces::::mutate(network_id, |nonce| { *nonce += 1; diff --git a/pallets/substrate-channel/src/outbound/test.rs b/pallets/substrate-channel/src/outbound/test.rs index 39c7b766..818e00e5 100644 --- a/pallets/substrate-channel/src/outbound/test.rs +++ b/pallets/substrate-channel/src/outbound/test.rs @@ -125,7 +125,7 @@ fn test_update_interval_bad_origin() { let who: AccountId = Keyring::Bob.into(); assert_noop!( - BridgeOutboundChannel::update_interval(RawOrigin::Signed(who).into(), 1u64.into()), + BridgeOutboundChannel::update_interval(RawOrigin::Signed(who).into(), 1u64), DispatchError::BadOrigin, ); }); @@ -136,7 +136,7 @@ fn test_update_interval_works() { new_tester().execute_with(|| { assert_ok!(BridgeOutboundChannel::update_interval( RawOrigin::Root.into(), - 1u64.into() + 1u64 ),); }); } @@ -145,7 +145,7 @@ fn test_update_interval_works() { fn test_update_interval_zero_interval() { new_tester().execute_with(|| { assert_noop!( - BridgeOutboundChannel::update_interval(RawOrigin::Root.into(), 0u64.into()), + BridgeOutboundChannel::update_interval(RawOrigin::Root.into(), 0u64), Error::::ZeroInterval, ); }); diff --git a/pallets/types/src/difficulty.rs b/pallets/types/src/difficulty.rs index bd25ff0c..16dbe8a6 100644 --- a/pallets/types/src/difficulty.rs +++ b/pallets/types/src/difficulty.rs @@ -271,7 +271,7 @@ mod tests { if s.starts_with("0x") { u128::from_str_radix(s.trim_start_matches("0x"), 16) } else { - u128::from_str_radix(&s, 10) + str::parse(&s) } }; match maybe_uint { @@ -316,7 +316,7 @@ mod tests { let path: PathBuf = [env!("CARGO_MANIFEST_DIR"), "tests", "fixtures", fixture] .iter() .collect(); - serde_json::from_reader(File::open(&path).unwrap()).unwrap() + serde_json::from_reader(File::open(path).unwrap()).unwrap() } } @@ -391,7 +391,7 @@ mod tests { let path: PathBuf = [env!("CARGO_MANIFEST_DIR"), "tests", "fixtures", fixture] .iter() .collect(); - serde_json::from_reader(File::open(&path).unwrap()).unwrap() + serde_json::from_reader(File::open(path).unwrap()).unwrap() } } diff --git a/pallets/types/src/header.rs b/pallets/types/src/header.rs index 03564991..94cde3a8 100644 --- a/pallets/types/src/header.rs +++ b/pallets/types/src/header.rs @@ -301,11 +301,13 @@ mod tests { let nonce: H64 = hex!("6935bbe7b63c4f8e").into(); let mix_hash: H256 = hex!("be3adfb0087be62b28b716e2cdf3c79329df5caa04c9eee035d35b5d52102815").into(); - let mut header: Header = Default::default(); - header.seal = vec![ - rlp::encode(&mix_hash.0.to_vec()).to_vec(), - rlp::encode(&nonce.0.to_vec()).to_vec(), - ]; + let header = Header { + seal: vec![ + rlp::encode(&mix_hash.0.to_vec()).to_vec(), + rlp::encode(&nonce.0.to_vec()).to_vec(), + ], + ..Default::default() + }; assert_eq!(header.nonce().unwrap(), nonce); assert_eq!(header.mix_hash().unwrap(), mix_hash); } @@ -315,11 +317,13 @@ mod tests { let nonce = hex!("696935bbe7b63c4f8e").to_vec(); let mix_hash = hex!("bebe3adfb0087be62b28b716e2cdf3c79329df5caa04c9eee035d35b5d52102815").to_vec(); - let mut header: Header = Default::default(); - header.seal = vec![ - rlp::encode(&mix_hash).to_vec(), - rlp::encode(&nonce).to_vec(), - ]; + let mut header = Header { + seal: vec![ + rlp::encode(&mix_hash).to_vec(), + rlp::encode(&nonce).to_vec(), + ], + ..Default::default() + }; assert_eq!(header.nonce(), None); assert_eq!(header.mix_hash(), None); @@ -330,9 +334,11 @@ mod tests { #[test] fn header_check_receipt_proof() { - let mut header: Header = Default::default(); - header.receipts_root = - hex!("fd5e397a84884641f53c496804f24b5276cbb8c5c9cfc2342246be8e3ce5ad02").into(); + let header = Header { + receipts_root: hex!("fd5e397a84884641f53c496804f24b5276cbb8c5c9cfc2342246be8e3ce5ad02") + .into(), + ..Default::default() + }; // Valid proof let proof_receipt5 = vec!( @@ -372,9 +378,11 @@ mod tests { #[test] fn header_check_receipt_proof_with_intermediate_short_node() { - let mut header: Header = Default::default(); - header.receipts_root = - hex!("d128e3a57142d2bf15bc0cbcac7ad54f40750d571b5c3097e425882c10c9ba66").into(); + let header = Header { + receipts_root: hex!("d128e3a57142d2bf15bc0cbcac7ad54f40750d571b5c3097e425882c10c9ba66") + .into(), + ..Default::default() + }; let proof_receipt263 = vec![ hex!("f90131a00d3cb8d3f57ac1c0e12918a2ebe0cafed8c273577b9dd73e7ed1079b403ef494a0678b9835b834f8a287c0dd33a8fca9146e456ca688555ed4ec1361a2180b778da0fe42da181a46677a043b3d9d4b8bb05a6a17b7b5c010c17e7c1d31cfb7c4f911a0c89f0e2c53241cdb578e1f2b4caf6ba36e00500bdc57fecd66b84a6a58394c19a086c3c1fae5a0575940b5d38e111c469d07883106c26856f3ef608469a2081f13a06c5992ff00aab6226a70a032fd2f571ba22f797321f45e2daa73020d638d21b0a050861e9503ef68728f6c90a44f7fe1bceb2a9bdab6957bbe7136166bd849561ea006aa6eaca8a07e57176e9aa41e6a09edfb7678d1a112404e0ec779d7e567e82ea0bb0b430d303ba21b0af11c487b8a218bd75db54c98940b3f11bad8ff47cad3ef8080808080808080").to_vec(),