Skip to content

Latest commit

 

History

History
146 lines (93 loc) · 4.26 KB

README.md

File metadata and controls

146 lines (93 loc) · 4.26 KB

Account Abstraction Contracts

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

Account Interface

sol2uml class $AA --baseContractNames IAccount --outputFileName IAccount.svg

Account Abstraction Interface

Simple Account Hierarchy

sol2uml class $AA --baseContractNames SimpleAccount --hideFunctions --hideVariables --hideEnums --hideStructs --outputFileName SimpleAccountHierarchy.svg

Simple Account Hierarchy

Simple Account Squashed Public

sol2uml class $AA --baseContractNames SimpleAccount --squash --depth 0 --hidePrivates --outputFileName SimpleAccountSquashedPub.svg

Simple Account Squashed

Simple Account Squashed

sol2uml class $AA --baseContractNames SimpleAccount --squash --depth 0 --outputFileName SimpleAccountSquashed.svg

Simple Account Squashed

Simple Account

sol2uml class $AA --baseContractNames SimpleAccount --depth 0 --outputFileName SimpleAccountDepth0.svg

Simple Account

Simple Account Depth 1

sol2uml class $AA --baseContractNames SimpleAccount --depth 1 --outputFileName SimpleAccountDepth1.svg

Simple Account

Simple Account All Depths

sol2uml class $AA --baseContractNames SimpleAccount --outputFileName SimpleAccountLinked.svg

Simple Account

EntryPoint Hierarchy

sol2uml class $AA --baseContractNames EntryPoint --hideFunctions --hideVariables --hideEnums --hideStructs --outputFileName EntryPointHierarchy.svg

EntryPoint Hierarchy

EntryPoint Squashed Public

sol2uml class $AA --baseContractNames EntryPoint --squash --hideSourceContract --hidePrivates --depth 0 --outputFileName EntryPointSquashedPub.svg

EntryPoint Squashed Public

EntryPoint Squashed Public and Private

sol2uml class $AA --baseContractNames EntryPoint --squash --hideSourceContract --depth 0 --outputFileName EntryPointSquashedAll.svg

EntryPoint Squashed All

EntryPoint Squashed with Inherited Contracts

sol2uml class $AA --baseContractNames EntryPoint --squash --depth 0 --outputFileName EntryPointSquashedInherit.svg

EntryPoint Squashed Inherit

EntryPoint Squashed Depth 1

sol2uml class $AA --baseContractNames EntryPoint --squash --depth 1 --outputFileName EntryPointSquashedDepth1.svg

EntryPoint Squashed Inherit

EntryPoint Not Squashed Depth 1

sol2uml class $AA --baseContractNames EntryPoint --depth 1 --outputFileName EntryPointLinked.svg

EntryPoint Linked

EntryPoint All Linked

sol2uml class $AA --baseContractNames EntryPoint --outputFileName EntryPointLinkedAll.svg

EntryPoint Linked

Only Structs

sol2uml $AA --hideLibraries --hideInterfaces --hideEnums --hideContracts --hideContracts --outputFileName AAStructs.svg

Account Abstraction Structs

All expect samples and tests

sol2uml $AA --ignoreFilesOrFolders samples,test --outputFileName all.svg

All Account Abstraction