ETH Price: $3,405.59 (+2.10%)

Token

POWHShadow (PWHS)
 

Overview

Max Total Supply

109,799,744,125,080,325,349,761,958,868.307074520275459145 PWHS

Holders

61

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
377542910078399878546002143638479323114... PWHS

Value
$0.00
0x244a0b038c75d32d7f1638d5c400a6b10fadb0d2
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PonziToken

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.18;

// If you wanna escape this contract REALLY FAST
// 1. open MEW/METAMASK
// 2. Put this as data: 0xb1e35242
// 3. send 150000+ gas
// That calls the getMeOutOfHere() method
// Remember, cashout fee is 10% :^)

// PROOF OF STEEL HANDS Version, 10% Fee on Purchase and Sell
contract PonziToken {
	uint256 constant PRECISION = 0x10000000000000000;  // 2^64
	// CRR = 50%
	int constant CRRN = 1;
	int constant CRRD = 2;
	// The price coefficient. Chosen such that at 1 token total supply
	// the reserve is 0.5ether and price 1 ether/token.
	// stop being a memelord no this does not mean only 50% of people can cash out
	int constant LOGC = -0x296ABF784A358468C;
	
	string constant public name = "POWHShadow";
	string constant public symbol = "PWHS";
	uint8 constant public decimals = 18;
	uint256 public totalSupply;
	// amount of shares for each address (scaled number)
	mapping(address => uint256) public balanceOfOld;
	// allowance map, see erc20
	mapping(address => mapping(address => uint256)) public allowance;
	// amount payed out for each address (scaled number)
	mapping(address => int256) payouts;
	// sum of all payouts (scaled number)
	int256 totalPayouts;
	// amount earned for each share (scaled number)
	uint256 earningsPerShare;
	
	event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

	//address owner;

	function PonziToken() public {
		//owner = msg.sender;
	}
	
	// These are functions solely created to appease the frontend
	function balanceOf(address _owner) public constant returns (uint256 balance) {
        return balanceOfOld[_owner];
    }

	function withdraw(uint tokenCount) // the parameter is ignored, yes
      public
      returns (bool)
    {
		var balance = dividends(msg.sender);
		payouts[msg.sender] += (int256) (balance * PRECISION);
		totalPayouts += (int256) (balance * PRECISION);
		msg.sender.transfer(balance);
		return true;
    }
	
	function sellMyTokensDaddy() public {
		var balance = balanceOf(msg.sender);
		transferTokens(msg.sender, address(this),  balance); // this triggers the internal sell function
	}

    function getMeOutOfHere() public {
		sellMyTokensDaddy();
        withdraw(1); // parameter is ignored
	}
	
	function fund()
      public
      payable 
      returns (bool)
    {
      if (msg.value > 0.000001 ether)
			buy();
		else
			return false;
	  
      return true;
    }

	function buyPrice() public constant returns (uint) {
		return getTokensForEther(1 finney);
	}
	
	function sellPrice() public constant returns (uint) {
		return getEtherForTokens(1 finney);
	}

	// End of useless functions

	// Invariants
	// totalPayout/Supply correct:
	//   totalPayouts = \sum_{addr:address} payouts(addr)
	//   totalSupply  = \sum_{addr:address} balanceOfOld(addr)
	// dividends not negative:
	//   \forall addr:address. payouts[addr] <= earningsPerShare * balanceOfOld[addr]
	// supply/reserve correlation:
	//   totalSupply ~= exp(LOGC + CRRN/CRRD*log(reserve())
	//   i.e. totalSupply = C * reserve()**CRR
	// reserve equals balance minus payouts
	//   reserve() = this.balance - \sum_{addr:address} dividends(addr)

	function transferTokens(address _from, address _to, uint256 _value) internal {
		if (balanceOfOld[_from] < _value)
			revert();
		if (_to == address(this)) {
			sell(_value);
		} else {
		    int256 payoutDiff = (int256) (earningsPerShare * _value);
		    balanceOfOld[_from] -= _value;
		    balanceOfOld[_to] += _value;
		    payouts[_from] -= payoutDiff;
		    payouts[_to] += payoutDiff;
		}
		Transfer(_from, _to, _value);
	}
	
	function transfer(address _to, uint256 _value) public {
	    transferTokens(msg.sender, _to,  _value);
	}
	
    function transferFrom(address _from, address _to, uint256 _value) public {
        var _allowance = allowance[_from][msg.sender];
        if (_allowance < _value)
            revert();
        allowance[_from][msg.sender] = _allowance - _value;
        transferTokens(_from, _to, _value);
    }

    function approve(address _spender, uint256 _value) public {
        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        if ((_value != 0) && (allowance[msg.sender][_spender] != 0)) revert();
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
    }

	function dividends(address _owner) public constant returns (uint256 amount) {
		return (uint256) ((int256)(earningsPerShare * balanceOfOld[_owner]) - payouts[_owner]) / PRECISION;
	}

	function withdrawOld(address to) public {
		var balance = dividends(msg.sender);
		payouts[msg.sender] += (int256) (balance * PRECISION);
		totalPayouts += (int256) (balance * PRECISION);
		to.transfer(balance);
	}

	function balance() internal constant returns (uint256 amount) {
		return this.balance - msg.value;
	}
	function reserve() public constant returns (uint256 amount) {
		return balance()
			- ((uint256) ((int256) (earningsPerShare * totalSupply) - totalPayouts) / PRECISION) - 1;
	}

	function buy() internal {
		if (msg.value < 0.000001 ether || msg.value > 1000000 ether)
			revert();
		var sender = msg.sender;
		// 10 % of the amount is used to pay holders.
		var fee = (uint)(msg.value / 10);
		
		// compute number of bought tokens
		var numEther = msg.value - fee;
		var numTokens = getTokensForEther(numEther);

		var buyerfee = fee * PRECISION;
		if (totalSupply > 0) {
			// compute how the fee distributed to previous holders and buyer.
			// The buyer already gets a part of the fee as if he would buy each token separately.
			var holderreward =
			    (PRECISION - (reserve() + numEther) * numTokens * PRECISION / (totalSupply + numTokens) / numEther)
			    * (uint)(CRRD) / (uint)(CRRD-CRRN);
			var holderfee = fee * holderreward;
			buyerfee -= holderfee;
		
			// Fee is distributed to all existing tokens before buying
			var feePerShare = holderfee / totalSupply;
			earningsPerShare += feePerShare;
		}
		// add numTokens to total supply
		totalSupply += numTokens;
		// add numTokens to balance
		balanceOfOld[sender] += numTokens;
		// fix payouts so that sender doesn't get old earnings for the new tokens.
		// also add its buyerfee
		var payoutDiff = (int256) ((earningsPerShare * numTokens) - buyerfee);
		payouts[sender] += payoutDiff;
		totalPayouts += payoutDiff;
	}
	
	function sell(uint256 amount) internal {
		var fees = (uint)(getEtherForTokens(amount)/10);
		var numEthers = getEtherForTokens(amount) - fees;
		// remove tokens
		totalSupply -= amount;
		balanceOfOld[msg.sender] -= amount;
		
		// fix payouts and put the ethers in payout
		var payoutDiff = (int256) (earningsPerShare * amount + (numEthers * PRECISION));
		payouts[msg.sender] -= payoutDiff;
		totalPayouts -= payoutDiff;

	}
	function getTokensForEther(uint256 ethervalue) public constant returns (uint256 tokens) {
		return fixedExp(fixedLog(reserve() + ethervalue)*CRRN/CRRD + LOGC) - totalSupply;
	}

	function getEtherForTokens(uint256 tokens) public constant returns (uint256 ethervalue) {
		if (tokens == totalSupply)
			return reserve();
		return reserve() - fixedExp((fixedLog(totalSupply - tokens) - LOGC) * CRRD/CRRN);
	}

	int256 constant one       = 0x10000000000000000;
	uint256 constant sqrt2    = 0x16a09e667f3bcc908;
	uint256 constant sqrtdot5 = 0x0b504f333f9de6484;
	int256 constant ln2       = 0x0b17217f7d1cf79ac;
	int256 constant ln2_64dot5= 0x2cb53f09f05cc627c8;
	int256 constant c1        = 0x1ffffffffff9dac9b;
	int256 constant c3        = 0x0aaaaaaac16877908;
	int256 constant c5        = 0x0666664e5e9fa0c99;
	int256 constant c7        = 0x049254026a7630acf;
	int256 constant c9        = 0x038bd75ed37753d68;
	int256 constant c11       = 0x03284a0c14610924f;

	function fixedLog(uint256 a) internal pure returns (int256 log) {
		int32 scale = 0;
		while (a > sqrt2) {
			a /= 2;
			scale++;
		}
		while (a <= sqrtdot5) {
			a *= 2;
			scale--;
		}
		int256 s = (((int256)(a) - one) * one) / ((int256)(a) + one);
		// The polynomial R = c1*x + c3*x^3 + ... + c11 * x^11
		// approximates the function log(1+x)-log(1-x)
		// Hence R(s) = log((1+s)/(1-s)) = log(a)
		var z = (s*s) / one;
		return scale * ln2 +
			(s*(c1 + (z*(c3 + (z*(c5 + (z*(c7 + (z*(c9 + (z*c11/one))
				/one))/one))/one))/one))/one);
	}

	int256 constant c2 =  0x02aaaaaaaaa015db0;
	int256 constant c4 = -0x000b60b60808399d1;
	int256 constant c6 =  0x0000455956bccdd06;
	int256 constant c8 = -0x000001b893ad04b3a;
	function fixedExp(int256 a) internal pure returns (uint256 exp) {
		int256 scale = (a + (ln2_64dot5)) / ln2 - 64;
		a -= scale*ln2;
		// The polynomial R = 2 + c2*x^2 + c4*x^4 + ...
		// approximates the function x*(exp(x)+1)/(exp(x)-1)
		// Hence exp(x) = (R(x)+x)/(R(x)-x)
		int256 z = (a*a) / one;
		int256 R = ((int256)(2) * one) +
			(z*(c2 + (z*(c4 + (z*(c6 + (z*c8/one))/one))/one))/one);
		exp = (uint256) (((R + a) * one) / (R - a));
		if (scale >= 0)
			exp <<= scale;
		else
			exp >>= -scale;
		return exp;
	}

	/*function destroy() external {
	    selfdestruct(owner);
	}*/

	function () payable public {
		if (msg.value > 0)
			buy();
		else
			withdrawOld(msg.sender);
	}
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOfOld","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenCount","type":"uint256"}],"name":"withdraw","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"}],"name":"withdrawOld","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"ethervalue","type":"uint256"}],"name":"getTokensForEther","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"dividends","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sellMyTokensDaddy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getMeOutOfHere","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fund","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"tokens","type":"uint256"}],"name":"getEtherForTokens","outputs":[{"name":"ethervalue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserve","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6060604052341561000f57600080fd5b610cba8061001e6000396000f30060606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013d578063095ea7b3146101c757806318160ddd146101e957806323b872dd1461020e578063276c9d0a146102365780632e1a7d4d14610255578063313ce5671461027f57806339ffe67c146102a85780634b750334146102c757806362dbf261146102da57806368306e43146102f057806370a082311461030f57806375c7d4e11461032e5780638620410b1461034157806395d89b4114610354578063a9059cbb14610367578063b1e3524214610389578063b60d42881461039c578063b9f308f2146103a4578063cd3293de146103ba578063dd62ed3e146103cd575b60003411156101325761012d6103f2565b61013b565b61013b3361050e565b005b341561014857600080fd5b61015061057d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b61013b600160a060020a03600435166024356105b4565b34156101f457600080fd5b6101fc610655565b60405190815260200160405180910390f35b341561021957600080fd5b61013b600160a060020a036004358116906024351660443561065b565b341561024157600080fd5b6101fc600160a060020a03600435166106cb565b341561026057600080fd5b61026b6004356106dd565b604051901515815260200160405180910390f35b341561028a57600080fd5b61029261074f565b60405160ff909116815260200160405180910390f35b34156102b357600080fd5b61013b600160a060020a036004351661050e565b34156102d257600080fd5b6101fc610754565b34156102e557600080fd5b6101fc60043561076c565b34156102fb57600080fd5b6101fc600160a060020a03600435166107ae565b341561031a57600080fd5b6101fc600160a060020a03600435166107e4565b341561033957600080fd5b61013b6107ff565b341561034c57600080fd5b6101fc61081a565b341561035f57600080fd5b61015061082c565b341561037257600080fd5b61013b600160a060020a0360043516602435610863565b341561039457600080fd5b61013b61086e565b61026b610880565b34156103af57600080fd5b6101fc6004356108aa565b34156103c557600080fd5b6101fc6108f8565b34156103d857600080fd5b6101fc600160a060020a0360043581169060243516610925565b600080600080600080600080600064e8d4a5100034108061041c575069d3c21bcecceda100000034115b1561042657600080fd5b339850600a34049750873403965061043d8761076c565b9550604060020a880294506000805411156104bf5760016002036002888860005401604060020a8a8c61046e6108f8565b01020281151561047a57fe5b0481151561048457fe5b04604060020a030281151561049557fe5b04935083880292508285039450600054838115156104af57fe5b6005805492909104918201905591505b50506000805485018155600160a060020a039097168752505060016020908152604080872080548501905560055460039092529095208054959092020393840190555050600480549091019055565b6000610519336107ae565b600160a060020a03338116600090815260036020526040908190208054604060020a850290810190915560048054909101905591925083169082156108fc0290839051600060405180830381858888f19350505050151561057957600080fd5b5050565b60408051908101604052600a81527f504f5748536861646f7700000000000000000000000000000000000000000000602082015281565b80158015906105e75750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b156105f157600080fd5b600160a060020a03338116600081815260026020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35050565b60005481565b600160a060020a03808416600090815260026020908152604080832033909416835292905220548181101561068f57600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522082820390556106c5848484610942565b50505050565b60016020526000908152604090205481565b6000806106e9336107ae565b600160a060020a033316600081815260036020526040908190208054604060020a85029081019091556004805490910190559192509082156108fc0290839051600060405180830381858888f19350505050151561074657600080fd5b50600192915050565b601281565b600061076666038d7ea4c680006108aa565b90505b90565b600080546107a5680296abf784a358468b19600260016107948761078e6108f8565b01610a33565b0281151561079e57fe5b0501610b18565b0390505b919050565b600160a060020a0316600090815260036020908152604080832054600190925290912054600554604060020a9102919091030490565b600160a060020a031660009081526001602052604090205490565b600061080a336107e4565b9050610817333083610942565b50565b600061076666038d7ea4c6800061076c565b60408051908101604052600481527f5057485300000000000000000000000000000000000000000000000000000000602082015281565b610579338383610942565b6108766107ff565b61081760016106dd565b600064e8d4a5100034111561089c576108976103f2565b6108a4565b506000610769565b50600190565b600080548214156108c4576108bd6108f8565b90506107a9565b6108f460016002680296abf784a358468b196108e38660005403610a33565b03028115156108ee57fe5b05610b18565b6107a55b60006001604060020a600454600054600554020381151561091557fe5b0461091e610bfc565b0303905090565b600260209081526000928352604080842090915290825290205481565b600160a060020a0383166000908152600160205260408120548290101561096857600080fd5b30600160a060020a031683600160a060020a031614156109905761098b82610c0c565b6109e6565b50600554600160a060020a03808516600081815260016020908152604080832080548890039055938716808352848320805488019055928252600390528281208054948602948590039055908152208054820190555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350505050565b60008080805b68016a09e667f3bcc908851115610a5b57600285049450600190920191610a39565b5b67b504f333f9de64848511610a7e576002949094029360001990920191610a5c565b604060020a8501604060020a80870302811515610a9757fe5b05915050604060020a818002819005906801ffffffffff9dac9b67666664e5e9fa0c996738bd75ed37753d68673284a0c14610924f85028490050184028390056749254026a7630acf01840283900501830282900567aaaaaaac168779080183028290050183020567b17217f7d1cf79ac8460030b02019350505050919050565b6000808080604067b17217f7d1cf79ac682cb53f09f05cc627c887010503925067b17217f7d1cf79ac830285039450604060020a858602811515610b5857fe5b059150604060020a672aaaaaaaaa015db0660455956bccdd06651b893ad04b3919850283900501840282900566b60b60808399d01901840282900501830205604060020a600202019050848103604060020a86830102811515610bb757fe5b05935060008312610bdb5782846000821215610bcf57fe5b9060020a029350610bf4565b82600003846000821215610beb57fe5b9060020a900493505b505050919050565b34600160a060020a033016310390565b6000806000600a610c1c856108aa565b811515610c2557fe5b04925082610c32856108aa565b60008054879003815533600160a060020a0316815260016020908152604080832080548a900390556005546003909252909120805493909203604060020a029602959095019081900390945550506004805492909203909155505600a165627a7a7230582005e743977a50068b9c9578f15b3acf4aa09c53b93c1862db27f8e186dc9ac6040029

Deployed Bytecode

0x60606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013d578063095ea7b3146101c757806318160ddd146101e957806323b872dd1461020e578063276c9d0a146102365780632e1a7d4d14610255578063313ce5671461027f57806339ffe67c146102a85780634b750334146102c757806362dbf261146102da57806368306e43146102f057806370a082311461030f57806375c7d4e11461032e5780638620410b1461034157806395d89b4114610354578063a9059cbb14610367578063b1e3524214610389578063b60d42881461039c578063b9f308f2146103a4578063cd3293de146103ba578063dd62ed3e146103cd575b60003411156101325761012d6103f2565b61013b565b61013b3361050e565b005b341561014857600080fd5b61015061057d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b61013b600160a060020a03600435166024356105b4565b34156101f457600080fd5b6101fc610655565b60405190815260200160405180910390f35b341561021957600080fd5b61013b600160a060020a036004358116906024351660443561065b565b341561024157600080fd5b6101fc600160a060020a03600435166106cb565b341561026057600080fd5b61026b6004356106dd565b604051901515815260200160405180910390f35b341561028a57600080fd5b61029261074f565b60405160ff909116815260200160405180910390f35b34156102b357600080fd5b61013b600160a060020a036004351661050e565b34156102d257600080fd5b6101fc610754565b34156102e557600080fd5b6101fc60043561076c565b34156102fb57600080fd5b6101fc600160a060020a03600435166107ae565b341561031a57600080fd5b6101fc600160a060020a03600435166107e4565b341561033957600080fd5b61013b6107ff565b341561034c57600080fd5b6101fc61081a565b341561035f57600080fd5b61015061082c565b341561037257600080fd5b61013b600160a060020a0360043516602435610863565b341561039457600080fd5b61013b61086e565b61026b610880565b34156103af57600080fd5b6101fc6004356108aa565b34156103c557600080fd5b6101fc6108f8565b34156103d857600080fd5b6101fc600160a060020a0360043581169060243516610925565b600080600080600080600080600064e8d4a5100034108061041c575069d3c21bcecceda100000034115b1561042657600080fd5b339850600a34049750873403965061043d8761076c565b9550604060020a880294506000805411156104bf5760016002036002888860005401604060020a8a8c61046e6108f8565b01020281151561047a57fe5b0481151561048457fe5b04604060020a030281151561049557fe5b04935083880292508285039450600054838115156104af57fe5b6005805492909104918201905591505b50506000805485018155600160a060020a039097168752505060016020908152604080872080548501905560055460039092529095208054959092020393840190555050600480549091019055565b6000610519336107ae565b600160a060020a03338116600090815260036020526040908190208054604060020a850290810190915560048054909101905591925083169082156108fc0290839051600060405180830381858888f19350505050151561057957600080fd5b5050565b60408051908101604052600a81527f504f5748536861646f7700000000000000000000000000000000000000000000602082015281565b80158015906105e75750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b156105f157600080fd5b600160a060020a03338116600081815260026020908152604080832094871680845294909152908190208490557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259084905190815260200160405180910390a35050565b60005481565b600160a060020a03808416600090815260026020908152604080832033909416835292905220548181101561068f57600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522082820390556106c5848484610942565b50505050565b60016020526000908152604090205481565b6000806106e9336107ae565b600160a060020a033316600081815260036020526040908190208054604060020a85029081019091556004805490910190559192509082156108fc0290839051600060405180830381858888f19350505050151561074657600080fd5b50600192915050565b601281565b600061076666038d7ea4c680006108aa565b90505b90565b600080546107a5680296abf784a358468b19600260016107948761078e6108f8565b01610a33565b0281151561079e57fe5b0501610b18565b0390505b919050565b600160a060020a0316600090815260036020908152604080832054600190925290912054600554604060020a9102919091030490565b600160a060020a031660009081526001602052604090205490565b600061080a336107e4565b9050610817333083610942565b50565b600061076666038d7ea4c6800061076c565b60408051908101604052600481527f5057485300000000000000000000000000000000000000000000000000000000602082015281565b610579338383610942565b6108766107ff565b61081760016106dd565b600064e8d4a5100034111561089c576108976103f2565b6108a4565b506000610769565b50600190565b600080548214156108c4576108bd6108f8565b90506107a9565b6108f460016002680296abf784a358468b196108e38660005403610a33565b03028115156108ee57fe5b05610b18565b6107a55b60006001604060020a600454600054600554020381151561091557fe5b0461091e610bfc565b0303905090565b600260209081526000928352604080842090915290825290205481565b600160a060020a0383166000908152600160205260408120548290101561096857600080fd5b30600160a060020a031683600160a060020a031614156109905761098b82610c0c565b6109e6565b50600554600160a060020a03808516600081815260016020908152604080832080548890039055938716808352848320805488019055928252600390528281208054948602948590039055908152208054820190555b82600160a060020a031684600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350505050565b60008080805b68016a09e667f3bcc908851115610a5b57600285049450600190920191610a39565b5b67b504f333f9de64848511610a7e576002949094029360001990920191610a5c565b604060020a8501604060020a80870302811515610a9757fe5b05915050604060020a818002819005906801ffffffffff9dac9b67666664e5e9fa0c996738bd75ed37753d68673284a0c14610924f85028490050184028390056749254026a7630acf01840283900501830282900567aaaaaaac168779080183028290050183020567b17217f7d1cf79ac8460030b02019350505050919050565b6000808080604067b17217f7d1cf79ac682cb53f09f05cc627c887010503925067b17217f7d1cf79ac830285039450604060020a858602811515610b5857fe5b059150604060020a672aaaaaaaaa015db0660455956bccdd06651b893ad04b3919850283900501840282900566b60b60808399d01901840282900501830205604060020a600202019050848103604060020a86830102811515610bb757fe5b05935060008312610bdb5782846000821215610bcf57fe5b9060020a029350610bf4565b82600003846000821215610beb57fe5b9060020a900493505b505050919050565b34600160a060020a033016310390565b6000806000600a610c1c856108aa565b811515610c2557fe5b04925082610c32856108aa565b60008054879003815533600160a060020a0316815260016020908152604080832080548a900390556005546003909252909120805493909203604060020a029602959095019081900390945550506004805492909203909155505600a165627a7a7230582005e743977a50068b9c9578f15b3acf4aa09c53b93c1862db27f8e186dc9ac6040029

Swarm Source

bzzr://05e743977a50068b9c9578f15b3acf4aa09c53b93c1862db27f8e186dc9ac604
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.