Update declaration of memory safe assembly blocks (#5172)

This commit is contained in:
Hadrien Croubois
2024-08-29 23:07:17 +02:00
committed by GitHub
parent 1e7ca3eea6
commit d8bbd34676
32 changed files with 91 additions and 182 deletions

View File

@ -41,8 +41,7 @@ library Create2 {
if (bytecode.length == 0) {
revert Create2EmptyBytecode();
}
/// @solidity memory-safe-assembly
assembly {
assembly ("memory-safe") {
addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt)
// if no address was created, and returndata is not empty, bubble revert
if and(iszero(addr), not(iszero(returndatasize()))) {
@ -69,8 +68,7 @@ library Create2 {
* `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}.
*/
function computeAddress(bytes32 salt, bytes32 bytecodeHash, address deployer) internal pure returns (address addr) {
/// @solidity memory-safe-assembly
assembly {
assembly ("memory-safe") {
let ptr := mload(0x40) // Get free memory pointer
// | | ↓ ptr ... ↓ ptr + 0x0B (start) ... ↓ ptr + 0x20 ... ↓ ptr + 0x40 ... |