pub(crate) async fn send(&mut self, block: FetchedBlock) -> anyhow::Result<()> {
        let want = self.inner.next_l2_block;
        // Some blocks are missing.
        if block.number > want {
            anyhow::bail!("expected {want:?}, got {:?}", block.number);
        }
        // Block already processed.
        if block.number < want {
            return Ok(());
        }
        self.actions.push_actions(self.inner.advance(block)).await?;
        Ok(())
    }
Advances the cursor by converting the block into actions and pushing them
to the actions queue.
Does nothing and returns `Ok(())` if the block has been already processed.
Returns an error if a block with an earlier block number was expected.
core/node/consensus/src/storage/mod.rs