24 lines
1021 B
Solidity
24 lines
1021 B
Solidity
|
|
// SPDX-License-Identifier: MIT
|
||
|
|
pragma solidity ^0.8.19;
|
||
|
|
|
||
|
|
import {Script, console} from "forge-std/Script.sol";
|
||
|
|
import {GenericStateChannelManager} from "../contracts/channels/GenericStateChannelManager.sol";
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @notice Optional: Deploy GenericStateChannelManager (state channels with stateHash).
|
||
|
|
* Set CHANNEL_ADMIN, CHALLENGE_WINDOW_SECONDS. Deploy to same chain as PaymentChannelManager if desired.
|
||
|
|
*/
|
||
|
|
contract DeployGenericStateChannelManager is Script {
|
||
|
|
function run() external {
|
||
|
|
uint256 pk = vm.envUint("PRIVATE_KEY");
|
||
|
|
address deployer = vm.addr(pk);
|
||
|
|
address admin = vm.envOr("CHANNEL_ADMIN", deployer);
|
||
|
|
uint256 challengeWindow = vm.envOr("CHALLENGE_WINDOW_SECONDS", uint256(86400));
|
||
|
|
vm.startBroadcast(pk);
|
||
|
|
GenericStateChannelManager manager = new GenericStateChannelManager(admin, challengeWindow);
|
||
|
|
console.log("GenericStateChannelManager deployed at:", address(manager));
|
||
|
|
console.log("Admin:", admin);
|
||
|
|
vm.stopBroadcast();
|
||
|
|
}
|
||
|
|
}
|