@@ -25,10 +25,10 @@ library Clones {
25
25
function clone (address implementation ) internal returns (address instance ) {
26
26
assembly {
27
27
let ptr := mload (0x40 )
28
- mstore (ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000 )
29
- mstore (add (ptr, 0x14 ), shl (0x60 , implementation))
30
- mstore (add (ptr, 0x28 ), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000 )
31
- instance := create (0 , ptr, 0x37 )
28
+ mstore (ptr, 0x602d8060093d393df3363d3d373d3d3d363d7300000000000000000000000000 )
29
+ mstore (add (ptr, 0x13 ), shl (0x60 , implementation))
30
+ mstore (add (ptr, 0x27 ), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000 )
31
+ instance := create (0 , ptr, 0x36 )
32
32
}
33
33
require (instance != address (0 ), "ERC1167: create failed " );
34
34
}
@@ -43,10 +43,10 @@ library Clones {
43
43
function cloneDeterministic (address implementation , bytes32 salt ) internal returns (address instance ) {
44
44
assembly {
45
45
let ptr := mload (0x40 )
46
- mstore (ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000 )
47
- mstore (add (ptr, 0x14 ), shl (0x60 , implementation))
48
- mstore (add (ptr, 0x28 ), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000 )
49
- instance := create2 (0 , ptr, 0x37 , salt)
46
+ mstore (ptr, 0x602d8060093d393df3363d3d373d3d3d363d7300000000000000000000000000 )
47
+ mstore (add (ptr, 0x13 ), shl (0x60 , implementation))
48
+ mstore (add (ptr, 0x27 ), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000 )
49
+ instance := create2 (0 , ptr, 0x36 , salt)
50
50
}
51
51
require (instance != address (0 ), "ERC1167: create2 failed " );
52
52
}
@@ -61,13 +61,13 @@ library Clones {
61
61
) internal pure returns (address predicted ) {
62
62
assembly {
63
63
let ptr := mload (0x40 )
64
- mstore (ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000 )
65
- mstore (add (ptr, 0x14 ), shl (0x60 , implementation))
66
- mstore (add (ptr, 0x28 ), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000 )
67
- mstore (add (ptr, 0x38 ), shl (0x60 , deployer))
68
- mstore (add (ptr, 0x4c ), salt)
69
- mstore (add (ptr, 0x6c ), keccak256 (ptr, 0x37 ))
70
- predicted := keccak256 (add (ptr, 0x37 ), 0x55 )
64
+ mstore (ptr, 0x602d8060093d393df3363d3d373d3d3d363d7300000000000000000000000000 )
65
+ mstore (add (ptr, 0x13 ), shl (0x60 , implementation))
66
+ mstore (add (ptr, 0x27 ), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000 )
67
+ mstore (add (ptr, 0x37 ), shl (0x60 , deployer))
68
+ mstore (add (ptr, 0x4b ), salt)
69
+ mstore (add (ptr, 0x6b ), keccak256 (ptr, 0x36 ))
70
+ predicted := keccak256 (add (ptr, 0x36 ), 0x55 )
71
71
}
72
72
}
73
73
0 commit comments