Contract 0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B

 
Txn Hash
Block
From
To
Value [Txn Fee]
0xf7792cb430737b0980f852b0db99b2afcf77c9880f391b31160daf13f605dc3172930592021-05-10 8:57:222 mins ago0xe34adf1d92e8b7b78b25fd99f4bffff8f62bddac IN  Unifi Protocol DAO: UNFI Token0 BNB0.000125705
0xbe2f59eebba31800b2b4b6f9a04c4a00afa11ab4be1d9ded756a15cfe4a0d7da72930472021-05-10 8:56:363 mins ago0x4c7a0aac755e62998c97dd83abda8c44d5143483 IN  Unifi Protocol DAO: UNFI Token0 BNB0.0002261391
0xa6fb29730fc191ca432620763ef792ef19526db1683536447549582c452dca8872930152021-05-10 8:54:445 mins ago0x5fa14270c772a99f956f49e5b10fee39d0550d3d IN  Unifi Protocol DAO: UNFI Token0 BNB0.00046639
0xeb4fe0441104d4ca3f7118f8200f4f8c32b05761c04ede1ec3bb22f40b31530572929872021-05-10 8:53:127 mins ago0xe34adf1d92e8b7b78b25fd99f4bffff8f62bddac IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0xb905214c904a671ac88de1d5b2296a105c015c431ec5f09fe9fc3ba5378cb9eb72923442021-05-10 8:17:5242 mins ago0x4f463581646d3c655bea39d2a84239376d1bf7bb IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0x609748ce86e13e8156434ac00963d2e87cc8ec9056ba9ba9c7e80fdc7647853c72921562021-05-10 8:08:0452 mins ago0x5fa14270c772a99f956f49e5b10fee39d0550d3d IN  Unifi Protocol DAO: UNFI Token0 BNB0.00061639
0x6d000f81f2805df3b46615e4a7164c2163e8bc376505b038a80609e0300437d572919572021-05-10 7:57:281 hr 2 mins ago0x393d1d472344fb67db26a3d8e575e671c014b1f3 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000267085
0xe6e2f6abf0f1f93a11c3e6d11d37024642dcc638ad0702ba158c46f286558c3272919302021-05-10 7:56:021 hr 4 mins ago0x393d1d472344fb67db26a3d8e575e671c014b1f3 IN  Unifi Protocol DAO: UNFI Token0 BNB0.00011636
0xbe7e2645cb76503455b814ff79126deff0d5ab010c79359719f9603480af2b4a72917622021-05-10 7:47:061 hr 13 mins ago0x393d1d472344fb67db26a3d8e575e671c014b1f3 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000176046
0x206f72d77100dad0869c405fef1217e6e9a06453124262bed11852e40980c77472916752021-05-10 7:42:121 hr 18 mins ago0x6edfecd2e4dae3b31d5bff413bbe44f3a0dae674 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000125705
0xa46ba469d7367e8f07a969656c550285c7b49970c2ac27013875703ab65083cd72916752021-05-10 7:42:121 hr 18 mins ago0x6edfecd2e4dae3b31d5bff413bbe44f3a0dae674 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0xb421659c32e8ec92e4e84dc1006a9153df258d194b8ddea683c9b95cd4d813d772915932021-05-10 7:37:491 hr 22 mins ago0x393d1d472344fb67db26a3d8e575e671c014b1f3 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0x084d33123945c8ce01abec959e7816e386ea2c2460d12c0d8f6382ef72e8ed6c72910032021-05-10 7:05:181 hr 54 mins ago0xd83f52339fef34c41c74558fa089008b9bbbdd73 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000266195
0xda65ed4107fe128f63914c2167d04e8923e3b48d7a5d8ffb014a48cb86c8939572909352021-05-10 7:01:191 hr 58 mins ago0x2197228eed8e3b7e5082542d2c48c747c0d5c3ed IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0xf487a5e7f07652eeaf9f62c783fed8aa7e20b5d456f247ef39d07bea0b863db572906502021-05-10 6:45:532 hrs 14 mins ago0xe34adf1d92e8b7b78b25fd99f4bffff8f62bddac IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0x74bff11c882a3f773097be26a8c0d5b032954746b2111ee839cd66edb3f7394372906302021-05-10 6:44:502 hrs 15 mins ago0x94f7e56ea70cd5f1819a1a369ecc84a08cc8380c IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0x0ce1335acddeefa4bd79b6c3090f2926e18e107b66485634dffa322a5eafa25572903942021-05-10 6:31:482 hrs 28 mins agoBinance: Hot Wallet 2 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000279906
0x06703043fe45c8241a794073f3eb2b806405ae87f73181c1a6b84cdab99908e872902862021-05-10 6:26:222 hrs 33 mins agoBinance: Hot Wallet 2 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000279906
0x05089c9f08f77de607bf555e951c438b29a93929afac327ee6769db0588b0c8d72893742021-05-10 5:39:103 hrs 21 mins ago0x68f00ca4b59833999878ef4c32a211b79967b6d4 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0x76af6cae11734e906bb65896d680d070000603195b6424f2050822ec0126d16572891972021-05-10 5:30:193 hrs 29 mins ago0xf4a6d62a53283bf4076416e79c5f04c9d75a7216 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000158195
0xa75af680a683bc597bba34471f490eaf2eaa34b7474d92da3797b3ee225dc72972891302021-05-10 5:26:583 hrs 33 mins ago0x5fa14270c772a99f956f49e5b10fee39d0550d3d IN  Unifi Protocol DAO: UNFI Token0 BNB0.00046639
0xeb0d5694369e809e1481e0ee803c04907ac3bf8915656e2bbde02fd66a075b1872890682021-05-10 5:23:393 hrs 36 mins agoBinance: Hot Wallet 2 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000279906
0x640766421cd8bebcc360dbbb7ab2467ae46ac91020b81dec68fb6d48bfb3e03972883032021-05-10 4:44:334 hrs 15 mins ago0x5fa14270c772a99f956f49e5b10fee39d0550d3d IN  Unifi Protocol DAO: UNFI Token0 BNB0.00061639
0x7ca1b9aff114f0a574fc8514135b86bc4e8c3132ab8e069ba7ba3d7f9e78429172881092021-05-10 4:34:514 hrs 25 mins ago0xbfe24b4d8b1e421ca8794f6416946db505d6dbd7 IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
0x7c5ed63952db1713b1b7bd178da6d4e520c7c8489979971553d2b5b5f096db4d72877472021-05-10 4:16:414 hrs 43 mins ago0xd1107971dea136439de5e082928bdc5655cea20d IN  Unifi Protocol DAO: UNFI Token0 BNB0.000221705
[ Download CSV Export 

OVERVIEW

Unifi Protocol DAO is a group of non-custodial, interoperable multi-chain smart contracts that aims to provide the tools for Decentralized Finance (DeFi) product development. UNFI is the native governance token and users can stake and earn UNFI as rewards.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x2c99046298c48013ff812ace78e00df5575ffb290858e6a45ab10af43435992754712562021-03-07 11:55:4563 days 21 hrs ago PancakeSwap: UNFI 3 Unifi Protocol DAO: UNFI Token0 BNB
0x2c99046298c48013ff812ace78e00df5575ffb290858e6a45ab10af43435992754712562021-03-07 11:55:4563 days 21 hrs ago PancakeSwap: Router Unifi Protocol DAO: UNFI Token0 BNB
0x202605e07297b284ddd5b8e2bedf5271ac2edd4a68de65651a2e48a06d1b30ae54712242021-03-07 11:54:0963 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x202605e07297b284ddd5b8e2bedf5271ac2edd4a68de65651a2e48a06d1b30ae54712242021-03-07 11:54:0963 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x202605e07297b284ddd5b8e2bedf5271ac2edd4a68de65651a2e48a06d1b30ae54712242021-03-07 11:54:0963 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x202605e07297b284ddd5b8e2bedf5271ac2edd4a68de65651a2e48a06d1b30ae54712242021-03-07 11:54:0963 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x20104a8196cf63be86f35946559c895b27bbd20b6752397adfb12c9606c0cb6054711932021-03-07 11:52:3663 days 21 hrs ago 0xd0ce63752819e114bb2fb0db54ef88e57bb615f0 Unifi Protocol DAO: UNFI Token0 BNB
0x20104a8196cf63be86f35946559c895b27bbd20b6752397adfb12c9606c0cb6054711932021-03-07 11:52:3663 days 21 hrs ago 0xd0ce63752819e114bb2fb0db54ef88e57bb615f0 Unifi Protocol DAO: UNFI Token0 BNB
0x20104a8196cf63be86f35946559c895b27bbd20b6752397adfb12c9606c0cb6054711932021-03-07 11:52:3663 days 21 hrs ago 0xd0ce63752819e114bb2fb0db54ef88e57bb615f0 Unifi Protocol DAO: UNFI Token0 BNB
0x32eae3eab1665076baca7fe2b8b6ea1764a5e1228f958e5a466763bec893c4da54711912021-03-07 11:52:3063 days 21 hrs ago 0xd0ce63752819e114bb2fb0db54ef88e57bb615f0 Unifi Protocol DAO: UNFI Token0 BNB
0x32eae3eab1665076baca7fe2b8b6ea1764a5e1228f958e5a466763bec893c4da54711912021-03-07 11:52:3063 days 21 hrs ago 0xd0ce63752819e114bb2fb0db54ef88e57bb615f0 Unifi Protocol DAO: UNFI Token0 BNB
0x32eae3eab1665076baca7fe2b8b6ea1764a5e1228f958e5a466763bec893c4da54711912021-03-07 11:52:3063 days 21 hrs ago 0xd0ce63752819e114bb2fb0db54ef88e57bb615f0 Unifi Protocol DAO: UNFI Token0 BNB
0xa9e912207c9ec62de702b71fbe4fb1f81dd2657d982b8058e9d736a4cd9202dc54711842021-03-07 11:52:0963 days 21 hrs ago StreetSwap: Router Unifi Protocol DAO: UNFI Token0 BNB
0xa9e912207c9ec62de702b71fbe4fb1f81dd2657d982b8058e9d736a4cd9202dc54711842021-03-07 11:52:0963 days 21 hrs ago 0x0ff2d8b1a11195526f42905892bcb29e7b9f338d Unifi Protocol DAO: UNFI Token0 BNB
0xa9e912207c9ec62de702b71fbe4fb1f81dd2657d982b8058e9d736a4cd9202dc54711842021-03-07 11:52:0963 days 21 hrs ago 0x0ff2d8b1a11195526f42905892bcb29e7b9f338d Unifi Protocol DAO: UNFI Token0 BNB
0xa9e912207c9ec62de702b71fbe4fb1f81dd2657d982b8058e9d736a4cd9202dc54711842021-03-07 11:52:0963 days 21 hrs ago 0x0ff2d8b1a11195526f42905892bcb29e7b9f338d Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago PancakeSwap: UNFI 3 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago PancakeSwap: Router Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
0x2d337d878c0c17a97114ccb61f39d227c720c4e667fec44267144ea3050fcc4854711152021-03-07 11:48:4263 days 21 hrs ago 0xddc53aa5bb9be27b60d11dbf0e27b27172e19e46 Unifi Protocol DAO: UNFI Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UNFI

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 5: UNFI.sol
pragma solidity ^0.4.25;

import "./IBEP20.sol";
import "./SafeMath.sol";
import "./MinterRole.sol";



contract UNFI is IBEP20,MinterRole {
   using SafeMath for uint256;

    string private _name ;
    string private _symbol ;
    uint8 private _decimals ;
    uint256 private _totalSupply;
    mapping (address => uint256) private _balances;
    mapping (address => uint256) private _lastSendTransaction;
    mapping (address => uint256) private _lastReceiveTransaction;
    mapping (address => mapping (address => uint256)) internal _allowed;




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


    /**
     * @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;
    }
        /**
     * @dev Burns a specific amount of tokens.
     * @param value The amount of token to be burned.
     */
    function burn(uint256 value) public {
        _burn(msg.sender, value);
    }

    /**
     * @dev Burns a specific amount of tokens from the target address and decrements allowance
     * @param from address The address which you want to send tokens from
     * @param value uint256 The amount of token to be burned
     */
    function burnFrom(address from, uint256 value) public {
        _burnFrom(from, value);
    }



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

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

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


    /**
     * @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 Gets the last token transaction  of the specified address.
     * @param owner The address to query the balance of.
     */
    function lastTransactionOf(address owner) public view returns (uint256,uint256) {
        return (_lastSendTransaction[owner],_lastReceiveTransaction[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 for 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;
    }


    function transferMulti(address[] to, uint256[] value) public returns (bool) {

        uint256 i = 0;
        while (i < to.length) {
             _transfer(msg.sender,to[i] , value[i]);
            i++;
         }
         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) {
        require(spender != address(0));

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Transfer tokens from one address to another
     * @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)
    {
        _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
        _transfer(from, to, value);
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed_[_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
     * @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)
    {
        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;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed_[_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
     * @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)
    {
        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;
    }

    /**
     * @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);
        _lastSendTransaction[from] = now;
        _lastReceiveTransaction[to]= now;
        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);
        _lastReceiveTransaction[account] = now;
        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);
        _lastSendTransaction[account] = now;
        emit Transfer(account, address(0), 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.
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burnFrom(address account, uint256 value) internal {
        // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
        // this function needs to emit an event with the updated approval.
        _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(
            value);
        _burn(account, value);
    }
   

}


File 2 of 5: IBEP20.sol
pragma solidity ^0.4.25;


interface IBEP20 {
    function totalSupply() external view returns (uint256);

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

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

    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);

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

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

    event ProposalUpdated(address indexed owner,
                        uint256 proposalID,
                        bool result,
                        uint256 value);
}

File 3 of 5: MinterRole.sol
pragma solidity ^0.4.25;

import "./Roles.sol";

contract MinterRole {
    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 onlyMinter {
        _addMinter(account);
    }

    function renounceMinter() public {
        _removeMinter(msg.sender);
    }

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

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

File 4 of 5: Roles.sol
pragma solidity ^0.4.25;

/**
 * @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];
    }
}

File 5 of 5: SafeMath.sol
pragma solidity ^0.4.25;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

    /**
     * @dev Multiplies two numbers, 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 numbers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0); // Solidity only automatically asserts when dividing by 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 numbers, 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 numbers, 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 numbers 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;
    }

}


Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address[]"},{"name":"value","type":"uint256[]"}],"name":"transferMulti","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"lastTransactionOf","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"proposalID","type":"uint256"},{"indexed":false,"name":"result","type":"bool"},{"indexed":false,"name":"value","type":"uint256"}],"name":"ProposalUpdated","type":"event"}]

60806040523480156200001157600080fd5b5060405162001fa738038062001fa78339810180604052810190808051820192919060200180518201929190602001805190602001909291905050506200006733620000bd640100000000026401000000009004565b82600190805190602001906200007f9291906200027f565b508160029080519060200190620000989291906200027f565b5080600360006101000a81548160ff021916908360ff1602179055505050506200032e565b620000e1816000620001276401000000000262001ade179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200016457600080fd5b6200017f8282620001ea640100000000026401000000009004565b1515156200018c57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200022857600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002c257805160ff1916838001178555620002f3565b82800160010185558215620002f3579182015b82811115620002f2578251825591602001919060010190620002d5565b5b50905062000302919062000306565b5090565b6200032b91905b80821115620003275760008160009055506001016200030d565b5090565b90565b611c69806200033e6000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461010c578063095ea7b31461019c57806318160ddd1461020157806323b872dd1461022c578063313ce567146102b157806335bce6e4146102e257806339509351146103a357806340c10f191461040857806342966c681461046d57806370a082311461049a57806379cc6790146104f157806395d89b411461053e578063983b2d56146105ce5780639865027514610611578063a28035c514610628578063a457c2d714610686578063a9059cbb146106eb578063aa271e1a14610750578063dd62ed3e146107ab575b600080fd5b34801561011857600080fd5b50610121610822565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610161578082015181840152602081019050610146565b50505050905090810190601f16801561018e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a857600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108c4565b604051808215151515815260200191505060405180910390f35b34801561020d57600080fd5b506102166109f1565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610297600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109fb565b604051808215151515815260200191505060405180910390f35b3480156102bd57600080fd5b506102c6610b22565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102ee57600080fd5b506103896004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050610b39565b604051808215151515815260200191505060405180910390f35b3480156103af57600080fd5b506103ee600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b9b565b604051808215151515815260200191505060405180910390f35b34801561041457600080fd5b50610453600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dd2565b604051808215151515815260200191505060405180910390f35b34801561047957600080fd5b5061049860048036038101908080359060200190929190505050610dfc565b005b3480156104a657600080fd5b506104db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e09565b6040518082815260200191505060405180910390f35b3480156104fd57600080fd5b5061053c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e52565b005b34801561054a57600080fd5b50610553610e60565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610593578082015181840152602081019050610578565b50505050905090810190601f1680156105c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105da57600080fd5b5061060f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f02565b005b34801561061d57600080fd5b50610626610f22565b005b34801561063457600080fd5b50610669600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f2d565b604051808381526020018281526020019250505060405180910390f35b34801561069257600080fd5b506106d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fb9565b604051808215151515815260200191505060405180910390f35b3480156106f757600080fd5b50610736600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f0565b604051808215151515815260200191505060405180910390f35b34801561075c57600080fd5b50610791600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611207565b604051808215151515815260200191505060405180910390f35b3480156107b757600080fd5b5061080c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611224565b6040518082815260200191505060405180910390f35b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108ba5780601f1061088f576101008083540402835291602001916108ba565b820191906000526020600020905b81548152906001019060200180831161089d57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561090157600080fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600454905090565b6000610a8c82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ab90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b178484846112cc565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600080600090505b8351811015610b9057610b83338583815181101515610b5c57fe5b906020019060200201518584815181101515610b7457fe5b906020019060200201516112cc565b8080600101915050610b41565b600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bd857600080fd5b610c6782600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152490919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000610ddd33611207565b1515610de857600080fd5b610df28383611545565b6001905092915050565b610e0633826116df565b50565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e5c8282611879565b5050565b606060028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ef85780601f10610ecd57610100808354040283529160200191610ef8565b820191906000526020600020905b815481529060010190602001808311610edb57829003601f168201915b5050505050905090565b610f0b33611207565b1515610f1657600080fd5b610f1f81611996565b50565b610f2b336119f0565b565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491509150915091565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610ff657600080fd5b61108582600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ab90919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60006111fd3384846112cc565b6001905092915050565b600061121d826000611a4a90919063ffffffff16565b9050919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808383111515156112bd57600080fd5b82840390508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561130857600080fd5b61135a81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ab90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113ef81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152490919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600080828401905083811015151561153b57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561158157600080fd5b6115968160045461152490919063ffffffff16565b6004819055506115ee81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461152490919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561171b57600080fd5b611730816004546112ab90919063ffffffff16565b60048190555061178881600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ab90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61190881600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112ab90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061199282826116df565b5050565b6119aa816000611ade90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611a04816000611b8e90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611a8757600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b1a57600080fd5b611b248282611a4a565b151515611b3057600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611bca57600080fd5b611bd48282611a4a565b1515611bdf57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a72305820ff6bf8f4b22039833460cccd33ea55f96b9f371c932cde43ae5e224c2f8a19e20029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004554e4649000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004554e464900000000000000000000000000000000000000000000000000000000

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004554e4649000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004554e464900000000000000000000000000000000000000000000000000000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [4] : 554e464900000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 554e464900000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

104:9349:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1690:74:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1690:74:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4544:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4544:238:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2132:89;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2132:89:4;;;;;;;;;;;;;;;;;;;;;;;5068:267;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5068:267:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1978:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1978:81:4;;;;;;;;;;;;;;;;;;;;;;;;;;;3667:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3667:242:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5806:362;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5806:362:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;952:128:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1206:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1206:77:4;;;;;;;;;;;;;;;;;;;;;;;;;;2434:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2434:104:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1535:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1535:93:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1826:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1826:78:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1826:78:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;508:90:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;508:90:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;604:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;604:75:1;;;;;;2687:164:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2687:164:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6644:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6644:372:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3523:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3523:137:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;395:107:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;395:107:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3188:167:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3188:167:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:74;1727:6;1752:5;1745:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:74;:::o;4544:238::-;4609:4;4652:1;4633:21;;:7;:21;;;;4625:30;;;;;;;;4698:5;4666:8;:20;4675:10;4666:20;;;;;;;;;;;;;;;:29;4687:7;4666:29;;;;;;;;;;;;;;;:37;;;;4739:7;4718:36;;4727:10;4718:36;;;4748:5;4718:36;;;;;;;;;;;;;;;;;;4771:4;4764:11;;4544:238;;;;:::o;2132:89::-;2176:7;2202:12;;2195:19;;2132:89;:::o;5068:267::-;5185:4;5234:37;5265:5;5234:8;:14;5243:4;5234:14;;;;;;;;;;;;;;;:26;5249:10;5234:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;5205:8;:14;5214:4;5205:14;;;;;;;;;;;;;;;:26;5220:10;5205:26;;;;;;;;;;;;;;;:66;;;;5281:26;5291:4;5297:2;5301:5;5281:9;:26::i;:::-;5324:4;5317:11;;5068:267;;;;;:::o;1978:81::-;2019:5;2043:9;;;;;;;;;;;2036:16;;1978:81;:::o;3667:242::-;3737:4;3754:9;3766:1;3754:13;;3777:104;3788:2;:9;3784:1;:13;3777:104;;;3814:38;3824:10;3835:2;3838:1;3835:5;;;;;;;;;;;;;;;;;;3843;3849:1;3843:8;;;;;;;;;;;;;;;;;;3814:9;:38::i;:::-;3866:3;;;;;;;3777:104;;;3898:4;3891:11;;3667:242;;;;;:::o;5806:362::-;5916:4;5963:1;5944:21;;:7;:21;;;;5936:30;;;;;;;;6019:45;6053:10;6019:8;:20;6028:10;6019:20;;;;;;;;;;;;;;;:29;6040:7;6019:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;5977:8;:20;5986:10;5977:20;;;;;;;;;;;;;;;:29;5998:7;5977:29;;;;;;;;;;;;;;;:88;;;;6101:7;6080:60;;6089:10;6080:60;;;6110:8;:20;6119:10;6110:20;;;;;;;;;;;;;;;:29;6131:7;6110:29;;;;;;;;;;;;;;;;6080:60;;;;;;;;;;;;;;;;;;6157:4;6150:11;;5806:362;;;;:::o;952:128::-;1020:4;350:20:1;359:10;350:8;:20::i;:::-;342:29;;;;;;;;1036:16:4;1042:2;1046:5;1036;:16::i;:::-;1069:4;1062:11;;952:128;;;;:::o;1206:77::-;1252:24;1258:10;1270:5;1252;:24::i;:::-;1206:77;:::o;2434:104::-;2489:7;2515:9;:16;2525:5;2515:16;;;;;;;;;;;;;;;;2508:23;;2434:104;;;:::o;1535:93::-;1599:22;1609:4;1615:5;1599:9;:22::i;:::-;1535:93;;:::o;1826:78::-;1865:6;1890:7;1883:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1826:78;:::o;508:90:1:-;350:20;359:10;350:8;:20::i;:::-;342:29;;;;;;;;572:19;583:7;572:10;:19::i;:::-;508:90;:::o;604:75::-;647:25;661:10;647:13;:25::i;:::-;604:75::o;2687:164:4:-;2750:7;2758;2785:20;:27;2806:5;2785:27;;;;;;;;;;;;;;;;2813:23;:30;2837:5;2813:30;;;;;;;;;;;;;;;;2777:67;;;;2687:164;;;:::o;6644:372::-;6759:4;6806:1;6787:21;;:7;:21;;;;6779:30;;;;;;;;6862:50;6896:15;6862:8;:20;6871:10;6862:20;;;;;;;;;;;;;;;:29;6883:7;6862:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;6820:8;:20;6829:10;6820:20;;;;;;;;;;;;;;;:29;6841:7;6820:29;;;;;;;;;;;;;;;:93;;;;6949:7;6928:60;;6937:10;6928:60;;;6958:8;:20;6967:10;6958:20;;;;;;;;;;;;;;;:29;6979:7;6958:29;;;;;;;;;;;;;;;;6928:60;;;;;;;;;;;;;;;;;;7005:4;6998:11;;6644:372;;;;:::o;3523:137::-;3584:4;3600:32;3610:10;3622:2;3626:5;3600:9;:32::i;:::-;3649:4;3642:11;;3523:137;;;;:::o;395:107:1:-;451:4;474:21;487:7;474:8;:12;;:21;;;;:::i;:::-;467:28;;395:107;;;:::o;3188:167:4:-;3294:7;3324:8;:15;3333:5;3324:15;;;;;;;;;;;;;;;:24;3340:7;3324:24;;;;;;;;;;;;;;;;3317:31;;3188:167;;;;:::o;1166:145:3:-;1224:7;1268:9;1256:1;1251;:6;;1243:15;;;;;;;;1284:1;1280;:5;1268:17;;1303:1;1296:8;;1166:145;;;;;:::o;7235:341:4:-;7336:1;7322:16;;:2;:16;;;;7314:25;;;;;;;;7368:26;7388:5;7368:9;:15;7378:4;7368:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;7350:9;:15;7360:4;7350:15;;;;;;;;;;;;;;;:44;;;;7420:24;7438:5;7420:9;:13;7430:2;7420:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;7404:9;:13;7414:2;7404:13;;;;;;;;;;;;;;;:40;;;;7483:3;7454:20;:26;7475:4;7454:26;;;;;;;;;;;;;;;:32;;;;7525:3;7496:23;:27;7520:2;7496:27;;;;;;;;;;;;;;;:32;;;;7558:2;7543:25;;7552:4;7543:25;;;7562:5;7543:25;;;;;;;;;;;;;;;;;;7235:341;;;:::o;1384:145:3:-;1442:7;1461:9;1477:1;1473;:5;1461:17;;1501:1;1496;:6;;1488:15;;;;;;;;1521:1;1514:8;;1384:145;;;;;:::o;7919:311:4:-;8012:1;7993:21;;:7;:21;;;;7985:30;;;;;;;;8041:23;8058:5;8041:12;;:16;;:23;;;;:::i;:::-;8026:12;:38;;;;8095:29;8118:5;8095:9;:18;8105:7;8095:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;8074:9;:18;8084:7;8074:18;;;;;;;;;;;;;;;:50;;;;8169:3;8134:23;:32;8158:7;8134:32;;;;;;;;;;;;;;;:38;;;;8208:7;8187:36;;8204:1;8187:36;;;8217:5;8187:36;;;;;;;;;;;;;;;;;;7919:311;;:::o;8456:308::-;8549:1;8530:21;;:7;:21;;;;8522:30;;;;;;;;8578:23;8595:5;8578:12;;:16;;:23;;;;:::i;:::-;8563:12;:38;;;;8632:29;8655:5;8632:9;:18;8642:7;8632:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;8611:9;:18;8621:7;8611:18;;;;;;;;;;;;;;;:50;;;;8703:3;8671:20;:29;8692:7;8671:29;;;;;;;;;;;;;;;:35;;;;8747:1;8721:36;;8730:7;8721:36;;;8751:5;8721:36;;;;;;;;;;;;;;;;;;8456:308;;:::o;9086:360::-;9355:53;9402:5;9355:8;:17;9364:7;9355:17;;;;;;;;;;;;;;;:29;9373:10;9355:29;;;;;;;;;;;;;;;;:33;;:53;;;;:::i;:::-;9323:8;:17;9332:7;9323:17;;;;;;;;;;;;;;;:29;9341:10;9323:29;;;;;;;;;;;;;;;:85;;;;9418:21;9424:7;9433:5;9418;:21::i;:::-;9086:360;;:::o;685:119:1:-;741:21;754:7;741:8;:12;;:21;;;;:::i;:::-;789:7;777:20;;;;;;;;;;;;685:119;:::o;810:127::-;869:24;885:7;869:8;:15;;:24;;;;:::i;:::-;922:7;908:22;;;;;;;;;;;;810:127;:::o;787:162:2:-;859:4;902:1;883:21;;:7;:21;;;;875:30;;;;;;;;922:4;:11;;:20;934:7;922:20;;;;;;;;;;;;;;;;;;;;;;;;;915:27;;787:162;;;;:::o;260:181::-;355:1;336:21;;:7;:21;;;;328:30;;;;;;;;377:18;381:4;387:7;377:3;:18::i;:::-;376:19;368:28;;;;;;;;430:4;407;:11;;:20;419:7;407:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:181;;:::o;515:184::-;613:1;594:21;;:7;:21;;;;586:30;;;;;;;;634:18;638:4;644:7;634:3;:18::i;:::-;626:27;;;;;;;;687:5;664:4;:11;;:20;676:7;664:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;515:184;;:::o

Swarm Source

bzzr://ff6bf8f4b22039833460cccd33ea55f96b9f371c932cde43ae5e224c2f8a19e2
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.