vyperlang / vyper

Pythonic Smart Contract Language for the EVM
https://vyperlang.org
Other
4.83k stars 789 forks source link

fix[venom]: fix eval of `exp` in sccp #4009

Closed charles-cooper closed 3 months ago

charles-cooper commented 3 months ago

What I did

How I did it

How to verify it

Commit message

fix `exp` evaluation in sccp. the current implementation is incorrect,
which was found by enabling the `venom + -opt-none` pipeline in the CI.
`evm_pow` is correct, as it preserves the correct edge cases when
base/exponent are 0 or 1 (all combinations).

this commit also enables the `venom + -opt-none` and
`venom + -opt-codesize` jobs in the CI, ensuring higher coverage of the
venom pipeline going forward.

Description for the changelog

Cute Animal Picture

![Put a link to a cute animal picture inside the parenthesis-->]()