Deploy.s.sol
1 // SPDX-License-Identifier: MIT 2 pragma solidity ^0.8.13; 3 4 import {Script, console2} from "forge-std/Script.sol"; 5 import {CogniSignal} from "../src/CogniSignal.sol"; 6 7 contract Deploy is Script { 8 function run() external returns (CogniSignal) { 9 address dao = vm.envAddress("DAO_ADDRESS"); 10 require(dao != address(0), "DAO_ADDRESS not set"); 11 require(dao != msg.sender, "DAO should not be deployer address"); 12 13 vm.startBroadcast(vm.envUint("PRIVATE_KEY")); 14 15 CogniSignal signal = new CogniSignal(dao); 16 17 vm.stopBroadcast(); 18 19 console2.log("=== Deployment Complete ==="); 20 console2.log("CogniSignal deployed to:", address(signal)); 21 console2.log("DAO address set to:", dao); 22 console2.log("Chain ID:", block.chainid); 23 24 return signal; 25 } 26 }