少于 1 分钟阅读

refer to:

https://ethereum.stackexchange.com/questions/107416/slither-tool-error-on-contract-that-inherit-from-openzeppeling/158348#158348

对于某个web3项目,使用foundry 构建的, 那么就需要把它跑起来。

例如手头的一个项目,很奇怪,package.json中并没有定义相关的任务。 只有一个 npm run test, 运行后又报错,各种文件找不到。(例如zepplin 等)

解决办法很简单: 修改  foundry.yaml

1. 使用npm 下载对应的node_module

npm install @openzeppelin

2. 修改对应的  foundry.yaml 文件

[profile.default]
src = "src"
out = "out"
libs = ["lib"]

remappings = ["@openzeppelin/=node_modules/@openzeppelin/"]

# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options

3. 运行

slither .  即可。

注意:

如果不修改 foundry.yaml, 而是使用 --solc-remaps ,不好使。(难道说我没加等号?算了不试了,浪费生命,有解决方案就好)

slither . --solc-remaps @openzeppelin=node_modules/@openzeppelin

得到结果


更新时间: