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

difftreelog

fix check maintenance in self-contained

Daniel Shiposha2022-11-07parent: #d1c5686.patch.diff
in: master

1 file changed

modifiedruntime/common/ethereum/self_contained_call.rsdiffbeforeafterboth
17use 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};
2323
24impl fp_self_contained::SelfContainedCall for RuntimeCall {24impl fp_self_contained::SelfContainedCall for RuntimeCall {
25 type SignedInfo = H160;25 type SignedInfo = H160;
3333
34 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 }