difftreelog
fix invalid-transaction use
in: master
1 file changed
runtime/common/identity.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617use scale_info::TypeInfo;18use codec::{Encode, Decode};19use up_common::types::AccountId;20use crate::RuntimeCall;2122use sp_runtime::{23 traits::{DispatchInfoOf, SignedExtension},24 transaction_validity::{TransactionValidity, ValidTransaction, TransactionValidityError},25};2627#[cfg(feature = "collator-selection")]28use sp_runtime::transaction_validity::InvalidTransaction;2930#[derive(Debug, Encode, Decode, PartialEq, Eq, Clone, TypeInfo)]31pub struct DisableIdentityCalls;3233impl SignedExtension for DisableIdentityCalls {34 type AccountId = AccountId;35 type Call = RuntimeCall;36 type AdditionalSigned = ();37 type Pre = ();3839 const IDENTIFIER: &'static str = "DisableIdentityCalls";4041 fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {42 Ok(())43 }4445 fn pre_dispatch(46 self,47 who: &Self::AccountId,48 call: &Self::Call,49 info: &DispatchInfoOf<Self::Call>,50 len: usize,51 ) -> Result<Self::Pre, TransactionValidityError> {52 self.validate(who, call, info, len).map(|_| ())53 }5455 fn validate(56 &self,57 _who: &Self::AccountId,58 call: &Self::Call,59 _info: &DispatchInfoOf<Self::Call>,60 _len: usize,61 ) -> TransactionValidity {62 match call {63 #[cfg(feature = "collator-selection")]64 RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),65 _ => Ok(ValidTransaction::default()),66 }67 }68}