// If a FullFault message includes a signature from the Audit server // which was nominated in the Fault, pledgedByAudit will return true func (s *State) pledgedByAudit(fullFault *messages.FullServerFault) bool { for _, a := range s.Authorities { if a.AuthorityChainID.IsSameAs(fullFault.AuditServerID) { marshalledSF, err := fullFault.MarshalForSF() if err == nil { for _, sig := range fullFault.SignatureList.List { sigVer, err := a.VerifySignature(marshalledSF, sig.GetSignature()) if err == nil && sigVer { return true } } } break } } return false }