ape: manifest produced by `ape compile` does not contain compiler info

Environment information

  • OS: macOS
  • Python Version: 3.10
  • ape and plugin versions:
$ ape --version
0.6.15 # I also tried 0.6.16.dev9+gabe4e96b

$ ape plugins list
Installed Plugins:
  solidity    0.6.7
  hardhat     0.6.12
  vyper       0.6.9
  • Contents of your ape-config.yaml (NOTE: do not post anything private like RPC urls or secrets!):
$ cat ape-config.yaml
name: yearn-v3

plugins:
  - name: solidity
    version: 0.6.7
  - name: vyper
    version: 0.6.9
  - name: hardhat
    version: 0.6.12

default_ecosystem: ethereum
dependencies:
  - name: openzeppelin
    github: OpenZeppelin/openzeppelin-contracts
    version: 4.7.3

solidity:
  import_remapping:
    - "@openzeppelin/contracts=openzeppelin/v4.7.3"

ethereum:
  local:
    default_provider: hardhat

What went wrong?

I am trying to parse the build manifest for ape support in https://github.com/crytic/crytic-compile, but the compiler info is missing Reproduce with:

$ git clone https://github.com/0xalpharush/yearn-vaults-v3 && cd yearn-vaults-v3
$ python3 -m venv venv
$ source venv/bin/activate
$ python3 -m pip install -r requirements.txt
$ yarn
$ ape plugins install .
$ ape compile
$ cat .build/__local__.json | jq 'keys'
[
  "contractTypes",
  "manifest",
  "sources"
]

With python:

$ python
>>> from ethpm_types import PackageManifest
>>> import json
>>> print(PackageManifest.parse_obj(json.load(open(".build/__local__.json"))).compilers)
None

This field is missing https://github.com/ApeWorX/ethpm-types/blob/dffcb6b2fe17f858c95d07499aafe1d66e939dfa/ethpm_types/manifest.py#L124

How can it be fixed?

I think it may need to be added here https://github.com/ApeWorX/ape/blob/abe4e96bc3ce7132e486913a7b0a4a19394f3015/src/ape/managers/project/types.py#L177

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Comments: 16 (13 by maintainers)

Most upvoted comments

I will look into this as soon as the remove functionality implementation is done. Just bear with me.

No worries! Thank you for working on all of this, we appreciate your contributions!

I will look into this as soon as the remove functionality implementation is done. Just bear with me.