# pragma version 0.4.3 # pragma evm-version cancun # SPDX-License-Identifier: MIT # CREATE2 bootstrap utility. Appends the caller as the immutable coin deployer. event Deployed: deployed: indexed(address) creator: indexed(address) salt: bytes32 @external def deploy(creation_code: Bytes[48000], manager: address, supply: uint256, fee: uint24, spacing: int24, metadata_uri: String[256], salt: bytes32) -> address: initcode: Bytes[48480] = concat(creation_code, abi_encode(manager, msg.sender, supply, fee, spacing, metadata_uri)) deployed: address = raw_create(initcode, salt=salt) log Deployed(deployed=deployed, creator=msg.sender, salt=salt) return deployed