ETH Price: $3,218.65 (+3.24%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Store Batch89762072019-11-21 19:40:111896 days ago1574365211IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89742072019-11-21 11:41:541897 days ago1574336514IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89721542019-11-21 3:34:271897 days ago1574307267IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89701382019-11-20 19:34:031897 days ago1574278443IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89681052019-11-20 11:33:501898 days ago1574249630IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89661292019-11-20 3:33:171898 days ago1574220797IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89641162019-11-19 19:31:511898 days ago1574191911IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89621912019-11-19 11:32:551899 days ago1574163175IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89602332019-11-19 3:39:571899 days ago1574134797IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89582132019-11-18 19:30:241899 days ago1574105424IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89562632019-11-18 11:29:311900 days ago1574076571IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89542242019-11-18 3:29:451900 days ago1574047785IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89522502019-11-17 19:31:231900 days ago1574019083IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89501602019-11-17 11:28:151901 days ago1573990095IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89482042019-11-17 3:28:231901 days ago1573961303IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89462032019-11-16 19:27:451901 days ago1573932465IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89441302019-11-16 11:25:551902 days ago1573903555IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89421842019-11-16 3:26:391902 days ago1573874799IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89401982019-11-15 19:25:271902 days ago1573845927IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89381652019-11-15 11:25:591903 days ago1573817159IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89361532019-11-15 3:25:441903 days ago1573788344IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89341552019-11-14 19:22:211903 days ago1573759341IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89321672019-11-14 11:21:381904 days ago1573730498IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89301542019-11-14 3:20:461904 days ago1573701646IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
Store Batch89281722019-11-13 19:20:311904 days ago1573672831IN
0x6F01db6F...3f5B7f627
0 ETH0.001212436
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HODL

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-12-16
*/

pragma solidity ^0.4.24;

// compiler: 0.4.24+commit.e67f0147
// optimization: ON
// dev: Luís Freitas @ HODL Media Inc., Dec-2018
// for more check github.com/LewisFreitas or github.com/hodlfinance ...

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

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

        role.bearer[account] = true;
    }

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

        role.bearer[account] = false;
    }

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

contract PauserRole {
    using Roles for Roles.Role;

    event PauserAdded(address indexed account);
    event PauserRemoved(address indexed account);

    Roles.Role private _pausers;

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

    modifier onlyPauser() {
        require(isPauser(msg.sender));
        _;
    }

    function isPauser(address account) public view returns (bool) {
        return _pausers.has(account);
    }

    function addPauser(address account) public onlyPauser {
        _addPauser(account);
    }

    function renouncePauser() public {
        _removePauser(msg.sender);
    }

    function _addPauser(address account) internal {
        _pausers.add(account);
        emit PauserAdded(account);
    }

    function _removePauser(address account) internal {
        _pausers.remove(account);
        emit PauserRemoved(account);
    }
}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is PauserRole {
    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;

    constructor () internal {
        _paused = false;
    }

    /**
     * @return true if the contract is paused, false otherwise.
     */
    function paused() public view returns (bool) {
        return _paused;
    }

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

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

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() public onlyPauser whenNotPaused {
        _paused = true;
        emit Paused(msg.sender);
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() public onlyPauser whenPaused {
        _paused = false;
        emit Unpaused(msg.sender);
    }
}

contract HODL is Pausable {

    modifier hashDoesNotExist(string _hash){
        if(hashExistsMap[_hash] == true) revert();
        _;
    }

    mapping (string => bool) hashExistsMap;
    mapping (string => uint256) hashToIndex;
    
    mapping (address => uint256[]) senderToIndexArray;
    
    mapping (address => mapping (address => bool)) userOptOut;
    
    struct Hash {
        string hash;
        address sender;
        uint256 timestamp;
    }
    
    Hash[] public hashes;

    event AddedBatch(address indexed from, string hash, uint256 timestamp);
    event UserOptOut(address user, address appAddress, uint256 timestamp);
    event UserOptIn(address user, address appAddress, uint256 timestamp);

    function storeBatch(string _hash) public whenNotPaused hashDoesNotExist(_hash) {

        Hash memory newHash = Hash({
            hash: _hash,
            sender: msg.sender,
            timestamp: now
        });
        
        uint256 newHashIndex = hashes.push(newHash) - 1;
        
        hashToIndex[_hash] = newHashIndex;
        senderToIndexArray[msg.sender].push(newHashIndex);
        
        hashExistsMap[_hash] = true;
        
        emit AddedBatch(msg.sender, _hash, now);
    }

    
    function opt(address appAddress) public whenNotPaused {
        
        bool userOptState = userOptOut[msg.sender][appAddress];
        
        if(userOptState == false){
            userOptOut[msg.sender][appAddress] = true;
            emit UserOptIn(msg.sender, appAddress, now);
        }
        else{
            userOptOut[msg.sender][appAddress] = false;
            emit UserOptOut(msg.sender, appAddress, now);
        }
    }

    function getUserOptOut(address userAddress, address appAddress) public view returns (bool){
        return userOptOut[userAddress][appAddress];
    }
    
    function getIndexByHash (string _hash) public view returns (uint256){
        return hashToIndex[_hash];
    }

	function getHashExists(string _hash) public view returns (bool){
        return hashExistsMap[_hash];
    }
    
    function getAllIndexesByAddress (address sender) public view returns (uint256[]){
        return senderToIndexArray[sender];
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_hash","type":"string"}],"name":"storeBatch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"hashes","outputs":[{"name":"hash","type":"string"},{"name":"sender","type":"address"},{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"string"}],"name":"getIndexByHash","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"sender","type":"address"}],"name":"getAllIndexesByAddress","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"appAddress","type":"address"}],"name":"opt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"string"}],"name":"getHashExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"},{"name":"appAddress","type":"address"}],"name":"getUserOptOut","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"hash","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"AddedBatch","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"appAddress","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"UserOptOut","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"appAddress","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"UserOptIn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}]

608060405261001633640100000000610025810204565b6001805460ff19169055610102565b61003d600082640100000000610c5b61007482021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a038116151561008957600080fd5b61009c82826401000000006100cb810204565b156100a657600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000600160a060020a03821615156100e257600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610d98806101116000396000f3006080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633f4ba83a81146100c957806346fbf68e146100e05780634aa4ba9b14610115578063501895ae1461016e5780635c975abb1461021e5780636ef8d66d14610233578063703e905b14610248578063755fa815146102b357806382dc1ec41461032457806383442b1e146103455780638456cb5914610366578063919823df1461037b578063b0cc0596146103d4575b600080fd5b3480156100d557600080fd5b506100de6103fb565b005b3480156100ec57600080fd5b50610101600160a060020a036004351661045f565b604080519115158252519081900360200190f35b34801561012157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100de9436949293602493928401919081908401838280828437509497506104779650505050505050565b34801561017a57600080fd5b50610186600435610757565b604051808060200184600160a060020a0316600160a060020a03168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156101e15781810151838201526020016101c9565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561022a57600080fd5b5061010161081e565b34801561023f57600080fd5b506100de610828565b34801561025457600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102a19436949293602493928401919081908401838280828437509497506108339650505050505050565b60408051918252519081900360200190f35b3480156102bf57600080fd5b506102d4600160a060020a036004351661089b565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b34801561033057600080fd5b506100de600160a060020a0360043516610907565b34801561035157600080fd5b506100de600160a060020a0360043516610927565b34801561037257600080fd5b506100de610a4a565b34801561038757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610101943694929360249392840191908190840183828082843750949750610aaf9650505050505050565b3480156103e057600080fd5b50610101600160a060020a0360043581169060243516610b1a565b6104043361045f565b151561040f57600080fd5b60015460ff16151561042057600080fd5b6001805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b6000610471818363ffffffff610b4816565b92915050565b61047f610ca9565b60015460009060ff161561049257600080fd5b826002816040518082805190602001908083835b602083106104c55780518252601f1990920191602091820191016104a6565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092205460ff161515600114159150610509905057600080fd5b604080516060810182528581523360208083019190915242928201929092526006805460018181018084556000939093528351805194985090949293889360039093027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f019261057d928492910190610cd4565b5060208201518160010160006101000a815481600160a060020a030219169083600160a060020a03160217905550604082015181600201555050039150816003856040518082805190602001908083835b602083106105ed5780518252601f1990920191602091820191016105ce565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201852095909555336000908152600482529485208054600180820183559187529582902090950187905588516002948a9450925082918401908083835b602083106106725780518252601f199092019160209182019101610653565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520805460ff19169615159690961790955542848201819052858552895195850195909552885133957fa798139774ba5164a3f51aaae45161603d02d5fc60895b4c75e931fe67710888958b9550909350918291606083019186019080838360005b838110156107165781810151838201526020016106fe565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b50935050505060405180910390a250505050565b600680548290811061076557fe5b60009182526020918290206003919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156107fe5780601f106107d3576101008083540402835291602001916107fe565b820191906000526020600020905b8154815290600101906020018083116107e157829003601f168201915b5050505060018301546002909301549192600160a060020a031691905083565b60015460ff165b90565b61083133610b7f565b565b60006003826040518082805190602001908083835b602083106108675780518252601f199092019160209182019101610848565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054949350505050565b600160a060020a0381166000908152600460209081526040918290208054835181840281018401909452808452606093928301828280156108fb57602002820191906000526020600020905b8154815260200190600101908083116108e7575b50505050509050919050565b6109103361045f565b151561091b57600080fd5b61092481610bc7565b50565b60015460009060ff161561093a57600080fd5b50336000908152600560209081526040808320600160a060020a038516845290915290205460ff168015156109db57336000818152600560209081526040808320600160a060020a03871680855290835292819020805460ff191660011790558051938452908301919091524282820152517f08c3fe27ebd8e474ac737717ed106c4aff97156517256e38a938fcd265f1adbd9181900360600190a1610a46565b336000818152600560209081526040808320600160a060020a03871680855290835292819020805460ff191690558051938452908301919091524282820152517f3ba40060727f875430f0c17b84afb0974a655b049f6c6c7c63e2dc8f2b7ea3d59181900360600190a15b5050565b610a533361045f565b1515610a5e57600080fd5b60015460ff1615610a6e57600080fd5b6001805460ff1916811790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60006002826040518082805190602001908083835b60208310610ae35780518252601f199092019160209182019101610ac4565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205460ff16949350505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000600160a060020a0382161515610b5f57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610b9060008263ffffffff610c0f16565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610bd860008263ffffffff610c5b16565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a0381161515610c2457600080fd5b610c2e8282610b48565b1515610c3957600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610c7057600080fd5b610c7a8282610b48565b15610c8457600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b606060405190810160405280606081526020016000600160a060020a03168152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d1557805160ff1916838001178555610d42565b82800160010185558215610d42579182015b82811115610d42578251825591602001919060010190610d27565b50610d4e929150610d52565b5090565b61082591905b80821115610d4e5760008155600101610d585600a165627a7a723058204b40e8868b3765a938507b4fd7d62418ee17e9c3785e1a4f0b0d6f933ed9d3b50029

Deployed Bytecode

0x6080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416633f4ba83a81146100c957806346fbf68e146100e05780634aa4ba9b14610115578063501895ae1461016e5780635c975abb1461021e5780636ef8d66d14610233578063703e905b14610248578063755fa815146102b357806382dc1ec41461032457806383442b1e146103455780638456cb5914610366578063919823df1461037b578063b0cc0596146103d4575b600080fd5b3480156100d557600080fd5b506100de6103fb565b005b3480156100ec57600080fd5b50610101600160a060020a036004351661045f565b604080519115158252519081900360200190f35b34801561012157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100de9436949293602493928401919081908401838280828437509497506104779650505050505050565b34801561017a57600080fd5b50610186600435610757565b604051808060200184600160a060020a0316600160a060020a03168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156101e15781810151838201526020016101c9565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561022a57600080fd5b5061010161081e565b34801561023f57600080fd5b506100de610828565b34801561025457600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102a19436949293602493928401919081908401838280828437509497506108339650505050505050565b60408051918252519081900360200190f35b3480156102bf57600080fd5b506102d4600160a060020a036004351661089b565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103105781810151838201526020016102f8565b505050509050019250505060405180910390f35b34801561033057600080fd5b506100de600160a060020a0360043516610907565b34801561035157600080fd5b506100de600160a060020a0360043516610927565b34801561037257600080fd5b506100de610a4a565b34801561038757600080fd5b506040805160206004803580820135601f8101849004840285018401909552848452610101943694929360249392840191908190840183828082843750949750610aaf9650505050505050565b3480156103e057600080fd5b50610101600160a060020a0360043581169060243516610b1a565b6104043361045f565b151561040f57600080fd5b60015460ff16151561042057600080fd5b6001805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b6000610471818363ffffffff610b4816565b92915050565b61047f610ca9565b60015460009060ff161561049257600080fd5b826002816040518082805190602001908083835b602083106104c55780518252601f1990920191602091820191016104a6565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092205460ff161515600114159150610509905057600080fd5b604080516060810182528581523360208083019190915242928201929092526006805460018181018084556000939093528351805194985090949293889360039093027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f019261057d928492910190610cd4565b5060208201518160010160006101000a815481600160a060020a030219169083600160a060020a03160217905550604082015181600201555050039150816003856040518082805190602001908083835b602083106105ed5780518252601f1990920191602091820191016105ce565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201852095909555336000908152600482529485208054600180820183559187529582902090950187905588516002948a9450925082918401908083835b602083106106725780518252601f199092019160209182019101610653565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520805460ff19169615159690961790955542848201819052858552895195850195909552885133957fa798139774ba5164a3f51aaae45161603d02d5fc60895b4c75e931fe67710888958b9550909350918291606083019186019080838360005b838110156107165781810151838201526020016106fe565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b50935050505060405180910390a250505050565b600680548290811061076557fe5b60009182526020918290206003919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156107fe5780601f106107d3576101008083540402835291602001916107fe565b820191906000526020600020905b8154815290600101906020018083116107e157829003601f168201915b5050505060018301546002909301549192600160a060020a031691905083565b60015460ff165b90565b61083133610b7f565b565b60006003826040518082805190602001908083835b602083106108675780518252601f199092019160209182019101610848565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054949350505050565b600160a060020a0381166000908152600460209081526040918290208054835181840281018401909452808452606093928301828280156108fb57602002820191906000526020600020905b8154815260200190600101908083116108e7575b50505050509050919050565b6109103361045f565b151561091b57600080fd5b61092481610bc7565b50565b60015460009060ff161561093a57600080fd5b50336000908152600560209081526040808320600160a060020a038516845290915290205460ff168015156109db57336000818152600560209081526040808320600160a060020a03871680855290835292819020805460ff191660011790558051938452908301919091524282820152517f08c3fe27ebd8e474ac737717ed106c4aff97156517256e38a938fcd265f1adbd9181900360600190a1610a46565b336000818152600560209081526040808320600160a060020a03871680855290835292819020805460ff191690558051938452908301919091524282820152517f3ba40060727f875430f0c17b84afb0974a655b049f6c6c7c63e2dc8f2b7ea3d59181900360600190a15b5050565b610a533361045f565b1515610a5e57600080fd5b60015460ff1615610a6e57600080fd5b6001805460ff1916811790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60006002826040518082805190602001908083835b60208310610ae35780518252601f199092019160209182019101610ac4565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205460ff16949350505050565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000600160a060020a0382161515610b5f57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610b9060008263ffffffff610c0f16565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610bd860008263ffffffff610c5b16565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a0381161515610c2457600080fd5b610c2e8282610b48565b1515610c3957600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610c7057600080fd5b610c7a8282610b48565b15610c8457600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b606060405190810160405280606081526020016000600160a060020a03168152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610d1557805160ff1916838001178555610d42565b82800160010185558215610d42579182015b82811115610d42578251825591602001919060010190610d27565b50610d4e929150610d52565b5090565b61082591905b80821115610d4e5760008155600101610d585600a165627a7a723058204b40e8868b3765a938507b4fd7d62418ee17e9c3785e1a4f0b0d6f933ed9d3b50029

Swarm Source

bzzr://4b40e8868b3765a938507b4fd7d62418ee17e9c3785e1a4f0b0d6f933ed9d3b5

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.