ETH Price: $2,977.72 (-2.41%)
Gas: 3 Gwei

Contract

0x047686fB287e7263A23873dEa66b4501015a2226
 
Transaction Hash
Method
Block
From
To
Value
Approve189558412024-01-07 14:38:35182 days ago1704638315IN
BC: Cute Coin
0 ETH0.001544133.28753946
Approve188230902023-12-19 22:53:47200 days ago1703026427IN
BC: Cute Coin
0 ETH0.0024075951.95606596
Approve162110422022-12-18 10:41:11567 days ago1671360071IN
BC: Cute Coin
0 ETH0.0005667612.21512899
Approve160962272022-12-02 9:28:23583 days ago1669973303IN
BC: Cute Coin
0 ETH0.0005180411.16491227
Approve160961462022-12-02 9:11:59583 days ago1669972319IN
BC: Cute Coin
0 ETH0.0005570512.00564853
Transfer160763182022-11-29 14:42:47586 days ago1669732967IN
BC: Cute Coin
0 ETH0.0005388411.45044955
Approve158736232022-11-01 7:12:59614 days ago1667286779IN
BC: Cute Coin
0 ETH0.000390958.42593896
Approve156535572022-10-01 13:17:35645 days ago1664630255IN
BC: Cute Coin
0 ETH0.0005937712.7971844
Transfer155334022022-09-14 14:22:54662 days ago1663165374IN
BC: Cute Coin
0 ETH0.0008074715.57422503
Approve153810192022-08-21 1:15:44686 days ago1661044544IN
BC: Cute Coin
0 ETH0.000075072.87467437
Approve153810142022-08-21 1:14:49686 days ago1661044489IN
BC: Cute Coin
0 ETH0.000075772.90163404
Approve153809602022-08-21 1:04:08686 days ago1661043848IN
BC: Cute Coin
0 ETH0.00010864.15886702
Approve153809562022-08-21 1:03:28686 days ago1661043808IN
BC: Cute Coin
0 ETH0.00010624.06687902
Approve153809432022-08-21 0:59:56686 days ago1661043596IN
BC: Cute Coin
0 ETH0.000090083.73576879
Approve153808862022-08-21 0:47:59686 days ago1661042879IN
BC: Cute Coin
0 ETH0.000112854.67995929
Approve153625112022-08-18 2:56:14689 days ago1660791374IN
BC: Cute Coin
0 ETH0.0002560910.61988381
Approve151627822022-07-17 22:23:49720 days ago1658096629IN
BC: Cute Coin
0 ETH0.0004151417.21503854
Approve127094022021-06-26 11:23:421107 days ago1624706622IN
BC: Cute Coin
0 ETH0.000230675
Approve126936012021-06-24 0:11:261109 days ago1624493486IN
BC: Cute Coin
0 ETH0.0007381616
Approve And Call126434972021-06-16 4:50:131117 days ago1623819013IN
BC: Cute Coin
0 ETH0.000326036.3
Approve125861742021-06-07 7:50:161126 days ago1623052216IN
BC: Cute Coin
0 ETH0.0007381616
Approve123984722021-05-09 6:06:551155 days ago1620540415IN
BC: Cute Coin
0 ETH0.0038511183
Add Operator123832792021-05-06 21:49:501157 days ago1620337790IN
BC: Cute Coin
0 ETH0.0024145652
Remove Operator123832792021-05-06 21:49:501157 days ago1620337790IN
BC: Cute Coin
0 ETH0.0007595751.7
Transfer123211582021-04-27 8:00:041167 days ago1619510404IN
BC: Cute Coin
0 ETH0.0008101141
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:
CuteCoin

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-10-11
*/

pragma solidity ^0.4.24;

// ----------------------------------------------------------------------------
contract ERC20Interface {

    // ERC Token Standard #223 Interface
    // https://github.com/ethereum/EIPs/issues/223

    string public symbol;
    string public  name;
    uint8 public decimals;

    function transfer(address _to, uint _value, bytes _data) external returns (bool success);

    // approveAndCall
    function approveAndCall(address spender, uint tokens, bytes data) external returns (bool success);

    // ERC Token Standard #20 Interface
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md


    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);

    // bulk operations
    function transferBulk(address[] to, uint[] tokens) public;
    function approveBulk(address[] spender, uint[] tokens) public;
}

pragma solidity ^0.4.24;

/// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase
contract PluginInterface
{
    /// @dev simply a boolean to indicate this is the contract we expect to be
    function isPluginInterface() public pure returns (bool);

    function onRemove() public;

    /// @dev Begins new feature.
    /// @param _cutieId - ID of token to auction, sender must be owner.
    /// @param _parameter - arbitrary parameter
    /// @param _seller - Old owner, if not the message sender
    function run(
        uint40 _cutieId,
        uint256 _parameter,
        address _seller
    ) 
    public
    payable;

    /// @dev Begins new feature, approved and signed by COO.
    /// @param _cutieId - ID of token to auction, sender must be owner.
    /// @param _parameter - arbitrary parameter
    function runSigned(
        uint40 _cutieId,
        uint256 _parameter,
        address _owner
    )
    external
    payable;

    function withdraw() public;
}


contract CuteCoinInterface is ERC20Interface
{
    function mint(address target, uint256 mintedAmount) public;
    function mintBulk(address[] target, uint256[] mintedAmount) external;
    function burn(uint256 amount) external;
}

pragma solidity ^0.4.24;


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

}

pragma solidity ^0.4.24;

// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }
    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }
    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }
    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}

pragma solidity ^0.4.24;

// ----------------------------------------------------------------------------
// Contract function to receive approval and execute function in one call
//
// Borrowed from MiniMeToken

interface TokenRecipientInterface
{
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external;
}

pragma solidity ^0.4.24;

// https://github.com/ethereum/EIPs/issues/223
interface TokenFallback
{
    function tokenFallback(address _from, uint _value, bytes _data) external;
}


contract CuteCoin is CuteCoinInterface, Ownable
{
    using SafeMath for uint;

    constructor() public
    {
        symbol = "CUTE";
        name = "Cute Coin";
        decimals = 18;
    }

    uint _totalSupply;
    mapping (address => uint) balances;
    mapping(address => mapping(address => uint)) allowed;

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

    // ---------------------------- Operator ----------------------------
    mapping (address => bool) operatorAddress;

    function addOperator(address _operator) public onlyOwner
    {
        operatorAddress[_operator] = true;
    }

    function removeOperator(address _operator) public onlyOwner
    {
        delete(operatorAddress[_operator]);
    }

    modifier onlyOperator() {
        require(operatorAddress[msg.sender] || msg.sender == owner);
        _;
    }

    function withdrawEthFromBalance() external onlyOwner
    {
        owner.transfer(address(this).balance);
    }

    // ------------------------------------------------------------------------
    // Owner can transfer out any accidentally sent ERC20 tokens
    // ------------------------------------------------------------------------
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }

    // ---------------------------- Do not accept money ----------------------------
    function () payable public
    {
        revert();
    }

    // ---------------------------- Minting ----------------------------

    function mint(address target, uint256 mintedAmount) public onlyOperator
    {
        balances[target] = balances[target].add(mintedAmount);
        _totalSupply = _totalSupply.add(mintedAmount);
        emit Transfer(0, target, mintedAmount);
    }

    function mintBulk(address[] target, uint256[] mintedAmount) external onlyOperator
    {
        require(target.length == mintedAmount.length);
        for (uint i = 0; i < target.length; i++)
        {
            mint(target[i], mintedAmount[i]);
        }
    }

    function burn(uint256 amount) external
    {
        balances[msg.sender] = balances[msg.sender].sub(amount);
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(msg.sender, 0, amount);
    }


    // ---------------------------- ERC20 ----------------------------

    function totalSupply() public constant returns (uint)
    {
        return _totalSupply;
    }

    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public constant returns (uint balance)
    {
        return balances[tokenOwner];
    }

    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    // ------------------------------------------------------------------------
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining)
    {
        return allowed[tokenOwner][spender];
    }

    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    // - Owner's account must have sufficient balance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transfer(address to, uint tokens) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }

    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account
    //
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
    // recommends that there are no checks for the approval double-spend attack
    // as this should be implemented in user interfaces
    // ------------------------------------------------------------------------
    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    //
    // The calling account must already have sufficient tokens approve(...)-d
    // for spending from the `from` account and
    // - From account must have sufficient balance to transfer
    // - Spender must have sufficient allowance to transfer
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
        return true;
    }

    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account. The `spender` contract function
    // `receiveApproval(...)` is then executed
    // ------------------------------------------------------------------------
    function approveAndCall(address spender, uint tokens, bytes data) external returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        TokenRecipientInterface(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }

    function transferBulk(address[] to, uint[] tokens) public
    {
        require(to.length == tokens.length);
        for (uint i = 0; i < to.length; i++)
        {
            transfer(to[i], tokens[i]);
        }
    }

    function approveBulk(address[] spender, uint[] tokens) public
    {
        require(spender.length == tokens.length);
        for (uint i = 0; i < spender.length; i++)
        {
            approve(spender[i], tokens[i]);
        }
    }

// ---------------------------- ERC223 ----------------------------

    // Function that is called when a user or another contract wants to transfer funds .
    function transfer(address _to, uint _value, bytes _data) external returns (bool success) {
        if(isContract(_to)) {
            return transferToContract(_to, _value, _data);
        }
        else {
            return transferToAddress(_to, _value, _data);
        }
    }

    //function that is called when transaction target is a contract
    function transferToContract(address _to, uint _value, bytes _data) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        TokenFallback receiver = TokenFallback(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        emit Transfer(msg.sender, _to, _value, _data);
        return true;
    }


    //assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) private view returns (bool is_contract) {
        uint length;
        assembly {
        //retrieve the size of the code on target address, this needs assembly
            length := extcodesize(_addr)
        }
        return (length>0);
    }

    //function that is called when transaction target is an address
    function transferToAddress(address _to, uint tokens, bytes _data) public returns (bool success) {
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[_to] = balances[_to].add(tokens);
        emit Transfer(msg.sender, _to, tokens, _data);
        return true;
    }

    // @dev Transfers to _withdrawToAddress all tokens controlled by
    // contract _tokenContract.
    function withdrawTokenFromBalance(ERC20Interface _tokenContract, address _withdrawToAddress)
        external
        onlyOperator
    {
        uint256 balance = _tokenContract.balanceOf(address(this));
        _tokenContract.transfer(_withdrawToAddress, balance);
    }
}

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":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","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":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","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":"tokens","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferToAddress","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferToContract","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEthFromBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address[]"},{"name":"mintedAmount","type":"uint256[]"}],"name":"mintBulk","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address[]"},{"name":"tokens","type":"uint256[]"}],"name":"transferBulk","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":"_operator","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address[]"},{"name":"tokens","type":"uint256[]"}],"name":"approveBulk","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"},{"name":"_withdrawToAddress","type":"address"}],"name":"withdrawTokenFromBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"data","type":"bytes"}],"name":"Transfer","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":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b506002805461010060a860020a03191633610100021790556040805180820190915260048082527f435554450000000000000000000000000000000000000000000000000000000060209092019182526200006f91600091620000ca565b506040805180820190915260098082527f4375746520436f696e00000000000000000000000000000000000000000000006020909201918252620000b691600191620000ca565b506002805460ff191660121790556200016f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010d57805160ff19168380011785556200013d565b828001600101855582156200013d579182015b828111156200013d57825182559160200191906001019062000120565b506200014b9291506200014f565b5090565b6200016c91905b808211156200014b576000815560010162000156565b90565b6115b1806200017f6000396000f3006080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020f57806323b872dd14610236578063313ce5671461026057806335e9d83b1461028b5780633f35d033146102f457806340c10f191461035d57806342966c681461038357806370a082311461039b578063776247c4146103bc5780637fd30df0146103d15780638da5cb5b146103fd5780639316c3e71461042e57806395d89b41146104bc5780639870d7fe146104d1578063a9059cbb146104f2578063ac8a584a14610516578063b9edf91114610537578063be45fd62146105c5578063cae9ca51146105f6578063cda8c71514610627578063dc39d06d1461064e578063dd62ed3e14610672578063f2fde38b14610699575b600080fd5b34801561015957600080fd5b506101626106ba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a0360043516602435610747565b604080519115158252519081900360200190f35b34801561021b57600080fd5b506102246107ae565b60408051918252519081900360200190f35b34801561024257600080fd5b506101fb600160a060020a03600435811690602435166044356107b4565b34801561026c57600080fd5b506102756108ad565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101fb948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506108b69650505050505050565b34801561030057600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101fb948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506109f09650505050505050565b34801561036957600080fd5b50610381600160a060020a0360043516602435610c05565b005b34801561038f57600080fd5b50610381600435610cc8565b3480156103a757600080fd5b50610224600160a060020a0360043516610d37565b3480156103c857600080fd5b50610381610d52565b3480156103dd57600080fd5b506103816024600480358281019290820135918135918201910135610db2565b34801561040957600080fd5b50610412610e4a565b60408051600160a060020a039092168252519081900360200190f35b34801561043a57600080fd5b506040805160206004803580820135838102808601850190965280855261038195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610e5e9650505050505050565b3480156104c857600080fd5b50610162610ec2565b3480156104dd57600080fd5b50610381600160a060020a0360043516610f1d565b3480156104fe57600080fd5b506101fb600160a060020a0360043516602435610f5d565b34801561052257600080fd5b50610381600160a060020a0360043516610ffb565b34801561054357600080fd5b506040805160206004803580820135838102808601850190965280855261038195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506110389650505050505050565b3480156105d157600080fd5b506101fb60048035600160a060020a0316906024803591604435918201910135611097565b34801561060257600080fd5b506101fb60048035600160a060020a031690602480359160443591820191013561112c565b34801561063357600080fd5b50610381600160a060020a0360043581169060243516611244565b34801561065a57600080fd5b506101fb600160a060020a03600435166024356113a2565b34801561067e57600080fd5b50610224600160a060020a0360043581169060243516611468565b3480156106a557600080fd5b50610381600160a060020a0360043516611493565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b600160a060020a0383166000908152600460205260408120546107dd908363ffffffff61153816565b600160a060020a038516600090815260046020908152604080832093909355600581528282203383529052205461081a908363ffffffff61153816565b600160a060020a03808616600090815260056020908152604080832033845282528083209490945591861681526004909152205461085e908363ffffffff61154d16565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191939288169260008051602061156683398151915292918290030190a35060019392505050565b60025460ff1681565b336000908152600460205260408120546108d6908463ffffffff61153816565b3360009081526004602052604080822092909255600160a060020a03861681522054610908908463ffffffff61154d16565b6004600086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109ab578181015183820152602001610993565b50505050905090810190601f1680156109d85780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b336000908152600460205260408120548190610a12908563ffffffff61153816565b3360009081526004602052604080822092909255600160a060020a03871681522054610a44908563ffffffff61154d16565b600160a060020a03861660008181526004602081815260408084209590955593517fc0ee0b8a00000000000000000000000000000000000000000000000000000000815233918101828152602482018a90526060604483019081528951606484015289518c9850959663c0ee0b8a9694958c958c95608401928601918190849084905b83811015610adf578181015183820152602001610ac7565b50505050905090810190601f168015610b0c5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610b2d57600080fd5b505af1158015610b41573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578181015183820152602001610ba7565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b3360009081526006602052604090205460ff1680610c3257506002546101009004600160a060020a031633145b1515610c3d57600080fd5b600160a060020a038216600090815260046020526040902054610c66908263ffffffff61154d16565b600160a060020a038316600090815260046020526040902055600354610c92908263ffffffff61154d16565b600355604080518281529051600160a060020a038416916000916000805160206115668339815191529181900360200190a35050565b33600090815260046020526040902054610ce8908263ffffffff61153816565b33600090815260046020526040902055600354610d0b908263ffffffff61153816565b60035560408051828152905160009133916000805160206115668339815191529181900360200190a350565b600160a060020a031660009081526004602052604090205490565b6002546101009004600160a060020a03163314610d6e57600080fd5b600254604051600160a060020a036101009092049190911690303180156108fc02916000818181858888f19350505050158015610daf573d6000803e3d6000fd5b50565b3360009081526006602052604081205460ff1680610ddf57506002546101009004600160a060020a031633145b1515610dea57600080fd5b838214610df657600080fd5b5060005b83811015610e4357610e3b858583818110610e1157fe5b90506020020135600160a060020a03168484848181101515610e2f57fe5b90506020020135610c05565b600101610dfa565b5050505050565b6002546101009004600160a060020a031681565b8051825160009114610e6f57600080fd5b5060005b8251811015610ebd57610eb48382815181101515610e8d57fe5b906020019060200201518383815181101515610ea557fe5b90602001906020020151610f5d565b50600101610e73565b505050565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561073f5780601f106107145761010080835404028352916020019161073f565b6002546101009004600160a060020a03163314610f3957600080fd5b600160a060020a03166000908152600660205260409020805460ff19166001179055565b33600090815260046020526040812054610f7d908363ffffffff61153816565b3360009081526004602052604080822092909255600160a060020a03851681522054610faf908363ffffffff61154d16565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233926000805160206115668339815191529281900390910190a350600192915050565b6002546101009004600160a060020a0316331461101757600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b805182516000911461104957600080fd5b5060005b8251811015610ebd5761108e838281518110151561106757fe5b90602001906020020151838381518110151561107f57fe5b90602001906020020151610747565b5060010161104d565b60006110a28561155d565b156110e9576110e2858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437506109f0945050505050565b9050611124565b6110e2858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437506108b6945050505050565b949350505050565b336000818152600560209081526040808320600160a060020a038916808552908352818420889055815188815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb1000000000000000000000000000000000000000000000000000000008152336004820181815260248301879052306044840181905260806064850190815260848501879052600160a060020a038a1694638f4ffcb194938a93928a928a92919060a40184848082843782019150509650505050505050600060405180830381600087803b15801561122157600080fd5b505af1158015611235573d6000803e3d6000fd5b50600198975050505050505050565b3360009081526006602052604081205460ff168061127157506002546101009004600160a060020a031633145b151561127c57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b1580156112dd57600080fd5b505af11580156112f1573d6000803e3d6000fd5b505050506040513d602081101561130757600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b15801561137857600080fd5b505af115801561138c573d6000803e3d6000fd5b505050506040513d6020811015610e4357600080fd5b6002546000906101009004600160a060020a031633146113c157600080fd5b600254604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152610100909204600160a060020a0390811660048401526024830185905290519085169163a9059cbb9160448083019260209291908290030181600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b505050506040513d602081101561145f57600080fd5b50519392505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6002546101009004600160a060020a031633146114af57600080fd5b600160a060020a03811615156114c457600080fd5b600254604051600160a060020a0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360028054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b60008282111561154757600080fd5b50900390565b818101828110156107a857600080fd5b6000903b11905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ced85ad92fb0a17aea9f7b92136ca18485365e1a9c49f3d8b6bc9c8edc007f490029

Deployed Bytecode

0x6080604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d578063095ea7b3146101d757806318160ddd1461020f57806323b872dd14610236578063313ce5671461026057806335e9d83b1461028b5780633f35d033146102f457806340c10f191461035d57806342966c681461038357806370a082311461039b578063776247c4146103bc5780637fd30df0146103d15780638da5cb5b146103fd5780639316c3e71461042e57806395d89b41146104bc5780639870d7fe146104d1578063a9059cbb146104f2578063ac8a584a14610516578063b9edf91114610537578063be45fd62146105c5578063cae9ca51146105f6578063cda8c71514610627578063dc39d06d1461064e578063dd62ed3e14610672578063f2fde38b14610699575b600080fd5b34801561015957600080fd5b506101626106ba565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019c578181015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e357600080fd5b506101fb600160a060020a0360043516602435610747565b604080519115158252519081900360200190f35b34801561021b57600080fd5b506102246107ae565b60408051918252519081900360200190f35b34801561024257600080fd5b506101fb600160a060020a03600435811690602435166044356107b4565b34801561026c57600080fd5b506102756108ad565b6040805160ff9092168252519081900360200190f35b34801561029757600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101fb948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506108b69650505050505050565b34801561030057600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101fb948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506109f09650505050505050565b34801561036957600080fd5b50610381600160a060020a0360043516602435610c05565b005b34801561038f57600080fd5b50610381600435610cc8565b3480156103a757600080fd5b50610224600160a060020a0360043516610d37565b3480156103c857600080fd5b50610381610d52565b3480156103dd57600080fd5b506103816024600480358281019290820135918135918201910135610db2565b34801561040957600080fd5b50610412610e4a565b60408051600160a060020a039092168252519081900360200190f35b34801561043a57600080fd5b506040805160206004803580820135838102808601850190965280855261038195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610e5e9650505050505050565b3480156104c857600080fd5b50610162610ec2565b3480156104dd57600080fd5b50610381600160a060020a0360043516610f1d565b3480156104fe57600080fd5b506101fb600160a060020a0360043516602435610f5d565b34801561052257600080fd5b50610381600160a060020a0360043516610ffb565b34801561054357600080fd5b506040805160206004803580820135838102808601850190965280855261038195369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506110389650505050505050565b3480156105d157600080fd5b506101fb60048035600160a060020a0316906024803591604435918201910135611097565b34801561060257600080fd5b506101fb60048035600160a060020a031690602480359160443591820191013561112c565b34801561063357600080fd5b50610381600160a060020a0360043581169060243516611244565b34801561065a57600080fd5b506101fb600160a060020a03600435166024356113a2565b34801561067e57600080fd5b50610224600160a060020a0360043581169060243516611468565b3480156106a557600080fd5b50610381600160a060020a0360043516611493565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561073f5780601f106107145761010080835404028352916020019161073f565b820191906000526020600020905b81548152906001019060200180831161072257829003601f168201915b505050505081565b336000818152600560209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b600160a060020a0383166000908152600460205260408120546107dd908363ffffffff61153816565b600160a060020a038516600090815260046020908152604080832093909355600581528282203383529052205461081a908363ffffffff61153816565b600160a060020a03808616600090815260056020908152604080832033845282528083209490945591861681526004909152205461085e908363ffffffff61154d16565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191939288169260008051602061156683398151915292918290030190a35060019392505050565b60025460ff1681565b336000908152600460205260408120546108d6908463ffffffff61153816565b3360009081526004602052604080822092909255600160a060020a03861681522054610908908463ffffffff61154d16565b6004600086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156109ab578181015183820152602001610993565b50505050905090810190601f1680156109d85780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b336000908152600460205260408120548190610a12908563ffffffff61153816565b3360009081526004602052604080822092909255600160a060020a03871681522054610a44908563ffffffff61154d16565b600160a060020a03861660008181526004602081815260408084209590955593517fc0ee0b8a00000000000000000000000000000000000000000000000000000000815233918101828152602482018a90526060604483019081528951606484015289518c9850959663c0ee0b8a9694958c958c95608401928601918190849084905b83811015610adf578181015183820152602001610ac7565b50505050905090810190601f168015610b0c5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610b2d57600080fd5b505af1158015610b41573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578181015183820152602001610ba7565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b3360009081526006602052604090205460ff1680610c3257506002546101009004600160a060020a031633145b1515610c3d57600080fd5b600160a060020a038216600090815260046020526040902054610c66908263ffffffff61154d16565b600160a060020a038316600090815260046020526040902055600354610c92908263ffffffff61154d16565b600355604080518281529051600160a060020a038416916000916000805160206115668339815191529181900360200190a35050565b33600090815260046020526040902054610ce8908263ffffffff61153816565b33600090815260046020526040902055600354610d0b908263ffffffff61153816565b60035560408051828152905160009133916000805160206115668339815191529181900360200190a350565b600160a060020a031660009081526004602052604090205490565b6002546101009004600160a060020a03163314610d6e57600080fd5b600254604051600160a060020a036101009092049190911690303180156108fc02916000818181858888f19350505050158015610daf573d6000803e3d6000fd5b50565b3360009081526006602052604081205460ff1680610ddf57506002546101009004600160a060020a031633145b1515610dea57600080fd5b838214610df657600080fd5b5060005b83811015610e4357610e3b858583818110610e1157fe5b90506020020135600160a060020a03168484848181101515610e2f57fe5b90506020020135610c05565b600101610dfa565b5050505050565b6002546101009004600160a060020a031681565b8051825160009114610e6f57600080fd5b5060005b8251811015610ebd57610eb48382815181101515610e8d57fe5b906020019060200201518383815181101515610ea557fe5b90602001906020020151610f5d565b50600101610e73565b505050565b6000805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561073f5780601f106107145761010080835404028352916020019161073f565b6002546101009004600160a060020a03163314610f3957600080fd5b600160a060020a03166000908152600660205260409020805460ff19166001179055565b33600090815260046020526040812054610f7d908363ffffffff61153816565b3360009081526004602052604080822092909255600160a060020a03851681522054610faf908363ffffffff61154d16565b600160a060020a0384166000818152600460209081526040918290209390935580518581529051919233926000805160206115668339815191529281900390910190a350600192915050565b6002546101009004600160a060020a0316331461101757600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b805182516000911461104957600080fd5b5060005b8251811015610ebd5761108e838281518110151561106757fe5b90602001906020020151838381518110151561107f57fe5b90602001906020020151610747565b5060010161104d565b60006110a28561155d565b156110e9576110e2858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437506109f0945050505050565b9050611124565b6110e2858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437506108b6945050505050565b949350505050565b336000818152600560209081526040808320600160a060020a038916808552908352818420889055815188815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb1000000000000000000000000000000000000000000000000000000008152336004820181815260248301879052306044840181905260806064850190815260848501879052600160a060020a038a1694638f4ffcb194938a93928a928a92919060a40184848082843782019150509650505050505050600060405180830381600087803b15801561122157600080fd5b505af1158015611235573d6000803e3d6000fd5b50600198975050505050505050565b3360009081526006602052604081205460ff168061127157506002546101009004600160a060020a031633145b151561127c57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038516916370a082319160248083019260209291908290030181600087803b1580156112dd57600080fd5b505af11580156112f1573d6000803e3d6000fd5b505050506040513d602081101561130757600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301526024820184905291519293509085169163a9059cbb916044808201926020929091908290030181600087803b15801561137857600080fd5b505af115801561138c573d6000803e3d6000fd5b505050506040513d6020811015610e4357600080fd5b6002546000906101009004600160a060020a031633146113c157600080fd5b600254604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152610100909204600160a060020a0390811660048401526024830185905290519085169163a9059cbb9160448083019260209291908290030181600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b505050506040513d602081101561145f57600080fd5b50519392505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b6002546101009004600160a060020a031633146114af57600080fd5b600160a060020a03811615156114c457600080fd5b600254604051600160a060020a0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360028054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b60008282111561154757600080fd5b50900390565b818101828110156107a857600080fd5b6000903b11905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820ced85ad92fb0a17aea9f7b92136ca18485365e1a9c49f3d8b6bc9c8edc007f490029

Swarm Source

bzzr://ced85ad92fb0a17aea9f7b92136ca18485365e1a9c49f3d8b6bc9c8edc007f49

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.