1
1
// SPDX-License-Identifier: MIT
2
2
pragma solidity >= 0.8.0 ;
3
3
4
-
5
4
interface ITransparentProxyFactory {
6
- event ProxyCreated (address proxy , address indexed logic , address indexed proxyAdmin );
7
- event ProxyAdminCreated (address proxyAdmin , address indexed adminOwner );
5
+ event ProxyCreated (address proxy , address indexed logic , address indexed initialOwner );
6
+ event ProxyAdminCreated (address proxyAdmin , address indexed initialOwner );
8
7
event ProxyDeterministicCreated (
9
8
address proxy ,
10
9
address indexed logic ,
11
- address indexed admin ,
10
+ address indexed initialOwner ,
12
11
bytes32 indexed salt
13
12
);
14
13
event ProxyAdminDeterministicCreated (
15
14
address proxyAdmin ,
16
- address indexed adminOwner ,
15
+ address indexed initialOwner ,
17
16
bytes32 indexed salt
18
17
);
19
18
20
19
/**
21
20
* @notice Creates a transparent proxy instance, doing the first initialization in construction
22
21
* @dev Version using CREATE
23
22
* @param logic The address of the implementation contract
24
- * @param admin The admin of the proxy.
23
+ * @param initialOwner The initial owner of the admin of the proxy.
25
24
* @param data abi encoded call to the function with `initializer` (or `reinitializer`) modifier.
26
25
* E.g. `abi.encodeWithSelector(mockImpl.initialize.selector, 2)`
27
26
* for an `initialize` function being `function initialize(uint256 foo) external initializer;`
28
27
* @return address The address of the proxy deployed
29
28
**/
30
- function create (address logic , address admin , bytes memory data ) external returns (address );
29
+ function create (
30
+ address logic ,
31
+ address initialOwner ,
32
+ bytes memory data
33
+ ) external returns (address );
31
34
32
35
/**
33
36
* @notice Creates a proxyAdmin instance, and transfers ownership to provided owner
34
37
* @dev Version using CREATE
35
- * @param adminOwner The owner of the proxyAdmin deployed.
38
+ * @param initialOwner The initial owner of the proxyAdmin deployed.
36
39
* @return address The address of the proxyAdmin deployed
37
40
**/
38
- function createProxyAdmin (address adminOwner ) external returns (address );
41
+ function createProxyAdmin (address initialOwner ) external returns (address );
39
42
40
43
/**
41
44
* @notice Creates a transparent proxy instance, doing the first initialization in construction
42
45
* @dev Version using CREATE2, so deterministic
43
46
* @param logic The address of the implementation contract
44
- * @param admin The admin of the proxy.
47
+ * @param initialOwner The initial owner of the admin of the proxy.
45
48
* @param data abi encoded call to the function with `initializer` (or `reinitializer`) modifier.
46
49
* E.g. `abi.encodeWithSelector(mockImpl.initialize.selector, 2)`
47
50
* for an `initialize` function being `function initialize(uint256 foo) external initializer;`
@@ -50,7 +53,7 @@ interface ITransparentProxyFactory {
50
53
**/
51
54
function createDeterministic (
52
55
address logic ,
53
- address admin ,
56
+ address initialOwner ,
54
57
bytes memory data ,
55
58
bytes32 salt
56
59
) external returns (address );
@@ -70,7 +73,7 @@ interface ITransparentProxyFactory {
70
73
/**
71
74
* @notice Pre-calculates and return the address on which `createDeterministic` will deploy a proxy
72
75
* @param logic The address of the implementation contract
73
- * @param admin The admin of the proxy
76
+ * @param initialOwner The initial owner of the admin of the proxy.
74
77
* @param data abi encoded call to the function with `initializer` (or `reinitializer`) modifier.
75
78
* E.g. `abi.encodeWithSelector(mockImpl.initialize.selector, 2)`
76
79
* for an `initialize` function being `function initialize(uint256 foo) external initializer;`
@@ -79,7 +82,7 @@ interface ITransparentProxyFactory {
79
82
**/
80
83
function predictCreateDeterministic (
81
84
address logic ,
82
- address admin ,
85
+ address initialOwner ,
83
86
bytes calldata data ,
84
87
bytes32 salt
85
88
) external view returns (address );
0 commit comments