fix: bind rated result to durable receipt

This commit is contained in:
Josh Creek
2026-09-01 10:09:40 +01:00
parent dd80b52a11
commit 7a3d520608
2 changed files with 33 additions and 8 deletions
+3
View File
@@ -94,6 +94,9 @@ func CompleteResult(ctx context.Context, db *sql.DB, receipt domain.ResultReceip
}
func CompleteResultWithResult(ctx context.Context, db *sql.DB, receipt domain.ResultReceipt, serverID, eventID string, payload []byte, result domain.MatchResult, now time.Time) error {
if result.MatchID != receipt.MatchID || result.ServerID != serverID || result.ResultNonce != receipt.ResultNonce || result.IntegrityState != receipt.IntegrityState || domain.ResultDigest(result) != receipt.PayloadDigest {
return fmt.Errorf("result does not match receipt")
}
return completeResult(ctx, db, receipt, serverID, eventID, payload, now, &result)
}