Vyper is a Pythonic smart contract language for the Ethereum virtual machine. Prior to version 0.3.8, due to missing overflow check for loop variables, by assigning the iterator of a loop to a variable, it is possible to overflow the type of the latter. The issue seems to happen only in loops of type for i in range(a, a + N)
as in loops of type for i in range(start, stop)
and for i in range(stop)
, the compiler is able to raise a TypeMismatch
when trying to overflow the variable. The problem has been patched in version 0.3.8.