func CheckBlockPairIntegrity(block interfaces.IFBlock, prev interfaces.IFBlock) error { if block == nil { return fmt.Errorf("No block specified") } if prev == nil { if block.GetPrevKeyMR().IsZero() == false { return fmt.Errorf("Invalid PrevKeyMR") } if block.GetPrevLedgerKeyMR().IsZero() == false { return fmt.Errorf("Invalid PrevLedgerKeyMR") } if block.GetDBHeight() != 0 { return fmt.Errorf("Invalid DBHeight") } } else { if block.GetPrevKeyMR().IsSameAs(prev.GetKeyMR()) == false { return fmt.Errorf("Invalid PrevKeyMR") } if block.GetPrevLedgerKeyMR().IsSameAs(prev.GetLedgerKeyMR()) == false { return fmt.Errorf("Invalid PrevLedgerKeyMR") } if block.GetDBHeight() != (prev.GetDBHeight() + 1) { return fmt.Errorf("Invalid DBHeight") } } return nil }