@@ -13,6 +13,7 @@ import {SwanAgentFactory} from "../src/SwanAgent.sol";
13
13
import {SwanArtifactFactory} from "../src/SwanArtifact.sol " ;
14
14
import {Swan} from "../src/Swan.sol " ;
15
15
import {SwanLottery} from "../src/SwanLottery.sol " ;
16
+ import {SwanDebate} from "../src/SwanDebate.sol " ;
16
17
import {WETH9} from "../test/contracts/WETH9.sol " ;
17
18
18
19
struct Stakes {
@@ -223,6 +224,27 @@ contract HelperConfig is Script {
223
224
return address (lottery);
224
225
}
225
226
227
+ function deploySwanDebate () external returns (address ) {
228
+ // read deployed contract addresses
229
+ string memory dir = "deployments/ " ;
230
+ string memory fileName = Strings.toString (block .chainid );
231
+ string memory path = string .concat (dir, fileName, ".json " );
232
+ string memory contractAddresses = vm.readFile (path);
233
+
234
+ bool isCoordinatorExist = vm.keyExistsJson (contractAddresses, "$.LLMOracleCoordinator " );
235
+ require (isCoordinatorExist, "Please deploy LLMOracleCoordinator first " );
236
+
237
+ address coordinatorProxy = vm.parseJsonAddress (contractAddresses, "$.LLMOracleCoordinator.proxyAddr " );
238
+ require (coordinatorProxy != address (0 ), "Coordinator proxy address is invalid " );
239
+
240
+ vm.startBroadcast ();
241
+ SwanDebate debate = new SwanDebate (coordinatorProxy);
242
+ vm.stopBroadcast ();
243
+
244
+ writeContractAddress ("SwanDebate " , address (debate));
245
+ return address (debate);
246
+ }
247
+
226
248
function writeContractAddress (string memory name , address addr ) internal {
227
249
// create a deployment file if not exist
228
250
string memory dir = "deployments/ " ;
0 commit comments