Address Contract Partially Verified
Address
0x40C0Fa9157F4D21e08825517C88CA359B39c7631
Balance
0 ETH
Nonce
1
Code Size
3150 bytes
Creator
0x02Ecf0D1...98cD at tx 0x612cd979...207fa7
Indexed Transactions
0
Contract Bytecode
3150 bytes
0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806395d89b41116100ad578063cdeda05511610071578063cdeda055146103b7578063d05c78da146103d6578063dd62ed3e146103f9578063e6cb901314610427578063e724529c1461044a5761012c565b806395d89b4114610317578063a293d1e81461031f578063a9059cbb14610342578063b414d4b61461036e578063b5931f7c146103945761012c565b806342966c68116100f457806342966c681461025c57806370a082311461027957806379cc67901461029f5780638863dd1a146102cb5780638da5cb5b146102f35761012c565b806306fdde0314610131578063095ea7b3146101ae57806318160ddd146101ee57806323b872dd14610208578063313ce5671461023e575b600080fd5b610139610478565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017357818101518382015260200161015b565b50505050905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101da600480360360408110156101c457600080fd5b506001600160a01b038135169060200135610506565b604080519115158252519081900360200190f35b6101f66105a6565b60408051918252519081900360200190f35b6101da6004803603606081101561021e57600080fd5b506001600160a01b038135811691602081013590911690604001356105ac565b6102466106b0565b6040805160ff9092168252519081900360200190f35b6101da6004803603602081101561027257600080fd5b50356106b9565b6101f66004803603602081101561028f57600080fd5b50356001600160a01b031661076f565b6101da600480360360408110156102b557600080fd5b506001600160a01b038135169060200135610781565b6102f1600480360360208110156102e157600080fd5b50356001600160a01b03166108c2565b005b6102fb6108fb565b604080516001600160a01b039092168252519081900360200190f35b61013961090a565b6101f66004803603604081101561033557600080fd5b5080359060200135610964565b6101da6004803603604081101561035857600080fd5b506001600160a01b038135169060200135610976565b6101da6004803603602081101561038457600080fd5b50356001600160a01b031661098a565b6101f6600480360360408110156103aa57600080fd5b508035906020013561099f565b6102f1600480360360208110156103cd57600080fd5b503515156109ce565b6101f6600480360360408110156103ec57600080fd5b50803590602001356109d9565b6101f66004803603604081101561040f57600080fd5b506001600160a01b03813581169160200135166109f9565b6101f66004803603604081101561043d57600080fd5b5080359060200135610a24565b6102f16004803603604081101561046057600080fd5b506001600160a01b0381351690602001351515610a3e565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104fe5780601f106104d3576101008083540402835291602001916104fe565b820191906000526020600020905b8154815290600101906020018083116104e157829003601f168201915b505050505081565b600081158061053657503360009081526005602090815260408083206001600160a01b0387168452909152902054155b61053f57600080fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60035481565b6001600160a01b03831660009081526005602090815260408083203384529091528120548211156105dc57600080fd5b3360009081526007602052604090205460ff16156105f957600080fd5b6001600160a01b03841660009081526007602052604090205460ff161561061f57600080fd5b6001600160a01b03831660009081526007602052604090205460ff161561064557600080fd5b610650848484610ab9565b6001600160a01b03851660009081526005602090815260408083203384529091529020549091506106819083610964565b6001600160a01b0390941660009081526005602090815260408083203384529091529020939093555090919050565b60025460ff1681565b6006546000906001600160a01b031633146106d357600080fd5b336000908152600460205260409020548211156106ef57600080fd5b6106fb60035483610964565b600355336000908152600460205260409020546107189083610964565b3360008181526004602090815260409182902093909355805191825291810184905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a1506001919050565b60046020526000908152604090205481565b6006546000906001600160a01b0316331461079b57600080fd5b6001600160a01b0383166000908152600460205260409020548211156107c057600080fd5b6001600160a01b03831660009081526005602090815260408083203384529091529020548211156107f057600080fd5b6107fc60035483610964565b6003556001600160a01b0383166000908152600460205260409020546108229083610964565b6001600160a01b03841660009081526004602090815260408083209390935560058152828220338352905220546108599083610964565b6001600160a01b038416600081815260056020908152604080832033845282529182902093909355805191825291810184905281517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5929181900390910190a150600192915050565b6006546001600160a01b031633146108d957600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156104fe5780601f106104d3576101008083540402835291602001916104fe565b60008282111561097057fe5b50900390565b6000610983338484610ab9565b9392505050565b60076020526000908152604090205460ff1681565b60008082116109aa57fe5b60008284816109b557fe5b0490508284816109c157fe5b0681840201841461098357fe5b80156109d657fe5b50565b60008282028315806109f35750828482816109f057fe5b04145b61098357fe5b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60008282018381108015906109f357508281101561098357fe5b6006546001600160a01b03163314610a5557600080fd5b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915582519384529083015280517f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a59281900390910190a15050565b60006001600160a01b038316610ace57600080fd5b6001600160a01b03841660009081526007602052604090205460ff1615610af457600080fd5b6001600160a01b03831660009081526007602052604090205460ff1615610b1a57600080fd5b6001600160a01b038416600090815260046020526040902054821115610b3f57600080fd5b6001600160a01b0383166000908152600460205260409020548281011015610b6657600080fd5b6001600160a01b038416600090815260046020526040902054610b899083610964565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610bb89083610a24565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001939250505056fea265627a7a723158206fc51d7cb895fc127a2eb3129d5708738b0942b911ce4ef84a7e96a2f03b52a464736f6c634300050e0032
Verified Source Code Partial Match
Compiler: v0.5.14+commit.01f1aaa4
EVM: istanbul
Optimization: Yes (200 runs)
GOLD.sol 200 lines
pragma solidity >=0.4.22 <0.6.0;
contract SafeMath {
function safeMul(uint256 a, uint256 b) public pure returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function safeDiv(uint256 a, uint256 b)public pure returns (uint256) {
assert(b > 0);
uint256 c = a / b;
assert(a == b * c + a % b);
return c;
}
function safeSub(uint256 a, uint256 b)public pure returns (uint256) {
assert(b <= a);
return a - b;
}
function safeAdd(uint256 a, uint256 b)public pure returns (uint256) {
uint256 c = a + b;
assert(c>=a && c>=b);
return c;
}
function _assert(bool assertion)public pure {
assert(!assertion);
}
}
contract ERC20Interface {
string public name;
string public symbol;
uint8 public decimals;
uint public totalSupply;
function transfer(address _to, uint256 _value) public returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
function approve(address _spender, uint256 _value) public returns (bool success);
function allowance(address _owner, address _spender)public view returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract ERC20 is ERC20Interface,SafeMath {
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) allowed;
constructor(string memory _name) public {
name = _name;
symbol = "GOLD";
decimals = 18;
totalSupply = 1000000000000000000000000000;
balanceOf[msg.sender] = totalSupply;
}
function transfer(address _to, uint256 _value) public returns (bool success) {
require(_to != address(0));
require(balanceOf[msg.sender] >= _value);
require(balanceOf[ _to] + _value >= balanceOf[ _to]);
balanceOf[msg.sender] =SafeMath.safeSub(balanceOf[msg.sender],_value) ;
balanceOf[_to] =SafeMath.safeAdd(balanceOf[_to] ,_value);
emit Transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(_to != address(0));
require(allowed[_from][msg.sender] >= _value);
require(balanceOf[_from] >= _value);
require(balanceOf[_to] + _value >= balanceOf[_to]);
balanceOf[_from] =SafeMath.safeSub(balanceOf[_from],_value) ;
balanceOf[_to] = SafeMath.safeAdd(balanceOf[_to],_value);
allowed[_from][msg.sender] =SafeMath.safeSub(allowed[_from][msg.sender], _value);
emit Transfer(msg.sender, _to, _value);
return true;
}
function approve(address _spender, uint256 _value) public returns (bool success) {
require((_value==0)||(allowed[msg.sender][_spender]==0));
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
return allowed[_owner][_spender];
}
}
contract owned {
address public owner;
constructor () public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnerShip(address newOwer) public onlyOwner {
owner = newOwer;
}
}
contract GOLD is ERC20,owned{
mapping (address => bool) public frozenAccount;
event FrozenFunds(address target, bool frozen);
event Burn(address target, uint amount);
constructor (string memory _name) ERC20(_name) public {
}
function freezeAccount(address target, bool freeze) public onlyOwner {
frozenAccount[target] = freeze;
emit FrozenFunds(target, freeze);
}
function transfer(address _to, uint256 _value) public returns (bool success) {
success = _transfer(msg.sender, _to, _value);
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
require(allowed[_from][msg.sender] >= _value);
require(!frozenAccount[msg.sender]);
require(!frozenAccount[_from]);
require(!frozenAccount[_to]);
success = _transfer(_from, _to, _value);
allowed[_from][msg.sender] =SafeMath.safeSub(allowed[_from][msg.sender],_value) ;
}
function _transfer(address _from, address _to, uint256 _value) internal returns (bool success) {
require(_to != address(0));
require(!frozenAccount[_from]);
require(!frozenAccount[_to]);
require(balanceOf[_from] >= _value);
require(balanceOf[ _to] + _value >= balanceOf[ _to]);
balanceOf[_from] =SafeMath.safeSub(balanceOf[_from],_value) ;
balanceOf[_to] =SafeMath.safeAdd(balanceOf[_to],_value) ;
emit Transfer(_from, _to, _value);
return true;
}
function burn(uint256 _value) public returns (bool success) {
require(owner == msg.sender);
require(balanceOf[msg.sender] >= _value);
totalSupply =SafeMath.safeSub(totalSupply,_value) ;
balanceOf[msg.sender] =SafeMath.safeSub(balanceOf[msg.sender],_value) ;
emit Burn(msg.sender, _value);
return true;
}
function burnFrom(address _from, uint256 _value) public returns (bool success) {
require(owner == msg.sender);
require(balanceOf[_from] >= _value);
require(allowed[_from][msg.sender] >= _value);
totalSupply =SafeMath.safeSub(totalSupply,_value) ;
balanceOf[_from] =SafeMath.safeSub(balanceOf[_from], _value);
allowed[_from][msg.sender] =SafeMath.safeSub(allowed[_from][msg.sender],_value);
emit Burn(_from, _value);
return true;
}
}
Read Contract
_assert 0xcdeda055
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
frozenAccount 0xb414d4b6 → bool
name 0x06fdde03 → string
owner 0x8da5cb5b → address
safeAdd 0xe6cb9013 → uint256
safeDiv 0xb5931f7c → uint256
safeMul 0xd05c78da → uint256
safeSub 0xa293d1e8 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 7 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address _spender
uint256 _value
returns: bool
burn 0x42966c68
uint256 _value
returns: bool
burnFrom 0x79cc6790
address _from
uint256 _value
returns: bool
freezeAccount 0xe724529c
address target
bool freeze
transfer 0xa9059cbb
address _to
uint256 _value
returns: bool
transferFrom 0x23b872dd
address _from
address _to
uint256 _value
returns: bool
transferOwnerShip 0x8863dd1a
address newOwer
Recent Transactions
No transactions found for this address