使用
$ npm install truffle-flattener -g
$ truffle-flattener <solidity-files> > output.sol
为什么不是 Solidity Flattener ?
truffle-flattener 与 truffle 结合紧密,利用到它的依赖项解析逻辑。
限制
如果使用 truffle migrate 部署,它与 truffle-flattener 合并后的文件不一样,在 ethersan 上面 contract verify 是通不过的。
这种情况可以使用 Solidity Flattener 或者通过 Remix 来部署( 复制使用 cat output.sol | bpcopy )。
别名导入不支持(如:import {symbol1 as alias, symbol2} from "filename";)。