packages/contracts-core/script/DeployCREATE3Factory.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
import {console, stdJson} from "forge-std/Script.sol";
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
// ═════════════════════════════ INTERNAL IMPORTS ══════════════════════════════
import {DeployerUtils} from "./utils/DeployerUtils.sol";
import {CREATE3Factory} from "create3/CREATE3Factory.sol";
// TODO: move this to a common deployer-utils package, as this is not specific to SIN
contract DeployCREATE3Factory is DeployerUtils {
using stdJson for string;
using Strings for uint256;
constructor() {
setupPK("MESSAGING_DEPLOYER_PRIVATE_KEY");
setupDevnetIfEnabled();
}
function run() external {
startBroadcast(true);
CREATE3Factory NewFactory = new CREATE3Factory();
saveDeployment("CREATE3", "CREATE3", address(NewFactory), "0x");
stopBroadcast();
}
}