/ script / Deploy.s.sol
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  }