frame-executive spawns the runtime with only the PreRuntime digests: https://github.com/serai-dex/patch-polkadot-sdk/blob/d9f7af4fa01866f5f7a4e6b07321e87f09e45c0c/polkadot-sdk/substrate/frame/executive/src/lib.rs#L597-L625
Nothing within Serai appears to limit what these PreRuntime digests are. In comparison, sc-consensus-babe has an error for when there are multiple BABE DigestItem::PreRuntime(_).
Serai needs to limit DigestItem::PreRuntime to its own and BABE and ensure only a single of each is allowed to prevent malicious block proposers from spamming blocks.
frame-executivespawns the runtime with only thePreRuntimedigests: https://github.com/serai-dex/patch-polkadot-sdk/blob/d9f7af4fa01866f5f7a4e6b07321e87f09e45c0c/polkadot-sdk/substrate/frame/executive/src/lib.rs#L597-L625Nothing within Serai appears to limit what these
PreRuntimedigests are. In comparison,sc-consensus-babehas an error for when there are multiple BABEDigestItem::PreRuntime(_).Serai needs to limit
DigestItem::PreRuntimeto its own and BABE and ensure only a single of each is allowed to prevent malicious block proposers from spamming blocks.