| |
| pragma solidity ^0.8.20; |
|
|
| import "forge-std/Script.sol"; |
| import {CircuitBreaker} from "../contracts/CircuitBreaker.sol"; |
| import {AssetRegistry} from "../contracts/AssetRegistry.sol"; |
| import {TEEVerifier} from "../contracts/TEEVerifier.sol"; |
|
|
| |
| |
| |
| |
| |
| contract DeployFull is Script { |
| function run() external { |
| uint256 deployerPk = vm.envUint("PRIVATE_KEY"); |
| address oracleAddress = vm.envAddress("ORACLE_ADDRESS"); |
| address enclaveAddress = vm.envAddress("ENCLAVE_ADDRESS"); |
|
|
| vm.startBroadcast(deployerPk); |
|
|
| CircuitBreaker cb = new CircuitBreaker(); |
| cb.initialize(oracleAddress); |
| console.log("CircuitBreaker :", address(cb)); |
|
|
| AssetRegistry registry = new AssetRegistry(); |
| console.log("AssetRegistry :", address(registry)); |
|
|
| TEEVerifier tee = new TEEVerifier(enclaveAddress, address(registry)); |
| console.log("TEEVerifier :", address(tee)); |
|
|
| vm.stopBroadcast(); |
|
|
| console.log("---"); |
| console.log("Oracle :", oracleAddress); |
| console.log("Enclave :", enclaveAddress); |
| } |
| } |
|
|