Skip to content

Commit 85754f7

Browse files
author
Vladyslav Burtsevych
committed
refactor: code duplication
1 parent 331e8e2 commit 85754f7

1 file changed

Lines changed: 2 additions & 21 deletions

File tree

zksync/src/contracts/transparent-proxy/TransparentProxyFactoryZkSync.sol

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ pragma solidity >=0.8.24;
33

44
import {TransparentProxyFactoryBase} from '../../../../src/contracts/transparent-proxy/TransparentProxyFactoryBase.sol';
55
import {ITransparentProxyFactoryZkSync} from './interfaces/ITransparentProxyFactoryZkSync.sol';
6+
import {Create2UtilsZkSync} from '../utils/ScriptUtilsZkSync.sol';
67

78
/**
89
* @title TransparentProxyFactoryZkSync
@@ -30,31 +31,11 @@ contract TransparentProxyFactoryZkSync is
3031
ZKSYNC_CREATE2_PREFIX,
3132
bytes32(uint256(uint160(sender))),
3233
salt,
33-
bytes32(_sliceBytes(creationCode, 36, 32)),
34+
Create2UtilsZkSync.getBytecodeHashFromBytecode(creationCode),
3435
keccak256(constructorInput)
3536
)
3637
);
3738

3839
return address(uint160(uint256(addressHash)));
3940
}
40-
41-
function _sliceBytes(
42-
bytes memory data,
43-
uint256 start,
44-
uint256 length
45-
) internal pure returns (bytes memory) {
46-
require(start + length <= data.length, 'Slice out of bounds');
47-
48-
bytes memory result = new bytes(length);
49-
assembly {
50-
let dataPtr := add(data, 32)
51-
let resultPtr := add(result, 32)
52-
53-
// Use mcopy to efficiently copy the slice
54-
mcopy(resultPtr, add(dataPtr, start), length)
55-
56-
mstore(result, length)
57-
}
58-
return result;
59-
}
6041
}

0 commit comments

Comments
 (0)