Function holochain::core::check_prev_seq

source ·
pub fn check_prev_seq(
    action: &Action,
    prev_action: &Action
) -> SysValidationResult<()>
Expand description

Check the previous action is one less than the current

Examples found in repository?
src/core/workflow/sys_validation_workflow.rs (line 601)
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
async fn store_record(
    action: &Action,
    workspace: &SysValidationWorkspace,
    network: HolochainP2pDna,
) -> SysValidationResult<()> {
    // Get data ready to validate
    let prev_action_hash = action.prev_action();

    // Checks
    check_prev_action(action)?;
    if let Some(prev_action_hash) = prev_action_hash {
        let mut cascade = workspace.full_cascade(network);
        let prev_action = cascade
            .retrieve_action(prev_action_hash.clone(), Default::default())
            .await?
            .ok_or_else(|| ValidationOutcome::DepMissingFromDht(prev_action_hash.clone().into()))?;
        check_prev_timestamp(action, prev_action.action())?;
        check_prev_seq(action, prev_action.action())?;
    }
    Ok(())
}