Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Next Next commit
Introduce CheckNonZeroSender
  • Loading branch information
gavofyork committed Dec 2, 2021
commit 70938c80d2388376d4a88370a6c5ca8b8d7719be
2 changes: 2 additions & 0 deletions bin/node/runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -973,6 +973,7 @@ where
.saturating_sub(1);
let era = Era::mortal(period, current_block);
let extra = (
frame_system::CheckNonZeroSender::<Runtime>::new(),
frame_system::CheckSpecVersion::<Runtime>::new(),
frame_system::CheckTxVersion::<Runtime>::new(),
frame_system::CheckGenesis::<Runtime>::new(),
Expand Down Expand Up @@ -1322,6 +1323,7 @@ pub type BlockId = generic::BlockId<Block>;
///
/// [`sign`]: <../../testing/src/keyring.rs.html>
pub type SignedExtra = (
frame_system::CheckNonZeroSender<Runtime>,
frame_system::CheckSpecVersion<Runtime>,
frame_system::CheckTxVersion<Runtime>,
frame_system::CheckGenesis<Runtime>,
Expand Down
1 change: 1 addition & 0 deletions frame/system/src/extensions/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
pub mod check_genesis;
pub mod check_mortality;
pub mod check_nonce;
pub mod check_non_zero_sender;
pub mod check_spec_version;
pub mod check_tx_version;
pub mod check_weight;
2 changes: 1 addition & 1 deletion frame/system/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ pub mod weights;
pub use extensions::{
check_genesis::CheckGenesis, check_mortality::CheckMortality, check_nonce::CheckNonce,
check_spec_version::CheckSpecVersion, check_tx_version::CheckTxVersion,
check_weight::CheckWeight,
check_weight::CheckWeight, check_non_zero_sender::CheckNonZeroSender,
};
// Backward compatible re-export.
pub use extensions::check_mortality::CheckMortality as CheckEra;
Expand Down
3 changes: 3 additions & 0 deletions primitives/runtime/src/transaction_validity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ pub enum InvalidTransaction {
/// A transaction with a mandatory dispatch. This is invalid; only inherent extrinsics are
/// allowed to have mandatory dispatches.
MandatoryDispatch,
/// The sending address is disabled or known to be invalid.
BadSigner,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will require that clients update before.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:-(

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean it is not a hard requirement, aka we don't break authoring. We will just get a failure on validate_block when trying to decode the return value.

}

impl InvalidTransaction {
Expand Down Expand Up @@ -109,6 +111,7 @@ impl From<InvalidTransaction> for &'static str {
InvalidTransaction::MandatoryDispatch =>
"Transaction dispatch is mandatory; transactions may not have mandatory dispatches.",
InvalidTransaction::Custom(_) => "InvalidTransaction custom error",
InvalidTransaction::BadSigner => "Invalid signing address",
}
}
}
Expand Down