| // SPDX-License-Identifier: MIT | |
| pragma solidity ^0.8.20; | |
| import "forge-std/Script.sol"; | |
| import {CircuitBreaker} from "../contracts/CircuitBreaker.sol"; | |
| /// @notice Phase 2 deployment script for Polygon Amoy. | |
| /// @dev Reads PRIVATE_KEY and ORACLE_ADDRESS from the environment. | |
| /// For the MVP we deploy non-upgradeable. A proxy pattern can be | |
| /// layered on post-PMF without changing the storage layout. | |
| contract DeployCircuitBreaker is Script { | |
| function run() external { | |
| uint256 deployerPk = vm.envUint("PRIVATE_KEY"); | |
| address oracleAddress = vm.envAddress("ORACLE_ADDRESS"); | |
| vm.startBroadcast(deployerPk); | |
| CircuitBreaker cb = new CircuitBreaker(); | |
| cb.initialize(oracleAddress); | |
| vm.stopBroadcast(); | |
| console.log("CircuitBreaker deployed at:", address(cb)); | |
| console.log("Oracle: ", oracleAddress); | |
| } | |
| } | |