balancer / balancer-core

Balancer on the EVM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Solc general recommendations

montyly opened this issue · comments

  • Avoid solc-js with optimization enabled. Past versions of solc-js had non-deterministic output, as a result, we recommend to favor the binary version if the optimization are enabled.
  • Do not use YUL optimizer. The YUL optimizer is too risky for deployement.
  • Avoid ABIEncoderV2. ABIEncoderV2 enables the YUL optimizer and is not as robust as the standard ABI.
  • Use a stable compiler’s version to compile, use the latest to check for warnings. You should check that your code leads to no warning with the latest compiler version. Solidity compiler has a fast release cycle, and has a history of compiler bugs, as a result, we recommend to not use the latest version for deployment. 0.5.12 is considered to be stable.

👍 deployments are done with static solc linux binaries, no YUL optimizer or ABIEncoderV2, and 0.5.12