The following sol2uml diagrams have been run against the ERC-4337 Account Abstraction contracts in the eth-infinitism/account-abstraction GitHub repository. The main contracts are
The full option names have been used below rather than the short names for readability.
For example, --baseContractNames
instead of just -b
.
To run the following, set the AA
environment variable to the location of the Account Abstraction contracts. For example
export AA=../../../account-abstraction/contracts
sol2uml class $AA --baseContractNames IAccount --outputFileName IAccount.svg
sol2uml class $AA --baseContractNames SimpleAccount --hideFunctions --hideVariables --hideEnums --hideStructs --outputFileName SimpleAccountHierarchy.svg
sol2uml class $AA --baseContractNames SimpleAccount --squash --depth 0 --hidePrivates --outputFileName SimpleAccountSquashedPub.svg
sol2uml class $AA --baseContractNames SimpleAccount --squash --depth 0 --outputFileName SimpleAccountSquashed.svg
sol2uml class $AA --baseContractNames SimpleAccount --depth 0 --outputFileName SimpleAccountDepth0.svg
sol2uml class $AA --baseContractNames SimpleAccount --depth 1 --outputFileName SimpleAccountDepth1.svg
sol2uml class $AA --baseContractNames SimpleAccount --outputFileName SimpleAccountLinked.svg
sol2uml class $AA --baseContractNames EntryPoint --hideFunctions --hideVariables --hideEnums --hideStructs --outputFileName EntryPointHierarchy.svg
sol2uml class $AA --baseContractNames EntryPoint --squash --hideSourceContract --hidePrivates --depth 0 --outputFileName EntryPointSquashedPub.svg
sol2uml class $AA --baseContractNames EntryPoint --squash --hideSourceContract --depth 0 --outputFileName EntryPointSquashedAll.svg
sol2uml class $AA --baseContractNames EntryPoint --squash --depth 0 --outputFileName EntryPointSquashedInherit.svg
sol2uml class $AA --baseContractNames EntryPoint --squash --depth 1 --outputFileName EntryPointSquashedDepth1.svg
sol2uml class $AA --baseContractNames EntryPoint --depth 1 --outputFileName EntryPointLinked.svg
sol2uml class $AA --baseContractNames EntryPoint --outputFileName EntryPointLinkedAll.svg
sol2uml $AA --hideLibraries --hideInterfaces --hideEnums --hideContracts --hideContracts --outputFileName AAStructs.svg
sol2uml $AA --ignoreFilesOrFolders samples,test --outputFileName all.svg