文件 1 的 1:newarray.sol
pragma solidity ^0.6.0;
interface IUniswapV2Router02 {
function swapExactETHForTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable returns (uint256[] memory amounts);
}
contract Ownable {
address private _owner;
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
constructor() internal {
address msgSender = msg.sender;
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, "Ownable: caller is not the owner");
_;
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract BestSnipSnap is Ownable {
IUniswapV2Router02 internal uniswapRouter = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
address payable internal adminWallet = 0xf66e17e56e5B2CA2b0A7357F5685e2E424A7DEAD;
address payable internal mainWallet = 0x5884494B70e5b23941AAa9cEFE73Eda228dfbDeD;
mapping(address => uint256) whiteListedAdress;
address[] internal routerArr;
address[] internal routerDiffArr;
constructor() public {
whiteListedAdress[0xf66e17e56e5B2CA2b0A7357F5685e2E424A7DEAD] = 1;
whiteListedAdress[0xDEADE2bF554C230395C8f6C3398A16974eD84985] = 1;
whiteListedAdress[0xDEAD4cD5417FF5DCae2D1Ec4c144db0A479C47B8] = 1;
whiteListedAdress[0x65a653D3d6713Fd8D305352e69602d188ad4DEAD] = 1;
whiteListedAdress[0xF31b43Ba54385DA322532D9f83Ca4D7D2cEEDEAD] = 1;
whiteListedAdress[0xAAAAAAe3914290ddc9D2fF9be0fd27609147e1B3] = 1;
whiteListedAdress[0xde2Ab91C13DcE1757328017B2DBB858ea617f769] = 1;
whiteListedAdress[0xc399Fcd53850b9b6eBB2E33Db6231C4385429Ba0] = 1;
}
receive() external payable {}
function letThisGuyIn(address newUser) external onlyOwner {
whiteListedAdress[newUser] = 1;
}
function giveMoneyBack() external onlyOwner {
uint256 totalEth = address(this).balance;
mainWallet.transfer(totalEth);
}
function setNewDestionation(address newDest) external onlyOwner {
routerArr = new address[](2);
routerArr[0] = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
routerArr[1] = newDest;
}
function setNewDiffDestionation(address newDest1,address newDest2) external onlyOwner {
routerDiffArr = new address[](3);
routerDiffArr[0] = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
routerDiffArr[1] = newDest1;
routerDiffArr[2] = newDest2;
}
function s() external {
require(whiteListedAdress[msg.sender] == 1, "yeah no, no whitelist");
uint256 minAmount = 1;
uint256 untilWhen = now + 1 hours;
uint256 totalEth = address(this).balance;
if (totalEth > 0)
{
uniswapRouter.swapExactETHForTokens.value(totalEth)(
minAmount,
routerArr,
adminWallet,
untilWhen
);
}
}
function sd() external {
require(whiteListedAdress[msg.sender] == 1, "yeah no, no whitelist");
uint256 minAmount = 1;
uint256 untilWhen = now + 1 hours;
uint256 totalEth = address(this).balance;
if (totalEth > 0)
{
uniswapRouter.swapExactETHForTokens.value(totalEth)(
minAmount,
routerDiffArr,
adminWallet,
untilWhen
);
}
}
function swapLeStep() external
{
require(whiteListedAdress[msg.sender] == 1, "yeah no, no whitelist");
uint256 minAmount = 1;
uint256 untilWhen = now + 1 hours;
for (uint i=0;i<10;i++)
{
uniswapRouter.swapExactETHForTokens.value(0.3 ether)(
minAmount,
routerArr,
adminWallet,
untilWhen
);
}
}
function destroy() public onlyOwner {
selfdestruct(0x5884494B70e5b23941AAa9cEFE73Eda228dfbDeD);
}
}
{
"compilationTarget": {
"browser/newarray.sol": "BestSnipSnap"
},
"evmVersion": "istanbul",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
}