ETH Price: $3,241.84 (+2.11%)
Gas: 2 Gwei

Contract

0xbDda280Ee7bcCC68F3be60a369b6B1eAee02493C
 
Transaction Hash
Method
Block
From
To
Approve183003082023-10-07 18:09:59292 days ago1696702199IN
0xbDda280E...Aee02493C
0 ETH0.000158976.04414763
Approve159133892022-11-06 20:32:47627 days ago1667766767IN
0xbDda280E...Aee02493C
0 ETH0.0002883410.96260733
Transfer154648742022-09-03 10:35:44692 days ago1662201344IN
0xbDda280E...Aee02493C
0 ETH0.000306086.19624157
Transfer129511172021-08-03 7:59:221088 days ago1627977562IN
0xbDda280E...Aee02493C
0 ETH0.0012069530.8
Transfer126450742021-06-16 10:53:511135 days ago1623840831IN
0xbDda280E...Aee02493C
0 ETH0.0003918710
Transfer113465282020-11-28 10:43:061336 days ago1606560186IN
0xbDda280E...Aee02493C
0 ETH0.0009045623.75
Approve112909402020-11-19 21:30:251344 days ago1605821425IN
0xbDda280E...Aee02493C
0 ETH0.0010628923
Transfer112909272020-11-19 21:28:331344 days ago1605821313IN
0xbDda280E...Aee02493C
0 ETH0.0029345477
Approve112906822020-11-19 20:38:391344 days ago1605818319IN
0xbDda280E...Aee02493C
0 ETH0.0008318318
Approve112906262020-11-19 20:27:481344 days ago1605817668IN
0xbDda280E...Aee02493C
0 ETH0.001802339
Approve112906242020-11-19 20:27:151344 days ago1605817635IN
0xbDda280E...Aee02493C
0 ETH0.001802339
Approve112906182020-11-19 20:25:561344 days ago1605817556IN
0xbDda280E...Aee02493C
0 ETH0.001802339
Approve112906152020-11-19 20:25:001344 days ago1605817500IN
0xbDda280E...Aee02493C
0 ETH0.001802339
Transfer112905162020-11-19 20:05:401344 days ago1605816340IN
0xbDda280E...Aee02493C
0 ETH0.0041948279
Transfer112905162020-11-19 20:05:401344 days ago1605816340IN
0xbDda280E...Aee02493C
0 ETH0.0040895477
Transfer112905152020-11-19 20:05:361344 days ago1605816336IN
0xbDda280E...Aee02493C
0 ETH0.0040895477
Transfer112904282020-11-19 19:43:111344 days ago1605814991IN
0xbDda280E...Aee02493C
0 ETH0.0031577682.85714285
Transfer112629232020-11-15 14:23:441348 days ago1605450224IN
0xbDda280E...Aee02493C
0 ETH0.0009902626.00000145
Transfer111673752020-10-31 22:27:011363 days ago1604183221IN
0xbDda280E...Aee02493C
0 ETH0.0006855618
Transfer103303052020-06-24 19:06:211492 days ago1593025581IN
0xbDda280E...Aee02493C
0 ETH0.0012568733
Transfer100243292020-05-08 7:56:271540 days ago1588924587IN
0xbDda280E...Aee02493C
0 ETH0.000342899
Transfer98668332020-04-13 22:49:521564 days ago1586818192IN
0xbDda280E...Aee02493C
0 ETH0.000038081
Approve97325652020-03-24 6:17:131585 days ago1585030633IN
0xbDda280E...Aee02493C
0 ETH0.000367498
Transfer94679322020-02-12 11:46:131625 days ago1581507973IN
0xbDda280E...Aee02493C
0 ETH0.0002308710
Transfer94459342020-02-09 2:38:211629 days ago1581215901IN
0xbDda280E...Aee02493C
0 ETH0.000114263
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BitoxToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 500 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-05-29
*/

pragma solidity 0.4.24;

// File: contracts/commons/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

// File: contracts/base/BaseExchangeableTokenInterface.sol

interface BaseExchangeableTokenInterface {

    // Sender interface must have:
    // mapping(address => uint) private exchangedWith;
    // mapping(address => uint) private exchangedBy;

    // Receiver interface must have:
    // mapping(address => uint) private exchangesReceived;

    /// @dev Fired if token exchange complete
    event Exchange(address _from, address _targetContract, uint _amount);

    /// @dev Fired if token exchange and spent complete
    event ExchangeSpent(address _from, address _targetContract, address _to, uint _amount);

    // Sender interface
    function exchangeToken(address _targetContract, uint _amount) external returns (bool success, uint creditedAmount);

    function exchangeAndSpend(address _targetContract, uint _amount, address _to) external returns (bool success);

    function __exchangerCallback(address _targetContract, address _exchanger, uint _amount) external returns (bool success);

    // Receiver interface
    function __targetExchangeCallback(uint _amount) external returns (bool success);

    function __targetExchangeAndSpendCallback(address _to, uint _amount) external returns (bool success);
}

// File: contracts/flavours/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {

    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() public {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

// File: contracts/flavours/Lockable.sol

/**
 * @title Lockable
 * @dev Base contract which allows children to
 *      implement main operations locking mechanism.
 */
contract Lockable is Ownable {
    event Lock();
    event Unlock();

    bool public locked = false;

    /**
     * @dev Modifier to make a function callable
    *       only when the contract is not locked.
     */
    modifier whenNotLocked() {
        require(!locked);
        _;
    }

    /**
     * @dev Modifier to make a function callable
     *      only when the contract is locked.
     */
    modifier whenLocked() {
        require(locked);
        _;
    }

    /**
     * @dev called by the owner to lock, triggers locked state
     */
    function lock() public onlyOwner whenNotLocked {
        locked = true;
        emit Lock();
    }

    /**
     * @dev called by the owner
     *      to unlock, returns to unlocked state
     */
    function unlock() public onlyOwner whenLocked {
        locked = false;
        emit Unlock();
    }
}

// File: contracts/base/BaseFixedERC20Token.sol

contract BaseFixedERC20Token is Lockable {
    using SafeMath for uint;

    /// @dev ERC20 Total supply
    uint public totalSupply;

    mapping(address => uint) public balances;

    mapping(address => mapping(address => uint)) private allowed;

    /// @dev Fired if token is transferred according to ERC20 spec
    event Transfer(address indexed from, address indexed to, uint value);

    /// @dev Fired if token withdrawal is approved according to ERC20 spec
    event Approval(address indexed owner, address indexed spender, uint value);

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

    /**
     * @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_, uint value_) public whenNotLocked returns (bool) {
        require(to_ != address(0) && value_ <= balances[msg.sender]);
        // SafeMath.sub will throw an exception if there is not enough balance
        balances[msg.sender] = balances[msg.sender].sub(value_);
        balances[to_] = balances[to_].add(value_);
        emit Transfer(msg.sender, to_, 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_ uint the amount of tokens to be transferred
     */
    function transferFrom(address from_, address to_, uint value_) public whenNotLocked returns (bool) {
        require(to_ != address(0) && value_ <= balances[from_] && value_ <= allowed[from_][msg.sender]);
        balances[from_] = balances[from_].sub(value_);
        balances[to_] = balances[to_].add(value_);
        allowed[from_][msg.sender] = allowed[from_][msg.sender].sub(value_);
        emit Transfer(from_, to_, value_);
        return true;
    }

    /**
     * @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
     *
     * To change the approve amount you first have to reduce the addresses
     * allowance to zero by calling `approve(spender_, 0)` if it is not
     * already 0 to mitigate the race condition described in:
     * 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_, uint value_) public whenNotLocked returns (bool) {
        if (value_ != 0 && allowed[msg.sender][spender_] != 0) {
            revert();
        }
        allowed[msg.sender][spender_] = value_;
        emit Approval(msg.sender, spender_, value_);
        return true;
    }

    /**
     * @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 uint specifying the amount of tokens still available for the spender
     */
    function allowance(address owner_, address spender_) public view returns (uint) {
        return allowed[owner_][spender_];
    }
}

// File: contracts/base/BaseTokenExchangeInterface.sol

interface BaseTokenExchangeInterface {
    // Token exchange service contract must have:
    // address[] private registeredTokens;

    /// @dev Fired if token exchange complete
    event Exchange(address _from, address _by, uint _value, address _target);

    /// @dev Fired if token exchange and spent complete
    event ExchangeAndSpent(address _from, address _by, uint _value, address _target, address _to);

    function registerToken(address _token) external returns (bool success);

    function exchangeToken(address _targetContract, uint _amount) external returns (bool success, uint creditedAmount);

    function exchangeAndSpend(address _targetContract, uint _amount, address _to) external returns (bool success);
}

// File: contracts/base/BaseExchangeableToken.sol

/**
 * @dev ERC20 and EIP-823 (exchangeable) compliant token.
 */
contract BaseExchangeableToken is BaseExchangeableTokenInterface, BaseFixedERC20Token {
    using SafeMath for uint;

    BaseTokenExchangeInterface public exchange;

    /// @dev Fired if token is change exchange. (extends EIP-823)
    event ExchangeChanged(address _exchange);

    /**
     * @dev Modifier to make a function callable
     *      only when the exchange contract is set.
     */
    modifier whenConfigured() {
        require(exchange != address(0));
        _;
    }

    /**
     * @dev Modifier to make a function callable
     *      only by exchange contract
     */
    modifier onlyExchange() {
        require(msg.sender == address(exchange));
        _;
    }

    // Sender interface
    /// @dev number of tokens exchanged to another tokens for each token address
    mapping(address => uint) private exchangedWith;

    /// @dev number of tokens exchanged to another tokens for each user address
    mapping(address => uint) private exchangedBy;

    // Receiver interface
    /// @dev number of tokens exchanged from another tokens for each token address
    mapping(address => uint) private exchangesReceived;

    /// @dev change exchange for this token. (extends EIP-823)
    function changeExchange(address _exchange) public onlyOwner {
        require(_exchange != address(0));
        exchange = BaseTokenExchangeInterface(_exchange);
        emit ExchangeChanged(_exchange);
    }

    // Sender interface
    /**
     * @dev exchange amount of this token to target token
     * @param _targetContract target token contract
     * @param _amount amount of tokens to exchange
     * @return (true, creditedAmount) on success.
     *          (false, 0) on:
     *              nothing =)
     *          revert on:
     *              exchangeToken in exchange contract return (false, 0)
     *              exchange address is not configured
     *              balance of tokens less then amount to exchange
     */
    function exchangeToken(address _targetContract, uint _amount) public whenConfigured returns (bool success, uint creditedAmount) {
        require(_targetContract != address(0) && _amount <= balances[msg.sender]);
        (success, creditedAmount) = exchange.exchangeToken(_targetContract, _amount);
        if (!success) {
            revert();
        }
        emit Exchange(msg.sender, _targetContract, _amount);
        return (success, creditedAmount);
    }

    /**
     * @dev exchange amount of this token to target token and transfer to specified address
     * @param _targetContract target token contract
     * @param _amount amount of tokens to exchange
     * @param _to address for transferring exchanged tokens
     * @return true on success.
     *          false on:
     *              nothing =)
     *          revert on:
     *              exchangeTokenAndSpend in exchange contract return false
     *              exchange address is not configured
     *              balance of tokens less then amount to exchange
     */
    function exchangeAndSpend(address _targetContract, uint _amount, address _to) public whenConfigured returns (bool success) {
        require(_targetContract != address(0) && _to != address(0) && _amount <= balances[msg.sender]);
        success = exchange.exchangeAndSpend(_targetContract, _amount, _to);
        if (!success) {
            revert();
        }
        emit ExchangeSpent(msg.sender, _targetContract, _to, _amount);
        return success;
    }

    /**
     * @dev send amount of this token to exchange. Must be called only from exchange contract
     * @param _targetContract target token contract
     * @param _exchanger address of user, who exchange tokens
     * @param _amount amount of tokens to exchange
     * @return true on success.
     *          false on:
     *              balance of tokens less then amount to exchange
     *          revert on:
     *              exchange address is not configured
     *              called not by configured exchange address
     */
    function __exchangerCallback(address _targetContract, address _exchanger, uint _amount) public whenConfigured onlyExchange returns (bool success) {
        require(_targetContract != address(0));
        if (_amount > balances[_exchanger]) {
            return false;
        }
        balances[_exchanger] = balances[_exchanger].sub(_amount);
        exchangedWith[_targetContract] = exchangedWith[_targetContract].add(_amount);
        exchangedBy[_exchanger] = exchangedBy[_exchanger].add(_amount);
        return true;
    }

    // Receiver interface
    /**
     * @dev receive amount of tokens from exchange. Must be called only from exchange contract
     * @param _amount amount of tokens to receive
     * @return true on success.
     *          false on:
     *              nothing =)
     *          revert on:
     *              exchange address is not configured
     *              called not by configured exchange address
     */
    function __targetExchangeCallback(uint _amount) public whenConfigured onlyExchange returns (bool success) {
        balances[tx.origin] = balances[tx.origin].add(_amount);
        exchangesReceived[tx.origin] = exchangesReceived[tx.origin].add(_amount);
        emit Exchange(tx.origin, this, _amount);
        return true;
    }

    /**
     * @dev receive amount of tokens from exchange and transfer to specified address. Must be called only from exchange contract
     * @param _amount amount of tokens to receive
     * @param _to address for transferring exchanged tokens
     * @return true on success.
     *          false on:
     *              nothing =)
     *          revert on:
     *              exchange address is not configured
     *              called not by configured exchange address
     */
    function __targetExchangeAndSpendCallback(address _to, uint _amount) public whenConfigured onlyExchange returns (bool success) {
        balances[_to] = balances[_to].add(_amount);
        exchangesReceived[_to] = exchangesReceived[_to].add(_amount);
        emit ExchangeSpent(tx.origin, this, _to, _amount);
        return true;
    }
}

// File: contracts/BitoxToken.sol

/**
 * @title Bitox token contract.
 */
contract BitoxToken is BaseExchangeableToken {
    using SafeMath for uint;

    string public constant name = "BitoxTokens";

    string public constant symbol = "BITOX";

    uint8 public constant decimals = 18;

    uint internal constant ONE_TOKEN = 1e18;

    constructor(uint totalSupplyTokens_) public {
        locked = false;
        totalSupply = totalSupplyTokens_ * ONE_TOKEN;
        address creator = msg.sender;
        balances[creator] = totalSupply;

        emit Transfer(0, this, totalSupply);
        emit Transfer(this, creator, balances[creator]);
    }

    // Disable direct payments
    function() external payable {
        revert();
    }

}

Contract Security Audit

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":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_exchange","type":"address"}],"name":"changeExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"__targetExchangeAndSpendCallback","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner_","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_targetContract","type":"address"},{"name":"_exchanger","type":"address"},{"name":"_amount","type":"uint256"}],"name":"__exchangerCallback","outputs":[{"name":"success","type":"bool"}],"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":"unlock","outputs":[],"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":false,"inputs":[{"name":"_targetContract","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_to","type":"address"}],"name":"exchangeAndSpend","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"__targetExchangeCallback","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_targetContract","type":"address"},{"name":"_amount","type":"uint256"}],"name":"exchangeToken","outputs":[{"name":"success","type":"bool"},{"name":"creditedAmount","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exchange","outputs":[{"name":"","type":"address"}],"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"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"totalSupplyTokens_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_exchange","type":"address"}],"name":"ExchangeChanged","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":[],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_targetContract","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Exchange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_targetContract","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ExchangeSpent","type":"event"}]

60806040526000805460a060020a60ff021916905534801561002057600080fd5b5060405160208061128b83398101604081815291516000805433600160a060020a0319909116811760a060020a60ff0219168255670de0b6b3a76400008302600181905581835260026020908152868420829055908552945192949093309360008051602061126b833981519152929181900390910190a3600160a060020a0381166000818152600260209081526040918290205482519081529151309260008051602061126b83398151915292908290030190a35050611185806100e66000396000f3006080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461012c578063095ea7b3146101b657806318160ddd146101ee57806323b872dd1461021557806327e235e31461023f578063313ce567146102605780633c3bdb7a1461028b5780635a63feb8146102ae57806370a08231146102d25780638da5cb5b146102f35780638eddc3061461032457806395d89b411461034e578063a69df4b514610363578063a9059cbb14610378578063b65b3f801461039c578063b8b690e7146103c7578063cf309012146103df578063cf3cb33f146103f4578063d2f7265a14610433578063dd62ed3e14610448578063f2fde38b1461046f578063f83d08ba14610490575b600080fd5b34801561013857600080fd5b506101416104a5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c257600080fd5b506101da600160a060020a03600435166024356104dc565b604080519115158252519081900360200190f35b3480156101fa57600080fd5b506102036105a7565b60408051918252519081900360200190f35b34801561022157600080fd5b506101da600160a060020a03600435811690602435166044356105ad565b34801561024b57600080fd5b50610203600160a060020a036004351661074e565b34801561026c57600080fd5b50610275610760565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b506102ac600160a060020a0360043516610765565b005b3480156102ba57600080fd5b506101da600160a060020a03600435166024356107f2565b3480156102de57600080fd5b50610203600160a060020a03600435166108f0565b3480156102ff57600080fd5b5061030861090b565b60408051600160a060020a039092168252519081900360200190f35b34801561033057600080fd5b506101da600160a060020a036004358116906024351660443561091a565b34801561035a57600080fd5b50610141610a4c565b34801561036f57600080fd5b506102ac610a83565b34801561038457600080fd5b506101da600160a060020a0360043516602435610b0a565b3480156103a857600080fd5b506101da600160a060020a036004358116906024359060443516610c15565b3480156103d357600080fd5b506101da600435610d81565b3480156103eb57600080fd5b506101da610e5c565b34801561040057600080fd5b50610418600160a060020a0360043516602435610e7d565b60408051921515835260208301919091528051918290030190f35b34801561043f57600080fd5b50610308610fcd565b34801561045457600080fd5b50610203600160a060020a0360043581169060243516610fdc565b34801561047b57600080fd5b506102ac600160a060020a0360043516611007565b34801561049c57600080fd5b506102ac61109b565b60408051808201909152600b81527f4269746f78546f6b656e73000000000000000000000000000000000000000000602082015281565b6000805474010000000000000000000000000000000000000000900460ff161561050557600080fd5b81158015906105365750336000908152600360209081526040808320600160a060020a038716845290915290205415155b1561054057600080fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60015481565b6000805474010000000000000000000000000000000000000000900460ff16156105d657600080fd5b600160a060020a038316158015906106065750600160a060020a0384166000908152600260205260409020548211155b80156106355750600160a060020a03841660009081526003602090815260408083203384529091529020548211155b151561064057600080fd5b600160a060020a038416600090815260026020526040902054610669908363ffffffff61113816565b600160a060020a03808616600090815260026020526040808220939093559085168152205461069e908363ffffffff61114a16565b600160a060020a0380851660009081526002602090815260408083209490945591871681526003825282812033825290915220546106e2908363ffffffff61113816565b600160a060020a03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060015b9392505050565b60026020526000908152604090205481565b601281565b600054600160a060020a0316331461077c57600080fd5b600160a060020a038116151561079157600080fd5b60048054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f39870277935708b88965de17b0c29d3c1ad93a200dce569fc56702229432973e9181900360200190a150565b600454600090600160a060020a0316151561080c57600080fd5b600454600160a060020a0316331461082357600080fd5b600160a060020a03831660009081526002602052604090205461084c908363ffffffff61114a16565b600160a060020a038416600090815260026020908152604080832093909355600790522054610881908363ffffffff61114a16565b600160a060020a03841660008181526007602090815260409182902093909355805132815230938101939093528281019190915260608201849052517f94f894fc21b0710283384cff4d54c5cc2019e3d79fb872674e8641ed36487cbf9181900360800190a150600192915050565b600160a060020a031660009081526002602052604090205490565b600054600160a060020a031681565b600454600090600160a060020a0316151561093457600080fd5b600454600160a060020a0316331461094b57600080fd5b600160a060020a038416151561096057600080fd5b600160a060020a03831660009081526002602052604090205482111561098857506000610747565b600160a060020a0383166000908152600260205260409020546109b1908363ffffffff61113816565b600160a060020a038085166000908152600260209081526040808320949094559187168152600590915220546109ed908363ffffffff61114a16565b600160a060020a03808616600090815260056020908152604080832094909455918616815260069091522054610a29908363ffffffff61114a16565b600160a060020a0384166000908152600660205260409020555060019392505050565b60408051808201909152600581527f4249544f58000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314610a9a57600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610ac357600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f70e3fffea7bbb557facdee48ed7f7af5179030adef9ad0c876df039a718f359e9190a1565b6000805474010000000000000000000000000000000000000000900460ff1615610b3357600080fd5b600160a060020a03831615801590610b5a5750336000908152600260205260409020548211155b1515610b6557600080fd5b33600090815260026020526040902054610b85908363ffffffff61113816565b3360009081526002602052604080822092909255600160a060020a03851681522054610bb7908363ffffffff61114a16565b600160a060020a0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600454600090600160a060020a03161515610c2f57600080fd5b600160a060020a03841615801590610c4f5750600160a060020a03821615155b8015610c6a5750336000908152600260205260409020548311155b1515610c7557600080fd5b60048054604080517fb65b3f80000000000000000000000000000000000000000000000000000000008152600160a060020a03888116948201949094526024810187905285841660448201529051929091169163b65b3f80916064808201926020929091908290030181600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b505050506040513d6020811015610d1a57600080fd5b50519050801515610d2a57600080fd5b60408051338152600160a060020a0380871660208301528416818301526060810185905290517f94f894fc21b0710283384cff4d54c5cc2019e3d79fb872674e8641ed36487cbf9181900360800190a19392505050565b600454600090600160a060020a03161515610d9b57600080fd5b600454600160a060020a03163314610db257600080fd5b32600090815260026020526040902054610dd2908363ffffffff61114a16565b32600090815260026020908152604080832093909355600790522054610dfe908363ffffffff61114a16565b32600081815260076020908152604091829020939093558051918252309282019290925280820184905290517f477b65cf658c5207a9d60bb5ebe4f60a504af024949bdffa6efc396d01ced3f69181900360600190a1506001919050565b60005474010000000000000000000000000000000000000000900460ff1681565b6004546000908190600160a060020a03161515610e9957600080fd5b600160a060020a03841615801590610ec05750336000908152600260205260409020548311155b1515610ecb57600080fd5b60048054604080517fcf3cb33f000000000000000000000000000000000000000000000000000000008152600160a060020a0388811694820194909452602481018790528151939092169263cf3cb33f9260448082019392918290030181600087803b158015610f3a57600080fd5b505af1158015610f4e573d6000803e3d6000fd5b505050506040513d6040811015610f6457600080fd5b5080516020909101519092509050811515610f7e57600080fd5b60408051338152600160a060020a038616602082015280820185905290517f477b65cf658c5207a9d60bb5ebe4f60a504af024949bdffa6efc396d01ced3f69181900360600190a19250929050565b600454600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600054600160a060020a0316331461101e57600080fd5b600160a060020a038116151561103357600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146110b257600080fd5b60005474010000000000000000000000000000000000000000900460ff16156110da57600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001781556040517f46620e39f4e119bf05f13544f8ef38338fc06c17f6b731c7f95bee356572db969190a1565b60008282111561114457fe5b50900390565b60008282018381101561074757fe00a165627a7a72305820c987c971703fdb0670a9f74d0f213e25e58d20ff738e816290c7234688c620310029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000000000000000000000000000000000003b9aca00

Deployed Bytecode

0x6080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461012c578063095ea7b3146101b657806318160ddd146101ee57806323b872dd1461021557806327e235e31461023f578063313ce567146102605780633c3bdb7a1461028b5780635a63feb8146102ae57806370a08231146102d25780638da5cb5b146102f35780638eddc3061461032457806395d89b411461034e578063a69df4b514610363578063a9059cbb14610378578063b65b3f801461039c578063b8b690e7146103c7578063cf309012146103df578063cf3cb33f146103f4578063d2f7265a14610433578063dd62ed3e14610448578063f2fde38b1461046f578063f83d08ba14610490575b600080fd5b34801561013857600080fd5b506101416104a5565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c257600080fd5b506101da600160a060020a03600435166024356104dc565b604080519115158252519081900360200190f35b3480156101fa57600080fd5b506102036105a7565b60408051918252519081900360200190f35b34801561022157600080fd5b506101da600160a060020a03600435811690602435166044356105ad565b34801561024b57600080fd5b50610203600160a060020a036004351661074e565b34801561026c57600080fd5b50610275610760565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b506102ac600160a060020a0360043516610765565b005b3480156102ba57600080fd5b506101da600160a060020a03600435166024356107f2565b3480156102de57600080fd5b50610203600160a060020a03600435166108f0565b3480156102ff57600080fd5b5061030861090b565b60408051600160a060020a039092168252519081900360200190f35b34801561033057600080fd5b506101da600160a060020a036004358116906024351660443561091a565b34801561035a57600080fd5b50610141610a4c565b34801561036f57600080fd5b506102ac610a83565b34801561038457600080fd5b506101da600160a060020a0360043516602435610b0a565b3480156103a857600080fd5b506101da600160a060020a036004358116906024359060443516610c15565b3480156103d357600080fd5b506101da600435610d81565b3480156103eb57600080fd5b506101da610e5c565b34801561040057600080fd5b50610418600160a060020a0360043516602435610e7d565b60408051921515835260208301919091528051918290030190f35b34801561043f57600080fd5b50610308610fcd565b34801561045457600080fd5b50610203600160a060020a0360043581169060243516610fdc565b34801561047b57600080fd5b506102ac600160a060020a0360043516611007565b34801561049c57600080fd5b506102ac61109b565b60408051808201909152600b81527f4269746f78546f6b656e73000000000000000000000000000000000000000000602082015281565b6000805474010000000000000000000000000000000000000000900460ff161561050557600080fd5b81158015906105365750336000908152600360209081526040808320600160a060020a038716845290915290205415155b1561054057600080fd5b336000818152600360209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60015481565b6000805474010000000000000000000000000000000000000000900460ff16156105d657600080fd5b600160a060020a038316158015906106065750600160a060020a0384166000908152600260205260409020548211155b80156106355750600160a060020a03841660009081526003602090815260408083203384529091529020548211155b151561064057600080fd5b600160a060020a038416600090815260026020526040902054610669908363ffffffff61113816565b600160a060020a03808616600090815260026020526040808220939093559085168152205461069e908363ffffffff61114a16565b600160a060020a0380851660009081526002602090815260408083209490945591871681526003825282812033825290915220546106e2908363ffffffff61113816565b600160a060020a03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060015b9392505050565b60026020526000908152604090205481565b601281565b600054600160a060020a0316331461077c57600080fd5b600160a060020a038116151561079157600080fd5b60048054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f39870277935708b88965de17b0c29d3c1ad93a200dce569fc56702229432973e9181900360200190a150565b600454600090600160a060020a0316151561080c57600080fd5b600454600160a060020a0316331461082357600080fd5b600160a060020a03831660009081526002602052604090205461084c908363ffffffff61114a16565b600160a060020a038416600090815260026020908152604080832093909355600790522054610881908363ffffffff61114a16565b600160a060020a03841660008181526007602090815260409182902093909355805132815230938101939093528281019190915260608201849052517f94f894fc21b0710283384cff4d54c5cc2019e3d79fb872674e8641ed36487cbf9181900360800190a150600192915050565b600160a060020a031660009081526002602052604090205490565b600054600160a060020a031681565b600454600090600160a060020a0316151561093457600080fd5b600454600160a060020a0316331461094b57600080fd5b600160a060020a038416151561096057600080fd5b600160a060020a03831660009081526002602052604090205482111561098857506000610747565b600160a060020a0383166000908152600260205260409020546109b1908363ffffffff61113816565b600160a060020a038085166000908152600260209081526040808320949094559187168152600590915220546109ed908363ffffffff61114a16565b600160a060020a03808616600090815260056020908152604080832094909455918616815260069091522054610a29908363ffffffff61114a16565b600160a060020a0384166000908152600660205260409020555060019392505050565b60408051808201909152600581527f4249544f58000000000000000000000000000000000000000000000000000000602082015281565b600054600160a060020a03163314610a9a57600080fd5b60005474010000000000000000000000000000000000000000900460ff161515610ac357600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f70e3fffea7bbb557facdee48ed7f7af5179030adef9ad0c876df039a718f359e9190a1565b6000805474010000000000000000000000000000000000000000900460ff1615610b3357600080fd5b600160a060020a03831615801590610b5a5750336000908152600260205260409020548211155b1515610b6557600080fd5b33600090815260026020526040902054610b85908363ffffffff61113816565b3360009081526002602052604080822092909255600160a060020a03851681522054610bb7908363ffffffff61114a16565b600160a060020a0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600454600090600160a060020a03161515610c2f57600080fd5b600160a060020a03841615801590610c4f5750600160a060020a03821615155b8015610c6a5750336000908152600260205260409020548311155b1515610c7557600080fd5b60048054604080517fb65b3f80000000000000000000000000000000000000000000000000000000008152600160a060020a03888116948201949094526024810187905285841660448201529051929091169163b65b3f80916064808201926020929091908290030181600087803b158015610cf057600080fd5b505af1158015610d04573d6000803e3d6000fd5b505050506040513d6020811015610d1a57600080fd5b50519050801515610d2a57600080fd5b60408051338152600160a060020a0380871660208301528416818301526060810185905290517f94f894fc21b0710283384cff4d54c5cc2019e3d79fb872674e8641ed36487cbf9181900360800190a19392505050565b600454600090600160a060020a03161515610d9b57600080fd5b600454600160a060020a03163314610db257600080fd5b32600090815260026020526040902054610dd2908363ffffffff61114a16565b32600090815260026020908152604080832093909355600790522054610dfe908363ffffffff61114a16565b32600081815260076020908152604091829020939093558051918252309282019290925280820184905290517f477b65cf658c5207a9d60bb5ebe4f60a504af024949bdffa6efc396d01ced3f69181900360600190a1506001919050565b60005474010000000000000000000000000000000000000000900460ff1681565b6004546000908190600160a060020a03161515610e9957600080fd5b600160a060020a03841615801590610ec05750336000908152600260205260409020548311155b1515610ecb57600080fd5b60048054604080517fcf3cb33f000000000000000000000000000000000000000000000000000000008152600160a060020a0388811694820194909452602481018790528151939092169263cf3cb33f9260448082019392918290030181600087803b158015610f3a57600080fd5b505af1158015610f4e573d6000803e3d6000fd5b505050506040513d6040811015610f6457600080fd5b5080516020909101519092509050811515610f7e57600080fd5b60408051338152600160a060020a038616602082015280820185905290517f477b65cf658c5207a9d60bb5ebe4f60a504af024949bdffa6efc396d01ced3f69181900360600190a19250929050565b600454600160a060020a031681565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b600054600160a060020a0316331461101e57600080fd5b600160a060020a038116151561103357600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031633146110b257600080fd5b60005474010000000000000000000000000000000000000000900460ff16156110da57600080fd5b6000805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001781556040517f46620e39f4e119bf05f13544f8ef38338fc06c17f6b731c7f95bee356572db969190a1565b60008282111561114457fe5b50900390565b60008282018381101561074757fe00a165627a7a72305820c987c971703fdb0670a9f74d0f213e25e58d20ff738e816290c7234688c620310029

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

000000000000000000000000000000000000000000000000000000003b9aca00

-----Decoded View---------------
Arg [0] : totalSupplyTokens_ (uint256): 1000000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000003b9aca00


Swarm Source

bzzr://c987c971703fdb0670a9f74d0f213e25e58d20ff738e816290c7234688c62031

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.