Skip to content

Jokerace/BKRT integration #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Feb 20, 2025
9 changes: 9 additions & 0 deletions script/Deploy.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,12 @@ contract DeploySwanLottery is Script {
addr = config.deploySwanLottery();
}
}

contract DeploySwanDebate is Script {
HelperConfig public config;

function run() external returns (address addr) {
config = new HelperConfig();
addr = config.deploySwanDebate();
}
}
22 changes: 22 additions & 0 deletions script/HelperConfig.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {SwanAgentFactory} from "../src/SwanAgent.sol";
import {SwanArtifactFactory} from "../src/SwanArtifact.sol";
import {Swan} from "../src/Swan.sol";
import {SwanLottery} from "../src/SwanLottery.sol";
import {SwanDebate} from "../src/SwanDebate.sol";
import {WETH9} from "../test/contracts/WETH9.sol";

struct Stakes {
Expand Down Expand Up @@ -223,6 +224,27 @@ contract HelperConfig is Script {
return address(lottery);
}

function deploySwanDebate() external returns (address) {
// read deployed contract addresses
string memory dir = "deployments/";
string memory fileName = Strings.toString(block.chainid);
string memory path = string.concat(dir, fileName, ".json");
string memory contractAddresses = vm.readFile(path);

bool isCoordinatorExist = vm.keyExistsJson(contractAddresses, "$.LLMOracleCoordinator");
require(isCoordinatorExist, "Please deploy LLMOracleCoordinator first");

address coordinatorProxy = vm.parseJsonAddress(contractAddresses, "$.LLMOracleCoordinator.proxyAddr");
require(coordinatorProxy != address(0), "Coordinator proxy address is invalid");

vm.startBroadcast();
SwanDebate debate = new SwanDebate(coordinatorProxy);
vm.stopBroadcast();

writeContractAddress("SwanDebate", address(debate));
return address(debate);
}

function writeContractAddress(string memory name, address addr) internal {
// create a deployment file if not exist
string memory dir = "deployments/";
Expand Down
Loading
Loading