Address Contract Partially Verified
Address
0x1D6b6472cc42E3921F983344284bd2c97118ce7C
Balance
0 ETH
Nonce
1
Code Size
2544 bytes
Creator
0x54d79Ef5...4a62 at tx 0xd80400d1...33bcf1
Indexed Transactions
0
Contract Bytecode
2544 bytes
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80633950935111610071578063395093511461014957806370a082311461015c57806395d89b411461016f578063a457c2d714610177578063a9059cbb1461018a578063dd62ed3e1461019d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd146100f75780631e89d5451461010c57806323b872dd14610121578063313ce56714610134575b600080fd5b6100c16101b0565b6040516100ce919061088c565b60405180910390f35b6100ea6100e536600461079a565b6101dc565b6040516100ce9190610881565b6100ff61025c565b6040516100ce91906108df565b61011f61011a3660046107c3565b610262565b005b6100ea61012f36600461075f565b6102de565b61013c610444565b6040516100ce91906108e8565b6100ea61015736600461079a565b610449565b6100ff61016a366004610713565b6104e4565b6100c1610503565b6100ea61018536600461079a565b610522565b6100ea61019836600461079a565b610565565b6100ff6101ab36600461072d565b610629565b6040518060400160405280601081526020016f22ba3432b92337b93ab6902a37b5b2b760811b81525081565b60006001600160a01b0383166101f157600080fd5b3360008181526001602090815260408083206001600160a01b03881680855292529182902085905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061024b9086906108df565b60405180910390a350600192915050565b60035490565b60005b82518110156102d9576102c683828151811061029157634e487b7160e01b600052603260045260246000fd5b60200260200101518383815181106102b957634e487b7160e01b600052603260045260246000fd5b6020026020010151610565565b50806102d181610973565b915050610265565b505050565b6001600160a01b03831660009081526020819052604081205482111561030357600080fd5b6001600160a01b038416600090815260016020908152604080832033845290915290205482111561033357600080fd5b6001600160a01b03831661034657600080fd5b6001600160a01b0384166000908152602081905260409020546103699083610654565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546103989083610674565b6001600160a01b038085166000908152602081815260408083209490945591871681526001825282812033825290915220546103d49083610654565b6001600160a01b0380861660008181526001602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104329086906108df565b60405180910390a35060019392505050565b601281565b60006001600160a01b03831661045e57600080fd5b3360009081526001602090815260408083206001600160a01b038716845290915290205461048c9083610674565b3360008181526001602090815260408083206001600160a01b038916808552925291829020849055905190927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259161024b91906108df565b6001600160a01b0381166000908152602081905260409020545b919050565b604051806040016040528060038152602001622c22a360e91b81525081565b60006001600160a01b03831661053757600080fd5b3360009081526001602090815260408083206001600160a01b038716845290915290205461048c9083610654565b3360009081526020819052604081205482111561058157600080fd5b6001600160a01b03831661059457600080fd5b336000908152602081905260409020546105ae9083610654565b33600090815260208190526040808220929092556001600160a01b038516815220546105da9083610674565b6001600160a01b0384166000818152602081905260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061024b9086906108df565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60008282111561066357600080fd5b61066d828461095c565b9392505050565b6000806106818385610944565b90508381101561066d57600080fd5b80356001600160a01b03811681146104fe57600080fd5b600082601f8301126106b7578081fd5b813560206106cc6106c783610920565b6108f6565b82815281810190858301838502870184018810156106e8578586fd5b855b85811015610706578135845292840192908401906001016106ea565b5090979650505050505050565b600060208284031215610724578081fd5b61066d82610690565b6000806040838503121561073f578081fd5b61074883610690565b915061075660208401610690565b90509250929050565b600080600060608486031215610773578081fd5b61077c84610690565b925061078a60208501610690565b9150604084013590509250925092565b600080604083850312156107ac578182fd5b6107b583610690565b946020939093013593505050565b600080604083850312156107d5578182fd5b823567ffffffffffffffff808211156107ec578384fd5b818501915085601f8301126107ff578384fd5b8135602061080f6106c783610920565b82815281810190858301838502870184018b101561082b578889fd5b8896505b848710156108545761084081610690565b83526001969096019591830191830161082f565b509650508601359250508082111561086a578283fd5b50610877858286016106a7565b9150509250929050565b901515815260200190565b6000602080835283518082850152825b818110156108b85785810183015185820160400152820161089c565b818111156108c95783604083870101525b50601f01601f1916929092016040019392505050565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715610918576109186109a4565b604052919050565b600067ffffffffffffffff82111561093a5761093a6109a4565b5060209081020190565b600082198211156109575761095761098e565b500190565b60008282101561096e5761096e61098e565b500390565b60006000198214156109875761098761098e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212206891bb9c1ce65edda52aded4bcbc8cdf331d970346a9a94d2bb49b17f4d5513d64736f6c63430008000033
Verified Source Code Partial Match
Compiler: v0.8.0+commit.c7dfd78e
EVM: istanbul
Optimization: Yes (200 runs)
EtherForumToken.sol 137 lines
/*
* https://etherforum.org/
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface ERC20 {
function totalSupply() external view returns (uint);
function balanceOf(address who) external view returns (uint);
function allowance(address owner, address spender) external view returns (uint);
function transfer(address to, uint value) external returns (bool);
function approve(address spender, uint value) external returns (bool);
function transferFrom(address from, address to, uint value) external returns (bool);
event Transfer(address indexed from, address indexed to, uint value);
event Approval(address indexed owner, address indexed spender, uint value);
}
interface ApproveAndCallFallBack {
function receiveApproval(address from, uint tokens, address token, bytes calldata data) external;
}
contract EtherForumToken is ERC20 {
using SafeMath for uint256;
mapping (address => uint256) private balances;
mapping (address => mapping (address => uint256)) private allowed;
string public constant name = "EtherForum Token";
string public constant symbol = "XEF";
uint8 public constant decimals = 18;
address deployer;
uint256 _totalSupply = 1000000 * 10**18;
constructor() {
deployer = msg.sender;
balances[deployer] = _totalSupply;
emit Transfer(address(0), deployer, _totalSupply);
}
function totalSupply() public view override returns (uint256) {
return _totalSupply;
}
function balanceOf(address addr) public view override returns (uint256) {
return balances[addr];
}
function allowance(address addr, address spender) public view override returns (uint256) {
return allowed[addr][spender];
}
function transfer(address to, uint256 value) public override returns (bool) {
require(value <= balances[msg.sender]);
require(to != address(0));
balances[msg.sender] = balances[msg.sender].sub(value);
balances[to] = balances[to].add(value);
emit Transfer(msg.sender, to, value);
return true;
}
function multiTransfer(address[] memory receivers, uint256[] memory amounts) public {
for (uint256 i = 0; i < receivers.length; i++) {
transfer(receivers[i], amounts[i]);
}
}
function approve(address spender, uint256 value) public override returns (bool) {
require(spender != address(0));
allowed[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
function transferFrom(address from, address to, uint256 value) public override returns (bool) {
require(value <= balances[from]);
require(value <= allowed[from][msg.sender]);
require(to != address(0));
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 increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
require(spender != address(0));
allowed[msg.sender][spender] = allowed[msg.sender][spender].add(addedValue);
emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
require(spender != address(0));
allowed[msg.sender][spender] = allowed[msg.sender][spender].sub(subtractedValue);
emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
return true;
}
}
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(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) {
require(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a);
return c;
}
function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
uint256 c = add(a,m);
uint256 d = sub(c,1);
return mul(div(d,m),m);
}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 6 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 value
returns: bool
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
multiTransfer 0x1e89d545
address[] receivers
uint256[] amounts
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool
Recent Transactions
No transactions found for this address