Address Contract Partially Verified
Address
0x79084257dc1be6B52FA571b0FB2F254AA11f61Da
Balance
0 ETH
Nonce
1
Code Size
5657 bytes
Creator
0x44c993A8...2C0C at tx 0x7548a07f...a12b75
Indexed Transactions
0
Contract Bytecode
5657 bytes
0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80638456cb5911610104578063a9059cbb116100a2578063dd46706411610071578063dd467064146103d3578063dd62ed3e146103e6578063f2fde38b1461041f578063fce589d81461043257600080fd5b8063a9059cbb14610391578063c492f046146103a4578063cf820461146103b7578063d73dd623146103c057600080fd5b8063914eb66a116100de578063914eb66a1461035657806395d89b411461035e5780639fa4510214610366578063a69df4b51461038957600080fd5b80638456cb5914610328578063875ae990146103305780638da5cb5b1461034357600080fd5b80635342acb41161017c578063661884631161014b57806366188463146102ae57806370a08231146102c1578063794be707146102ea5780637b7e8bac146102fd57600080fd5b80635342acb414610270578063557ed1ba146102935780635c975abb14610299578063602bc62b146102a657600080fd5b806323b872dd116101b857806323b872dd14610237578063313ce5671461024a5780633f4ba83a1461025357806342966c681461025d57600080fd5b806306fdde03146101df578063095ea7b3146101fd57806318160ddd14610220575b600080fd5b6101e761043b565b6040516101f49190611427565b60405180910390f35b61021061020b366004611334565b6104c9565b60405190151581526020016101f4565b61022960035481565b6040519081526020016101f4565b6102106102453660046112ce565b610535565b610229600e5481565b61025b61059f565b005b61025b61026b3660046113e2565b6105de565b61021061027e366004611280565b60046020526000908152604090205460ff1681565b42610229565b6007546102109060ff1681565b600b54610229565b6102106102bc366004611334565b6105eb565b6102296102cf366004611280565b6001600160a01b031660009081526008602052604090205490565b61025b6102f836600461130a565b6106d3565b600254610310906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b61025b610728565b61025b61033e3660046113fb565b610761565b600954610310906001600160a01b031681565b61025b6107b5565b6101e7610817565b610210610374366004611280565b60066020526000908152604090205460ff1681565b61025b610824565b61021061039f366004611334565b610946565b61025b6103b236600461135e565b61095d565b61022960005481565b6102106103ce366004611334565b6109fe565b61025b6103e13660046113e2565b610a83565b6102296103f436600461129b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b61025b61042d366004611280565b610b08565b61022960015481565b600c805461044890611521565b80601f016020809104026020016040519081016040528092919081815260200182805461047490611521565b80156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105249086815260200190565b60405180910390a350600192915050565b6000610542848484610be1565b506001600160a01b03841660009081526005602090815260408083203384529091529020546105719083610ec5565b6001600160a01b03851660009081526005602090815260408083203384529091529020555060019392505050565b6009546001600160a01b031633146105d25760405162461bcd60e51b81526004016105c99061147c565b60405180910390fd5b6007805460ff19169055565b6105e83382610f28565b50565b3360009081526005602090815260408083206001600160a01b038616845290915281205480831115610640573360009081526005602090815260408083206001600160a01b038816845290915281205561066f565b61064a8184610ec5565b3360009081526005602090815260408083206001600160a01b03891684529091529020555b3360008181526005602090815260408083206001600160a01b038916808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6009546001600160a01b031633146106fd5760405162461bcd60e51b81526004016105c99061147c565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6009546001600160a01b031633146107525760405162461bcd60e51b81526004016105c99061147c565b6007805460ff19166001179055565b6009546001600160a01b0316331461078b5760405162461bcd60e51b81526004016105c99061147c565b600092909255600155600280546001600160a01b0319166001600160a01b03909216919091179055565b6009546001600160a01b031633146107df5760405162461bcd60e51b81526004016105c99061147c565b6009546040516000916001600160a01b0316906000805160206115a4833981519152908390a3600980546001600160a01b0319169055565b600d805461044890611521565b600a546001600160a01b031633146108905760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c653a2063616c6c6572206973206e6f742074686520707265766960448201526837bab99037bbb732b960b91b60648201526084016105c9565b600b5442116108f55760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c653a20636f6e7472616374206973206c6f636b65642c2074696d60448201526a065206973206e6f742075760ac1b60648201526084016105c9565b600a546009546040516001600160a01b0392831692909116906000805160206115a483398151915290600090a3600a54600980546001600160a01b0319166001600160a01b03909216919091179055565b6000610953338484610be1565b5060019392505050565b6009546001600160a01b031633146109875760405162461bcd60e51b81526004016105c99061147c565b60005b828110156109f85781600460008686858181106109a9576109a961158d565b90506020020160208101906109be9190611280565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806109f08161155c565b91505061098a565b50505050565b3360009081526005602090815260408083206001600160a01b0386168452909152812054610a2c9083611056565b3360008181526005602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101610524565b6009546001600160a01b03163314610aad5760405162461bcd60e51b81526004016105c99061147c565b60098054600a80546001600160a01b03199081166001600160a01b03841617909155169055610adc81426114b1565b600b556009546040516000916001600160a01b0316906000805160206115a4833981519152908390a350565b6009546001600160a01b03163314610b325760405162461bcd60e51b81526004016105c99061147c565b6001600160a01b038116610b975760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105c9565b6009546040516001600160a01b038084169216906000805160206115a483398151915290600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831660009081526006602052604081205460ff1615610c565760405162461bcd60e51b8152602060048201526024808201527f5374616e64617264546f6b656e3a2073656e64657220697320626c61636b6c696044820152631cdd195960e21b60648201526084016105c9565b6001600160a01b038316610cc05760405162461bcd60e51b815260206004820152602b60248201527f5374616e64617264546f6b656e3a207472616e7366657220746f20746865207a60448201526a65726f206164647265737360a81b60648201526084016105c9565b6001600160a01b038416600090815260086020526040902054821115610d3f5760405162461bcd60e51b815260206004820152602e60248201527f5374616e64617264546f6b656e3a207472616e7366657220616d6f756e74206560448201526d7863656564732062616c616e636560901b60648201526084016105c9565b6001600160a01b03841660009081526004602052604090205460ff16158015610d8157506001600160a01b03831660009081526004602052604090205460ff16155b15610dc55760075460ff1615610dc55760405162461bcd60e51b81526020600482015260096024820152681b9bdd081cdd185c9d60ba1b60448201526064016105c9565b6001600160a01b038416600090815260086020526040902054610de89083610ec5565b6001600160a01b038516600090815260086020908152604080832093909355600490529081205460ff1680610e3557506001600160a01b03841660009081526004602052604090205460ff165b610e4857610e438584611062565b610e4a565b825b6001600160a01b038516600090815260086020526040902054909150610e709082611056565b6001600160a01b0380861660008181526008602052604090819020939093559151908716906000805160206115c483398151915290610eb29085815260200190565b60405180910390a3506001949350505050565b600082821115610f175760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016105c9565b610f21828461150a565b9392505050565b6001600160a01b038216600090815260086020526040902054811115610f9f5760405162461bcd60e51b815260206004820152602660248201527f436f696e546f6b656e3a206275726e20616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105c9565b6001600160a01b03821660009081526008602052604081208054839290610fc790849061150a565b925050819055508060036000828254610fe0919061150a565b90915550506040518181526001600160a01b038316907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a26040518181526000906001600160a01b038416906000805160206115c48339815191529060200160405180910390a35050565b6000610f2182846114b1565b600154600090819081901561109457611091606461108b600154876111ed90919063ffffffff16565b906111f9565b90505b600054156110b9576110b6606461108b600054876111ed90919063ffffffff16565b91505b8115611132576002546001600160a01b03166000908152600860205260409020546110e49083611056565b600280546001600160a01b03908116600090815260086020908152604091829020949094559154915185815291811692908816916000805160206115c4833981519152910160405180910390a35b80156111d0576000805260086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75461116d9082611056565b600080805260086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7919091556040516001600160a01b038716906000805160206115c4833981519152906111c79085815260200190565b60405180910390a35b6111e46111dd8383611056565b8590610ec5565b95945050505050565b6000610f2182846114eb565b600080821161124a5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016105c9565b610f2182846114c9565b80356001600160a01b038116811461126b57600080fd5b919050565b8035801515811461126b57600080fd5b60006020828403121561129257600080fd5b610f2182611254565b600080604083850312156112ae57600080fd5b6112b783611254565b91506112c560208401611254565b90509250929050565b6000806000606084860312156112e357600080fd5b6112ec84611254565b92506112fa60208501611254565b9150604084013590509250925092565b6000806040838503121561131d57600080fd5b61132683611254565b91506112c560208401611270565b6000806040838503121561134757600080fd5b61135083611254565b946020939093013593505050565b60008060006040848603121561137357600080fd5b833567ffffffffffffffff8082111561138b57600080fd5b818601915086601f83011261139f57600080fd5b8135818111156113ae57600080fd5b8760208260051b85010111156113c357600080fd5b6020928301955093506113d99186019050611270565b90509250925092565b6000602082840312156113f457600080fd5b5035919050565b60008060006060848603121561141057600080fd5b83359250602084013591506113d960408501611254565b600060208083528351808285015260005b8181101561145457858101830151858201604001528201611438565b81811115611466576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156114c4576114c4611577565b500190565b6000826114e657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561150557611505611577565b500290565b60008282101561151c5761151c611577565b500390565b600181811c9082168061153557607f821691505b6020821081141561155657634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561157057611570611577565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122021512966a7a4c3de1bf3fe5f46a95478e85a58a68ad90f6520159c03df4d652064736f6c63430008070033
Verified Source Code Partial Match
Compiler: v0.8.7+commit.e28d00a7
EVM: london
Optimization: Yes (200 runs)
CoinToken.sol 253 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
return a * b;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
return a / b;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
}
contract Ownable {
address public owner;
address private _previousOwner;
uint256 private _lockTime;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
modifier onlyOwner() {
require(msg.sender == owner, "Ownable: caller is not the owner");
_;
}
function waiveOwnership() public onlyOwner {
emit OwnershipTransferred(owner, address(0));
owner = address(0);
}
function getUnlockTime() public view returns (uint256) {
return _lockTime;
}
function getTime() public view returns (uint256) {
return block.timestamp;
}
function lock(uint256 time) public onlyOwner {
_previousOwner = owner;
owner = address(0);
_lockTime = block.timestamp + time;
emit OwnershipTransferred(owner, address(0));
}
function unlock() public {
require(_previousOwner == msg.sender, "Ownable: caller is not the previous owner");
require(block.timestamp > _lockTime, "Ownable: contract is locked, time is not up");
emit OwnershipTransferred(owner, _previousOwner);
owner = _previousOwner;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
}
}
interface ERC20Basic {
function balanceOf(address who) external view returns (uint);
function transfer(address to, uint value) external returns (bool);
event Transfer(address indexed from, address indexed to, uint value);
}
interface ERC20 is ERC20Basic {
function allowance(address owner, address spender) external view returns (uint);
function transferFrom(address from, address to, uint value) external returns (bool);
function approve(address spender, uint value) external returns (bool);
event Approval(address indexed owner, address indexed spender, uint value);
}
contract StandardToken is ERC20 {
using SafeMath for uint256;
uint256 public txFee;
uint256 public burnFee;
address public FeeAddress;
uint256 public totalSupply;
mapping (address => bool) public isExcludedFromFee;
mapping (address => mapping (address => uint256)) internal allowed;
mapping(address => bool) public tokenBlacklist;
event Blacklist(address indexed blackListed, bool value);
bool public paused;
mapping(address => uint256) balances;
function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
require(!tokenBlacklist[sender], "StandardToken: sender is blacklisted");
require(recipient != address(0), "StandardToken: transfer to the zero address");
require(amount <= balances[sender], "StandardToken: transfer amount exceeds balance");
if((!isExcludedFromFee[sender] && !isExcludedFromFee[recipient]) ){
require(!paused, "not start");
}
balances[sender] = balances[sender].sub(amount);
uint256 finalAmount = (isExcludedFromFee[sender] || isExcludedFromFee[recipient]) ?
amount : takeFee(sender, amount);
balances[recipient] = balances[recipient].add(finalAmount);
emit Transfer(sender, recipient, finalAmount);
return true;
}
function takeFee(address sender, uint256 amount) internal returns (uint256) {
uint256 feeAmount = 0;
uint256 destAmount = 0;
if(burnFee > 0) {
destAmount = amount.mul(burnFee).div(100);
}
if(txFee > 0) {
feeAmount = amount.mul(txFee).div(100);
}
if(feeAmount > 0) {
balances[FeeAddress] = balances[FeeAddress].add(feeAmount);
emit Transfer(sender, FeeAddress, feeAmount);
}
if(destAmount >0){
balances[address(0)] = balances[address(0)].add(destAmount);
emit Transfer(sender, address(0), destAmount);
}
return amount.sub(feeAmount.add(destAmount));
}
function transfer(address _to, uint256 _value) public virtual override returns (bool) {
_transfer(msg.sender, _to, _value);
return true;
}
function balanceOf(address _owner) public view virtual override returns (uint256 balance) {
return balances[_owner];
}
function transferFrom(address _from, address _to, uint256 _value) public virtual override returns (bool) {
_transfer(_from,_to,_value);
allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
return true;
}
function approve(address _spender, uint256 _value) public virtual override returns (bool) {
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) public view virtual override returns (uint256) {
return allowed[_owner][_spender];
}
function increaseApproval(address _spender, uint256 _addedValue) public virtual returns (bool) {
allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
function decreaseApproval(address _spender, uint256 _subtractedValue) public virtual returns (bool) {
uint256 oldValue = allowed[msg.sender][_spender];
if (_subtractedValue > oldValue) {
allowed[msg.sender][_spender] = 0;
} else {
allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
}
emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
return true;
}
}
contract CoinToken is StandardToken,Ownable {
string public name;
string public symbol;
uint public decimals;
event Mint(address indexed from, address indexed to, uint256 value);
event Burn(address indexed burner, uint256 value);
constructor(string memory _name, string memory _symbol, uint256 _decimals, uint256 _supply, uint256 _txFee, uint256 _burnFee, address _FeeAddress, address tokenOwner, address service) payable {
name = _name;
symbol = _symbol;
decimals = _decimals;
totalSupply = _supply * 10**_decimals;
balances[tokenOwner] = totalSupply;
owner = tokenOwner;
txFee = _txFee;
burnFee = _burnFee;
FeeAddress = _FeeAddress;
isExcludedFromFee[tokenOwner] = true;
isExcludedFromFee[address(this)] = true;
payable(service).transfer(msg.value);
emit Transfer(address(0), tokenOwner, totalSupply);
}
function burn(uint256 _value) public {
_burn(msg.sender, _value);
}
function updateFee(uint256 _txFee, uint256 _burnFee, address _FeeAddress) onlyOwner public {
txFee = _txFee;
burnFee = _burnFee;
FeeAddress = _FeeAddress;
}
function _burn(address _who, uint256 _value) internal virtual {
require(_value <= balances[_who], "CoinToken: burn amount exceeds balance");
balances[_who] -= _value;
totalSupply -= _value;
emit Burn(_who, _value);
emit Transfer(_who, address(0), _value);
}
function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
for(uint256 i = 0; i < accounts.length; i++) {
isExcludedFromFee[accounts[i]] = excluded;
}
}
function pause() onlyOwner public {
paused = true;
}
function unpause() onlyOwner public {
paused = false;
}
function blackListAddress(address listAddress, bool isBlackListed) public onlyOwner {
tokenBlacklist[listAddress] = isBlackListed;
}
}
Read Contract
FeeAddress 0x7b7e8bac → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
burnFee 0xfce589d8 → uint256
decimals 0x313ce567 → uint256
getTime 0x557ed1ba → uint256
getUnlockTime 0x602bc62b → uint256
isExcludedFromFee 0x5342acb4 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
paused 0x5c975abb → bool
symbol 0x95d89b41 → string
tokenBlacklist 0x9fa45102 → bool
totalSupply 0x18160ddd → uint256
txFee 0xcf820461 → uint256
Write Contract 15 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address _spender
uint256 _value
returns: bool
blackListAddress 0x794be707
address listAddress
bool isBlackListed
burn 0x42966c68
uint256 _value
decreaseApproval 0x66188463
address _spender
uint256 _subtractedValue
returns: bool
excludeMultipleAccountsFromFees 0xc492f046
address[] accounts
bool excluded
increaseApproval 0xd73dd623
address _spender
uint256 _addedValue
returns: bool
lock 0xdd467064
uint256 time
pause 0x8456cb59
No parameters
transfer 0xa9059cbb
address _to
uint256 _value
returns: bool
transferFrom 0x23b872dd
address _from
address _to
uint256 _value
returns: bool
transferOwnership 0xf2fde38b
address newOwner
unlock 0xa69df4b5
No parameters
unpause 0x3f4ba83a
No parameters
updateFee 0x875ae990
uint256 _txFee
uint256 _burnFee
address _FeeAddress
waiveOwnership 0x914eb66a
No parameters
Recent Transactions
No transactions found for this address