Flattening 合约

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