ChainSecurity / deployment_validation

Deployment Validation Files aim to simplify Deployment Validation of Smart Contracts
GNU Affero General Public License v3.0
21 stars 1 forks source link

Duplicate and missing entries in Foundry remappings #31

Open stiefn opened 3 weeks ago

stiefn commented 3 weeks ago

Steps to reproduce

cargo run --bin fetch-from-etherscan -- --config examples/example_config.json --address 0xF5B40dD1209316F65B722A2B989f805d97Ab32F4 --project /tmp/aaveV3 && mv /tmp/aaveV3 examples

Result

  1. The Foundry remappings file presents duplicate entries:

examples/aaveV3/remappings.txt

lib/=src/lib/
contracts/=src/contracts/
lib/=src/lib/
contracts/=src/contracts/
contracts/=src/contracts/
lib/=src/lib/
lib/=src/lib/
contracts/=src/contracts/
contracts/=src/contracts/
contracts/=src/contracts/
contracts/=src/contracts/
lib/=src/lib/
contracts/=src/contracts/
contracts/=src/contracts/
contracts/=src/contracts/
lib/=src/lib/
contracts/=src/contracts/
lib/=src/lib/
  1. One necessary remapping was missing and had to be added manually: openzeppelin-solc-0.8=src/lib/openzeppelin-solc-0.8/contracts/

This remapping is necessary because the source code imports OZ like this:

15 | import "openzeppelin-solc-0.8/token/ERC20/utils/SafeERC20.sol";