Contract 0x4354a4f710182966e55ea30cfa807fa1b821a67b 2

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x23514f281af47f809d4735f7f625223aac78181bcbd4a22fa28f72add936280eApprove110694692021-09-20 4:31:424 hrs ago0xff6dd416185e4055c5cd2e3e36044b073dad8d61 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x675affdfb56c6cc979a0a8dc37d4b7077dca2f5eca51b242434d30408a6e82a6Approve110676382021-09-20 3:00:085 hrs 31 mins ago0x891a654c54996d92264d6d90e4493af9426965b1 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x45d4d9a50ca16107d9a0606c760247801dc860d202d8d47614644080280bf963Approve110670802021-09-20 2:32:145 hrs 59 mins ago0x1f46e30d1db3cf8fb285351dc45085db1d1d7034 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0xe91cfda050db2cc08d000e96ca2ad382a102007726976bddabf68df3d22ead8bApprove110667332021-09-20 2:14:536 hrs 16 mins ago0xd41706ad4e95ffec5bab1dba9fee246dcbafcc19 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x3afc3bc777679bcff030a4d35d96dc44ffde4835b811ea694721ff05531e1c7fApprove110666022021-09-20 2:08:206 hrs 23 mins ago0x07da61f5065cffbed80f8b8ff01365d5db65f8c3 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x0aa00c3375c265f86ba0fca6fe3a8f9837065e13d85703725c5a92c6b1860599Approve110636092021-09-19 23:38:398 hrs 53 mins ago0x1dc6c23c38a6595ee0fcceaa0aa3effebf45588b IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x35e38689e0ffe42536fceabddd57e633c97f2716b144aaebbf8d2a7565954958Approve110625742021-09-19 22:46:549 hrs 44 mins ago0xf244c148efeb5f11cb0575fd9f565cb68d5e49a0 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x2f0679badc8a73b937f1db701a6de7dcbb5d3056f31856d07d92e3cba869c7b5Approve110620162021-09-19 22:19:0010 hrs 12 mins ago0x4da7eb7fe9dc4cfc7e8695ebd9f8a8a63e0c84cb IN  FoxyNFT: Foxy Token0 BNB0.000220635
0x31491f4ab7bea46dda196f62574d080fde4c2db66b9e41ae3a927dc07e83beb2Transfer110612012021-09-19 21:38:1510 hrs 53 mins ago0xef1a65bd77c40e33a8f0ee402da159708babbc23 IN  FoxyNFT: Foxy Token0 BNB0.000146846
0x0e2296d92ca57174f8b1f5c76927af071f24bf9136b9f2d65e895e63fbe3b24fApprove110579202021-09-19 18:54:1113 hrs 37 mins ago0x1a222ac191dbfcfc943d044458d09f1bd5599fff IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x30224181867eba1bdebf0cd9b1d390498513b5a840246ea40418ffc9020a79a1Approve110571882021-09-19 18:17:3514 hrs 14 mins ago0xfbbaf1d3727ee462bd5c23ddcd80da9abf51dad9 IN  FoxyNFT: Foxy Token0 BNB0.000221895
0x27e2a9864960a59d947a588b19c0dae2336d3ff400db3d1d96cc1405241601c1Transfer110561612021-09-19 17:26:1115 hrs 5 mins ago0x396e9237820f5e01ea3a699a8d9ba4a781fbb9ec IN  FoxyNFT: Foxy Token0 BNB0.00017983
0xf43dc9da39438660a08e8e4764a465bd9acae665df663414c68f8ca89e541532Transfer110561512021-09-19 17:25:4115 hrs 6 mins ago0xcc0fd3d4b3c2ce4a0d2b7be59eb9848c080e6786 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0xb29a2daa8f7dc4037180b1fb7d726fed99f1dd60996b8c75050826114690f4aeTransfer110561462021-09-19 17:25:2615 hrs 6 mins ago0xe1c838a12e4c1de3e86eac143ee2f0a7c68768e1 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x42588bfbffad8df7a21401affc911d25db06c048e9e5974b47085d06f0e62d20Transfer110561282021-09-19 17:24:3215 hrs 7 mins ago0xb4ebbd11aa286f12a9eebc50fb089f887b943120 IN  FoxyNFT: Foxy Token0 BNB0.00017983
0x5cce02d10d197f57720a99b9b1a63b53307030aa7ab6751ecb24f4174deea6f0Transfer110560972021-09-19 17:22:5915 hrs 8 mins ago0x9e7cd1967b5e7309403498fbbe04d0bf6fdebbc6 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x4af145ba32d05b016f6497cc7480eb7423add8c9f3ab132c5969f3e23b433405Transfer110560952021-09-19 17:22:5315 hrs 8 mins ago0xf6ab18d7aca78b8901196fb9da34de86fbd76eb4 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0xead88c33f5592f5114dcaa3523538abe7a4eac56570838d522d33bd48093b79cTransfer110560902021-09-19 17:22:3815 hrs 9 mins ago0xdf756bad7921c82fb04f3af004dcaf622b97d1fc IN  FoxyNFT: Foxy Token0 BNB0.00010483
0xc316ef49801da28e3e1402c8dcf2e89d5559de9701ecc3c2e453892512b5cf4fTransfer110560852021-09-19 17:22:2315 hrs 9 mins ago0x21473ac5106091ccbde9e17147f16d4a155edd72 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x13b07f69ce420e0d5509a439343e33be93c32e5bf394c3f91ad45f6307fe43e4Transfer110560822021-09-19 17:22:1415 hrs 9 mins ago0x875cc7458e1effa9f4960e8f836ff304b5dd338c IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x071f22bd883a029172c5a21ab62e64bf5873a0b852325d42bab5246534a84faaTransfer110560792021-09-19 17:22:0515 hrs 9 mins ago0xb53fc51c715149e1fdc2ad8b49d46f0e66400de5 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x1424577ad044ffe67d34a6389ed856ea979cabeebc45a8fae62f690636f88ddeTransfer110560742021-09-19 17:21:5015 hrs 9 mins ago0x639c223955b64f23d4029e59ae563030209b4dee IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x512493d4e8b7421707e85cda418ef5cf524aa6af66ad92a81bb374b7b1138a24Transfer110560672021-09-19 17:21:2915 hrs 10 mins ago0x0c11baab766767d420ce8d7e960273adbb32441f IN  FoxyNFT: Foxy Token0 BNB0.00010483
0xf9ae59eb95f6c7efc6633142494a8417d938acf6a0d052465508bd69cd0c5d7cTransfer110560622021-09-19 17:21:1415 hrs 10 mins ago0x18bb603b152c41e2939d9d693b598913d2624041 IN  FoxyNFT: Foxy Token0 BNB0.00010483
0x75d0615385370d7217a0e62324fa407bd422195460c5c0b70d22c1384c30931eTransfer110559392021-09-19 17:15:0515 hrs 16 mins ago0xac9b81ec9e31742a807b51160319c489c0153edf IN  FoxyNFT: Foxy Token0 BNB0.00010483
[ Download CSV Export 

OVERVIEW

An experimental NFT game on the BSC network.

Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FoxyEquilibrium

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-03-26
*/

pragma solidity ^0.5.2;

/*
 * Foxy equilibrium 
 * App:             https://foxynft.org/
 * Twitter:         https://twitter.com/foxyequilibrium
 * Telegram:        https://t.me/foxyequilibrium
 * Medium:          https://medium.com/@foxynft
 */

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev give an account access to this role
     */
    function add(Role storage role, address account) internal {
        require(account != address(0));
        require(!has(role, account));

        role.bearer[account] = true;
    }

    /**
     * @dev remove an account's access to this role
     */
    function remove(Role storage role, address account) internal {
        require(account != address(0));
        require(has(role, account));

        role.bearer[account] = false;
    }

    /**
     * @dev check if an account has this role
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0));
        return role.bearer[account];
    }
}

contract owned {
    constructor() public { owner = msg.sender; }
    address payable owner;

    // This contract only defines a modifier but does not use
    // it: it will be used in derived contracts.
    // The function body is inserted where the special symbol
    // `_;` in the definition of a modifier appears.
    // This means that if the owner calls this function, the
    // function is executed and otherwise, an exception is
    // thrown.
    modifier onlyOwner {
        require(
            msg.sender == owner,
            "Only owner can call this function."
        );
        _;
    }
}

contract MinterRole is owned {
    using Roles for Roles.Role;

    event MinterAdded(address indexed account);
    event MinterRemoved(address indexed account);

    Roles.Role private _minters;

    constructor () internal {
        _addMinter(msg.sender);
    }

    modifier onlyMinter() {
        require(isMinter(msg.sender));
        _;
    }

    function isMinter(address account) public view returns (bool) {
        return _minters.has(account);
    }
    
   

    function addMinter(address account) public onlyOwner {
        _addMinter(account);
    }

    function renounceMinter(address account) public  onlyOwner{
        _removeMinter(account);
    }

    function _addMinter(address account) internal {
        _minters.add(account);
        emit MinterAdded(account);
    }

    function _removeMinter(address account) internal {
        _minters.remove(account);
        emit MinterRemoved(account);
    }
}

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
     * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

/**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20 {
    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

    function allowance(address owner, address spender) external view returns (uint256);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://eips.ethereum.org/EIPS/eip-20
 * Originally based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for
 * all accounts just by listening to said events. Note that this isn't required by the specification, and other
 * compliant implementations may not do it.
 */
contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowed;

    uint256 private _totalSupply;

    /**
     * @dev Total number of tokens in existence
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param owner The address to query the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address owner) public view returns (uint256) {
        return _balances[owner];
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param owner address The address which owns the funds.
     * @param spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address owner, address spender) public view returns (uint256) {
        return _allowed[owner][spender];
    }

    /**
     * @dev Transfer token to a specified address
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function transfer(address to, uint256 value) public returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Transfer tokens from one address to another.
     * Note that while this function emits an Approval event, this is not required as per the specification,
     * and other compliant implementations may not emit the event.
     * @param from address The address which you want to send tokens from
     * @param to address The address which you want to transfer to
     * @param value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address from, address to, uint256 value) public returns (bool) {
        _transfer(from, to, value);
        _approve(from, msg.sender, _allowed[from][msg.sender].sub(value));
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when _allowed[msg.sender][spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * Emits an Approval event.
     * @param spender The address which will spend the funds.
     * @param addedValue The amount of tokens to increase the allowance by.
     */
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when _allowed[msg.sender][spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * Emits an Approval event.
     * @param spender The address which will spend the funds.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    /**
     * @dev Transfer token for a specified addresses
     * @param from The address to transfer from.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function _transfer(address from, address to, uint256 value) internal {
        require(to != address(0));

        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(value);
        emit Transfer(from, to, value);
    }

    /**
     * @dev Internal function that mints an amount of the token and assigns it to
     * an account. This encapsulates the modification of balances such that the
     * proper events are emitted.
     * @param account The account that will receive the created tokens.
     * @param value The amount that will be created.
     */
    function _mint(address account, uint256 value) internal {
        require(account != address(0));

        _totalSupply = _totalSupply.add(value);
        _balances[account] = _balances[account].add(value);
        emit Transfer(address(0), account, value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account.
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burn(address account, uint256 value) internal {
        require(account != address(0));

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    /**
     * @dev Approve an address to spend another addresses' tokens.
     * @param owner The address that owns the tokens.
     * @param spender The address that will spend the tokens.
     * @param value The number of tokens that can be spent.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(spender != address(0));
        require(owner != address(0));

        _allowed[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account, deducting from the sender's allowance for said account. Uses the
     * internal burn function.
     * Emits an Approval event (reflecting the reduced allowance).
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burnFrom(address account, uint256 value) internal {
        _burn(account, value);
        _approve(account, msg.sender, _allowed[account][msg.sender].sub(value));
    }
}

/**
 * @title ERC20Mintable
 * @dev ERC20 minting logic
 */
contract ERC20Mintable is ERC20, MinterRole {
    /**
     * @dev Function to mint tokens
     * @param to The address that will receive the minted tokens.
     * @param value The amount of tokens to mint.
     * @return A boolean that indicates if the operation was successful.
     */
    function mint(address to, uint256 value) public onlyMinter returns (bool) {
        _mint(to, value);
        return true;
    }
}

/**
 * @title ERC20Detailed token
 * @dev The decimals are only for visualization purposes.
 * All the operations are done using the smallest and indivisible token unit,
 * just as on Ethereum all the operations are done in wei.
 */
contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @return the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @return the symbol of the token.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @return the number of decimals of the token.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
    
   
}

contract FoxyEquilibrium is ERC20Mintable, ERC20Detailed {
    uint8 private constant DECIMALS = 9;
    uint256 public constant initial_supply = 250000 * (10 ** uint256(DECIMALS));

    /**
     * @dev Constructor that gives msg.sender all of existing tokens.
     */
    constructor () public ERC20Detailed("Foxy Equilibrium", "Foxy", DECIMALS) {
        _mint(msg.sender, initial_supply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterRemoved","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"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initial_supply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50604080518082018252601081526f466f787920457175696c69627269756d60801b60208083019190915282518084019093526004835263466f787960e01b90830152600380546001600160a01b0319163390811790915590919060099062000083906001600160e01b03620000de16565b82516200009890600590602086019062000292565b508151620000ae90600690602085019062000292565b506007805460ff191660ff9290921691909117905550620000d890503365e35fa931a00062000130565b62000337565b620000f9816004620001e960201b62000a141790919060201c565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b6001600160a01b0382166200014457600080fd5b62000160816002546200024260201b620008461790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620001939183906200084662000242821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038116620001fd57600080fd5b6200021282826001600160e01b036200025c16565b156200021d57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200025557600080fd5b9392505050565b60006001600160a01b0382166200027257600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002d557805160ff191683800117855562000305565b8280016001018555821562000305579182015b8281111562000305578251825591602001919060010190620002e8565b506200031392915062000317565b5090565b6200033491905b808211156200031357600081556001016200031e565b90565b610ab780620003476000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635f112c6811610097578063a457c2d711610066578063a457c2d71461030c578063a9059cbb14610338578063aa271e1a14610364578063dd62ed3e1461038a57610100565b80635f112c681461029057806370a08231146102b857806395d89b41146102de578063983b2d56146102e657610100565b80632405e3c6116100d35780632405e3c614610212578063313ce5671461021a578063395093511461023857806340c10f191461026457610100565b806306fdde0314610105578063095ea7b31461018257806318160ddd146101c257806323b872dd146101dc575b600080fd5b61010d6103b8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b03813516906020013561044e565b604080519115158252519081900360200190f35b6101ca610464565b60408051918252519081900360200190f35b6101ae600480360360608110156101f257600080fd5b506001600160a01b0381358116916020810135909116906040013561046a565b6101ca6104c1565b6102226104cb565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561024e57600080fd5b506001600160a01b0381351690602001356104d4565b6101ae6004803603604081101561027a57600080fd5b506001600160a01b038135169060200135610510565b6102b6600480360360208110156102a657600080fd5b50356001600160a01b031661052e565b005b6101ca600480360360208110156102ce57600080fd5b50356001600160a01b0316610583565b61010d61059e565b6102b6600480360360208110156102fc57600080fd5b50356001600160a01b03166105ff565b6101ae6004803603604081101561032257600080fd5b506001600160a01b038135169060200135610651565b6101ae6004803603604081101561034e57600080fd5b506001600160a01b03813516906020013561068d565b6101ae6004803603602081101561037a57600080fd5b50356001600160a01b031661069a565b6101ca600480360360408110156103a057600080fd5b506001600160a01b03813581169160200135166106b3565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104445780601f1061041957610100808354040283529160200191610444565b820191906000526020600020905b81548152906001019060200180831161042757829003601f168201915b5050505050905090565b600061045b3384846106de565b50600192915050565b60025490565b6000610477848484610766565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546104b79186916104b2908663ffffffff61083116565b6106de565b5060019392505050565b65e35fa931a00081565b60075460ff1690565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045b9185906104b2908663ffffffff61084616565b600061051b3361069a565b61052457600080fd5b61045b838361085f565b6003546001600160a01b031633146105775760405162461bcd60e51b8152600401808060200182810382526022815260200180610a616022913960400191505060405180910390fd5b61058081610907565b50565b6001600160a01b031660009081526020819052604090205490565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104445780601f1061041957610100808354040283529160200191610444565b6003546001600160a01b031633146106485760405162461bcd60e51b8152600401808060200182810382526022815260200180610a616022913960400191505060405180910390fd5b6105808161094f565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045b9185906104b2908663ffffffff61083116565b600061045b338484610766565b60006106ad60048363ffffffff61099716565b92915050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0382166106f157600080fd5b6001600160a01b03831661070457600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03821661077957600080fd5b6001600160a01b0383166000908152602081905260409020546107a2908263ffffffff61083116565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107d7908263ffffffff61084616565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561084057600080fd5b50900390565b60008282018381101561085857600080fd5b9392505050565b6001600160a01b03821661087257600080fd5b600254610885908263ffffffff61084616565b6002556001600160a01b0382166000908152602081905260409020546108b1908263ffffffff61084616565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b61091860048263ffffffff6109cc16565b6040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b61096060048263ffffffff610a1416565b6040516001600160a01b038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b60006001600160a01b0382166109ac57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b0381166109df57600080fd5b6109e98282610997565b6109f257600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6001600160a01b038116610a2757600080fd5b610a318282610997565b15610a3b57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff1916600117905556fe4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e2ea265627a7a72315820075d321e4fa740b678b1dab409db25aca9d096b988c0df9ee1c07af254a263c764736f6c63430005110032

Deployed ByteCode Sourcemap

14757:408:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14757:408:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14340:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14340:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8191:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8191:148:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6343:91;;;:::i;:::-;;;;;;;;;;;;;;;;8812:228;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8812:228:0;;;;;;;;;;;;;;;;;:::i;14863:75::-;;;:::i;14656:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9566:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9566:203:0;;;;;;;;:::i;13603:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13603:131:0;;;;;;;;:::i;2453:99::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2453:99:0;-1:-1:-1;;;;;2453:99:0;;:::i;:::-;;6654:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6654:106:0;-1:-1:-1;;;;;6654:106:0;;:::i;14490:87::-;;;:::i;2354:91::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2354:91:0;-1:-1:-1;;;;;2354:91:0;;:::i;10300:213::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10300:213:0;;;;;;;;:::i;7404:140::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7404:140:0;;;;;;;;:::i;2226:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2226:109:0;-1:-1:-1;;;;;2226:109:0;;:::i;7099:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7099:131:0;;;;;;;;;;:::i;14340:83::-;14410:5;14403:12;;;;;;;;-1:-1:-1;;14403:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14377:13;;14403:12;;14410:5;;14403:12;;14410:5;14403:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14340:83;:::o;8191:148::-;8256:4;8273:36;8282:10;8294:7;8303:5;8273:8;:36::i;:::-;-1:-1:-1;8327:4:0;8191:148;;;;:::o;6343:91::-;6414:12;;6343:91;:::o;8812:228::-;8891:4;8908:26;8918:4;8924:2;8928:5;8908:9;:26::i;:::-;-1:-1:-1;;;;;8972:14:0;;;;;;:8;:14;;;;;;;;8960:10;8972:26;;;;;;;;;8945:65;;8954:4;;8972:37;;9003:5;8972:37;:30;:37;:::i;:::-;8945:8;:65::i;:::-;-1:-1:-1;9028:4:0;8812:228;;;;;:::o;14863:75::-;14904:34;14863:75;:::o;14656:83::-;14722:9;;;;14656:83;:::o;9566:203::-;9672:10;9646:4;9693:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;9693:29:0;;;;;;;;;;9646:4;;9663:76;;9684:7;;9693:45;;9727:10;9693:45;:33;:45;:::i;13603:131::-;13671:4;2177:20;2186:10;2177:8;:20::i;:::-;2169:29;;;;;;13688:16;13694:2;13698:5;13688;:16::i;2453:99::-;1760:5;;-1:-1:-1;;;;;1760:5:0;1746:10;:19;1724:103;;;;-1:-1:-1;;;1724:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2522:22;2536:7;2522:13;:22::i;:::-;2453:99;:::o;6654:106::-;-1:-1:-1;;;;;6736:16:0;6709:7;6736:16;;;;;;;;;;;;6654:106::o;14490:87::-;14562:7;14555:14;;;;;;;;-1:-1:-1;;14555:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14529:13;;14555:14;;14562:7;;14555:14;;14562:7;14555:14;;;;;;;;;;;;;;;;;;;;;;;;2354:91;1760:5;;-1:-1:-1;;;;;1760:5:0;1746:10;:19;1724:103;;;;-1:-1:-1;;;1724:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2418:19;2429:7;2418:10;:19::i;10300:213::-;10411:10;10385:4;10432:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;10432:29:0;;;;;;;;;;10385:4;;10402:81;;10423:7;;10432:50;;10466:15;10432:50;:33;:50;:::i;7404:140::-;7465:4;7482:32;7492:10;7504:2;7508:5;7482:9;:32::i;2226:109::-;2282:4;2306:21;:8;2319:7;2306:21;:12;:21;:::i;:::-;2299:28;2226:109;-1:-1:-1;;2226:109:0:o;7099:131::-;-1:-1:-1;;;;;7198:15:0;;;7171:7;7198:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;7099:131::o;12399:254::-;-1:-1:-1;;;;;12492:21:0;;12484:30;;;;;;-1:-1:-1;;;;;12533:19:0;;12525:28;;;;;;-1:-1:-1;;;;;12566:15:0;;;;;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;:32;;;12614:31;;;;;;;;;;;;;;;;;12399:254;;;:::o;10740:262::-;-1:-1:-1;;;;;10828:16:0;;10820:25;;;;;;-1:-1:-1;;;;;10876:15:0;;:9;:15;;;;;;;;;;;:26;;10896:5;10876:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;10858:15:0;;;:9;:15;;;;;;;;;;;:44;;;;10929:13;;;;;;;:24;;10947:5;10929:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;10913:13:0;;;:9;:13;;;;;;;;;;;;:40;;;;10969:25;;;;;;;10913:13;;10969:25;;;;;;;;;;;;;10740:262;;;:::o;4050:150::-;4108:7;4141:1;4136;:6;;4128:15;;;;;;-1:-1:-1;4166:5:0;;;4050:150::o;4288:::-;4346:7;4378:5;;;4402:6;;;;4394:15;;;;;;4429:1;4288:150;-1:-1:-1;;;4288:150:0:o;11354:269::-;-1:-1:-1;;;;;11429:21:0;;11421:30;;;;;;11479:12;;:23;;11496:5;11479:23;:16;:23;:::i;:::-;11464:12;:38;-1:-1:-1;;;;;11534:18:0;;:9;:18;;;;;;;;;;;:29;;11557:5;11534:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;11513:18:0;;:9;:18;;;;;;;;;;;:50;;;;11579:36;;;;;;;11513:18;;:9;;11579:36;;;;;;;;;;11354:269;;:::o;2690:130::-;2750:24;:8;2766:7;2750:24;:15;:24;:::i;:::-;2790:22;;-1:-1:-1;;;;;2790:22:0;;;;;;;;2690:130;:::o;2560:122::-;2617:21;:8;2630:7;2617:21;:12;:21;:::i;:::-;2654:20;;-1:-1:-1;;;;;2654:20:0;;;;;;;;2560:122;:::o;1052:165::-;1124:4;-1:-1:-1;;;;;1149:21:0;;1141:30;;;;;;-1:-1:-1;;;;;;1189:20:0;:11;:20;;;;;;;;;;;;;;;1052:165::o;769:189::-;-1:-1:-1;;;;;849:21:0;;841:30;;;;;;890:18;894:4;900:7;890:3;:18::i;:::-;882:27;;;;;;-1:-1:-1;;;;;922:20:0;945:5;922:20;;;;;;;;;;;:28;;-1:-1:-1;;922:28:0;;;769:189::o;504:186::-;-1:-1:-1;;;;;581:21:0;;573:30;;;;;;623:18;627:4;633:7;623:3;:18::i;:::-;622:19;614:28;;;;;;-1:-1:-1;;;;;655:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;655:27:0;678:4;655:27;;;504:186::o

Swarm Source

bzzr://075d321e4fa740b678b1dab409db25aca9d096b988c0df9ee1c07af254a263c7
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.