difftreelog
fix check maintenance in self-contained
in: master
1 file changed
runtime/common/ethereum/self_contained_call.rsdiffbeforeafterboth17use sp_core::H160;17use sp_core::H160;18use sp_runtime::{18use sp_runtime::{19 traits::{Dispatchable, DispatchInfoOf, PostDispatchInfoOf},19 traits::{Dispatchable, DispatchInfoOf, PostDispatchInfoOf},20 transaction_validity::{TransactionValidityError, TransactionValidity},20 transaction_validity::{TransactionValidityError, TransactionValidity, InvalidTransaction},21};21};22use crate::{RuntimeOrigin, RuntimeCall};22use crate::{RuntimeOrigin, RuntimeCall, Maintenance};232324impl fp_self_contained::SelfContainedCall for RuntimeCall {24impl fp_self_contained::SelfContainedCall for RuntimeCall {25 type SignedInfo = H160;25 type SignedInfo = H160;333334 fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {34 fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {35 match self {35 match self {36 RuntimeCall::Ethereum(call) => call.check_self_contained(),36 RuntimeCall::Ethereum(call) => {37 if Maintenance::is_enabled() {38 Some(Err(TransactionValidityError::Invalid(39 InvalidTransaction::Call,40 )))41 } else {42 call.check_self_contained()43 }44 }37 _ => None,45 _ => None,38 }46 }39 }47 }45 len: usize,53 len: usize,46 ) -> Option<TransactionValidity> {54 ) -> Option<TransactionValidity> {47 match self {55 match self {48 RuntimeCall::Ethereum(call) => call.validate_self_contained(info, dispatch_info, len),56 RuntimeCall::Ethereum(call) => {57 if Maintenance::is_enabled() {58 Some(Err(TransactionValidityError::Invalid(59 InvalidTransaction::Call,60 )))61 } else {62 call.validate_self_contained(info, dispatch_info, len)63 }64 }49 _ => None,65 _ => None,50 }66 }51 }67 }