ApeWorX / ape

The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
https://apeworx.io
Apache License 2.0
845 stars 124 forks source link

fix: `project.unpack()` to include full contracts directory #2123

Closed antazoey closed 2 weeks ago

antazoey commented 2 weeks ago

What I did

sources with missing extensions were not copied over when doing unpack() which is bad for a few reasons.

  1. problems when you are trying to compile a non-standard file via imports or something such as .t.sol
  2. problem if copying a project somewhere before installing plugins
  3. problem with performance (shutil copy tree way way way faster than looping through all sources)

this is needed for some ape-solidity work

How I did it

How to verify it

Checklist