fix: drhider _checksum_inn12 — compute n1 before s2 (IndexError fix)
Deploy contracts-flask / validate (push) Successful in 0s

This commit is contained in:
2026-07-07 15:20:50 +04:00
parent aeca68340a
commit e4e950ea18
2 changed files with 12 additions and 6 deletions
+6 -3
View File
@@ -80,12 +80,15 @@ def _checksum_inn10(inn: str) -> str:
def _checksum_inn12(inn: str) -> str:
"""Контрольные суммы для 12-значного ИНН."""
"""Контрольные суммы для 12-значного ИНН (первые 10 цифр)."""
c1 = [7, 2, 4, 10, 3, 5, 9, 4, 6, 8]
c2 = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8]
s1 = sum(int(inn[i]) * c1[i] for i in range(10))
s2 = sum(int(inn[i]) * c2[i] for i in range(11))
return str((s1 % 11) % 10) + str((s2 % 11) % 10)
n1 = (s1 % 11) % 10
inn2 = inn + str(n1)
s2 = sum(int(inn2[i]) * c2[i] for i in range(11))
n2 = (s2 % 11) % 10
return str(n1) + str(n2)
def _checksum_ogrn(ogrn: str) -> str: