Class diagrams are now under a class subcommand. sol2uml class
New storage subcommand to draw the storage slots of a contract. sol2uml storage
New flatten subcommand that downloads the verified source code from Etherscan to a local Solidity file. sol2uml flatten
Renamed command line options
-d --depthLimit to -sf --subfolders
-a --hideAttributes to -hv --hideVariables
-p --hideOperations to -hf --hideFunctions
-e, --hideEnums to -he, --hideEnums
-s, --hideStructs to -hs, --hideStructs
-l, --hideLibraries to -hl, --hideLibraries
-t, --hideInterfaces to -hi, --hideInterfaces
-r, --hideInternals to -hp, --hidePrivates
New command line options
Added -d --depth to limit the depth of contracts connected to the base contracts.
Added -ha --hideAbstract to hide all abstract contracts.
Added -hn, --hideFilename to hide the relative filename of a contract.
Dependencies
Only support node 14 and above as TypeScript target is now ES2020
Replaced vis.js with the maintained @aduh95/viz.js which supports Graphviz 5.0.0
Replaced svg-to-png with the maintained convert-svg-to-png.
Fixes
Improved linkages of classes when there are duplicate contract names, explicit imports and import aliases.
If a contract or library contains a struct, it is marked as an aggregate association. A separate dependency line is used to link a contract to a struct. This can be a storage (solid line) or memory (dashed line) dependency.
Structs in libraries are now linked to their dependent contract.
Changes to the command line interface
sol2uml class
sol2uml storage
sol2uml flatten
Renamed command line options
-d --depthLimit
to-sf --subfolders
-a --hideAttributes
to-hv --hideVariables
-p --hideOperations
to-hf --hideFunctions
-e, --hideEnums
to-he, --hideEnums
-s, --hideStructs
to-hs, --hideStructs
-l, --hideLibraries
to-hl, --hideLibraries
-t, --hideInterfaces
to-hi, --hideInterfaces
-r, --hideInternals
to-hp, --hidePrivates
New command line options
-d --depth
to limit the depth of contracts connected to the base contracts.-ha --hideAbstract
to hide all abstract contracts.-hn, --hideFilename
to hide the relative filename of a contract.Dependencies
vis.js
with the maintained@aduh95/viz.js
which supports Graphviz 5.0.0svg-to-png
with the maintainedconvert-svg-to-png
.Fixes