hubAuthVerdict function

HubAuthVerdict hubAuthVerdict(
  1. String? credential,
  2. String? masterSecret,
  3. Iterable<String> enrolledSecrets
)

Pure auth decision for one upgrade attempt (unit-testable — the socket wrapper stays trivial so the CRAP ratchet holds).

Implementation

HubAuthVerdict hubAuthVerdict(
  String? credential,
  String? masterSecret,
  Iterable<String> enrolledSecrets,
) {
  if (masterSecret == null) return (allowed: true, isMaster: false);
  if (credential == masterSecret) return (allowed: true, isMaster: true);
  return (
    allowed: credential != null && enrolledSecrets.contains(credential),
    isMaster: false,
  );
}