Unverified Commit cecb3207 authored by Peter Goodspeed-Niklaus's avatar Peter Goodspeed-Niklaus Committed by GitHub
Browse files

Add warning when dropping inclusion inherent (#2261)

* Add warning when dropping inclusion inherent

* improve warning when dropping inclusion inherent

- use the actual runtime `warn!` macro
- do not speculate about why the error occurred
- show the actual error returned

* BROKEN: add note if the current block matches the session start block

This doesn't compile for a variety of reasons; this commit demonstrates
what the issues are. I don't think this is an essential feature, so I'm
stopping work on it here instead of pushing through it.

* Revert "BROKEN: add note if the current block matches the session start block"

This reverts commit eeb79ab7.

* ensure a runtime logger exists before attempting to log a warning to it
parent 3849a08e
......@@ -196,18 +196,25 @@ impl<T: Config> ProvideInherent for Module<T> {
)| {
// Sanity check: session changes can invalidate an inherent, and we _really_ don't want that to happen.
// See github.com/paritytech/polkadot/issues/1327
if Self::inclusion(
let (signed_bitfields, backed_candidates) = match Self::inclusion(
frame_system::RawOrigin::None.into(),
signed_bitfields.clone(),
backed_candidates.clone(),
parent_header.clone(),
)
.is_ok()
{
Call::inclusion(signed_bitfields, backed_candidates, parent_header)
} else {
Call::inclusion(Vec::new().into(), Vec::new(), parent_header)
}
) {
Ok(_) => (signed_bitfields, backed_candidates),
Err(err) => {
frame_support::debug::RuntimeLogger::init();
frame_support::debug::warn!(
target: "runtime_inclusion_inherent",
"dropping signed_bitfields and backed_candidates because they produced \
an invalid inclusion inherent: {:?}",
err,
);
(Vec::new().into(), Vec::new())
}
};
Call::inclusion(signed_bitfields, backed_candidates, parent_header)
}
)
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment