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

Interfaces cannot be used with verification bundle #27

Open
PatrickAlphaC opened this issue Oct 19, 2024 · 3 comments
Open

Interfaces cannot be used with verification bundle #27

PatrickAlphaC opened this issue Oct 19, 2024 · 3 comments

Comments

@PatrickAlphaC
Copy link
Collaborator

/path/boa_zksync/environment.py:255: UserWarning: While saving deployment data, couldn't construct verification bundle for buy_me_a_coffee! Full stack trace:
```
Invalid path: /path/interfaces/AggregatorV3Interface.vyi

This is an unhandled internal compiler error. Please create an issue on Github to notify the developers!
https://github.com/vyperlang/vyper/issues/new?template=bug.md
```
Continuing.

It looks like it doesn't like interfaces right now.

@DanielSchiavini
Copy link
Collaborator

Do you have a way to reproduce this? The message is coming from the vyper compiler.

@PatrickAlphaC
Copy link
Collaborator Author

Cyfrin/moccasin#166

More information here. It looks like its because the PATH on the server has no knowledge of files. We might need to update this (from verifiers.py)?


        body = {
            "contractAddress": address,
            "sourceCode": {
                contract_name if name == "<unknown>" else name: asset["content"]
                for name, asset in solc_json["sources"].items()
            },
            "codeFormat": "vyper-multi-file",
            "contractName": contract_name,
            "compilerVyperVersion": self._extract_version(
                solc_json["compiler_version"]
            ),
            "compilerZkvyperVersion": solc_json["zkvyper_version"],
            "constructorArguments": f"0x{constructor_calldata.hex()}",
            "optimizationUsed": True,
            # hardcoded in hardhat for some reason: https://github.com/matter-labs/hardhat-zksync/blob/187722e/packages/hardhat-zksync-verify-vyper/src/task-actions.ts#L110  # noqa: E501
        }

I think the imports are getting janked up because of it. If my PATH has lib as a search PATH, and in my vyper I do like:

import X # where X is in lib

It'll compile fine on my machine, but not on the explorer server.

@PatrickAlphaC
Copy link
Collaborator Author

matter-labs/block-explorer#334 (comment)

More context

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

No branches or pull requests

2 participants