git.delta.rocks / unique-network / refs/commits / bce2cc1e9ab8

difftreelog

source

runtime/common/identity.rs2.1 KiBsourcehistory
1// 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}