-
-
Notifications
You must be signed in to change notification settings - Fork 804
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat[ux]: compile .vyi
files
#4290
base: master
Are you sure you want to change the base?
feat[ux]: compile .vyi
files
#4290
Conversation
.vyi
files
looking good to me. @cyberthirst can you take a look? |
bit unrelated, but if an interface
|
|
Not intended. May be the order in which we merged flag and |
shouldn't import ITest2
implements: ITest2
def bar() -> uint256:
...
def foo() -> uint8:
...
def foobar() -> uint8:
... outputs: # Functions
@external
def bar() -> uint256:
...
@external
def foo() -> uint8:
...
@external
def foobar() -> uint8:
...
ie |
also, if |
|
||
""" | ||
file = make_file("interface.vyi", interface) | ||
compile_files([file], ["ast", "annotated_ast", "interface", "external_interface", "abi"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would it make sense to use this here? https://github.com/vyperlang/vyper/pull/4290/files#diff-d428d4c971c9f7166899f6f2d3da5e17ca4478d8d371d803e735d6ee36b39d30R49
so we don't have to maintain the list on 2 places
name discrepancy - Itest vs ITest |
this looks ok to me. @cyberthirst what did we decide about the |
i think for but it's not that important. if we can't reach consensus, we can always block the behavior. |
# test__interface.vyi
@external
def foo():
...
should crash on |
yeah this sounds reasonable, i was reporting rather for completness |
say we have flag Foo:
Blah
@external
def foo() -> Foo:
... then with # External Interfaces
interface Ifile:
def foo() -> flag Foo('Blah'): nonpayable which is not valid syntax, is that intentional? |
we can import stateful modules to the # ifile.vyi
import test
initializes: test
@external
def foo(a: test.Foo) -> test.Foo:
...
# test.vy
c: uint256
flag Foo:
Blah
@external
def foo() -> Foo:
return Foo.Blah works eg with |
What I did
Allowed compiling ".vyi" files with
ast,annotated_ast,interface,external_interface,abi
flags.#4232
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