ETH Price: $3,053.47 (+2.45%)
Gas: 1 Gwei

Contract

0xb62d18DeA74045E822352CE4B3EE77319DC5ff2F
 
Transaction Hash
Method
Block
From
To
Value
Transfer198731432024-05-15 4:58:5952 days ago1715749139IN
EventChainToken
0 ETH0.000243244.95143973
Approve165496592023-02-03 17:10:11519 days ago1675444211IN
EventChainToken
0 ETH0.0014671531.44150209
Approve165496302023-02-03 17:04:23519 days ago1675443863IN
EventChainToken
0 ETH0.0017494937.49219847
Transfer165495872023-02-03 16:55:47519 days ago1675443347IN
EventChainToken
0 ETH0.0018436534.04459176
Transfer156243362022-09-27 11:17:11648 days ago1664277431IN
EventChainToken
0 ETH0.0022198545
Transfer154702562022-09-04 7:05:56671 days ago1662275156IN
EventChainToken
0 ETH0.00024925.05183186
Transfer153100992022-08-09 20:20:50697 days ago1660076450IN
EventChainToken
0 ETH0.0003122710.61079582
Transfer148184112022-05-21 16:49:12777 days ago1653151752IN
EventChainToken
0 ETH0.0010421521.11599471
Approve142496242022-02-21 13:12:20866 days ago1645449140IN
EventChainToken
0 ETH0.0025988355.69366752
Transfer137667212021-12-08 19:48:15941 days ago1638992895IN
EventChainToken
0 ETH0.0021336266.2
Transfer136162242021-11-14 20:53:34965 days ago1636923214IN
EventChainToken
0 ETH0.00728794147.59505909
Transfer136093852021-11-13 18:56:50966 days ago1636829810IN
EventChainToken
0 ETH0.0077246156.51423167
Transfer136093522021-11-13 18:50:03966 days ago1636829403IN
EventChainToken
0 ETH0.0034664993.55263866
Transfer136084842021-11-13 15:30:08966 days ago1636817408IN
EventChainToken
0 ETH0.00601897111.14556592
Transfer135686992021-11-07 9:54:56972 days ago1636278896IN
EventChainToken
0 ETH0.0034539369.99994067
Transfer134907772021-10-26 4:05:36984 days ago1635221136IN
EventChainToken
0 ETH0.00684867126.49462614
Transfer134551212021-10-20 14:22:43990 days ago1634739763IN
EventChainToken
0 ETH0.00840543170.30909815
Approve133992812021-10-11 19:59:00999 days ago1633982340IN
EventChainToken
0 ETH0.00348305144.22594838
Transfer132793772021-09-23 2:45:101018 days ago1632365110IN
EventChainToken
0 ETH0.003274566.34723033
Transfer132759872021-09-22 14:03:271018 days ago1632319407IN
EventChainToken
0 ETH0.0032808960.58445845
Transfer132737162021-09-22 5:31:441018 days ago1632288704IN
EventChainToken
0 ETH0.0027132654.98899623
Transfer131455362021-09-02 9:47:171038 days ago1630576037IN
EventChainToken
0 ETH0.00569893105.25898396
Transfer131224522021-08-29 20:15:061042 days ago1630268106IN
EventChainToken
0 ETH0.0053817109.01646269
Transfer130753562021-08-22 13:17:131049 days ago1629638233IN
EventChainToken
0 ETH0.0015753131.91871251
Transfer130753192021-08-22 13:09:021049 days ago1629637742IN
EventChainToken
0 ETH0.0007022131.91871251
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:
EventChain

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-08-30
*/

pragma solidity ^0.4.11;


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

    function div(uint256 a, uint256 b) internal constant returns (uint256) {
        // assert(b > 0); // Solidity automatically throws 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;
    }

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

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


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

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

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        assert(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) onlyOwner {
        assert(newOwner != address(0));
        owner = newOwner;
    }
}


/*
 * @title Haltable
 * @dev Abstract contract that allows children to implement an emergency stop mechanism.
 * @dev Differs from Pausable by causing a throw when in halt mode.
 */
contract Haltable is Ownable {
    bool public halted;

    modifier stopInEmergency {
        assert(!halted);
        _;
    }

    modifier onlyInEmergency {
        assert(halted);
        _;
    }

    /**
     * @dev Called by the owner on emergency, triggers stopped state.
     */
    function halt() external onlyOwner {
        halted = true;
    }

    /**
     * @dev Called by the owner on end of emergency, returns to normal state.
     */
    function unhalt() external onlyOwner onlyInEmergency {
        halted = false;
    }
}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) constant returns (uint256);
    function transfer(address to, uint256 value) returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) balances;

    /**
     * @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) onlyPayloadSize(2 * 32) returns (bool) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

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

    /**
     * @dev Fix for the ERC20 short address attack
     * @dev see: http://vessenes.com/the-erc20-short-address-attack-explained/
     * @dev see: https://www.reddit.com/r/ethereum/comments/63s917/worrysome_bug_exploit_with_erc20_token/dfwmhc3/
     */
    modifier onlyPayloadSize(uint size) {
        assert (msg.data.length >= size + 4);
        _;
    }
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) returns (bool);
    function approve(address spender, uint256 value) returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {
    mapping (address => mapping (address => uint256)) allowed;

    /**
     * @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 amout of tokens to be transfered
     */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
        var _allowance = allowed[_from][msg.sender];
        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // assert (_value <= _allowance);
        balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) returns (bool) {
        // 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 here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        assert((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        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 uint256 specifing the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
}


/**
 * @title MintableToken
 * @dev Token that can be minted by another contract until the defined cap is reached.
 * @dev Based on https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */
contract MintableToken is StandardToken, Ownable {
    using SafeMath for uint;

    uint256 public mintableSupply;

    /**
     * @dev List of agents that are allowed to create new tokens
     */
    mapping(address => bool) public mintAgents;

    event MintingAgentChanged(address addr, bool state);

    /**
     * @dev Mint token from pool of mintable tokens.
     * @dev Only callable by the mint-agent.
     */
    function mint(address receiver, uint256 amount) onlyPayloadSize(2 * 32) onlyMintAgent canMint public {
        mintableSupply = mintableSupply.sub(amount);
        balances[receiver] = balances[receiver].add(amount);
        // This will make the mint transaction appear in EtherScan.io
        // We can remove this after there is a standardized minting event
        Transfer(0, receiver, amount);
    }

    /**
     * @dev Owner can allow a crowdsale contract to mint new tokens.
     */
    function setMintAgent(address addr, bool state) onlyOwner canMint public {
        mintAgents[addr] = state;
        MintingAgentChanged(addr, state);
    }

    modifier onlyMintAgent() {
        // Only the mint-agent is allowed to mint new tokens
        assert (mintAgents[msg.sender]);
        _;
    }

    /**
     * @dev Make sure we are not done yet.
     */
    modifier canMint() {
        assert(mintableSupply > 0);
        _;
    }

    /**
     * @dev Fix for the ERC20 short address attack
     * @dev see: http://vessenes.com/the-erc20-short-address-attack-explained/
     * @dev see: https://www.reddit.com/r/ethereum/comments/63s917/worrysome_bug_exploit_with_erc20_token/dfwmhc3/
     */
    modifier onlyPayloadSize(uint size) {
        assert (msg.data.length >= size + 4);
        _;
    }
}


/*
 * @title ReleasableToken
 * @dev Token that may not be transfered until it was released.
 */
contract ReleasableToken is ERC20, Ownable {
    address public releaseAgent;
    bool public released = false;

    /**
     * @dev One way function to release the tokens to the wild.
     */
    function releaseToken() public onlyReleaseAgent {
        released = true;
    }

    /**
     * @dev Set the contract that may call the release function.
     */
    function setReleaseAgent(address addr) onlyOwner inReleaseState(false) public {
        releaseAgent = addr;
    }

    function transfer(address _to, uint _value) inReleaseState(true) returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint _value) inReleaseState(true) returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    /**
     * @dev The function can be called only before or after the tokens have been releasesd
     */
    modifier inReleaseState(bool releaseState) {
        assert(releaseState == released);
        _;
    }

    /**
     * @dev The function can be called only by a whitelisted release agent.
     */
    modifier onlyReleaseAgent() {
        assert(msg.sender == releaseAgent);
        _;
    }
}


/**
 * @title EventChain
 * @dev Contract for the EventChain token.
 */
contract EventChain is ReleasableToken, MintableToken {
    string public name = "EventChain";
    string public symbol = "EVC";
    uint8 public decimals = 18;
    
    function EventChain() {
        // total supply is 84 million tokens
        totalSupply = 84000000 ether;
        mintableSupply = totalSupply;
        // allow deployer to unlock token transfer and mint tokens
        setReleaseAgent(msg.sender);
        setMintAgent(msg.sender, true);
    }
}

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":false,"inputs":[{"name":"addr","type":"address"}],"name":"setReleaseAgent","outputs":[],"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":"receiver","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"mintAgents","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"state","type":"bool"}],"name":"setMintAgent","outputs":[],"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":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"released","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":"mintableSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releaseAgent","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":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"releaseToken","outputs":[],"payable":false,"stateMutability":"nonpayable","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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"state","type":"bool"}],"name":"MintingAgentChanged","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

606060409081526004805460a060020a60ff02191690558051908101604052600a81527f4576656e74436861696e00000000000000000000000000000000000000000000602082015260079080516200005d9291602001906200022d565b5060408051908101604052600381527f455643000000000000000000000000000000000000000000000000000000000060208201526008908051620000a79291602001906200022d565b506009805460ff191660121790553415620000c157600080fd5b5b5b60038054600160a060020a03191633600160a060020a03161790555b6a457bb11fdb3df8d400000060008190556005556200010c33640100000000620006776200012e82021704565b62000127336001640100000000620007cb6200019282021704565b5b620002d7565b60035433600160a060020a039081169116146200014757fe5b60045460009074010000000000000000000000000000000000000000900460ff16156200017057fe5b60048054600160a060020a031916600160a060020a0384161790555b5b505b50565b60035433600160a060020a03908116911614620001ab57fe5b60055460009011620001b957fe5b600160a060020a03821660009081526006602052604090819020805460ff19168315151790557f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa908390839051600160a060020a039092168252151560208201526040908101905180910390a15b5b5b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027057805160ff1916838001178555620002a0565b82800160010185558215620002a0579182015b82811115620002a057825182559160200191906001019062000283565b5b50620002af929150620002b3565b5090565b620002d491905b80821115620002af5760008155600101620002ba565b5090565b90565b610c8f80620002e76000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610109578063095ea7b31461019457806318160ddd146101ca57806323b872dd146101ef57806329ff4f531461022b578063313ce5671461024c57806340c10f191461027557806342c1867b1461029957806343214675146102cc57806370a08231146102f25780638da5cb5b1461032357806395d89b411461035257806396132521146103dd578063a9059cbb14610404578063cc5c095c1461043a578063d1f276d31461045f578063dd62ed3e1461048e578063ec715a31146104c5578063f2fde38b146104da575b600080fd5b341561011457600080fd5b61011c6104fb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019f57600080fd5b6101b6600160a060020a0360043516602435610599565b604051901515815260200160405180910390f35b34156101d557600080fd5b6101dd61063d565b60405190815260200160405180910390f35b34156101fa57600080fd5b6101b6600160a060020a0360043581169060243516604435610643565b604051901515815260200160405180910390f35b341561023657600080fd5b61024a600160a060020a0360043516610677565b005b341561025757600080fd5b61025f6106d5565b60405160ff909116815260200160405180910390f35b341561028057600080fd5b61024a600160a060020a03600435166024356106de565b005b34156102a457600080fd5b6101b6600160a060020a03600435166107b6565b604051901515815260200160405180910390f35b34156102d757600080fd5b61024a600160a060020a036004351660243515156107cb565b005b34156102fd57600080fd5b6101dd600160a060020a0360043516610864565b60405190815260200160405180910390f35b341561032e57600080fd5b610336610883565b604051600160a060020a03909116815260200160405180910390f35b341561035d57600080fd5b61011c610892565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e857600080fd5b6101b6610930565b604051901515815260200160405180910390f35b341561040f57600080fd5b6101b6600160a060020a0360043516602435610940565b604051901515815260200160405180910390f35b341561044557600080fd5b6101dd610972565b60405190815260200160405180910390f35b341561046a57600080fd5b610336610978565b604051600160a060020a03909116815260200160405180910390f35b341561049957600080fd5b6101dd600160a060020a0360043581169060243516610987565b60405190815260200160405180910390f35b34156104d057600080fd5b61024a6109b4565b005b34156104e557600080fd5b61024a600160a060020a03600435166109f4565b005b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b505050505081565b60008115806105cb5750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b15156105d357fe5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b60045460009060019060a060020a900460ff161515811461066057fe5b61066b858585610a4b565b91505b5b509392505050565b60035433600160a060020a0390811691161461068f57fe5b60045460009060a060020a900460ff16156106a657fe5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b5b505b50565b60095460ff1681565b604060443610156106eb57fe5b600160a060020a03331660009081526006602052604090205460ff16151561070f57fe5b6005546000901161071c57fe5b60055461072f908363ffffffff610b6016565b600555600160a060020a03831660009081526001602052604090205461075b908363ffffffff610b7716565b600160a060020a0384166000818152600160205260408082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35b5b5b5b505050565b60066020526000908152604090205460ff1681565b60035433600160a060020a039081169116146107e357fe5b600554600090116107f057fe5b600160a060020a03821660009081526006602052604090819020805460ff19168315151790557f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa908390839051600160a060020a039092168252151560208201526040908101905180910390a15b5b5b5050565b600160a060020a0381166000908152600160205260409020545b919050565b600354600160a060020a031681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b505050505081565b60045460a060020a900460ff1681565b60045460009060019060a060020a900460ff161515811461095d57fe5b6109678484610b91565b91505b5b5092915050565b60055481565b600454600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60045433600160a060020a039081169116146109cc57fe5b6004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60035433600160a060020a03908116911614610a0c57fe5b600160a060020a0381161515610a1e57fe5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a038084166000908152600260209081526040808320338516845282528083205493861683526001909152812054909190610a92908463ffffffff610b7716565b600160a060020a038086166000908152600160205260408082209390935590871681522054610ac7908463ffffffff610b6016565b600160a060020a038616600090815260016020526040902055610af0818463ffffffff610b6016565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082821115610b6c57fe5b508082035b92915050565b600082820183811015610b8657fe5b8091505b5092915050565b600060406044361015610ba057fe5b600160a060020a033316600090815260016020526040902054610bc9908463ffffffff610b6016565b600160a060020a033381166000908152600160205260408082209390935590861681522054610bfe908463ffffffff610b7716565b600160a060020a0380861660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b5b50929150505600a165627a7a7230582026af1402b61a63d4480b1aa1abd50cf9770f97bd294dcf680a1947ea2bf62a530029

Deployed Bytecode

0x606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610109578063095ea7b31461019457806318160ddd146101ca57806323b872dd146101ef57806329ff4f531461022b578063313ce5671461024c57806340c10f191461027557806342c1867b1461029957806343214675146102cc57806370a08231146102f25780638da5cb5b1461032357806395d89b411461035257806396132521146103dd578063a9059cbb14610404578063cc5c095c1461043a578063d1f276d31461045f578063dd62ed3e1461048e578063ec715a31146104c5578063f2fde38b146104da575b600080fd5b341561011457600080fd5b61011c6104fb565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019f57600080fd5b6101b6600160a060020a0360043516602435610599565b604051901515815260200160405180910390f35b34156101d557600080fd5b6101dd61063d565b60405190815260200160405180910390f35b34156101fa57600080fd5b6101b6600160a060020a0360043581169060243516604435610643565b604051901515815260200160405180910390f35b341561023657600080fd5b61024a600160a060020a0360043516610677565b005b341561025757600080fd5b61025f6106d5565b60405160ff909116815260200160405180910390f35b341561028057600080fd5b61024a600160a060020a03600435166024356106de565b005b34156102a457600080fd5b6101b6600160a060020a03600435166107b6565b604051901515815260200160405180910390f35b34156102d757600080fd5b61024a600160a060020a036004351660243515156107cb565b005b34156102fd57600080fd5b6101dd600160a060020a0360043516610864565b60405190815260200160405180910390f35b341561032e57600080fd5b610336610883565b604051600160a060020a03909116815260200160405180910390f35b341561035d57600080fd5b61011c610892565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101595780820151818401525b602001610140565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103e857600080fd5b6101b6610930565b604051901515815260200160405180910390f35b341561040f57600080fd5b6101b6600160a060020a0360043516602435610940565b604051901515815260200160405180910390f35b341561044557600080fd5b6101dd610972565b60405190815260200160405180910390f35b341561046a57600080fd5b610336610978565b604051600160a060020a03909116815260200160405180910390f35b341561049957600080fd5b6101dd600160a060020a0360043581169060243516610987565b60405190815260200160405180910390f35b34156104d057600080fd5b61024a6109b4565b005b34156104e557600080fd5b61024a600160a060020a03600435166109f4565b005b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b505050505081565b60008115806105cb5750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b15156105d357fe5b600160a060020a03338116600081815260026020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b60045460009060019060a060020a900460ff161515811461066057fe5b61066b858585610a4b565b91505b5b509392505050565b60035433600160a060020a0390811691161461068f57fe5b60045460009060a060020a900460ff16156106a657fe5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b5b505b50565b60095460ff1681565b604060443610156106eb57fe5b600160a060020a03331660009081526006602052604090205460ff16151561070f57fe5b6005546000901161071c57fe5b60055461072f908363ffffffff610b6016565b600555600160a060020a03831660009081526001602052604090205461075b908363ffffffff610b7716565b600160a060020a0384166000818152600160205260408082209390935590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35b5b5b5b505050565b60066020526000908152604090205460ff1681565b60035433600160a060020a039081169116146107e357fe5b600554600090116107f057fe5b600160a060020a03821660009081526006602052604090819020805460ff19168315151790557f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa908390839051600160a060020a039092168252151560208201526040908101905180910390a15b5b5b5050565b600160a060020a0381166000908152600160205260409020545b919050565b600354600160a060020a031681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105915780601f1061056657610100808354040283529160200191610591565b820191906000526020600020905b81548152906001019060200180831161057457829003601f168201915b505050505081565b60045460a060020a900460ff1681565b60045460009060019060a060020a900460ff161515811461095d57fe5b6109678484610b91565b91505b5b5092915050565b60055481565b600454600160a060020a031681565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60045433600160a060020a039081169116146109cc57fe5b6004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60035433600160a060020a03908116911614610a0c57fe5b600160a060020a0381161515610a1e57fe5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a038084166000908152600260209081526040808320338516845282528083205493861683526001909152812054909190610a92908463ffffffff610b7716565b600160a060020a038086166000908152600160205260408082209390935590871681522054610ac7908463ffffffff610b6016565b600160a060020a038616600090815260016020526040902055610af0818463ffffffff610b6016565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082821115610b6c57fe5b508082035b92915050565b600082820183811015610b8657fe5b8091505b5092915050565b600060406044361015610ba057fe5b600160a060020a033316600090815260016020526040902054610bc9908463ffffffff610b6016565b600160a060020a033381166000908152600160205260408082209390935590861681522054610bfe908463ffffffff610b7716565b600160a060020a0380861660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b5b50929150505600a165627a7a7230582026af1402b61a63d4480b1aa1abd50cf9770f97bd294dcf680a1947ea2bf62a530029

Swarm Source

bzzr://26af1402b61a63d4480b1aa1abd50cf9770f97bd294dcf680a1947ea2bf62a53

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.