@@ -18,26 +18,23 @@ contract CPKFactory {
1818 );
1919
2020 uint256 public constant version = 2 ;
21- ProxyImplSetter public proxyImplSetter;
22- IGnosisSafeProxyFactory public gnosisSafeProxyFactory;
21+ ProxyImplSetter public immutable proxyImplSetter;
22+ IGnosisSafeProxyFactory public immutable gnosisSafeProxyFactory;
23+ address public immutable proxyExtCodeHash;
2324
2425 constructor (IGnosisSafeProxyFactory _gnosisSafeProxyFactory ) {
2526 proxyImplSetter = new ProxyImplSetter (address (this ));
2627 gnosisSafeProxyFactory = _gnosisSafeProxyFactory;
28+ proxyExtCodeHash = keccak256 (gnosisSafeProxyFactory.proxyRuntimeCode ());
2729 }
2830
29- // Accessors removed until something is figured out about the fact that these depend on the compiler
30- // but really should depend instead on the specific gnosisSafeProxyFactory instance used
31-
32- // function proxyCreationCode() external pure returns (bytes memory) {
33- // return type(GnosisSafeProxy).creationCode;
34- // }
35-
36- // function proxyRuntimeCode() external pure returns (bytes memory) {
37- // return type(GnosisSafeProxy).runtimeCode;
38- // }
31+ function proxyCreationCode () external pure returns (bytes memory ) {
32+ return gnosisSafeProxyFactory.proxyCreationCode ();
33+ }
3934
40- // bytes32 public constant proxyExtCodeHash = keccak256(type(GnosisSafeProxy).runtimeCode);
35+ function proxyRuntimeCode () external pure returns (bytes memory ) {
36+ return gnosisSafeProxyFactory.proxyRuntimeCode ();
37+ }
4138
4239 function createProxyAndExecTransaction (
4340 address owner ,
0 commit comments