use sov_modules_api::{Context, DaSpec, WorkingSet};
use crate::BlobStorage;
#[cfg_attr(
feature = "native",
derive(serde::Serialize),
derive(serde::Deserialize),
derive(sov_modules_api::macros::CliWalletArg),
derive(schemars::JsonSchema)
)]
#[derive(borsh::BorshDeserialize, borsh::BorshSerialize, Debug, PartialEq, Clone)]
pub enum CallMessage {
ProcessDeferredBlobsEarly {
number: u16,
},
}
impl<C: Context, Da: DaSpec> BlobStorage<C, Da> {
pub(crate) fn handle_process_blobs_early_msg(
&self,
context: &C,
number: u16,
working_set: &mut WorkingSet<C>,
) {
if let Some(preferred_sequencer) = self
.sequencer_registry
.get_preferred_sequencer_rollup_address(working_set)
{
if context.sender() == &preferred_sequencer {
self.deferred_blobs_requested_for_execution_next_slot
.set(&number, working_set);
}
}
}
}