More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 306 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 20979752 | 60 days ago | IN | 0 ETH | 0.00039483 | ||||
Approve | 20137741 | 178 days ago | IN | 0 ETH | 0.00013694 | ||||
Approve | 20123045 | 180 days ago | IN | 0 ETH | 0.00027552 | ||||
Transfer | 20121552 | 180 days ago | IN | 0 ETH | 0.0004504 | ||||
Approve | 20055373 | 190 days ago | IN | 0 ETH | 0.00044777 | ||||
Approve | 19429649 | 277 days ago | IN | 0 ETH | 0.00251476 | ||||
Approve | 19102651 | 323 days ago | IN | 0 ETH | 0.00052648 | ||||
Approve | 18910891 | 350 days ago | IN | 0 ETH | 0.00027699 | ||||
Approve | 18389956 | 423 days ago | IN | 0 ETH | 0.00037679 | ||||
Approve | 18219639 | 447 days ago | IN | 0 ETH | 0.00054053 | ||||
Approve | 17667510 | 524 days ago | IN | 0 ETH | 0.00066715 | ||||
Transfer | 17324378 | 572 days ago | IN | 0 ETH | 0.00149283 | ||||
Transfer | 17324340 | 572 days ago | IN | 0 ETH | 0.00260491 | ||||
Approve | 17102044 | 604 days ago | IN | 0 ETH | 0.0017749 | ||||
Approve | 17102039 | 604 days ago | IN | 0 ETH | 0.00178856 | ||||
Transfer | 17102033 | 604 days ago | IN | 0 ETH | 0.0018369 | ||||
Approve | 17102024 | 604 days ago | IN | 0 ETH | 0.00165742 | ||||
Approve | 17101607 | 604 days ago | IN | 0 ETH | 0.00167328 | ||||
Approve | 17020046 | 615 days ago | IN | 0 ETH | 0.00130829 | ||||
Approve | 16994214 | 619 days ago | IN | 0 ETH | 0.00122405 | ||||
Approve | 16934252 | 627 days ago | IN | 0 ETH | 0.00164067 | ||||
Approve | 16781513 | 649 days ago | IN | 0 ETH | 0.0011392 | ||||
Approve | 16686358 | 662 days ago | IN | 0 ETH | 0.00253505 | ||||
Approve | 16613245 | 673 days ago | IN | 0 ETH | 0.0008175 | ||||
Approve | 16505058 | 688 days ago | IN | 0 ETH | 0.00084535 |
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
11951192 | 1386 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Minimal Proxy Contract for 0x85351262f7474ebe23ffacd633cf20a491f1325d
Contract Name:
InitializableERC20
Compiler Version
v0.6.9+commit.3e3065ac
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-01-24 */ // File: contracts/lib/SafeMath.sol /* Copyright 2020 DODO ZOO. SPDX-License-Identifier: Apache-2.0 */ pragma solidity 0.6.9; /** * @title SafeMath * @author DODO Breeder * * @notice Math operations with safety checks that revert on error */ 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, "MUL_ERROR"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "DIVIDING_ERROR"); return a / b; } function divCeil(uint256 a, uint256 b) internal pure returns (uint256) { uint256 quotient = div(a, b); uint256 remainder = a - quotient * b; if (remainder > 0) { return quotient + 1; } else { return quotient; } } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SUB_ERROR"); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "ADD_ERROR"); return c; } function sqrt(uint256 x) internal pure returns (uint256 y) { uint256 z = x / 2 + 1; y = x; while (z < y) { y = z; z = (x / z + z) / 2; } } } // File: contracts/external/ERC20/InitializableERC20.sol contract InitializableERC20 { using SafeMath for uint256; string public name; uint256 public decimals; string public symbol; uint256 public totalSupply; bool public initialized; mapping(address => uint256) balances; mapping(address => mapping(address => uint256)) internal allowed; event Transfer(address indexed from, address indexed to, uint256 amount); event Approval(address indexed owner, address indexed spender, uint256 amount); function init( address _creator, uint256 _totalSupply, string memory _name, string memory _symbol, uint256 _decimals ) public { require(!initialized, "TOKEN_INITIALIZED"); initialized = true; totalSupply = _totalSupply; balances[_creator] = _totalSupply; name = _name; symbol = _symbol; decimals = _decimals; emit Transfer(address(0), _creator, _totalSupply); } function transfer(address to, uint256 amount) public returns (bool) { require(to != address(0), "TO_ADDRESS_IS_EMPTY"); require(amount <= balances[msg.sender], "BALANCE_NOT_ENOUGH"); balances[msg.sender] = balances[msg.sender].sub(amount); balances[to] = balances[to].add(amount); emit Transfer(msg.sender, to, amount); return true; } function balanceOf(address owner) public view returns (uint256 balance) { return balances[owner]; } function transferFrom( address from, address to, uint256 amount ) public returns (bool) { require(to != address(0), "TO_ADDRESS_IS_EMPTY"); require(amount <= balances[from], "BALANCE_NOT_ENOUGH"); require(amount <= allowed[from][msg.sender], "ALLOWANCE_NOT_ENOUGH"); balances[from] = balances[from].sub(amount); balances[to] = balances[to].add(amount); allowed[from][msg.sender] = allowed[from][msg.sender].sub(amount); emit Transfer(from, to, amount); return true; } function approve(address spender, uint256 amount) public returns (bool) { allowed[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function allowance(address owner, address spender) public view returns (uint256) { return allowed[owner][spender]; } }
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","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":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_creator","type":"address"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_decimals","type":"uint256"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.