ETH Price: $1,942.92 (-1.57%)
 

Overview

ETH Balance

0.148661661298902276 ETH

Eth Value

$288.84 (@ $1,942.92/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Mutate131303092021-08-31 1:14:101636 days ago1630372450IN
0xf5fCfeA8...F4e2193e0
0.012 ETH0.0260080294.2753712
Mutate131175702021-08-29 1:58:371638 days ago1630202317IN
0xf5fCfeA8...F4e2193e0
0.012 ETH0.0187072967.82896553
Mutate130247462021-08-14 17:53:411653 days ago1628963621IN
0xf5fCfeA8...F4e2193e0
0.011 ETH0.0121569546.97921797
Mutate130247352021-08-14 17:52:331653 days ago1628963553IN
0xf5fCfeA8...F4e2193e0
0.011 ETH0.0129338349.99725465
Infect130247062021-08-14 17:44:321653 days ago1628963072IN
0xf5fCfeA8...F4e2193e0
0 ETH0.0050006555
Mutate130200092021-08-14 0:12:161653 days ago1628899936IN
0xf5fCfeA8...F4e2193e0
0.011 ETH0.0155236260
Mutate130199412021-08-13 23:55:481653 days ago1628898948IN
0xf5fCfeA8...F4e2193e0
0.011 ETH0.0133504648.40369284
Mutate130196322021-08-13 22:48:191653 days ago1628894899IN
0xf5fCfeA8...F4e2193e0
0.01 ETH0.0220829680
Withdraw76287332019-04-24 7:04:512496 days ago1556089491IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000165243
Infect74206672019-03-22 20:29:232529 days ago1553286563IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000055191
Mutate71420472019-01-29 3:18:382581 days ago1548731918IN
0xf5fCfeA8...F4e2193e0
0.01 ETH0.000994864
Infect68158022018-12-03 1:49:252638 days ago1543801765IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000281474.01
Mutate68157322018-12-03 1:27:432638 days ago1543800463IN
0xf5fCfeA8...F4e2193e0
0.01 ETH0.001045264.191
Withdraw68019282018-11-30 18:38:212641 days ago1543603101IN
0xf5fCfeA8...F4e2193e0
0 ETH0.0002446710
Infect68018522018-11-30 18:22:562641 days ago1543602176IN
0xf5fCfeA8...F4e2193e0
0 ETH0.0007019310
Mutate68015962018-11-30 17:27:272641 days ago1543598847IN
0xf5fCfeA8...F4e2193e0
0.014 ETH0.00257511
Mutate68015942018-11-30 17:27:142641 days ago1543598834IN
0xf5fCfeA8...F4e2193e0
0.017 ETH0.0027399711
Infect61644862018-08-17 15:45:542746 days ago1534520754IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000226294.1
Withdraw Excess59400762018-07-10 17:13:392784 days ago1531242819IN
0xf5fCfeA8...F4e2193e0
0 ETH0.0003152910
Infect57699922018-06-11 11:38:192813 days ago1528717099IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000121422.2
Withdraw57662912018-06-10 19:47:242814 days ago1528660044IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000121182.2
Infect57662772018-06-10 19:43:512814 days ago1528659831IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000120383
Infect57662742018-06-10 19:43:272814 days ago1528659807IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000165383
Infect57662592018-06-10 19:39:442814 days ago1528659584IN
0xf5fCfeA8...F4e2193e0
0 ETH0.000210573
Infect57315462018-06-04 15:40:312820 days ago1528126831IN
0xf5fCfeA8...F4e2193e0
0 ETH0.0009371211
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer236309182025-10-22 5:15:11123 days ago1761110111
0xf5fCfeA8...F4e2193e0
0.01011048 ETH
-76287332019-04-24 7:04:512496 days ago1556089491
0xf5fCfeA8...F4e2193e0
0.00251488 ETH
Transfer59400762018-07-10 17:13:392784 days ago1531242819
0xf5fCfeA8...F4e2193e0
0.0351 ETH
Transfer57662912018-06-10 19:47:242814 days ago1528660044
0xf5fCfeA8...F4e2193e0
0.0073088 ETH
Transfer56672382018-05-24 6:12:092831 days ago1527142329
0xf5fCfeA8...F4e2193e0
0.00945376 ETH
Transfer56672282018-05-24 6:09:462831 days ago1527142186
0xf5fCfeA8...F4e2193e0
0.0107233 ETH
Transfer56142232018-05-14 21:11:392840 days ago1526332299
0xf5fCfeA8...F4e2193e0
0.00593023 ETH
Transfer56142092018-05-14 21:07:372840 days ago1526332057
0xf5fCfeA8...F4e2193e0
0.01107239 ETH
Transfer56088672018-05-13 22:23:392841 days ago1526250219
0xf5fCfeA8...F4e2193e0
0.002975 ETH
Transfer55398382018-05-01 21:11:162853 days ago1525209076
0xf5fCfeA8...F4e2193e0
0 ETH
Transfer54829522018-04-22 0:34:312863 days ago1524357271
0xf5fCfeA8...F4e2193e0
0.00060507 ETH
Transfer54791312018-04-21 9:08:532864 days ago1524301733
0xf5fCfeA8...F4e2193e0
0.00152213 ETH
Transfer54789642018-04-21 8:20:532864 days ago1524298853
0xf5fCfeA8...F4e2193e0
0.00369812 ETH
Transfer54439202018-04-15 8:12:142870 days ago1523779934
0xf5fCfeA8...F4e2193e0
0.00221597 ETH
Transfer53809422018-04-04 20:02:372881 days ago1522872157
0xf5fCfeA8...F4e2193e0
0.00134278 ETH
Transfer53809262018-04-04 19:59:202881 days ago1522871960
0xf5fCfeA8...F4e2193e0
0.00154863 ETH
Transfer53586612018-04-01 3:25:202884 days ago1522553120
0xf5fCfeA8...F4e2193e0
0.00013627 ETH
Transfer53579572018-04-01 0:39:322884 days ago1522543172
0xf5fCfeA8...F4e2193e0
0.00054275 ETH
Transfer53430382018-03-29 12:51:282887 days ago1522327888
0xf5fCfeA8...F4e2193e0
0.00000603 ETH
Transfer53424852018-03-29 10:38:392887 days ago1522319919
0xf5fCfeA8...F4e2193e0
0.00046376 ETH
Transfer53211402018-03-25 20:24:002891 days ago1522009440
0xf5fCfeA8...F4e2193e0
0.00026028 ETH
Transfer53203142018-03-25 17:20:112891 days ago1521998411
0xf5fCfeA8...F4e2193e0
0.00033227 ETH
Transfer53162492018-03-25 0:52:042891 days ago1521939124
0xf5fCfeA8...F4e2193e0
0.00031233 ETH
Transfer53126782018-03-24 10:45:522892 days ago1521888352
0xf5fCfeA8...F4e2193e0
0.00271286 ETH
Transfer53092102018-03-23 20:37:372893 days ago1521837457
0xf5fCfeA8...F4e2193e0
0.00029807 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VirusGame

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.4.18;


contract Trigonometry {

    // Table index into the trigonometric table
    uint constant INDEX_WIDTH = 4;
    // Interpolation between successive entries in the tables
    uint constant INTERP_WIDTH = 8;
    uint constant INDEX_OFFSET = 12 - INDEX_WIDTH;
    uint constant INTERP_OFFSET = INDEX_OFFSET - INTERP_WIDTH;
    uint16 constant ANGLES_IN_CYCLE = 16384;
    uint16 constant QUADRANT_HIGH_MASK = 8192;
    uint16 constant QUADRANT_LOW_MASK = 4096;
    uint constant SINE_TABLE_SIZE = 16;

    // constant sine lookup table generated by gen_tables.py
    // We have no other choice but this since constant arrays don't yet exist
    uint8 constant entry_bytes = 2;
    bytes constant sin_table = "\x00\x00\x0c\x8c\x18\xf9\x25\x28\x30\xfb\x3c\x56\x47\x1c\x51\x33\x5a\x82\x62\xf1\x6a\x6d\x70\xe2\x76\x41\x7a\x7c\x7d\x89\x7f\x61\x7f\xff";

    /**
     * Convenience function to apply a mask on an integer to extract a certain
     * number of bits. Using exponents since solidity still does not support
     * shifting.
     *
     * @param _value The integer whose bits we want to get
     * @param _width The width of the bits (in bits) we want to extract
     * @param _offset The offset of the bits (in bits) we want to extract
     * @return An integer containing _width bits of _value starting at the
     *         _offset bit
     */
    function bits(uint _value, uint _width, uint _offset) pure internal returns (uint) {
        return (_value / (2 ** _offset)) & (((2 ** _width)) - 1);
    }

    function sin_table_lookup(uint index) pure internal returns (uint16) {
        bytes memory table = sin_table;
        uint offset = (index + 1) * entry_bytes;
        uint16 trigint_value;
        assembly {
            trigint_value := mload(add(table, offset))
        }

        return trigint_value;
    }

    /**
     * Return the sine of an integer approximated angle as a signed 16-bit
     * integer.
     *
     * @param _angle A 14-bit angle. This divides the circle into 16384
     *               angle units, instead of the standard 360 degrees.
     * @return The sine result as a number in the range -32767 to 32767.
     */
    function sin(uint16 _angle) public pure returns (int) {
        uint interp = bits(_angle, INTERP_WIDTH, INTERP_OFFSET);
        uint index = bits(_angle, INDEX_WIDTH, INDEX_OFFSET);

        bool is_odd_quadrant = (_angle & QUADRANT_LOW_MASK) == 0;
        bool is_negative_quadrant = (_angle & QUADRANT_HIGH_MASK) != 0;

        if (!is_odd_quadrant) {
            index = SINE_TABLE_SIZE - 1 - index;
        }

        uint x1 = sin_table_lookup(index);
        uint x2 = sin_table_lookup(index + 1);
        uint approximation = ((x2 - x1) * interp) / (2 ** INTERP_WIDTH);

        int sine;
        if (is_odd_quadrant) {
            sine = int(x1) + int(approximation);
        } else {
            sine = int(x2) - int(approximation);
        }

        if (is_negative_quadrant) {
            sine *= -1;
        }

        return sine;
    }

    /**
     * Return the cos of an integer approximated angle.
     * It functions just like the sin() method but uses the trigonometric
     * identity sin(x + pi/2) = cos(x) to quickly calculate the cos.
     */
    function cos(uint16 _angle) public pure returns (int) {
        if (_angle > ANGLES_IN_CYCLE - QUADRANT_LOW_MASK) {
            _angle = QUADRANT_LOW_MASK - ANGLES_IN_CYCLE - _angle;
        } else {
            _angle += QUADRANT_LOW_MASK;
        }
        return sin(_angle);
    }

}

library SafeMath {

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // 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 pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

}

contract Ownable {

  address public owner;

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

  function Ownable() public {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}


contract VirusGame is Ownable, Trigonometry {

    using SafeMath for uint256;

    /**
    * Structs
    */

    struct Virus {
        bytes32 name;
        bytes32 parent;
        uint256 potential;
        uint256 infected;
        uint256 infectedPayed;
        uint256 infectedTriggle;
        uint256 lastWithdraw;
        uint256 lastInfected;
        uint256 generation;
        address owner;
    }

    /**
    * State
    */

    uint256 nonce;

    mapping (address => bytes32[]) public virusOwner;

    mapping (bytes32 => Virus) public virus;

    bytes32[] public virusHashes;

    uint256 public totalPopulation;

    uint256 public totalInfected;

    bytes32 public genesisVirus;

    uint256 public totalBalance;

    uint256 public totalPayed;

    /**
    * Modifier
    */

    modifier useNonce() {
        _;
        nonce = nonce.add(1);
    }

    modifier healthyPeople() {
        require(totalPopulation > totalInfected);
        _;
    }

    /**
    * Functions
    */

    event LogMutation(
        bytes32 parentHash,
        bytes32 virusHash
    );

    function mutate(bytes32 _virus, bytes32 _name) payable healthyPeople useNonce public {
        // ensure parent virus exists
        require(virus[_virus].owner != address(0));

        uint costs = virus[_virus].generation.mul(0.001 ether).add(0.01 ether);
        require(msg.value >= costs);

        bytes32 newHash = keccak256(_virus, _name, nonce, msg.sender, now);

        // new potential from virus hash to uint -> sinus or cosinus
        int mutationFactor = sin(uint16(newHash));
        uint uintFactor;
        uint newPotential;

        if (mutationFactor >= 0) {
            uintFactor = uint(mutationFactor);
            newPotential = virus[_virus].potential.mul(
                uintFactor.mul(20).div(32767).add(100)
            ).div(100);
        } else {
            uintFactor = uint(-mutationFactor);
            newPotential = virus[_virus].potential.mul(
                uintFactor.mul(20).div(32767).add(80)
            ).div(100);
        }

        virus[newHash].name = _name;
        virus[newHash].parent = _virus;
        virus[newHash].generation = virus[_virus].generation.add(1);
        virus[newHash].potential = newPotential;
        virus[newHash].lastInfected = now;
        virus[newHash].lastWithdraw = now;
        virus[newHash].owner = msg.sender;

        virusHashes.push(newHash);
        virusOwner[msg.sender].push(newHash);

        totalBalance = totalBalance.add(
            costs.mul(9).div(10)
        );

        LogMutation(
            _virus,
            newHash
        );
    }

    event LogInfection(
        uint infected,
        bytes32 virusHash
    );

    event LogEndOfWorld();

    function infect(bytes32 _virus) healthyPeople public {
        require(virus[_virus].owner == msg.sender);

        // infectedTriggle + potential * delay = infected
        uint delay = now.sub(virus[_virus].lastInfected);

        uint infected = virus[_virus].infectedTriggle.add(
            virus[_virus].potential.mul(delay).div(1 days)
        );
        
        // infectedTriggle from parent must be set to x% of infected
        virus[virus[_virus].parent].infectedTriggle = virus[virus[_virus].parent].infectedTriggle.add(
            infected.div(10)
        );

        totalInfected = totalInfected.add(infected);
        virus[_virus].infected = virus[_virus].infected.add(infected);

        virus[_virus].lastInfected = now;
        virus[_virus].infectedTriggle = 0;

        LogInfection(
            infected,
            _virus
        );

        if (totalPopulation < totalInfected) {
            totalInfected = totalPopulation;
            LogEndOfWorld();
        }
    }

    function withdraw(bytes32 _virus) public {
        require(virus[_virus].owner == msg.sender);

        // only withdraw once a day
        require(now > (virus[_virus].lastWithdraw + 1 days));

        // calculate ether
        uint toBePayed = virus[_virus].infected.sub(virus[_virus].infectedPayed);
        uint amount = totalBalance.div(totalInfected.sub(totalPayed)).mul(toBePayed);

        require(amount <= totalBalance);

        // subtract from total balance
        totalBalance = totalBalance.sub(amount);
        totalPayed = totalPayed.add(toBePayed);

        // send ether
        msg.sender.transfer(amount);

        virus[_virus].infectedPayed = virus[_virus].infected;
        virus[_virus].lastWithdraw = now;
    }

    function withdrawExcess(address _withdraw) onlyOwner public {
        _withdraw.transfer(this.balance.sub(totalBalance));
    }

    /**
    * Getters
    */

    function getVirusLength() public view returns(uint) {
        return virusHashes.length;
    }

    function getOwnerVirusLength(address _owner) public view returns(uint) {
        return virusOwner[_owner].length;
    }

    /**
    * Constructor
    */

    function VirusGame() public {
        totalPopulation = 7000000000;

        genesisVirus = keccak256("Genesis");

        virus[genesisVirus].name = "Genesis";
        virus[genesisVirus].potential = 100;
        virus[genesisVirus].owner = msg.sender;
        virus[genesisVirus].lastInfected = now;

        virusOwner[msg.sender].push(genesisVirus);
        virusHashes.push(genesisVirus);
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"totalInfected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getVirusLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalPopulation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_angle","type":"uint16"}],"name":"cos","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_virus","type":"bytes32"},{"name":"_name","type":"bytes32"}],"name":"mutate","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_virus","type":"bytes32"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"virusHashes","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_withdraw","type":"address"}],"name":"withdrawExcess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_virus","type":"bytes32"}],"name":"infect","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalPayed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"genesisVirus","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"virus","outputs":[{"name":"name","type":"bytes32"},{"name":"parent","type":"bytes32"},{"name":"potential","type":"uint256"},{"name":"infected","type":"uint256"},{"name":"infectedPayed","type":"uint256"},{"name":"infectedTriggle","type":"uint256"},{"name":"lastWithdraw","type":"uint256"},{"name":"lastInfected","type":"uint256"},{"name":"generation","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"virusOwner","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_angle","type":"uint16"}],"name":"sin","outputs":[{"name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getOwnerVirusLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"parentHash","type":"bytes32"},{"indexed":false,"name":"virusHash","type":"bytes32"}],"name":"LogMutation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"infected","type":"uint256"},{"indexed":false,"name":"virusHash","type":"bytes32"}],"name":"LogInfection","type":"event"},{"anonymous":false,"inputs":[],"name":"LogEndOfWorld","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506401a13b860060058190555060405180807f47656e657369730000000000000000000000000000000000000000000000000081525060070190506040518091039020600781600019169055507f47656e657369730000000000000000000000000000000000000000000000000060036000600754600019166000191681526020019081526020016000206000018160001916905550606460036000600754600019166000191681526020019081526020016000206002018190555033600360006007546000191660001916815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600360006007546000191660001916815260200190815260200160002060070181905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281620001e2919062000238565b91600052602060002090016000600754909190915090600019169055506004805480600101828162000215919062000238565b91600052602060002090016000600754909190915090600019169055506200028f565b815481835581811511620002625781836000526020600020918201910162000261919062000267565b5b505050565b6200028c91905b80821115620002885760008160009055506001016200026e565b5090565b90565b611671806200029f6000396000f3006060604052600436106100fb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680620145021461010057806317356c221461012957806325d85e1214610152578063564a6b941461017b5780636103dda6146101b65780638da5cb5b146101df5780638e19899e14610234578063a60080cf1461025b578063ad7a672f1461029a578063affbf593146102c3578063b9ef7835146102fc578063bc57910314610323578063c21ed1121461034c578063ddd686741461037d578063f2fde38b14610433578063f3e2be4a1461046c578063f985779c146104ca578063fa7299f714610505575b600080fd5b341561010b57600080fd5b610113610552565b6040518082815260200191505060405180910390f35b341561013457600080fd5b61013c610558565b6040518082815260200191505060405180910390f35b341561015d57600080fd5b610165610565565b6040518082815260200191505060405180910390f35b341561018657600080fd5b6101a0600480803561ffff1690602001909190505061056b565b6040518082815260200191505060405180910390f35b6101dd600480803560001916906020019091908035600019169060200190919050506105ab565b005b34156101ea57600080fd5b6101f2610b05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b610259600480803560001916906020019091905050610b2a565b005b341561026657600080fd5b61027c6004808035906020019091905050610d56565b60405180826000191660001916815260200191505060405180910390f35b34156102a557600080fd5b6102ad610d7a565b6040518082815260200191505060405180910390f35b34156102ce57600080fd5b6102fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d80565b005b341561030757600080fd5b610321600480803560001916906020019091905050610e49565b005b341561032e57600080fd5b610336611166565b6040518082815260200191505060405180910390f35b341561035757600080fd5b61035f61116c565b60405180826000191660001916815260200191505060405180910390f35b341561038857600080fd5b6103a2600480803560001916906020019091905050611172565b604051808b600019166000191681526020018a600019166000191681526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b341561043e57600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111e6565b005b341561047757600080fd5b6104ac600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061133b565b60405180826000191660001916815260200191505060405180910390f35b34156104d557600080fd5b6104ef600480803561ffff1690602001909190505061136c565b6040518082815260200191505060405180910390f35b341561051057600080fd5b61053c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061145e565b6040518082815260200191505060405180910390f35b60065481565b6000600480549050905090565b60055481565b60006110006140000361ffff168261ffff16111561059357816140006110000303915061059b565b611000820191505b6105a48261136c565b9050919050565b60008060008060006006546005541115156105c557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660036000896000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561063f57600080fd5b610690662386f26fc1000061068266038d7ea4c68000600360008c60001916600019168152602001908152602001600020600801546114aa90919063ffffffff16565b6114e590919063ffffffff16565b94508434101515156106a157600080fd5b8686600154334260405180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018281526020019550505050505060405180910390209350610733846001900461136c565b92506000831215156107c7578291506107c060646107b26107856064610777617fff61076960148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b905061084e565b82600003915061084b606461083d6108106050610802617fff6107f460148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b90505b8560036000866000191660001916815260200190815260200160002060000181600019169055508660036000866000191660001916815260200190815260200160002060010181600019169055506108ce6001600360008a60001916600019168152602001908152602001600020600801546114e590919063ffffffff16565b600360008660001916600019168152602001908152602001600020600801819055508060036000866000191660001916815260200190815260200160002060020181905550426003600086600019166000191681526020019081526020016000206007018190555042600360008660001916600019168152602001908152602001600020600601819055503360036000866000191660001916815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548060010182816109ca91906115e0565b916000526020600020900160008690919091509060001916905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610a3691906115e0565b916000526020600020900160008690919091509060001916905550610a8c610a7b600a610a6d6009896114aa90919063ffffffff16565b61150390919063ffffffff16565b6008546114e590919063ffffffff16565b6008819055507fb42fdf9f3e0b104938f7bc8be10687c7f5cfa1071c6e1a36daf3ef141a092389878560405180836000191660001916815260200182600019166000191681526020019250505060405180910390a1610af6600180546114e590919063ffffffff16565b60018190555050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ba557600080fd5b62015180600360008560001916600019168152602001908152602001600020600601540142111515610bd657600080fd5b610c25600360008560001916600019168152602001908152602001600020600401546003600086600019166000191681526020019081526020016000206003015461151e90919063ffffffff16565b9150610c6482610c56610c4560095460065461151e90919063ffffffff16565b60085461150390919063ffffffff16565b6114aa90919063ffffffff16565b90506008548111151515610c7757600080fd5b610c8c8160085461151e90919063ffffffff16565b600881905550610ca7826009546114e590919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ced57600080fd5b60036000846000191660001916815260200190815260200160002060030154600360008560001916600019168152602001908152602001600020600401819055504260036000856000191660001916815260200190815260200160002060060181905550505050565b600481815481101515610d6557fe5b90600052602060002090016000915090505481565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ddb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc610e216008543073ffffffffffffffffffffffffffffffffffffffff163161151e90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515610e4657600080fd5b50565b600080600654600554111515610e5e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed657600080fd5b610f07600360008560001916600019168152602001908152602001600020600701544261151e90919063ffffffff16565b9150610f7f610f5262015180610f4485600360008960001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b600360008660001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b9050610fe3610f98600a8361150390919063ffffffff16565b600360006003600088600019166000191681526020019081526020016000206001015460001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b60036000600360008760001916600019168152602001908152602001600020600101546000191660001916815260200190815260200160002060050181905550611038816006546114e590919063ffffffff16565b60068190555061106f81600360008660001916600019168152602001908152602001600020600301546114e590919063ffffffff16565b6003600085600019166000191681526020019081526020016000206003018190555042600360008560001916600019168152602001908152602001600020600701819055506000600360008560001916600019168152602001908152602001600020600501819055507f4893d1ffc9fab72cbb26909b127075cacc8ec4462d1bc728453793293282c10181846040518083815260200182600019166000191681526020019250505060405180910390a16006546005541015611161576005546006819055507f1abdf8cf7c03a8728928430ae121c46eec37ec316f12b88f181bce28611294bd60405160405180910390a15b505050565b60095481565b60075481565b60036020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154908060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561127d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528160005260406000208181548110151561135657fe5b9060005260206000209001600091509150505481565b60008060008060008060008060006113908a61ffff166008806004600c0303611537565b97506113a58a61ffff16600480600c03611537565b965060006110008b1661ffff1614955060006120008b1661ffff16141594508515156113d5578660016010030396505b6113de87611559565b61ffff1693506113f060018801611559565b61ffff169250600860020a888585030281151561140957fe5b049150851561141c578184019050611422565b81830390505b841561144e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810290505b8098505050505050505050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008060008414156114bf57600091506114de565b82840290508284828115156114d057fe5b041415156114da57fe5b8091505b5092915050565b60008082840190508381101515156114f957fe5b8091505092915050565b600080828481151561151157fe5b0490508091505092915050565b600082821115151561152c57fe5b818303905092915050565b600060018360020a038260020a8581151561154e57fe5b041690509392505050565b600061156361160c565b600080606060405190810160405280602281526020017d0c8c18f9252830fb3c56471c51335a8262f16a6d70e276417a7c7d897f6181526020017f7fff0000000000000000000000000000000000000000000000000000000000008152509250600260ff1660018601029150818301519050809350505050919050565b815481835581811511611607578183600052602060002091820191016116069190611620565b5b505050565b602060405190810160405280600081525090565b61164291905b8082111561163e576000816000905550600101611626565b5090565b905600a165627a7a72305820a7967a9a75d26cc2134bf9586fc8719a023da87c2a549c0b68c69f2a343e2efc0029

Deployed Bytecode

0x6060604052600436106100fb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680620145021461010057806317356c221461012957806325d85e1214610152578063564a6b941461017b5780636103dda6146101b65780638da5cb5b146101df5780638e19899e14610234578063a60080cf1461025b578063ad7a672f1461029a578063affbf593146102c3578063b9ef7835146102fc578063bc57910314610323578063c21ed1121461034c578063ddd686741461037d578063f2fde38b14610433578063f3e2be4a1461046c578063f985779c146104ca578063fa7299f714610505575b600080fd5b341561010b57600080fd5b610113610552565b6040518082815260200191505060405180910390f35b341561013457600080fd5b61013c610558565b6040518082815260200191505060405180910390f35b341561015d57600080fd5b610165610565565b6040518082815260200191505060405180910390f35b341561018657600080fd5b6101a0600480803561ffff1690602001909190505061056b565b6040518082815260200191505060405180910390f35b6101dd600480803560001916906020019091908035600019169060200190919050506105ab565b005b34156101ea57600080fd5b6101f2610b05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b610259600480803560001916906020019091905050610b2a565b005b341561026657600080fd5b61027c6004808035906020019091905050610d56565b60405180826000191660001916815260200191505060405180910390f35b34156102a557600080fd5b6102ad610d7a565b6040518082815260200191505060405180910390f35b34156102ce57600080fd5b6102fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d80565b005b341561030757600080fd5b610321600480803560001916906020019091905050610e49565b005b341561032e57600080fd5b610336611166565b6040518082815260200191505060405180910390f35b341561035757600080fd5b61035f61116c565b60405180826000191660001916815260200191505060405180910390f35b341561038857600080fd5b6103a2600480803560001916906020019091905050611172565b604051808b600019166000191681526020018a600019166000191681526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b341561043e57600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111e6565b005b341561047757600080fd5b6104ac600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061133b565b60405180826000191660001916815260200191505060405180910390f35b34156104d557600080fd5b6104ef600480803561ffff1690602001909190505061136c565b6040518082815260200191505060405180910390f35b341561051057600080fd5b61053c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061145e565b6040518082815260200191505060405180910390f35b60065481565b6000600480549050905090565b60055481565b60006110006140000361ffff168261ffff16111561059357816140006110000303915061059b565b611000820191505b6105a48261136c565b9050919050565b60008060008060006006546005541115156105c557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660036000896000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561063f57600080fd5b610690662386f26fc1000061068266038d7ea4c68000600360008c60001916600019168152602001908152602001600020600801546114aa90919063ffffffff16565b6114e590919063ffffffff16565b94508434101515156106a157600080fd5b8686600154334260405180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018281526020019550505050505060405180910390209350610733846001900461136c565b92506000831215156107c7578291506107c060646107b26107856064610777617fff61076960148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b905061084e565b82600003915061084b606461083d6108106050610802617fff6107f460148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b90505b8560036000866000191660001916815260200190815260200160002060000181600019169055508660036000866000191660001916815260200190815260200160002060010181600019169055506108ce6001600360008a60001916600019168152602001908152602001600020600801546114e590919063ffffffff16565b600360008660001916600019168152602001908152602001600020600801819055508060036000866000191660001916815260200190815260200160002060020181905550426003600086600019166000191681526020019081526020016000206007018190555042600360008660001916600019168152602001908152602001600020600601819055503360036000866000191660001916815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548060010182816109ca91906115e0565b916000526020600020900160008690919091509060001916905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610a3691906115e0565b916000526020600020900160008690919091509060001916905550610a8c610a7b600a610a6d6009896114aa90919063ffffffff16565b61150390919063ffffffff16565b6008546114e590919063ffffffff16565b6008819055507fb42fdf9f3e0b104938f7bc8be10687c7f5cfa1071c6e1a36daf3ef141a092389878560405180836000191660001916815260200182600019166000191681526020019250505060405180910390a1610af6600180546114e590919063ffffffff16565b60018190555050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ba557600080fd5b62015180600360008560001916600019168152602001908152602001600020600601540142111515610bd657600080fd5b610c25600360008560001916600019168152602001908152602001600020600401546003600086600019166000191681526020019081526020016000206003015461151e90919063ffffffff16565b9150610c6482610c56610c4560095460065461151e90919063ffffffff16565b60085461150390919063ffffffff16565b6114aa90919063ffffffff16565b90506008548111151515610c7757600080fd5b610c8c8160085461151e90919063ffffffff16565b600881905550610ca7826009546114e590919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ced57600080fd5b60036000846000191660001916815260200190815260200160002060030154600360008560001916600019168152602001908152602001600020600401819055504260036000856000191660001916815260200190815260200160002060060181905550505050565b600481815481101515610d6557fe5b90600052602060002090016000915090505481565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ddb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc610e216008543073ffffffffffffffffffffffffffffffffffffffff163161151e90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515610e4657600080fd5b50565b600080600654600554111515610e5e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed657600080fd5b610f07600360008560001916600019168152602001908152602001600020600701544261151e90919063ffffffff16565b9150610f7f610f5262015180610f4485600360008960001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b600360008660001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b9050610fe3610f98600a8361150390919063ffffffff16565b600360006003600088600019166000191681526020019081526020016000206001015460001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b60036000600360008760001916600019168152602001908152602001600020600101546000191660001916815260200190815260200160002060050181905550611038816006546114e590919063ffffffff16565b60068190555061106f81600360008660001916600019168152602001908152602001600020600301546114e590919063ffffffff16565b6003600085600019166000191681526020019081526020016000206003018190555042600360008560001916600019168152602001908152602001600020600701819055506000600360008560001916600019168152602001908152602001600020600501819055507f4893d1ffc9fab72cbb26909b127075cacc8ec4462d1bc728453793293282c10181846040518083815260200182600019166000191681526020019250505060405180910390a16006546005541015611161576005546006819055507f1abdf8cf7c03a8728928430ae121c46eec37ec316f12b88f181bce28611294bd60405160405180910390a15b505050565b60095481565b60075481565b60036020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154908060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561127d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528160005260406000208181548110151561135657fe5b9060005260206000209001600091509150505481565b60008060008060008060008060006113908a61ffff166008806004600c0303611537565b97506113a58a61ffff16600480600c03611537565b965060006110008b1661ffff1614955060006120008b1661ffff16141594508515156113d5578660016010030396505b6113de87611559565b61ffff1693506113f060018801611559565b61ffff169250600860020a888585030281151561140957fe5b049150851561141c578184019050611422565b81830390505b841561144e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810290505b8098505050505050505050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008060008414156114bf57600091506114de565b82840290508284828115156114d057fe5b041415156114da57fe5b8091505b5092915050565b60008082840190508381101515156114f957fe5b8091505092915050565b600080828481151561151157fe5b0490508091505092915050565b600082821115151561152c57fe5b818303905092915050565b600060018360020a038260020a8581151561154e57fe5b041690509392505050565b600061156361160c565b600080606060405190810160405280602281526020017d0c8c18f9252830fb3c56471c51335a8262f16a6d70e276417a7c7d897f6181526020017f7fff0000000000000000000000000000000000000000000000000000000000008152509250600260ff1660018601029150818301519050809350505050919050565b815481835581811511611607578183600052602060002091820191016116069190611620565b5b505050565b602060405190810160405280600081525090565b61164291905b8082111561163e576000816000905550600101611626565b5090565b905600a165627a7a72305820a7967a9a75d26cc2134bf9586fc8719a023da87c2a549c0b68c69f2a343e2efc0029

Swarm Source

bzzr://a7967a9a75d26cc2134bf9586fc8719a023da87c2a549c0b68c69f2a343e2efc

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.