├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .npmrc ├── .solhint.json ├── .solhintignore ├── LICENSE ├── README.md ├── broadcast └── Deploy.s.sol │ ├── 80001 │ ├── run-1707822661.json │ ├── run-1707822667.json │ ├── run-1707822722.json │ └── run-latest.json │ └── 11155111 │ ├── run-1709645607.json │ ├── run-1709645620.json │ ├── run-1709645658.json │ ├── run-1709653016.json │ ├── run-1709653047.json │ ├── run-1709653090.json │ ├── run-1716812940.json │ └── run-latest.json ├── foundry.toml ├── package.json ├── pnpm-lock.yaml ├── remappings.txt ├── script ├── Deploy.s.sol └── DeployAccount.s.sol ├── src ├── MSAAdvanced.sol ├── MSAFactory.sol ├── core │ ├── AccountBase.sol │ ├── ERC7779Adapter.sol │ ├── ExecutionHelper.sol │ ├── HookManager.sol │ ├── ModuleManager.sol │ ├── PreValidationHookManager.sol │ ├── Receiver.sol │ └── RegistryAdapter.sol ├── interfaces │ ├── IERC4337Account.sol │ ├── IERC7484.sol │ ├── IERC7579Account.sol │ ├── IERC7579Module.sol │ ├── IERC7779.sol │ └── IMSA.sol ├── lib │ ├── ExecutionLib.sol │ ├── HashLib.sol │ ├── Initializable.sol │ └── ModeLib.sol ├── modules │ └── SimpleExecutionValidator.sol └── utils │ ├── Bootstrap.sol │ └── MSAProxy.sol └── test ├── Bootstrap.t.sol ├── ERC7579Compatibility.t.sol ├── ExecutionLib.t.sol ├── ModeLib.t.sol ├── TestBaseUtil.t.sol ├── advanced ├── EIP7702.t.sol ├── MSAAdvanced.t.sol └── TestBaseUtilAdvanced.t.sol ├── core └── TestFuzz_ERC7779Adapter.t.sol ├── dependencies └── EntryPoint.sol └── mocks ├── MockDelegateTarget.sol ├── MockERC7779.sol ├── MockExecutor.sol ├── MockFallback.sol ├── MockHook.sol ├── MockRegistry.sol ├── MockTarget.sol └── MockValidator.sol /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | package-manager-strict=false -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/.solhint.json -------------------------------------------------------------------------------- /.solhintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | lib/ 3 | test/ 4 | script/DeployAccount.s.sol -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/README.md -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1709645607.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1709645607.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1709645620.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1709645620.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1709645658.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1709645658.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1709653016.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1709653016.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1709653047.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1709653047.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1709653090.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1709653090.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-1716812940.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-1716812940.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/11155111/run-latest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/11155111/run-latest.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/80001/run-1707822661.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/80001/run-1707822661.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/80001/run-1707822667.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/80001/run-1707822667.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/80001/run-1707822722.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/80001/run-1707822722.json -------------------------------------------------------------------------------- /broadcast/Deploy.s.sol/80001/run-latest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/broadcast/Deploy.s.sol/80001/run-latest.json -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/foundry.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/remappings.txt -------------------------------------------------------------------------------- /script/Deploy.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/script/Deploy.s.sol -------------------------------------------------------------------------------- /script/DeployAccount.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/script/DeployAccount.s.sol -------------------------------------------------------------------------------- /src/MSAAdvanced.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/MSAAdvanced.sol -------------------------------------------------------------------------------- /src/MSAFactory.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/MSAFactory.sol -------------------------------------------------------------------------------- /src/core/AccountBase.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/AccountBase.sol -------------------------------------------------------------------------------- /src/core/ERC7779Adapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/ERC7779Adapter.sol -------------------------------------------------------------------------------- /src/core/ExecutionHelper.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/ExecutionHelper.sol -------------------------------------------------------------------------------- /src/core/HookManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/HookManager.sol -------------------------------------------------------------------------------- /src/core/ModuleManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/ModuleManager.sol -------------------------------------------------------------------------------- /src/core/PreValidationHookManager.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/PreValidationHookManager.sol -------------------------------------------------------------------------------- /src/core/Receiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/Receiver.sol -------------------------------------------------------------------------------- /src/core/RegistryAdapter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/core/RegistryAdapter.sol -------------------------------------------------------------------------------- /src/interfaces/IERC4337Account.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/interfaces/IERC4337Account.sol -------------------------------------------------------------------------------- /src/interfaces/IERC7484.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/interfaces/IERC7484.sol -------------------------------------------------------------------------------- /src/interfaces/IERC7579Account.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/interfaces/IERC7579Account.sol -------------------------------------------------------------------------------- /src/interfaces/IERC7579Module.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/interfaces/IERC7579Module.sol -------------------------------------------------------------------------------- /src/interfaces/IERC7779.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/interfaces/IERC7779.sol -------------------------------------------------------------------------------- /src/interfaces/IMSA.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/interfaces/IMSA.sol -------------------------------------------------------------------------------- /src/lib/ExecutionLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/lib/ExecutionLib.sol -------------------------------------------------------------------------------- /src/lib/HashLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/lib/HashLib.sol -------------------------------------------------------------------------------- /src/lib/Initializable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/lib/Initializable.sol -------------------------------------------------------------------------------- /src/lib/ModeLib.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/lib/ModeLib.sol -------------------------------------------------------------------------------- /src/modules/SimpleExecutionValidator.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/modules/SimpleExecutionValidator.sol -------------------------------------------------------------------------------- /src/utils/Bootstrap.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/utils/Bootstrap.sol -------------------------------------------------------------------------------- /src/utils/MSAProxy.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/src/utils/MSAProxy.sol -------------------------------------------------------------------------------- /test/Bootstrap.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/Bootstrap.t.sol -------------------------------------------------------------------------------- /test/ERC7579Compatibility.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/ERC7579Compatibility.t.sol -------------------------------------------------------------------------------- /test/ExecutionLib.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/ExecutionLib.t.sol -------------------------------------------------------------------------------- /test/ModeLib.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/ModeLib.t.sol -------------------------------------------------------------------------------- /test/TestBaseUtil.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/TestBaseUtil.t.sol -------------------------------------------------------------------------------- /test/advanced/EIP7702.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/advanced/EIP7702.t.sol -------------------------------------------------------------------------------- /test/advanced/MSAAdvanced.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/advanced/MSAAdvanced.t.sol -------------------------------------------------------------------------------- /test/advanced/TestBaseUtilAdvanced.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/advanced/TestBaseUtilAdvanced.t.sol -------------------------------------------------------------------------------- /test/core/TestFuzz_ERC7779Adapter.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/core/TestFuzz_ERC7779Adapter.t.sol -------------------------------------------------------------------------------- /test/dependencies/EntryPoint.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/dependencies/EntryPoint.sol -------------------------------------------------------------------------------- /test/mocks/MockDelegateTarget.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockDelegateTarget.sol -------------------------------------------------------------------------------- /test/mocks/MockERC7779.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockERC7779.sol -------------------------------------------------------------------------------- /test/mocks/MockExecutor.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockExecutor.sol -------------------------------------------------------------------------------- /test/mocks/MockFallback.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockFallback.sol -------------------------------------------------------------------------------- /test/mocks/MockHook.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockHook.sol -------------------------------------------------------------------------------- /test/mocks/MockRegistry.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockRegistry.sol -------------------------------------------------------------------------------- /test/mocks/MockTarget.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockTarget.sol -------------------------------------------------------------------------------- /test/mocks/MockValidator.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/erc7579/erc7579-implementation/HEAD/test/mocks/MockValidator.sol --------------------------------------------------------------------------------