A toolkit for Solidity Smart Contracts development.
git clone https://github.com/noncept/solidity-toolkit.gitnpm installnpm run compilenpm testnpm run coverageCheck Solidity files.
npm run lint:solCheck JS/TS files.
npm run lint:jsFix JS and Solidity files.
npm run lint:fixnpm run docsnpm run devRead how to interact with your Smart Contracts here.
This allows to flatten the code into a single file.
Edit scripts/flat.sh to add your contracts.
npm run flatImportant
It is better to analyze the flattened code to have a bigger overview on the entire codebase. So run the flattener first.
The describe command shows a summary of the contracts and methods in the files provided
surya describe dist/SampleContract.dist.solThe dependencies command outputs the c3-linearization of a given contract's inheirtance graph. Contracts will be listed starting with most-derived, ie. if the same function is defined in more than one contract, the solidity compiler will use the definition in whichever contract is listed first.
surya dependencies SampleContract dist/SampleContract.dist.solEdit scripts/analyze.sh to add your contracts
npm run analyzeThe inheritance command outputs a DOT-formatted graph of the inheritance tree.
The graph command outputs a DOT-formatted graph of the control flow.
The mdreport command creates a markdown description report with tables comprising information about the system's files, contracts and their functions.
The sol2uml generates UML class diagram from Solidity contracts.
Code released under the MIT License.