TronBox 自带一个内置的 flatten 任务,可以让你将多个 Solidity 文件的源代码合并在一起。
注:该功能需要 TronBox V3.3.0 或之后的版本。
Flattening specific files
如果你想 flatten 特定的文件,可以使用 flatten 任务并提供要 flatten 的文件路径:
npx tronbox flatten contracts/Box.sol
在这种情况下,结果将包含 Box.sol 及其所有间接依赖项 (导入的文件以及这些文件导入的文件等等) 的源代码。
你也可以使用多个文件:
npx tronbox flatten contracts/Box.sol contracts/Foo.sol
但是,如果 Foo.sol 是 Box.sol 的依赖项,则结果将与前面的例子相同。
正如之前所述,你可以将输出重定向到某个文件:
npx tronbox flatten contracts/Box.sol > Flattened.sol