FriendsFingers platform's DAO Smart Contracts
Smart Contracts defining the FriendsFingers platform's DAO and DAPPs behaviors.
Install Truffle if you want to run your own node
npm install -g truffle
Open the Truffle console
npm run console
npm run compile
npm run test
npm run coverage
npm run lint:sol
npm run lint:js
Use ESLint and fix
npm run lint:fix
This allow to flatten the code into a single file
scripts/flat.sh to add your contracts
npm run flat
Note: it is better to analyze the flattened code to have a bigger overview on the entire codebase. So run the flattener first.
describe command shows a summary of the contracts and methods in the files provided
surya describe dist/DAO.dist.sol
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 DAO dist/DAO.dist.sol
scripts/analyze.sh to add your contracts
npm run analyze
inheritance command outputs a DOT-formatted graph of the inheritance tree.
graph command outputs a DOT-formatted graph of the control flow.
mdreport command creates a markdown description report with tables comprising information about the system's files, contracts and their functions.
Code released under the MIT License.