Skip to content
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: relax restrictions on internal function signatures #3573

3 changes: 1 addition & 2 deletions vyper/semantics/analysis/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ def __init__(
err_list.raise_if_not_empty()

# generate an `InterfaceT` from the top-level node - used for building the ABI
# note: also validates unique method ids
interface = InterfaceT.from_ast(module_node)
module_node._metadata["type"] = interface
self.interface = interface # this is useful downstream
Expand All @@ -105,8 +106,6 @@ def __init__(
# internal functions are intentionally included in this check, to prevent breaking
# changes in in case of a future change to their calling convention
charles-cooper marked this conversation as resolved.
Show resolved Hide resolved
self_members = namespace["self"].typ.members
functions = [i for i in self_members.values() if isinstance(i, ContractFunctionT)]
validate_unique_method_ids(functions)

# get list of internal function calls made by each function
function_defs = self.ast.get_children(vy_ast.FunctionDef)
Expand Down