proposal-47/contracts/Proposal.sol
2024-02-10 18:43:54 +00:00

27 lines
970 B
Solidity

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
import "./libraries/Types.sol";
import "./interfaces/IERC20.sol";
import { ISablierAirdrop } from "./interfaces/ISablierAirdrop.sol"; // copied from proposal 28
contract Proposal {
IERC20 public constant torn = IERC20(0x77777FeDdddFfC19Ff86DB637967013e6C6A116C);
ISablierAirdrop public immutable airdrop;
address public immutable airdropRecipientStorage;
uint256 public constant airdropDuration = 180 days;
constructor(address _airdropContract, address _airdropRecipientsStorage) {
airdrop = ISablierAirdrop(_airdropContract);
airdropRecipientStorage = _airdropRecipientsStorage;
}
function executeProposal() public {
torn.transfer(address(airdrop), 1000000 ether);
uint256 startTime = block.timestamp;
uint256 endTime = startTime + airdropDuration;
airdrop.createAirdrop(startTime, endTime, airdropRecipientStorage);
}
}