validatePatchbayExecutionContract function
Implementation
void validatePatchbayExecutionContract(PatchbayExecutionContract contract) {
final int? unchanged = contract.unchangedEvidenceMaxAgeMs;
if (unchanged != null &&
(unchanged < 1 || unchanged > patchbayUnchangedEvidenceMaxAgeMs)) {
throw ArgumentError.value(
unchanged,
'unchangedEvidenceMaxAgeMs',
'must be in 1..$patchbayUnchangedEvidenceMaxAgeMs',
);
}
final int? confirmation = contract.confirmationBudgetMs;
if (confirmation != null &&
(confirmation < 1 || confirmation > patchbayConfirmationBudgetMaxMs)) {
throw ArgumentError.value(
confirmation,
'confirmationBudgetMs',
'must be in 1..$patchbayConfirmationBudgetMaxMs',
);
}
if (contract.weakConfirmationCompletes && confirmation == null) {
throw ArgumentError(
'weakConfirmationCompletes requires confirmationBudgetMs',
);
}
}