See Account Abstraction for example diagrams against ERC-4337 contracts.
sol2uml 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D
This uses the verified Solidity code loaded to Etherscan https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code
Generated from version 4.7.3 contracts/token/ERC20
sol2uml -n polygon 0xcA9cf48aD534f1efA2B0f6923457F2953df86e0b
sol2uml -n bsc 0xB07c1C479b2Fdeb9f9B2d02300C13b328BF86d65
Generated from version 4.7.3 contracts
- -hp hide private and internal variables and functions
- -hi hide interfaces
- -hl hide libraries
- -he hide enums
sol2uml -hp -hi -hl -hs -he 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
This uses the verified Solidity code loaded to Etherscan https://etherscan.io/address/0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45#code
Same as the previous diagram but the inherited contracts are squashed into a single class diagram with the -s, --squash
option.
The last stereotype is the contract the variable or function is implemented in. For example, unwrapWETH9
is implemented in the PeripheryPaymentsWithFeeExtended
contract.
Generated from running
sol2uml -s -hp -hi -hl -hs -he 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
Adding the -hsc, --hideSourceContract
option to the previous diagram removes the stereotype with the source contract the variable or function was implemented in.
Generated from running
sol2uml -s -hsc -hp -hi -hl -hs -he 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45
sol2uml 0xdAC17F958D2ee523a2206206994597C13D831ec7
This uses the verified Solidity code loaded to Etherscan https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code
sol2uml 0xf5dce57282a584d2746faf1593d3121fcac444dc
This uses the verified Solidity code loaded to Etherscan https://etherscan.io/address/0xf5dce57282a584d2746faf1593d3121fcac444dc#code
Same as the previous except enums, stucts and interfaces are hidden.
Also, only classes linked to the base CErc20
contract are included.
sol2uml -b CErc20 -he -hs -hi 0xf5dce57282a584d2746faf1593d3121fcac444dc