1
1
// SPDX-License-Identifier: GPL-3.0
2
2
pragma solidity ^ 0.8.12 ;
3
3
4
- interface IAccountFactory {
5
- /*///////////////////////////////////////////////////////////////
6
- Events
7
- //////////////////////////////////////////////////////////////*/
8
-
9
- /// @notice Emitted when a new Account is created.
10
- event AccountCreated (address indexed account , address indexed accountAdmin );
11
-
12
- /// @notice Emitted when a new signer is added to an Account.
13
- event SignerAdded (address indexed account , address indexed signer );
14
-
15
- /// @notice Emitted when a new signer is added to an Account.
16
- event SignerRemoved (address indexed account , address indexed signer );
4
+ import "./IAccountFactoryCore.sol " ;
17
5
6
+ interface IAccountFactory is IAccountFactoryCore {
18
7
/*///////////////////////////////////////////////////////////////
19
- Extension Functions
8
+ Callback Functions
20
9
//////////////////////////////////////////////////////////////*/
21
10
22
- /// @notice Deploys a new Account for admin.
23
- function createAccount (address admin , bytes calldata _data ) external returns (address account );
24
-
25
11
/// @notice Callback function for an Account to register its signers.
26
12
function onSignerAdded (
27
13
address signer ,
@@ -35,20 +21,4 @@ interface IAccountFactory {
35
21
address creatorAdmin ,
36
22
bytes memory data
37
23
) external ;
38
-
39
- /*///////////////////////////////////////////////////////////////
40
- View Functions
41
- //////////////////////////////////////////////////////////////*/
42
-
43
- /// @notice Returns the address of the Account implementation.
44
- function accountImplementation () external view returns (address );
45
-
46
- /// @notice Returns all accounts created on the factory.
47
- function getAllAccounts () external view returns (address [] memory );
48
-
49
- /// @notice Returns the address of an Account that would be deployed with the given admin signer.
50
- function getAddress (address adminSigner , bytes calldata data ) external view returns (address );
51
-
52
- /// @notice Returns all accounts on which a signer has (active or inactive) permissions.
53
- function getAccountsOfSigner (address signer ) external view returns (address [] memory accounts );
54
24
}
0 commit comments