vyperlang / vyper

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

feat[lang]: allow module intrinsic interface call #4090

Open charles-cooper opened 1 month ago

charles-cooper commented 1 month ago

allow module.__interface__ to be used in call position by adding it to the module membership data structure.

additionally, fix a bug where interfaces defined inline could not be exported. this is simultaneously fixed as a related bug because previously, interfaces could come up in export analysis as InterfaceT or TYPE_T depending on their provenance. this commit fixes the bug by making them TYPE_T in both imported and inlined provenance.

refactor:

What I did

How I did it

How to verify it

Commit message

Commit message for the final, squashed PR. (Optional, but reviewers will appreciate it! Please see our commit message style guide for what we would ideally like to see in a commit message.)

Description for the changelog

Cute Animal Picture

![Put a link to a cute animal picture inside the parenthesis-->]()