Source Code
Latest 25 from a total of 2,014 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Mutate | 13130309 | 1636 days ago | IN | 0.012 ETH | 0.02600802 | ||||
| Mutate | 13117570 | 1638 days ago | IN | 0.012 ETH | 0.01870729 | ||||
| Mutate | 13024746 | 1653 days ago | IN | 0.011 ETH | 0.01215695 | ||||
| Mutate | 13024735 | 1653 days ago | IN | 0.011 ETH | 0.01293383 | ||||
| Infect | 13024706 | 1653 days ago | IN | 0 ETH | 0.00500065 | ||||
| Mutate | 13020009 | 1653 days ago | IN | 0.011 ETH | 0.01552362 | ||||
| Mutate | 13019941 | 1653 days ago | IN | 0.011 ETH | 0.01335046 | ||||
| Mutate | 13019632 | 1653 days ago | IN | 0.01 ETH | 0.02208296 | ||||
| Withdraw | 7628733 | 2496 days ago | IN | 0 ETH | 0.00016524 | ||||
| Infect | 7420667 | 2529 days ago | IN | 0 ETH | 0.00005519 | ||||
| Mutate | 7142047 | 2581 days ago | IN | 0.01 ETH | 0.00099486 | ||||
| Infect | 6815802 | 2638 days ago | IN | 0 ETH | 0.00028147 | ||||
| Mutate | 6815732 | 2638 days ago | IN | 0.01 ETH | 0.00104526 | ||||
| Withdraw | 6801928 | 2641 days ago | IN | 0 ETH | 0.00024467 | ||||
| Infect | 6801852 | 2641 days ago | IN | 0 ETH | 0.00070193 | ||||
| Mutate | 6801596 | 2641 days ago | IN | 0.014 ETH | 0.002575 | ||||
| Mutate | 6801594 | 2641 days ago | IN | 0.017 ETH | 0.00273997 | ||||
| Infect | 6164486 | 2746 days ago | IN | 0 ETH | 0.00022629 | ||||
| Withdraw Excess | 5940076 | 2784 days ago | IN | 0 ETH | 0.00031529 | ||||
| Infect | 5769992 | 2813 days ago | IN | 0 ETH | 0.00012142 | ||||
| Withdraw | 5766291 | 2814 days ago | IN | 0 ETH | 0.00012118 | ||||
| Infect | 5766277 | 2814 days ago | IN | 0 ETH | 0.00012038 | ||||
| Infect | 5766274 | 2814 days ago | IN | 0 ETH | 0.00016538 | ||||
| Infect | 5766259 | 2814 days ago | IN | 0 ETH | 0.00021057 | ||||
| Infect | 5731546 | 2820 days ago | IN | 0 ETH | 0.00093712 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23630918 | 123 days ago | 0.01011048 ETH | ||||
| - | 7628733 | 2496 days ago | 0.00251488 ETH | ||||
| Transfer | 5940076 | 2784 days ago | 0.0351 ETH | ||||
| Transfer | 5766291 | 2814 days ago | 0.0073088 ETH | ||||
| Transfer | 5667238 | 2831 days ago | 0.00945376 ETH | ||||
| Transfer | 5667228 | 2831 days ago | 0.0107233 ETH | ||||
| Transfer | 5614223 | 2840 days ago | 0.00593023 ETH | ||||
| Transfer | 5614209 | 2840 days ago | 0.01107239 ETH | ||||
| Transfer | 5608867 | 2841 days ago | 0.002975 ETH | ||||
| Transfer | 5539838 | 2853 days ago | 0 ETH | ||||
| Transfer | 5482952 | 2863 days ago | 0.00060507 ETH | ||||
| Transfer | 5479131 | 2864 days ago | 0.00152213 ETH | ||||
| Transfer | 5478964 | 2864 days ago | 0.00369812 ETH | ||||
| Transfer | 5443920 | 2870 days ago | 0.00221597 ETH | ||||
| Transfer | 5380942 | 2881 days ago | 0.00134278 ETH | ||||
| Transfer | 5380926 | 2881 days ago | 0.00154863 ETH | ||||
| Transfer | 5358661 | 2884 days ago | 0.00013627 ETH | ||||
| Transfer | 5357957 | 2884 days ago | 0.00054275 ETH | ||||
| Transfer | 5343038 | 2887 days ago | 0.00000603 ETH | ||||
| Transfer | 5342485 | 2887 days ago | 0.00046376 ETH | ||||
| Transfer | 5321140 | 2891 days ago | 0.00026028 ETH | ||||
| Transfer | 5320314 | 2891 days ago | 0.00033227 ETH | ||||
| Transfer | 5316249 | 2891 days ago | 0.00031233 ETH | ||||
| Transfer | 5312678 | 2892 days ago | 0.00271286 ETH | ||||
| Transfer | 5309210 | 2893 days ago | 0.00029807 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VirusGame
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506401a13b860060058190555060405180807f47656e657369730000000000000000000000000000000000000000000000000081525060070190506040518091039020600781600019169055507f47656e657369730000000000000000000000000000000000000000000000000060036000600754600019166000191681526020019081526020016000206000018160001916905550606460036000600754600019166000191681526020019081526020016000206002018190555033600360006007546000191660001916815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600360006007546000191660001916815260200190815260200160002060070181905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281620001e2919062000238565b91600052602060002090016000600754909190915090600019169055506004805480600101828162000215919062000238565b91600052602060002090016000600754909190915090600019169055506200028f565b815481835581811511620002625781836000526020600020918201910162000261919062000267565b5b505050565b6200028c91905b80821115620002885760008160009055506001016200026e565b5090565b90565b611671806200029f6000396000f3006060604052600436106100fb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680620145021461010057806317356c221461012957806325d85e1214610152578063564a6b941461017b5780636103dda6146101b65780638da5cb5b146101df5780638e19899e14610234578063a60080cf1461025b578063ad7a672f1461029a578063affbf593146102c3578063b9ef7835146102fc578063bc57910314610323578063c21ed1121461034c578063ddd686741461037d578063f2fde38b14610433578063f3e2be4a1461046c578063f985779c146104ca578063fa7299f714610505575b600080fd5b341561010b57600080fd5b610113610552565b6040518082815260200191505060405180910390f35b341561013457600080fd5b61013c610558565b6040518082815260200191505060405180910390f35b341561015d57600080fd5b610165610565565b6040518082815260200191505060405180910390f35b341561018657600080fd5b6101a0600480803561ffff1690602001909190505061056b565b6040518082815260200191505060405180910390f35b6101dd600480803560001916906020019091908035600019169060200190919050506105ab565b005b34156101ea57600080fd5b6101f2610b05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b610259600480803560001916906020019091905050610b2a565b005b341561026657600080fd5b61027c6004808035906020019091905050610d56565b60405180826000191660001916815260200191505060405180910390f35b34156102a557600080fd5b6102ad610d7a565b6040518082815260200191505060405180910390f35b34156102ce57600080fd5b6102fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d80565b005b341561030757600080fd5b610321600480803560001916906020019091905050610e49565b005b341561032e57600080fd5b610336611166565b6040518082815260200191505060405180910390f35b341561035757600080fd5b61035f61116c565b60405180826000191660001916815260200191505060405180910390f35b341561038857600080fd5b6103a2600480803560001916906020019091905050611172565b604051808b600019166000191681526020018a600019166000191681526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b341561043e57600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111e6565b005b341561047757600080fd5b6104ac600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061133b565b60405180826000191660001916815260200191505060405180910390f35b34156104d557600080fd5b6104ef600480803561ffff1690602001909190505061136c565b6040518082815260200191505060405180910390f35b341561051057600080fd5b61053c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061145e565b6040518082815260200191505060405180910390f35b60065481565b6000600480549050905090565b60055481565b60006110006140000361ffff168261ffff16111561059357816140006110000303915061059b565b611000820191505b6105a48261136c565b9050919050565b60008060008060006006546005541115156105c557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660036000896000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561063f57600080fd5b610690662386f26fc1000061068266038d7ea4c68000600360008c60001916600019168152602001908152602001600020600801546114aa90919063ffffffff16565b6114e590919063ffffffff16565b94508434101515156106a157600080fd5b8686600154334260405180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018281526020019550505050505060405180910390209350610733846001900461136c565b92506000831215156107c7578291506107c060646107b26107856064610777617fff61076960148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b905061084e565b82600003915061084b606461083d6108106050610802617fff6107f460148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b90505b8560036000866000191660001916815260200190815260200160002060000181600019169055508660036000866000191660001916815260200190815260200160002060010181600019169055506108ce6001600360008a60001916600019168152602001908152602001600020600801546114e590919063ffffffff16565b600360008660001916600019168152602001908152602001600020600801819055508060036000866000191660001916815260200190815260200160002060020181905550426003600086600019166000191681526020019081526020016000206007018190555042600360008660001916600019168152602001908152602001600020600601819055503360036000866000191660001916815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548060010182816109ca91906115e0565b916000526020600020900160008690919091509060001916905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610a3691906115e0565b916000526020600020900160008690919091509060001916905550610a8c610a7b600a610a6d6009896114aa90919063ffffffff16565b61150390919063ffffffff16565b6008546114e590919063ffffffff16565b6008819055507fb42fdf9f3e0b104938f7bc8be10687c7f5cfa1071c6e1a36daf3ef141a092389878560405180836000191660001916815260200182600019166000191681526020019250505060405180910390a1610af6600180546114e590919063ffffffff16565b60018190555050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ba557600080fd5b62015180600360008560001916600019168152602001908152602001600020600601540142111515610bd657600080fd5b610c25600360008560001916600019168152602001908152602001600020600401546003600086600019166000191681526020019081526020016000206003015461151e90919063ffffffff16565b9150610c6482610c56610c4560095460065461151e90919063ffffffff16565b60085461150390919063ffffffff16565b6114aa90919063ffffffff16565b90506008548111151515610c7757600080fd5b610c8c8160085461151e90919063ffffffff16565b600881905550610ca7826009546114e590919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ced57600080fd5b60036000846000191660001916815260200190815260200160002060030154600360008560001916600019168152602001908152602001600020600401819055504260036000856000191660001916815260200190815260200160002060060181905550505050565b600481815481101515610d6557fe5b90600052602060002090016000915090505481565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ddb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc610e216008543073ffffffffffffffffffffffffffffffffffffffff163161151e90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515610e4657600080fd5b50565b600080600654600554111515610e5e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed657600080fd5b610f07600360008560001916600019168152602001908152602001600020600701544261151e90919063ffffffff16565b9150610f7f610f5262015180610f4485600360008960001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b600360008660001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b9050610fe3610f98600a8361150390919063ffffffff16565b600360006003600088600019166000191681526020019081526020016000206001015460001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b60036000600360008760001916600019168152602001908152602001600020600101546000191660001916815260200190815260200160002060050181905550611038816006546114e590919063ffffffff16565b60068190555061106f81600360008660001916600019168152602001908152602001600020600301546114e590919063ffffffff16565b6003600085600019166000191681526020019081526020016000206003018190555042600360008560001916600019168152602001908152602001600020600701819055506000600360008560001916600019168152602001908152602001600020600501819055507f4893d1ffc9fab72cbb26909b127075cacc8ec4462d1bc728453793293282c10181846040518083815260200182600019166000191681526020019250505060405180910390a16006546005541015611161576005546006819055507f1abdf8cf7c03a8728928430ae121c46eec37ec316f12b88f181bce28611294bd60405160405180910390a15b505050565b60095481565b60075481565b60036020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154908060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561127d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528160005260406000208181548110151561135657fe5b9060005260206000209001600091509150505481565b60008060008060008060008060006113908a61ffff166008806004600c0303611537565b97506113a58a61ffff16600480600c03611537565b965060006110008b1661ffff1614955060006120008b1661ffff16141594508515156113d5578660016010030396505b6113de87611559565b61ffff1693506113f060018801611559565b61ffff169250600860020a888585030281151561140957fe5b049150851561141c578184019050611422565b81830390505b841561144e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810290505b8098505050505050505050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008060008414156114bf57600091506114de565b82840290508284828115156114d057fe5b041415156114da57fe5b8091505b5092915050565b60008082840190508381101515156114f957fe5b8091505092915050565b600080828481151561151157fe5b0490508091505092915050565b600082821115151561152c57fe5b818303905092915050565b600060018360020a038260020a8581151561154e57fe5b041690509392505050565b600061156361160c565b600080606060405190810160405280602281526020017d0c8c18f9252830fb3c56471c51335a8262f16a6d70e276417a7c7d897f6181526020017f7fff0000000000000000000000000000000000000000000000000000000000008152509250600260ff1660018601029150818301519050809350505050919050565b815481835581811511611607578183600052602060002091820191016116069190611620565b5b505050565b602060405190810160405280600081525090565b61164291905b8082111561163e576000816000905550600101611626565b5090565b905600a165627a7a72305820a7967a9a75d26cc2134bf9586fc8719a023da87c2a549c0b68c69f2a343e2efc0029
Deployed Bytecode
0x6060604052600436106100fb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680620145021461010057806317356c221461012957806325d85e1214610152578063564a6b941461017b5780636103dda6146101b65780638da5cb5b146101df5780638e19899e14610234578063a60080cf1461025b578063ad7a672f1461029a578063affbf593146102c3578063b9ef7835146102fc578063bc57910314610323578063c21ed1121461034c578063ddd686741461037d578063f2fde38b14610433578063f3e2be4a1461046c578063f985779c146104ca578063fa7299f714610505575b600080fd5b341561010b57600080fd5b610113610552565b6040518082815260200191505060405180910390f35b341561013457600080fd5b61013c610558565b6040518082815260200191505060405180910390f35b341561015d57600080fd5b610165610565565b6040518082815260200191505060405180910390f35b341561018657600080fd5b6101a0600480803561ffff1690602001909190505061056b565b6040518082815260200191505060405180910390f35b6101dd600480803560001916906020019091908035600019169060200190919050506105ab565b005b34156101ea57600080fd5b6101f2610b05565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b610259600480803560001916906020019091905050610b2a565b005b341561026657600080fd5b61027c6004808035906020019091905050610d56565b60405180826000191660001916815260200191505060405180910390f35b34156102a557600080fd5b6102ad610d7a565b6040518082815260200191505060405180910390f35b34156102ce57600080fd5b6102fa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d80565b005b341561030757600080fd5b610321600480803560001916906020019091905050610e49565b005b341561032e57600080fd5b610336611166565b6040518082815260200191505060405180910390f35b341561035757600080fd5b61035f61116c565b60405180826000191660001916815260200191505060405180910390f35b341561038857600080fd5b6103a2600480803560001916906020019091905050611172565b604051808b600019166000191681526020018a600019166000191681526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019a505050505050505050505060405180910390f35b341561043e57600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111e6565b005b341561047757600080fd5b6104ac600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061133b565b60405180826000191660001916815260200191505060405180910390f35b34156104d557600080fd5b6104ef600480803561ffff1690602001909190505061136c565b6040518082815260200191505060405180910390f35b341561051057600080fd5b61053c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061145e565b6040518082815260200191505060405180910390f35b60065481565b6000600480549050905090565b60055481565b60006110006140000361ffff168261ffff16111561059357816140006110000303915061059b565b611000820191505b6105a48261136c565b9050919050565b60008060008060006006546005541115156105c557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff1660036000896000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561063f57600080fd5b610690662386f26fc1000061068266038d7ea4c68000600360008c60001916600019168152602001908152602001600020600801546114aa90919063ffffffff16565b6114e590919063ffffffff16565b94508434101515156106a157600080fd5b8686600154334260405180866000191660001916815260200185600019166000191681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018281526020019550505050505060405180910390209350610733846001900461136c565b92506000831215156107c7578291506107c060646107b26107856064610777617fff61076960148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b905061084e565b82600003915061084b606461083d6108106050610802617fff6107f460148a6114aa90919063ffffffff16565b61150390919063ffffffff16565b6114e590919063ffffffff16565b600360008c60001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b90505b8560036000866000191660001916815260200190815260200160002060000181600019169055508660036000866000191660001916815260200190815260200160002060010181600019169055506108ce6001600360008a60001916600019168152602001908152602001600020600801546114e590919063ffffffff16565b600360008660001916600019168152602001908152602001600020600801819055508060036000866000191660001916815260200190815260200160002060020181905550426003600086600019166000191681526020019081526020016000206007018190555042600360008660001916600019168152602001908152602001600020600601819055503360036000866000191660001916815260200190815260200160002060090160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600480548060010182816109ca91906115e0565b916000526020600020900160008690919091509060001916905550600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610a3691906115e0565b916000526020600020900160008690919091509060001916905550610a8c610a7b600a610a6d6009896114aa90919063ffffffff16565b61150390919063ffffffff16565b6008546114e590919063ffffffff16565b6008819055507fb42fdf9f3e0b104938f7bc8be10687c7f5cfa1071c6e1a36daf3ef141a092389878560405180836000191660001916815260200182600019166000191681526020019250505060405180910390a1610af6600180546114e590919063ffffffff16565b60018190555050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ba557600080fd5b62015180600360008560001916600019168152602001908152602001600020600601540142111515610bd657600080fd5b610c25600360008560001916600019168152602001908152602001600020600401546003600086600019166000191681526020019081526020016000206003015461151e90919063ffffffff16565b9150610c6482610c56610c4560095460065461151e90919063ffffffff16565b60085461150390919063ffffffff16565b6114aa90919063ffffffff16565b90506008548111151515610c7757600080fd5b610c8c8160085461151e90919063ffffffff16565b600881905550610ca7826009546114e590919063ffffffff16565b6009819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ced57600080fd5b60036000846000191660001916815260200190815260200160002060030154600360008560001916600019168152602001908152602001600020600401819055504260036000856000191660001916815260200190815260200160002060060181905550505050565b600481815481101515610d6557fe5b90600052602060002090016000915090505481565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ddb57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc610e216008543073ffffffffffffffffffffffffffffffffffffffff163161151e90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515610e4657600080fd5b50565b600080600654600554111515610e5e57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1660036000856000191660001916815260200190815260200160002060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610ed657600080fd5b610f07600360008560001916600019168152602001908152602001600020600701544261151e90919063ffffffff16565b9150610f7f610f5262015180610f4485600360008960001916600019168152602001908152602001600020600201546114aa90919063ffffffff16565b61150390919063ffffffff16565b600360008660001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b9050610fe3610f98600a8361150390919063ffffffff16565b600360006003600088600019166000191681526020019081526020016000206001015460001916600019168152602001908152602001600020600501546114e590919063ffffffff16565b60036000600360008760001916600019168152602001908152602001600020600101546000191660001916815260200190815260200160002060050181905550611038816006546114e590919063ffffffff16565b60068190555061106f81600360008660001916600019168152602001908152602001600020600301546114e590919063ffffffff16565b6003600085600019166000191681526020019081526020016000206003018190555042600360008560001916600019168152602001908152602001600020600701819055506000600360008560001916600019168152602001908152602001600020600501819055507f4893d1ffc9fab72cbb26909b127075cacc8ec4462d1bc728453793293282c10181846040518083815260200182600019166000191681526020019250505060405180910390a16006546005541015611161576005546006819055507f1abdf8cf7c03a8728928430ae121c46eec37ec316f12b88f181bce28611294bd60405160405180910390a15b505050565b60095481565b60075481565b60036020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154908060090160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508a565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561124157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561127d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528160005260406000208181548110151561135657fe5b9060005260206000209001600091509150505481565b60008060008060008060008060006113908a61ffff166008806004600c0303611537565b97506113a58a61ffff16600480600c03611537565b965060006110008b1661ffff1614955060006120008b1661ffff16141594508515156113d5578660016010030396505b6113de87611559565b61ffff1693506113f060018801611559565b61ffff169250600860020a888585030281151561140957fe5b049150851561141c578184019050611422565b81830390505b841561144e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810290505b8098505050505050505050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60008060008414156114bf57600091506114de565b82840290508284828115156114d057fe5b041415156114da57fe5b8091505b5092915050565b60008082840190508381101515156114f957fe5b8091505092915050565b600080828481151561151157fe5b0490508091505092915050565b600082821115151561152c57fe5b818303905092915050565b600060018360020a038260020a8581151561154e57fe5b041690509392505050565b600061156361160c565b600080606060405190810160405280602281526020017d0c8c18f9252830fb3c56471c51335a8262f16a6d70e276417a7c7d897f6181526020017f7fff0000000000000000000000000000000000000000000000000000000000008152509250600260ff1660018601029150818301519050809350505050919050565b815481835581811511611607578183600052602060002091820191016116069190611620565b5b505050565b602060405190810160405280600081525090565b61164291905b8082111561163e576000816000905550600101611626565b5090565b905600a165627a7a72305820a7967a9a75d26cc2134bf9586fc8719a023da87c2a549c0b68c69f2a343e2efc0029
Swarm Source
bzzr://a7967a9a75d26cc2134bf9586fc8719a023da87c2a549c0b68c69f2a343e2efc
Loading...
Loading
Loading...
Loading
Net Worth in USD
$288.84
Net Worth in ETH
0.148662
Token Allocations
ETH
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $1,942.92 | 0.1487 | $288.84 |
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.