validatePatchbayExecutionContract function

void validatePatchbayExecutionContract(
  1. PatchbayExecutionContract contract
)

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',
    );
  }
}