ApeWorX / ape-vyper

Vyper compiler plugin for the Ape Framework, using VVM
https://www.apeworx.io/
Apache License 2.0
26 stars 9 forks source link

Dev-messages regression with vyper 0.3.9 [APE-1261] #90

Closed milkyklim closed 1 year ago

milkyklim commented 1 year ago

Environment information

$ ape --version
0.6.13

$ ape plugins list
Installed Plugins:
  tokens       0.6.2
  foundry      0.6.9
  etherscan    0.6.8
  ens          0.6.1
  vyper        0.6.9

What went wrong?

Reverts with dev-messages work with vyper 0.3.7 and stopped working with vyper 0.3.9.

with ape.reverts(dev_message="dev: admin only"):
    ...
antazoey commented 1 year ago

Ya I have been trying out why it doesn't work on 0.3.9 but have been stuck

banteg commented 1 year ago

i made a repro repo https://github.com/banteg/vyper-traceback-bug

also this should probably be added to the test suite

version result
0.2.1 ok
0.2.2 ok
0.2.3 ok
0.2.4 ok
0.2.5 AssertionError: Could not find the source of the revert.
0.2.7 AssertionError: Could not find the source of the revert.
0.2.8 AssertionError: Could not find the source of the revert.
0.2.11 AssertionError: Could not find the source of the revert.
0.2.12 AssertionError: Could not find the source of the revert.
0.2.15 ok
0.2.16 ok
0.3.0 ok
0.3.1 ok
0.3.2 ok
0.3.3 ok
0.3.4 ok
0.3.6 ok
0.3.7 AssertionError: Expected dev revert message 'dev: wrong answer' but got 'dev: Cannot send ether to non-payable function'.
0.3.8 AssertionError: Could not find the source of the revert.
0.3.9 AssertionError: Could not find the source of the revert.
0.3.10 AssertionError: Expected dev revert message 'dev: wrong answer' but got 'dev: BAD_CALLDATASIZE_OR_CALLVALUE'.