Generating a function call graph
The surya graph <files..> command is used to generate the function call flow graph of the contract. The generated graph also shows the call visibility as an internal call or an external call. The graph only covers the contracts known to the surya command. The command takes the contract(s) files as a command argument:
$ surya graph contracts/token/ERC20/*.sol | dot -Tpng > all.png
The preceding command will generate the function's call flow of all of the contracts present in the contracts/token/ERC20 folder. The following screenshot is a part of the bigger graph, which we cannot display on a single page.
You can get the full graph generated by this command on GitHub at https://github.com/PacktPublishing/Mastering-Blockchain-Programming-with-Solidity/blob/master/Chapter06/SuryaTutorial/generated_files/all.png ...