ETH Price: $3,338.25 (-1.08%)

Contract

0x87ec4Ae05076bF9D2aFCD48fa151C6FB4071E59d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Update Contract88129462019-10-26 3:16:051890 days ago1572059765IN
0x87ec4Ae0...B4071E59d
0 ETH0.0046171550
Update Contract87800822019-10-20 21:46:511895 days ago1571608011IN
0x87ec4Ae0...B4071E59d
0 ETH0.004870850
Update Contract87274092019-10-12 15:04:401903 days ago1570892680IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Update Contract86428302019-09-29 9:18:431916 days ago1569748723IN
0x87ec4Ae0...B4071E59d
0 ETH0.004864450
Update Contract85946722019-09-21 20:06:161924 days ago1569096376IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Update Contract84906392019-09-05 14:34:591940 days ago1567694099IN
0x87ec4Ae0...B4071E59d
0 ETH0.0031203550
Update Contract84866682019-09-04 23:58:241941 days ago1567641504IN
0x87ec4Ae0...B4071E59d
0 ETH0.004870850
Update Contract84476322019-08-29 21:49:391947 days ago1567115379IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Update Contract82013102019-07-22 15:40:301985 days ago1563810030IN
0x87ec4Ae0...B4071E59d
0 ETH0.004870850
Update Contract79796922019-06-18 2:36:182020 days ago1560825378IN
0x87ec4Ae0...B4071E59d
0 ETH0.0031171550
Update Contract79796182019-06-18 2:18:582020 days ago1560824338IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Update Contract79327692019-06-10 18:25:502027 days ago1560191150IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Update Contract79266372019-06-09 19:38:552028 days ago1560109135IN
0x87ec4Ae0...B4071E59d
0 ETH0.004864450
Transfer79056262019-06-06 12:25:122031 days ago1559823912IN
0x87ec4Ae0...B4071E59d
1.2972 ETH0.0018126840
Update Contract79056092019-06-06 12:21:222031 days ago1559823682IN
0x87ec4Ae0...B4071E59d
0 ETH0.0031139550
Transfer79055602019-06-06 12:11:512031 days ago1559823111IN
0x87ec4Ae0...B4071E59d
1.2972 ETH0.00036488.04999987
Transfer79055452019-06-06 12:08:302031 days ago1559822910IN
0x87ec4Ae0...B4071E59d
1.2972 ETH0.000359597.93499955
Update Contract79055332019-06-06 12:06:152031 days ago1559822775IN
0x87ec4Ae0...B4071E59d
0 ETH0.0031139550
Update Contract79049902019-06-06 10:03:122031 days ago1559815392IN
0x87ec4Ae0...B4071E59d
0 ETH0.003364450
Update Contract79006632019-06-05 17:56:072032 days ago1559757367IN
0x87ec4Ae0...B4071E59d
0 ETH0.004870850
Update Contract78888692019-06-03 21:47:452034 days ago1559598465IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Update Contract78867942019-06-03 13:49:092034 days ago1559569749IN
0x87ec4Ae0...B4071E59d
0 ETH0.0031171550
Transfer78867372019-06-03 13:38:122034 days ago1559569092IN
0x87ec4Ae0...B4071E59d
1.4956 ETH0.0005211411.5
Update Contract78867292019-06-03 13:35:082034 days ago1559568908IN
0x87ec4Ae0...B4071E59d
0 ETH0.004867650
Transfer78705702019-06-01 0:30:062037 days ago1559349006IN
0x87ec4Ae0...B4071E59d
1.581 ETH0.0008914641
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
79056262019-06-06 12:25:122031 days ago1559823912
0x87ec4Ae0...B4071E59d
0.03 ETH
79055602019-06-06 12:11:512031 days ago1559823111
0x87ec4Ae0...B4071E59d
0.03 ETH
79055452019-06-06 12:08:302031 days ago1559822910
0x87ec4Ae0...B4071E59d
0.03 ETH
78867372019-06-03 13:38:122034 days ago1559569092
0x87ec4Ae0...B4071E59d
0.03 ETH
78705442019-06-01 0:25:222037 days ago1559348722
0x87ec4Ae0...B4071E59d
0.03 ETH
77344102019-05-10 18:31:412058 days ago1557513101
0x87ec4Ae0...B4071E59d
0.9253 ETH
77259122019-05-09 10:40:082059 days ago1557398408
0x87ec4Ae0...B4071E59d
0.03 ETH
77259052019-05-09 10:38:312059 days ago1557398311
0x87ec4Ae0...B4071E59d
0.03 ETH
77215222019-05-08 18:01:232060 days ago1557338483
0x87ec4Ae0...B4071E59d
0.03 ETH
77210432019-05-08 16:15:502060 days ago1557332150
0x87ec4Ae0...B4071E59d
0.03 ETH
77164172019-05-07 22:43:272061 days ago1557269007
0x87ec4Ae0...B4071E59d
0.03 ETH
77150802019-05-07 17:37:302061 days ago1557250650
0x87ec4Ae0...B4071E59d
0.03 ETH
77133392019-05-07 11:16:322061 days ago1557227792
0x87ec4Ae0...B4071E59d
6.0204 ETH
77107902019-05-07 1:32:482062 days ago1557192768
0x87ec4Ae0...B4071E59d
0.03 ETH
77087982019-05-06 18:05:402062 days ago1557165940
0x87ec4Ae0...B4071E59d
0.03 ETH
77006012019-05-05 11:22:452063 days ago1557055365
0x87ec4Ae0...B4071E59d
0.03 ETH
76995882019-05-05 7:30:272063 days ago1557041427
0x87ec4Ae0...B4071E59d
0.03 ETH
76966782019-05-04 20:32:102064 days ago1557001930
0x87ec4Ae0...B4071E59d
0.03 ETH
76877402019-05-03 11:22:062065 days ago1556882526
0x87ec4Ae0...B4071E59d
0.03 ETH
76877302019-05-03 11:20:492065 days ago1556882449
0x87ec4Ae0...B4071E59d
0.03 ETH
76876912019-05-03 11:12:322065 days ago1556881952
0x87ec4Ae0...B4071E59d
0.03 ETH
76876372019-05-03 10:59:072065 days ago1556881147
0x87ec4Ae0...B4071E59d
0.03 ETH
76876312019-05-03 10:56:552065 days ago1556881015
0x87ec4Ae0...B4071E59d
0.03 ETH
76875462019-05-03 10:36:482065 days ago1556879808
0x87ec4Ae0...B4071E59d
0.03 ETH
76835682019-05-02 19:39:312066 days ago1556825971
0x87ec4Ae0...B4071E59d
0.03 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FOXTWidget

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-04
*/

pragma solidity ^0.4.25;


contract ErcInterface {
    function transferFrom(address _from, address _to, uint256 _value) public;
    function transfer(address _to, uint256 _value) public;
    function balanceOf(address _who) public returns(uint256);
}

contract Ownable {
    
    address public owner;

    /**
     * The address whcih deploys this contrcat is automatically assgined ownership.
     * */
    constructor() public {
        owner = msg.sender;
    }

    /**
     * Functions with this modifier can only be executed by the owner of the contract. 
     * */
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    event OwnershipTransferred(address indexed from, address indexed to);

    /**
    * Transfers ownership to new Ethereum address. This function can only be called by the 
    * owner.
    * @param _newOwner the address to be granted ownership.
    **/
    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != 0x0);
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

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

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    uint256 c = _a * _b;
    require(c / _a == _b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b > 0); // Solidity only automatically asserts when dividing by 0
    uint256 c = _a / _b;
    // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold

    return c;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b <= _a);
    uint256 c = _a - _b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
    uint256 c = _a + _b;
    require(c >= _a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}




contract FOXTWidget is Ownable {
    
    using SafeMath for uint256;
    
    ErcInterface public constant FOXT = ErcInterface(0xFbe878CED08132bd8396988671b450793C44bC12); 
    
    bool public contractFrozen;
    
    uint256 private rate;
    uint256 private purchaseTimeLimit;
    uint256 private txFee;

    mapping (address => uint256) private purchaseDeadlines;
    mapping (address => uint256) private maxPurchase;
    mapping (address => bool) private isBotAddress;
    
    
    address[] private botsOwedTxFees;
    uint256 private indexOfOwedTxFees;
    
    event TokensPurchased(address indexed by, address indexed recipient, uint256 total, uint256 value);
    event RateUpdated(uint256 latestRate);
    
    constructor() public {
        purchaseTimeLimit = 10 minutes;
        txFee = 300e14; //same as 0.03 ETH.
        contractFrozen = false;
        indexOfOwedTxFees = 0;
    }
    
    
    /**
     * Allows the owner to freeze / unfreeze the contract 
     * */
    function toggleFreeze() public onlyOwner {
        contractFrozen = !contractFrozen;
    }
    
    
    /**
     * Allows the owner of the contract to add a bot address
     * */
    function addBotAddress(address _botAddress) public onlyOwner {
        require(!isBotAddress[_botAddress]);
        isBotAddress[_botAddress] = true;
    }
    
    
    /**
     * Allows the owner of the contract to remove a bot address 
     */
    function removeBotAddress(address _botAddress) public onlyOwner  {
        require(isBotAddress[_botAddress]);
        isBotAddress[_botAddress] = false;
    }
    
    
    /**
     * Allows the owner to change the time limit which buyers will have once they
     * have been permitted to buy tokens with the contract update. 
     * 
     * @param _newPurchaseTimeLimit The new time limit which buyers will have to 
     * make a purchase. 
     * 
     * @return true if the function exeutes successfully, false otherwise
     * */
    function changeTimeLimitMinutes(uint256 _newPurchaseTimeLimit) public onlyOwner returns(bool) {
        require(_newPurchaseTimeLimit > 0 && _newPurchaseTimeLimit != purchaseTimeLimit);
        purchaseTimeLimit = _newPurchaseTimeLimit;
        return true;
    }
    
    
    /**
     * Allows the owner to change the fixed transaction fee which will be charged 
     * to the buyers. 
     * 
     * @param _newTxFee The new transaction fee which will be charged to the buyers. 
     * 
     * @return true if the function exeutes successfully, false otherwise
     * */
    function changeTxFee(uint256 _newTxFee) public onlyOwner returns(bool) {
        require(_newTxFee != txFee);
        txFee = _newTxFee;
        return true;
    }
    
    
    /**
     * Functions with this modifier can only be invoked by either one of the bot  
     * addresses or the owner of the contract. 
     * */
    modifier restricted {
        require(isBotAddress[msg.sender] || msg.sender == owner);
        _;
    }
    
    
    /**
     * Allows the bot or the owner of the contract to update the contract (will 
     * usuall by invoked right before a buyer will make a purchase). 
     * 
     * @param _rate The rate at which the FOXT tokens are shwon on Coin Market Cap.
     * @param _purchaser The address of the buyer.
     * @param _ethInvestment The total amoun of ETH the buyer has specified he 
     * or she will send to the contract. 
     * 
     * @return true if the function exeutes successfully, false otherwise
     * */
    function updateContract(uint256 _rate, address _purchaser, uint256 _ethInvestment) public restricted returns(bool){
        require(!contractFrozen);
        require(_purchaser != address(0x0));
        require(_ethInvestment > 0);
        require(_rate != 0);
        if(_rate != rate) {
            rate = _rate;
        }
        maxPurchase[_purchaser] = _ethInvestment;
        purchaseDeadlines[_purchaser] = now.add(purchaseTimeLimit);
        botsOwedTxFees.push(msg.sender);
        emit RateUpdated(rate);
        return true;
    }
    
    
    /**
     * @return The purchaseTimeLimit
     * */
    function getTimePurchase() public view returns(uint256) {
        return purchaseTimeLimit;
    }
    
        /**
     * @return The current rate shown on Coin Market Cap. 
     * */
    function getRate() public view returns(uint256) {
        return rate;
    }
    
    
    
    /**
     * Checks if a purchaser is permitted to make a purchase by checking 
     * the following conditions. 1st condition is that the bot updated the contract 
     * with the purcahser's address no longer than the purchase deadline ago. 2nd 
     * condition is that the purchaser is allowed to make an investment which is 
     * greater than 0. 
     * 
     * @return true if the purchaser is permitted to make a purchase, false 
     * otherwise.
     * */
    function addrCanPurchase(address _purchaser) public view returns(bool) {
        return now < purchaseDeadlines[_purchaser] && maxPurchase[_purchaser] > 0;
    }
    

    /**
     * Allows users to buy FOXT tokens. For the function to execute successfully
     * the following conditions must be met: 1st the purchaser must purcahse the 
     * tokens before the time limit is up (time limit is set when the bot updates
     * the contract). 2nd the purchaser must send at least enough ETH to cover the 
     * txFee to cover the cost of the update, however, if the purchaser sends more 
     * ETH than specified in the update, the purchaser will still get FOXT tokens 
     * but also the remaining ETH will be refunded. 
     * 
     * @param _purchaser The address of the buyer
     * 
     * @return true if the function exeutes successfully, false otherwise
     * */
    function buyTokens(address _purchaser) public payable returns(bool){
        require(!contractFrozen);
        require(addrCanPurchase(_purchaser));
        require(msg.value > txFee);
        uint256 msgVal = msg.value;
        if(msgVal > maxPurchase[_purchaser]) {
            msg.sender.transfer(msg.value.sub(maxPurchase[_purchaser]));
            msgVal = maxPurchase[_purchaser];
        }
        maxPurchase[_purchaser] = 0;
        msgVal = msgVal.sub(txFee);
        botsOwedTxFees[indexOfOwedTxFees].transfer(txFee);
        indexOfOwedTxFees = indexOfOwedTxFees.add(1);
        uint256 toSend = msgVal.mul(rate);
        FOXT.transfer(_purchaser, toSend);
        emit TokensPurchased(msg.sender, _purchaser, toSend, msg.value);
    }
    
    
    /**
     * Fallback function invokes the buyTokens function. 
     * */
    function() public payable {
        buyTokens(msg.sender);
    }
    
    
    /**
     * Allows the owner of the contract to withdraw all ETH.
     * */
    function withdrawETH() public onlyOwner {
        owner.transfer(address(this).balance);
    }
    
    
    /**
     * Allows the owner of the contract to withdraw FOXT tokens.
     * 
     * @param _recipient The address of the receiver.
     * @param _totalTokens The number of FOXT tokens to send. 
     * */
    function withdrawFoxt(address _recipient, uint256 _totalTokens) public onlyOwner {
        FOXT.transfer(_recipient, _totalTokens);
    }
    
    
    /**
     * Allows the owner of the contract to withdraw any ERC20 token.
     * 
     * @param _tokenAddr The contract address of the ERC20 token.
     * @param _recipient The address of the receiver.
     * @param _totalTokens The number of tokens to send
     * */
    function withdrawAnyERC20(address _tokenAddr, address _recipient, uint256 _totalTokens) public onlyOwner {
        ErcInterface token = ErcInterface(_tokenAddr);
        token.transfer(_recipient, _totalTokens);
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"toggleFreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddr","type":"address"},{"name":"_recipient","type":"address"},{"name":"_totalTokens","type":"uint256"}],"name":"withdrawAnyERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_purchaser","type":"address"}],"name":"addrCanPurchase","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newTxFee","type":"uint256"}],"name":"changeTxFee","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTimePurchase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_totalTokens","type":"uint256"}],"name":"withdrawFoxt","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newPurchaseTimeLimit","type":"uint256"}],"name":"changeTimeLimitMinutes","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"FOXT","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_botAddress","type":"address"}],"name":"removeBotAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractFrozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawETH","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_botAddress","type":"address"}],"name":"addBotAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_purchaser","type":"address"}],"name":"buyTokens","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rate","type":"uint256"},{"name":"_purchaser","type":"address"},{"name":"_ethInvestment","type":"uint256"}],"name":"updateContract","outputs":[{"name":"","type":"bool"}],"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":"by","type":"address"},{"indexed":true,"name":"recipient","type":"address"},{"indexed":false,"name":"total","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TokensPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"latestRate","type":"uint256"}],"name":"RateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

608060405234801561001057600080fd5b5060008054610258600255666a94d74f43000060035560a060020a60ff0219600160a060020a03199091163317168155600855610be6806100526000396000f3006080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166334fc259181146100fc57806339785550146101135780635aff59e31461013d578063610103d914610172578063679aefce1461018a5780636f42934d146101b15780638da5cb5b146101c657806397c2a9b7146101f75780639fe81f521461021b578063babbffa314610233578063c31f353714610248578063c79bad4314610269578063e086e5ec1461027e578063e41765de14610293578063ec8ac4d8146102b4578063f2fde38b146102c8578063faabc195146102e9575b6100f933610310565b50005b34801561010857600080fd5b5061011161058a565b005b34801561011f57600080fd5b50610111600160a060020a03600435811690602435166044356105e4565b34801561014957600080fd5b5061015e600160a060020a0360043516610686565b604080519115158252519081900360200190f35b34801561017e57600080fd5b5061015e6004356106c9565b34801561019657600080fd5b5061019f6106f9565b60408051918252519081900360200190f35b3480156101bd57600080fd5b5061019f6106ff565b3480156101d257600080fd5b506101db610705565b60408051600160a060020a039092168252519081900360200190f35b34801561020357600080fd5b50610111600160a060020a0360043516602435610714565b34801561022757600080fd5b5061015e6004356107c2565b34801561023f57600080fd5b506101db610800565b34801561025457600080fd5b50610111600160a060020a0360043516610818565b34801561027557600080fd5b5061015e610877565b34801561028a57600080fd5b50610111610898565b34801561029f57600080fd5b50610111600160a060020a03600435166108ed565b61015e600160a060020a0360043516610310565b3480156102d457600080fd5b50610111600160a060020a036004351661094e565b3480156102f557600080fd5b5061015e600435600160a060020a03602435166044356109e2565b600080548190819074010000000000000000000000000000000000000000900460ff161561033d57600080fd5b61034684610686565b151561035157600080fd5b600354341161035f57600080fd5b600160a060020a0384166000908152600560205260409020543492508211156103f757600160a060020a03841660009081526005602052604090205433906108fc906103b290349063ffffffff610b5516565b6040518115909202916000818181858888f193505050501580156103da573d6000803e3d6000fd5b50600160a060020a03841660009081526005602052604090205491505b600160a060020a03841660009081526005602052604081205560035461042490839063ffffffff610b5516565b9150600760085481548110151561043757fe5b6000918252602082200154600354604051600160a060020a039092169281156108fc029290818181858888f19350505050158015610479573d6000803e3d6000fd5b5060085461048e90600163ffffffff610b7316565b6008556001546104a590839063ffffffff610b8c16565b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038716600482015260248101839052905191925073fbe878ced08132bd8396988671b450793c44bc129163a9059cbb9160448082019260009290919082900301818387803b15801561052457600080fd5b505af1158015610538573d6000803e3d6000fd5b5050604080518481523460208201528151600160a060020a03891694503393507f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b929181900390910190a35050919050565b600054600160a060020a031633146105a157600080fd5b6000805474ff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900460ff1615909102179055565b60008054600160a060020a031633146105fc57600080fd5b50604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152602482018490529151859283169163a9059cbb91604480830192600092919082900301818387803b15801561066857600080fd5b505af115801561067c573d6000803e3d6000fd5b5050505050505050565b600160a060020a038116600090815260046020526040812054421080156106c35750600160a060020a038216600090815260056020526040812054115b92915050565b60008054600160a060020a031633146106e157600080fd5b6003548214156106f057600080fd5b50600355600190565b60015490565b60025490565b600054600160a060020a031681565b600054600160a060020a0316331461072b57600080fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038416600482015260248101839052905173fbe878ced08132bd8396988671b450793c44bc129163a9059cbb91604480830192600092919082900301818387803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050505050565b60008054600160a060020a031633146107da57600080fd5b6000821180156107ec57506002548214155b15156107f757600080fd5b50600255600190565b73fbe878ced08132bd8396988671b450793c44bc1281565b600054600160a060020a0316331461082f57600080fd5b600160a060020a03811660009081526006602052604090205460ff16151561085657600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b60005474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a031633146108af57600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f193505050501580156108ea573d6000803e3d6000fd5b50565b600054600160a060020a0316331461090457600080fd5b600160a060020a03811660009081526006602052604090205460ff161561092a57600080fd5b600160a060020a03166000908152600660205260409020805460ff19166001179055565b600054600160a060020a0316331461096557600080fd5b600160a060020a038116151561097a57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b3360009081526006602052604081205460ff1680610a0a5750600054600160a060020a031633145b1515610a1557600080fd5b60005474010000000000000000000000000000000000000000900460ff1615610a3d57600080fd5b600160a060020a0383161515610a5257600080fd5b60008211610a5f57600080fd5b831515610a6b57600080fd5b6001548414610a7a5760018490555b600160a060020a0383166000908152600560205260409020829055600254610aa990429063ffffffff610b7316565b600160a060020a0384166000908152600460209081526040808320939093556007805460018181018355919093527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909201805473ffffffffffffffffffffffffffffffffffffffff1916331790559054825190815291517fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9281900390910190a15060019392505050565b60008083831115610b6557600080fd5b5050808203805b5092915050565b600082820183811015610b8557600080fd5b9392505050565b600080831515610b9f5760009150610b6c565b50828202828482811515610baf57fe5b0414610b8557600080fd00a165627a7a72305820cf95b4ab133181511b3355a035b5865ce1dd17fa70bf6b001c313a1f64d212ac0029

Deployed Bytecode

0x6080604052600436106100f05763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166334fc259181146100fc57806339785550146101135780635aff59e31461013d578063610103d914610172578063679aefce1461018a5780636f42934d146101b15780638da5cb5b146101c657806397c2a9b7146101f75780639fe81f521461021b578063babbffa314610233578063c31f353714610248578063c79bad4314610269578063e086e5ec1461027e578063e41765de14610293578063ec8ac4d8146102b4578063f2fde38b146102c8578063faabc195146102e9575b6100f933610310565b50005b34801561010857600080fd5b5061011161058a565b005b34801561011f57600080fd5b50610111600160a060020a03600435811690602435166044356105e4565b34801561014957600080fd5b5061015e600160a060020a0360043516610686565b604080519115158252519081900360200190f35b34801561017e57600080fd5b5061015e6004356106c9565b34801561019657600080fd5b5061019f6106f9565b60408051918252519081900360200190f35b3480156101bd57600080fd5b5061019f6106ff565b3480156101d257600080fd5b506101db610705565b60408051600160a060020a039092168252519081900360200190f35b34801561020357600080fd5b50610111600160a060020a0360043516602435610714565b34801561022757600080fd5b5061015e6004356107c2565b34801561023f57600080fd5b506101db610800565b34801561025457600080fd5b50610111600160a060020a0360043516610818565b34801561027557600080fd5b5061015e610877565b34801561028a57600080fd5b50610111610898565b34801561029f57600080fd5b50610111600160a060020a03600435166108ed565b61015e600160a060020a0360043516610310565b3480156102d457600080fd5b50610111600160a060020a036004351661094e565b3480156102f557600080fd5b5061015e600435600160a060020a03602435166044356109e2565b600080548190819074010000000000000000000000000000000000000000900460ff161561033d57600080fd5b61034684610686565b151561035157600080fd5b600354341161035f57600080fd5b600160a060020a0384166000908152600560205260409020543492508211156103f757600160a060020a03841660009081526005602052604090205433906108fc906103b290349063ffffffff610b5516565b6040518115909202916000818181858888f193505050501580156103da573d6000803e3d6000fd5b50600160a060020a03841660009081526005602052604090205491505b600160a060020a03841660009081526005602052604081205560035461042490839063ffffffff610b5516565b9150600760085481548110151561043757fe5b6000918252602082200154600354604051600160a060020a039092169281156108fc029290818181858888f19350505050158015610479573d6000803e3d6000fd5b5060085461048e90600163ffffffff610b7316565b6008556001546104a590839063ffffffff610b8c16565b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038716600482015260248101839052905191925073fbe878ced08132bd8396988671b450793c44bc129163a9059cbb9160448082019260009290919082900301818387803b15801561052457600080fd5b505af1158015610538573d6000803e3d6000fd5b5050604080518481523460208201528151600160a060020a03891694503393507f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b929181900390910190a35050919050565b600054600160a060020a031633146105a157600080fd5b6000805474ff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900460ff1615909102179055565b60008054600160a060020a031633146105fc57600080fd5b50604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152602482018490529151859283169163a9059cbb91604480830192600092919082900301818387803b15801561066857600080fd5b505af115801561067c573d6000803e3d6000fd5b5050505050505050565b600160a060020a038116600090815260046020526040812054421080156106c35750600160a060020a038216600090815260056020526040812054115b92915050565b60008054600160a060020a031633146106e157600080fd5b6003548214156106f057600080fd5b50600355600190565b60015490565b60025490565b600054600160a060020a031681565b600054600160a060020a0316331461072b57600080fd5b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a038416600482015260248101839052905173fbe878ced08132bd8396988671b450793c44bc129163a9059cbb91604480830192600092919082900301818387803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050505050565b60008054600160a060020a031633146107da57600080fd5b6000821180156107ec57506002548214155b15156107f757600080fd5b50600255600190565b73fbe878ced08132bd8396988671b450793c44bc1281565b600054600160a060020a0316331461082f57600080fd5b600160a060020a03811660009081526006602052604090205460ff16151561085657600080fd5b600160a060020a03166000908152600660205260409020805460ff19169055565b60005474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a031633146108af57600080fd5b60008054604051600160a060020a0390911691303180156108fc02929091818181858888f193505050501580156108ea573d6000803e3d6000fd5b50565b600054600160a060020a0316331461090457600080fd5b600160a060020a03811660009081526006602052604090205460ff161561092a57600080fd5b600160a060020a03166000908152600660205260409020805460ff19166001179055565b600054600160a060020a0316331461096557600080fd5b600160a060020a038116151561097a57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b3360009081526006602052604081205460ff1680610a0a5750600054600160a060020a031633145b1515610a1557600080fd5b60005474010000000000000000000000000000000000000000900460ff1615610a3d57600080fd5b600160a060020a0383161515610a5257600080fd5b60008211610a5f57600080fd5b831515610a6b57600080fd5b6001548414610a7a5760018490555b600160a060020a0383166000908152600560205260409020829055600254610aa990429063ffffffff610b7316565b600160a060020a0384166000908152600460209081526040808320939093556007805460018181018355919093527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909201805473ffffffffffffffffffffffffffffffffffffffff1916331790559054825190815291517fe65c987b2e4668e09ba867026921588005b2b2063607a1e7e7d91683c8f91b7b9281900390910190a15060019392505050565b60008083831115610b6557600080fd5b5050808203805b5092915050565b600082820183811015610b8557600080fd5b9392505050565b600080831515610b9f5760009150610b6c565b50828202828482811515610baf57fe5b0414610b8557600080fd00a165627a7a72305820cf95b4ab133181511b3355a035b5865ce1dd17fa70bf6b001c313a1f64d212ac0029

Swarm Source

bzzr://cf95b4ab133181511b3355a035b5865ce1dd17fa70bf6b001c313a1f64d212ac

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  ]
[ 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.