Skip to content

feat: compile .vyi interfaces as types - #169

Merged
fubuloubu merged 2 commits into
ApeWorX:mainfrom
iphelix:vyi-abi-interface
Jun 26, 2026
Merged

feat: compile .vyi interfaces as types#169
fubuloubu merged 2 commits into
ApeWorX:mainfrom
iphelix:vyi-abi-interface

Conversation

@iphelix

@iphelix iphelix commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

What I did

Added support for compiling standalone .vyi interface files into ABI-only contract types so they can be used by ape scripts. This is similar to how JSON abi interfaces are handled.

fixes: #134

How I did it

  • Removed previous filter for interface files for the Vyper 0.4 output selection.
  • Set custom output selection of ["abi"] for interface files
  • Run a separate vyper -f abi on interface files

NOTE: Keeping files under interfaces/ import only as before and not exposed to ape scripts.

How to verify it

Added regression coverage:

uv run pytest tests/functional/test_compiler.py -k "standalone_vyi"

Checklist

  • All changes are completed
  • Change is covered in tests
  • Documentation is complete

@fubuloubu fubuloubu changed the title Compile standalone .vyi interfaces as ABI-only contract types feat: compile .vyi interfaces as types Jun 26, 2026
@fubuloubu
fubuloubu enabled auto-merge (squash) June 26, 2026 11:19
@fubuloubu
fubuloubu merged commit ef0587e into ApeWorX:main Jun 26, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vyper interface files (.vyi) do not appear as interfaces in project

2 participants