vyperlang / vyper

Pythonic Smart Contract Language for the EVM
https://vyperlang.org
Other
4.91k stars 802 forks source link

implements directive doesn't enforce all declared properties from vyi files #4335

Open cyberthirst opened 4 weeks ago

cyberthirst commented 4 weeks ago

Version Information

What's your issue about?

following compiles

# main.vy
import ITest

implements: ITest

@external
@view
def c() -> uint256:
    return 1

# ITest.vyi
c: public(constant(uint256)) = 32

also, as mentioned in: https://github.com/vyperlang/vyper/issues/3978#issuecomment-2440046738, the interface can declare a var in transient, and it can end up being implemented as a regular function