Sponsored Link:   SocialMedia.Market - The most cost effective advertising platform with 1069% ROI. Join ICO Now!
  Latest 25 txns from a total Of 1487 transactions View All

TxHash Age From To Value [TxFee]
0x4ecd6da23a2e4285acc4c1be576a265faa10a5e775196d8351dc4cca8e2d70b66 hrs 6 mins ago0xa145addb0a24f0c4697189a02eadb006be244d49  IN   WolkServicesToken0 Ether0.000230795
0x1368a01deeca5b01f1ee083d210336141bdebfacb92a2ee598809b3619fd096d6 hrs 11 mins ago0x8b6fe904ad4366dfa326f6aea01c772b6dd4d3ba  IN   WolkServicesToken0 Ether0.000302856
0xee6976de9e9807e8a940d025b1c2f019d39fabe85308c981ef3326b6b039fb441 day 5 hrs ago0x39dd5bef71d60d0797cf7938b4543de6a26ef9ba  IN   WolkServicesToken0 Ether0.00068379
0x1bd82431a2ba96d6d6e112bbb576dc527ea09caee51e482ba33f462443c86c3d1 day 7 hrs ago0x39dd5bef71d60d0797cf7938b4543de6a26ef9ba  IN   WolkServicesToken0 Ether0.00158187
0x35b3373559515ebbad315c4c7c543a251b9c23bc42c91b8cbb34523bac740c612 days 8 hrs ago0xde5d9490cf2ece9cd48ab66b135e9a4236478945  IN   WolkServicesToken0 Ether0.000068571
0xa34889d200c8f8bd129f9370a196854882039e3b980c65b5d3b42c4801aa90f92 days 11 hrs ago0xf75aa0e83ba3bd8cea02ea49d80bc69d21154b56  IN   WolkServicesToken0 Ether0.00189285
0xec6fa843a04209448f7147915585150e5913c05ab559ea4c42662728a1d108e83 days 4 hrs ago0x01258e7858512de03d7f63040c244763ccf53437  IN   WolkServicesToken0 Ether0.00037857
0x862d3c4d4b045cf7956679f7aa3462661f80247cb96ddfedec14ea992d79829b3 days 19 hrs ago0xa8ebce443fddd76cc1ab018d96b4f5e3b629f1e6  IN   WolkServicesToken0 Ether0.000948025
0x88571f0d020d5c0926bb88b5a1a8c61c943652f344740fe30934dab86cc8cab54 days 7 hrs ago0x4c0ea736a5e3f202a7dfc4b28011eb5edbe72011  IN   WolkServicesToken0 Ether0.000302856
0x9f8638cb08aff8bce55e946061e9d8e63a9379b740b994b04694caa90699e0eb4 days 21 hrs ago0xc92d298bbdd884610e1c283e8d3180d903436d2c  IN   WolkServicesToken0 Ether0.000184636
0x44284c381b919e23675c30efd5cf25282591b66cbad6b08be00c52cff490a8d14 days 21 hrs ago0xb2a57abcaf603fccdc39019b3c231af93b9cfe02  IN   WolkServicesToken0 Ether0.000075714
0xdb0fdd07f5ff3e2ce9c35bb292395e784cf28367ca9c316c90c09adb73171fae4 days 22 hrs ago0xb2a57abcaf603fccdc39019b3c231af93b9cfe02  IN   WolkServicesToken0 Ether0.000098
0xb069f8c1f82c8c6081958260d2c2d35472c74395e12ec1374de2605c6cf8c9264 days 22 hrs ago0xc92d298bbdd884610e1c283e8d3180d903436d2c  IN   WolkServicesToken0 Ether0.000045714
0x7686975e92d3c8f6211eac1190790cccf0a5d600242a0a2d84a3a046643f1d934 days 22 hrs ago0xc92d298bbdd884610e1c283e8d3180d903436d2c  IN   WolkServicesToken0 Ether0.000105458
0x179db24c99283599656cd27fcb7f9e31533250cd661510729ce6a43f914536454 days 22 hrs ago0xd3a109b12e6df7d892b753e05b9ebe64f1c98204  IN   WolkServicesToken0 Ether0.000075714
0xcafe64318585714ee7828e205127e03d9e7c285430187f636d0257e1e8b366b15 days 1 hr ago0xa628f24f4e7a4a9050ab8f5119781b563508bc8c  IN   WolkServicesToken0 Ether0.000091428
0xaceae4a2b99662cbfae45cbe9993f41eba5c26cfdca794cc7621130b009cb6755 days 2 hrs ago0xb6cf4db6a9b2bf02524be1f44df4af6b1c44808b  IN   WolkServicesToken0 Ether0.001321425
0xac7ed2f2704fc8bf16d0b0d2a698536c40b261b9bbb6d52239ca930c296e20c45 days 9 hrs ago0xdf0885be9c0a2f3228b36d52dae23c9cec3349e6  IN   WolkServicesToken0 Ether0.000022857
0xff6b6543b6e8e81af19015a6fea2b8c242188894132f40b34a27f74e22de3e6a5 days 10 hrs ago0x85fb5201d862c8777951c4e27c313cae82b56e2e  IN   WolkServicesToken0 Ether0.000794997
0xf8f573db1ce8bb1a021fc763e87279fb6afc290b5db5c36bff9e37d015ee65955 days 17 hrs ago0xb56d39b5e5f14b1b2e7b4548006110d6125e75e9  IN   WolkServicesToken0 Ether0.000323561
0xe826a85da1da705f442db8e6225f202986643a6e6703e59469a29eee43fdcad96 days 53 mins ago0xe2eed69202ab6fdda9f5eb764c40ea1bf43c6ea3  IN   WolkServicesToken0 Ether0.00075586
0x6ba1488091814a078caf15c0de75567a9eea78e79581444ae4b9f1192f13258e6 days 1 hr ago0xaeec6f5aca72f3a005af1b3420ab8c8c7009bac8  IN   WolkServicesToken0 Ether0.002040822
0x917aabd298df077d63f99e9d95cc0318ee088cfbf8eadcd332245cc6f98e27676 days 4 hrs ago0xdee7dd7e9aa9f0ce2e56081443d76c7580dab61c  IN   WolkServicesToken0 Ether0.000422344
0x64cdf4b695cc627aaec31ff85045747595e993c487582ea849bbca9c767f59906 days 18 hrs ago0xd8c9d6b34a37851fd9f9e088b91c65cae2ca67fe  IN   WolkServicesToken0 Ether0.00027657
0xbfaf29343623e41cf4ffada0b6a762ea8d4b0f718cb062b0f71eace3037635336 days 18 hrs ago0x59a5208b32e627891c389ebafc644145224006e8  IN   WolkServicesToken0 Ether0.0001161446
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0xae01bc864ed228ad11b1b78fc9cfe660b56d28a0d7d35796bfad3fa4e8206d0e493296336 days 14 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0.01 Ether
0x9b8a1b0aa3d3e41462d0ebfee51c595737a52d570ecedfacf242ed862fe2a611493149636 days 20 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x34c7fc051eae78f8c37b82387a50a5458b8f7018212.729619468835183702 Ether
0xe9f1883b55da0d51ba52b4db2ce6ec62b8475334527b842f3cc0ff38efdda60f490945740 days 20 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f84 Ether
0x42e4150b3f236f84965430063b59410890a52b2db4e2944a735a49b71f84c1cb490944340 days 20 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f1 Ether
0x4eaaffe304eebd4532e08b5b0da735e1907e4ef0819fb33191e7c66a2cded75c490926140 days 21 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x5deac9106e060e11bdc1496422afcdd8bd63e3e2100 Ether
0xdf8aeec127073f08d5b15163f81642c97d3e406202d0684dc53a8f8f067dbca1490925640 days 21 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x5deac9106e060e11bdc1496422afcdd8bd63e3e2100 Ether
0xa662e8448b7a4ea90beda4b1811daf4ca0c0bb565956c952cfdf738fe1c0b854490925040 days 21 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x5deac9106e060e11bdc1496422afcdd8bd63e3e2100 Ether
0x44f10ba6c6b2e3a5da59b82a1c06095d4534d66e203bf0034a72746dec4a2a65490924440 days 21 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x5deac9106e060e11bdc1496422afcdd8bd63e3e2100 Ether
0x2997f1fa78e9ac28119473a5ca24c3fcf11762c31da81f7494b0fc6bd7d47143490539141 days 13 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f3.44552771 Ether
0x5a0267f0fef868da7c37b219ee29bb00f0eecb8a884309eec6a8230c7cad1636490488441 days 16 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f3.44 Ether
0xd7eb145045edeea51ea384e29639dad1711d08c9cffda79ddf5b82860374bda1489910642 days 17 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xb56d39b5e5f14b1b2e7b4548006110d6125e75e94.757450664989115001 Ether
0x067c2f6c1dad199abfba3e8565265cc8cf146192c615a5fe568fcbcba773e636489681143 days 3 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xb56d39b5e5f14b1b2e7b4548006110d6125e75e94.750732213875174117 Ether
0x97561db719e54dfc2008492fdb3f426d06973539d10d8257680306bb0424340d489612343 days 6 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f2.5 Ether
0xbc0a25307b6912dcbc5e747b28790226e12fc92f899299807474db38420abbfe489535743 days 10 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xfa6a28a4e1266b46af92ac1b4a29a05be2d5fb9a2.206302623504938284 Ether
0x5d83ff046d35ffe35175d11a3f6124d619a1bb2c5a70ff2ddac1d356986d70ce489469943 days 13 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f10 Ether
0xff9fffd8f96835a022a1020e0dab120ce6aa8cbcb0f521f12a8a7c7159334579489357643 days 18 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xfa6a28a4e1266b46af92ac1b4a29a05be2d5fb9a0.998486317988743887 Ether
0x6680f25937aee012e8ef34dd2a2db12adf43d8977e4c4f12d3a83819116e713b488934344 days 12 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xb56d39b5e5f14b1b2e7b4548006110d6125e75e93.421530961843722646 Ether
0x5b5a9629b094c6700a0c825e0c3340b15dc20e6e341c0b79f14aae5db78ae42b488806144 days 18 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x5b12a097af318729848a204294446e17766e2fac19.20851959577136645 Ether
0xe2e2cc3aff26c5462ddfcbe4425d91fae78ebc504f1069acd39b3e46e88990f0488803044 days 18 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0x5b12a097af318729848a204294446e17766e2fac21.68787133783759598 Ether
0x10e17e8e66cc18a195d353e15587ec36a3aad2a2533fb7f046aee089bccf0cdd488756544 days 20 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xb56d39b5e5f14b1b2e7b4548006110d6125e75e97.964390021233105109 Ether
0x375dd309eebe08853b1f9d54cd5313c4dd9b74ae92cbb68eb656c0ee6f3f0ce2488753744 days 20 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xb56d39b5e5f14b1b2e7b4548006110d6125e75e915.664837088530414059 Ether
0xab7c620f9f8a6f5810a1a0cef11a226a45c3bba3baedc450c8e341f6e9b8f9ce488750644 days 21 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xb56d39b5e5f14b1b2e7b4548006110d6125e75e932.419604505379696458 Ether
0x7cfcfe82b1ff6dc56dcbe793d168e943ae4d02a9f33e5add6647d228cd374bec488536345 days 6 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0.01 Ether
0x1a0490d679358dff60e47b3465a145403e78ec95fbb1e97e04a23b020b21c988488493145 days 8 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xe9fe93e9532f0cd307f9a69913aedb5e92acaa153.333023228923659891 Ether
0x3b0e5a6d1903121f0efc36ff77d7eb4fb4d366af84c31d90ca30ebd05c1cd8aa488097146 days 2 hrs ago0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0xf6b55acbbc49f4524aa48d19281a9a77c54de10f0.01154 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: WolkExchange
Compiler Version: v0.4.17+commit.bdeb9e52
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.16;

// SafeMath Taken From FirstBlood
contract SafeMath {
    function safeMul(uint a, uint b) internal returns (uint) {
        uint c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    function safeDiv(uint a, uint b) internal returns (uint) {
        assert(b > 0);
        uint c = a / b;
        assert(a == b * c + a % b);
        return c;
    }

    function safeSub(uint a, uint b) internal returns (uint) {
        assert(b <= a);
        return a - b;
    }

    function safeAdd(uint a, uint b) internal returns (uint) {
        uint c = a + b;
        assert(c>=a && c>=b);
        return c;
    }
}

// Ownership
contract Owned {

    address public owner;
    address public newOwner;
    modifier onlyOwner { assert(msg.sender == owner); _; }

    event OwnerUpdate(address _prevOwner, address _newOwner);

    function Owned() {
        owner = msg.sender;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != owner);
        newOwner = _newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        OwnerUpdate(owner, newOwner);
        owner = newOwner;
        newOwner = 0x0;
    }
}

// ERC20 Interface
contract ERC20 {
    function totalSupply() constant returns (uint _totalSupply);
    function balanceOf(address _owner) constant returns (uint balance);
    function transfer(address _to, uint _value) returns (bool success);
    function transferFrom(address _from, address _to, uint _value) returns (bool success);
    function approve(address _spender, uint _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint remaining);
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}

// ERC20Token
contract ERC20Token is ERC20, SafeMath {

    mapping(address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    uint256 public totalTokens; 
    uint256 public contributorTokens; 

    function transfer(address _to, uint256 _value) returns (bool success) {
        if (balances[msg.sender] >= _value && _value > 0) {
            balances[msg.sender] = safeSub(balances[msg.sender], _value);
            balances[_to] = safeAdd(balances[_to], _value);
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        var _allowance = allowed[_from][msg.sender];
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
            balances[_to] = safeAdd(balances[_to], _value);
            balances[_from] = safeSub(balances[_from], _value);
            allowed[_from][msg.sender] = safeSub(_allowance, _value);
            Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function totalSupply() constant returns (uint256) {
        return totalTokens;
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

}

contract Wolk is ERC20Token, Owned {

    // TOKEN INFO
    string  public constant name = "WOLK TOKEN";
    string  public constant symbol = "WLK";
    uint256 public constant decimals = 18;

    // RESERVE
    uint256 public reserveBalance = 0; 
    uint8   public percentageETHReserve = 5;

    // CONTRACT OWNER
    address public wolkInc;

    // TOKEN GENERATION CONTROL
    bool    public allSaleCompleted = false;

    modifier isTransferable { require(allSaleCompleted); _; }

    // TOKEN GENERATION EVENTLOG
    event WolkCreated(address indexed _to, uint256 _tokenCreated);
    event WolkDestroyed(address indexed _from, uint256 _tokenDestroyed);
    event LogRefund(address indexed _to, uint256 _value);
}

contract WolkTGE is Wolk {

    // TOKEN GENERATION EVENT
    mapping (address => uint256) contribution;
    mapping (address => bool) whitelistContributor;
    
    uint256 public constant tokenGenerationMin =   1 * 10**4 * 10**decimals;
    uint256 public constant tokenGenerationMax = 175 * 10**5 * 10**decimals;
    uint256 public start_block;
    uint256 public end_time;
    bool    kycRequirement = true;

    // @param _startBlock
    // @param _endTime
    // @param _wolkinc - wolk inc tokens sent here
    // @return success
    // @dev Wolk Genesis Event [only accessible by Contract Owner]
    function wolkGenesis(uint256 _startBlock, uint256 _endTime, address _wolkinc) onlyOwner returns (bool success){
        require((totalTokens < 1) && (block.number <= _startBlock)); 
        start_block = _startBlock;
        end_time = _endTime;
        wolkInc = _wolkinc;
        return true;
    }
    
    // @param _participants
    // @return success
    function updateRequireKYC(bool _kycRequirement) onlyOwner returns (bool success) {
        kycRequirement = _kycRequirement;
        return true;
    } 
    
    // @param _participants
    // @return success
    function addParticipant(address[] _participants) onlyOwner returns (bool success) {
        for (uint cnt = 0; cnt < _participants.length; cnt++){           
            whitelistContributor[_participants[cnt]] = true;
        }
        return true;
    } 

    // @param _participants
    // @return success
    // @dev Revoke designated contributors [only accessible by current Contract Owner]
    function removeParticipant(address[] _participants) onlyOwner returns (bool success){         
        for (uint cnt = 0; cnt < _participants.length; cnt++){           
            whitelistContributor[_participants[cnt]] = false;
        }
        return true;
    }

    // @param _participant
    // @return status
    // @dev return status of given address
    function participantStatus(address _participant) constant returns (bool status) {
        return(whitelistContributor[_participant]);
    }    

    // @param _participant
    // @dev use tokenGenerationEvent to handle sale of WOLK
    function tokenGenerationEvent(address _participant) payable external {
        require( ( whitelistContributor[_participant] || whitelistContributor[msg.sender] || balances[_participant] > 0 || kycRequirement )  && !allSaleCompleted && ( block.timestamp <= end_time ) && msg.value > 0);
    
        uint256 rate = 1000;  // Default Rate
        rate = safeDiv( 175 * 10**5 * 10**decimals, safeAdd( 875 * 10**1 * 10**decimals, safeDiv( totalTokens, 2 * 10**3)) );
        if ( rate > 2000 ) rate = 2000;
        if ( rate < 500 ) rate = 500;
        require(block.number >= start_block) ;

        uint256 tokens = safeMul(msg.value, rate);
        uint256 checkedSupply = safeAdd(totalTokens, tokens);
        require(checkedSupply <= tokenGenerationMax);

        totalTokens = checkedSupply;
        contributorTokens = safeAdd(contributorTokens, tokens);
        
        Transfer(address(this), _participant, tokens);
        balances[_participant] = safeAdd(balances[_participant], tokens);
        contribution[_participant] = safeAdd(contribution[_participant], msg.value);
        WolkCreated(_participant, tokens); // logs token creation
    }

    function finalize() onlyOwner external {
        require(!allSaleCompleted);
        end_time = block.timestamp;

        // 50MM Wolk allocated to Wolk Inc for development
        uint256 wolkincTokens =  50 * 10**6 * 10**decimals;
        balances[wolkInc] = wolkincTokens;
        totalTokens = safeAdd(totalTokens, wolkincTokens);                 

        WolkCreated(wolkInc, wolkincTokens); // logs token creation 
        allSaleCompleted = true;
        reserveBalance = safeDiv(safeMul(contributorTokens, percentageETHReserve), 100000);
        var withdrawalBalance = safeSub(this.balance, reserveBalance);
        msg.sender.transfer(withdrawalBalance);
    }

    function refund() external {
        require((contribution[msg.sender] > 0) && (!allSaleCompleted) && (block.timestamp > end_time)  && (totalTokens < tokenGenerationMin));
        uint256 tokenBalance = balances[msg.sender];
        uint256 refundBalance = contribution[msg.sender];
        balances[msg.sender] = 0;
        contribution[msg.sender] = 0;
        totalTokens = safeSub(totalTokens, tokenBalance);
        WolkDestroyed(msg.sender, tokenBalance);
        LogRefund(msg.sender, refundBalance);
        msg.sender.transfer(refundBalance); 
    }

    function transferAnyERC20Token(address _tokenAddress, uint256 _amount) onlyOwner returns (bool success) {
        return ERC20(_tokenAddress).transfer(owner, _amount);
    }
}

// Taken from https://github.com/bancorprotocol/contracts/blob/master/solidity/contracts/BancorFormula.sol
contract IBancorFormula {
    function calculatePurchaseReturn(uint256 _supply, uint256 _reserveBalance, uint8 _reserveRatio, uint256 _depositAmount) public constant returns (uint256);
    function calculateSaleReturn(uint256 _supply, uint256 _reserveBalance, uint8 _reserveRatio, uint256 _sellAmount) public constant returns (uint256);
}

contract WolkExchange is  WolkTGE {
    address public exchangeFormula;
    bool    public isPurchasePossible = false;
    bool    public isSellPossible = false;

    modifier isPurchasable { require(isPurchasePossible && allSaleCompleted); _; }
    modifier isSellable { require(isSellPossible && allSaleCompleted); _; }
    
    // @param  _newExchangeformula
    // @return success
    // @dev Set the bancor formula to use -- only Wolk Inc can set this
    function setExchangeFormula(address _newExchangeformula) onlyOwner returns (bool success){
        require(sellWolkEstimate(10**decimals, _newExchangeformula) > 0);
        require(purchaseWolkEstimate(10**decimals, _newExchangeformula) > 0);
        isPurchasePossible = false;
        isSellPossible = false;
        exchangeFormula = _newExchangeformula;
        return true;
    }

    // @param  _newReserveRatio
    // @return success
    // @dev Set the reserve ratio in case of emergency -- only Wolk Inc can set this
    function updateReserveRatio(uint8 _newReserveRatio) onlyOwner returns (bool success) {
        require(allSaleCompleted && ( _newReserveRatio > 1 ) && ( _newReserveRatio < 20 ) );
        percentageETHReserve = _newReserveRatio;
        return true;
    }

    // @param  _isRunning
    // @return success
    // @dev updating isPurchasePossible -- only Wolk Inc can set this
    function updatePurchasePossible(bool _isRunning) onlyOwner returns (bool success){
        if (_isRunning){
            require(sellWolkEstimate(10**decimals, exchangeFormula) > 0);
            require(purchaseWolkEstimate(10**decimals, exchangeFormula) > 0);   
        }
        isPurchasePossible = _isRunning;
        return true;
    }

    // @param  _isRunning
    // @return success
    // @dev updating isSellPossible -- only Wolk Inc can set this
    function updateSellPossible(bool _isRunning) onlyOwner returns (bool success){
        if (_isRunning){
            require(sellWolkEstimate(10**decimals, exchangeFormula) > 0);
            require(purchaseWolkEstimate(10**decimals, exchangeFormula) > 0);   
        }
        isSellPossible = _isRunning;
        return true;
    }

    function sellWolkEstimate(uint256 _wolkAmountest, address _formula) internal returns(uint256) {
        uint256 ethReceivable =  IBancorFormula(_formula).calculateSaleReturn(contributorTokens, reserveBalance, percentageETHReserve, _wolkAmountest);
        return ethReceivable;
    }
    
    function purchaseWolkEstimate(uint256 _ethAmountest, address _formula) internal returns(uint256) {
        uint256 wolkReceivable = IBancorFormula(_formula).calculatePurchaseReturn(contributorTokens, reserveBalance, percentageETHReserve, _ethAmountest);
        return wolkReceivable;
    }
    
    // @param _wolkAmount
    // @return ethReceivable
    // @dev send Wolk into contract in exchange for eth, at an exchange rate based on the Bancor Protocol derivation and decrease totalSupply accordingly
    function sellWolk(uint256 _wolkAmount) isSellable() returns(uint256) {
        require((balances[msg.sender] >= _wolkAmount));
        uint256 ethReceivable = sellWolkEstimate(_wolkAmount,exchangeFormula);
        require(this.balance > ethReceivable);
        balances[msg.sender] = safeSub(balances[msg.sender], _wolkAmount);
        contributorTokens = safeSub(contributorTokens, _wolkAmount);
        totalTokens = safeSub(totalTokens, _wolkAmount);
        reserveBalance = safeSub(this.balance, ethReceivable);
        WolkDestroyed(msg.sender, _wolkAmount);
        Transfer(msg.sender, 0x00000000000000000000, _wolkAmount);
        msg.sender.transfer(ethReceivable);
        return ethReceivable;     
    }

    // @return wolkReceivable    
    // @dev send eth into contract in exchange for Wolk tokens, at an exchange rate based on the Bancor Protocol derivation and increase totalSupply accordingly
    function purchaseWolk(address _buyer) isPurchasable() payable returns(uint256){
        require(msg.value > 0);
        uint256 wolkReceivable = purchaseWolkEstimate(msg.value, exchangeFormula);
        require(wolkReceivable > 0);

        contributorTokens = safeAdd(contributorTokens, wolkReceivable);
        totalTokens = safeAdd(totalTokens, wolkReceivable);
        balances[_buyer] = safeAdd(balances[_buyer], wolkReceivable);
        reserveBalance = safeAdd(reserveBalance, msg.value);
        WolkCreated(_buyer, wolkReceivable);
        Transfer(address(this),_buyer,wolkReceivable);
        return wolkReceivable;
    }

    // @dev  fallback function for purchase
    // @note Automatically fallback to tokenGenerationEvent before sale is completed. After the token generation event, fallback to purchaseWolk. Liquidity exchange will be enabled through updateExchangeStatus  
    function () payable {
        require(msg.value > 0);
        if(!allSaleCompleted){
            this.tokenGenerationEvent.value(msg.value)(msg.sender);
        } else if ( block.timestamp >= end_time ){
            this.purchaseWolk.value(msg.value)(msg.sender);
        } else {
            revert();
        }
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_wolkAmount","type":"uint256"}],"name":"sellWolk","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"end_time","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newExchangeformula","type":"address"}],"name":"setExchangeFormula","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeFormula","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"}],"name":"purchaseWolk","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"isSellPossible","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_kycRequirement","type":"bool"}],"name":"updateRequireKYC","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenGenerationMin","outputs":[{"name":"","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":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isPurchasePossible","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"percentageETHReserve","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startBlock","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_wolkinc","type":"address"}],"name":"wolkGenesis","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contributorTokens","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":true,"inputs":[{"name":"_participant","type":"address"}],"name":"participantStatus","outputs":[{"name":"status","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"reserveBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participants","type":"address[]"}],"name":"addParticipant","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_isRunning","type":"bool"}],"name":"updateSellPossible","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenGenerationMax","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"start_block","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allSaleCompleted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wolkInc","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isRunning","type":"bool"}],"name":"updatePurchasePossible","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newReserveRatio","type":"uint8"}],"name":"updateReserveRatio","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_participants","type":"address[]"}],"name":"removeParticipant","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"}],"name":"tokenGenerationEvent","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenCreated","type":"uint256"}],"name":"WolkCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_tokenDestroyed","type":"uint256"}],"name":"WolkDestroyed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"},{"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"}]

  Contract Creation Code Switch To Opcodes View
606060405260006006556007805460a860020a60ff021960ff1991821660051716909155600c805460a860020a61ffff0219921660011791909116905560048054600160a060020a033316600160a060020a0319909116179055611c0f806100686000396000f300606060405236156101dc5763ffffffff60e060020a600035041662310e1681146102ed57806306fdde0314610315578063095ea7b31461039f57806316243356146103d557806318160ddd146103e857806323b872dd146103fb5780632659d8ef146104235780632f7a407b14610442578063313ce567146104715780633d8c9b8c14610484578063442d0927146104985780634bb278f3146104ab578063590e1ae3146104be57806362ac6115146104d15780636712e0be146104e957806370a08231146104fc57806379ba50971461051b5780637e1c0c091461052e578063835c638614610541578063847dc0a7146105545780638da5cb5b1461057d578063917d2be214610590578063936b603d146105b557806395d89b41146105c85780639c912a62146105db578063a10954fe146105fa578063a166b4b11461060d578063a9059cbb1461065c578063aad935af1461067e578063b57e6ea114610696578063b87fb3db146106a9578063d4ee1d90146106bc578063dc39d06d146106cf578063dd62ed3e146106f1578063de17910814610716578063e1d3097914610729578063e2542f031461073c578063e469185a14610754578063e814c9411461076d578063f2fde38b146107bc578063fa6b129d146107db575b600034116101e957600080fd5b60075460a860020a900460ff1615156102645730600160a060020a031663fa6b129d343360405160e060020a63ffffffff8516028152600160a060020a0390911660048201526024016000604051808303818588803b151561024a57600080fd5b6125ee5a03f1151561025b57600080fd5b505050506102eb565b600b5442106102e65730600160a060020a0316633d8c9b8c343360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390911660048201526024016020604051808303818588803b15156102c457600080fd5b6125ee5a03f115156102d557600080fd5b5050505060405180519050506102eb565b600080fd5b005b34156102f857600080fd5b6103036004356107ef565b60405190815260200160405180910390f35b341561032057600080fd5b6103286109a3565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561036457808201518382015260200161034c565b50505050905090810190601f1680156103915780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103aa57600080fd5b6103c1600160a060020a03600435166024356109da565b604051901515815260200160405180910390f35b34156103e057600080fd5b610303610a80565b34156103f357600080fd5b610303610a86565b341561040657600080fd5b6103c1600160a060020a0360043581169060243516604435610a8c565b341561042e57600080fd5b6103c1600160a060020a0360043516610be3565b341561044d57600080fd5b610455610c73565b604051600160a060020a03909116815260200160405180910390f35b341561047c57600080fd5b610303610c87565b610303600160a060020a0360043516610c8c565b34156104a357600080fd5b6103c1610dd9565b34156104b657600080fd5b6102eb610dfc565b34156104c957600080fd5b6102eb610f4f565b34156104dc57600080fd5b6103c160043515156110a0565b34156104f457600080fd5b6103036110d2565b341561050757600080fd5b610303600160a060020a03600435166110e0565b341561052657600080fd5b6102eb6110fb565b341561053957600080fd5b6103036111a2565b341561054c57600080fd5b6103c16111a8565b341561055f57600080fd5b6105676111b8565b60405160ff909116815260200160405180910390f35b341561058857600080fd5b6104556111c1565b341561059b57600080fd5b6103c1600435602435600160a060020a03604435166111d0565b34156105c057600080fd5b61030361124b565b34156105d357600080fd5b610328611251565b34156105e657600080fd5b6103c1600160a060020a0360043516611288565b341561060557600080fd5b6103036112a6565b341561061857600080fd5b6103c160046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496506112ac95505050505050565b341561066757600080fd5b6103c1600160a060020a036004351660243561132b565b341561068957600080fd5b6103c16004351515611418565b34156106a157600080fd5b6103036114e2565b34156106b457600080fd5b6103036114f1565b34156106c757600080fd5b6104556114f7565b34156106da57600080fd5b6103c1600160a060020a0360043516602435611506565b34156106fc57600080fd5b610303600160a060020a03600435811690602435166115a5565b341561072157600080fd5b6103c16115d0565b341561073457600080fd5b6104556115e0565b341561074757600080fd5b6103c160043515156115f4565b341561075f57600080fd5b6103c160ff600435166116aa565b341561077857600080fd5b6103c1600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061171495505050505050565b34156107c757600080fd5b6102eb600160a060020a036004351661178a565b6102eb600160a060020a03600435166117ec565b600c546000908190760100000000000000000000000000000000000000000000900460ff168015610829575060075460a860020a900460ff165b151561083457600080fd5b600160a060020a0333166000908152602081905260409020548390101561085a57600080fd5b600c546108769084906101009004600160a060020a0316611a26565b9050600160a060020a0330163181901161088f57600080fd5b600160a060020a0333166000908152602081905260409020546108b29084611ac0565b600160a060020a0333166000908152602081905260409020556003546108d89084611ac0565b6003556002546108e89084611ac0565b6002556108ff600160a060020a0330163182611ac0565b600655600160a060020a0333167ff505eb6e610340eed3eea0048f8ec258cda0927f73be2d293288fde9a546f1ab8460405190815260200160405180910390a2600033600160a060020a0316600080516020611bc48339815191528560405190815260200160405180910390a3600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561099d57600080fd5b92915050565b60408051908101604052600a81527f574f4c4b20544f4b454e00000000000000000000000000000000000000000000602082015281565b6000811580610a0c5750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b1515610a1757600080fd5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600b5481565b60025490565b600160a060020a0380841660008181526001602090815260408083203390951683529381528382205492825281905291822054839010801590610af65750600160a060020a0380861660009081526001602090815260408083203390941683529290522054839010155b8015610b025750600083115b15610bd657600160a060020a038416600090815260208190526040902054610b2a9084611ad2565b600160a060020a038086166000908152602081905260408082209390935590871681522054610b599084611ac0565b600160a060020a038616600090815260208190526040902055610b7c8184611ac0565b600160a060020a0380871660008181526001602090815260408083203386168452909152908190209390935590861691600080516020611bc48339815191529086905190815260200160405180910390a360019150610bdb565b600091505b509392505050565b60045460009033600160a060020a03908116911614610bfe57fe5b6000610c12670de0b6b3a764000084611a26565b11610c1c57600080fd5b6000610c30670de0b6b3a764000084611af6565b11610c3a57600080fd5b50600c8054600160a060020a0383166101000276ffffffffffffffffffffffffffffffffffffffffffff00199091161790556001919050565b600c546101009004600160a060020a031681565b601281565b600c54600090819060a860020a900460ff168015610cb3575060075460a860020a900460ff165b1515610cbe57600080fd5b60003411610ccb57600080fd5b600c54610ce79034906101009004600160a060020a0316611af6565b905060008111610cf657600080fd5b610d0260035482611ad2565b600355600254610d129082611ad2565b600255600160a060020a038316600090815260208190526040902054610d389082611ad2565b600160a060020a038416600090815260208190526040902055600654610d5e9034611ad2565b600655600160a060020a0383167f7ff6ea1c893a974b2f363e8f8e474a1b52958080d1fffe0d085c286de30035d28260405190815260200160405180910390a282600160a060020a031630600160a060020a0316600080516020611bc48339815191528360405190815260200160405180910390a392915050565b600c54760100000000000000000000000000000000000000000000900460ff1681565b600454600090819033600160a060020a03908116911614610e1957fe5b60075460a860020a900460ff1615610e3057600080fd5b42600b556007546101009004600160a060020a031660009081526020819052604090206a295be96e6406697200000090819055600254909250610e739083611ad2565b6002556007546101009004600160a060020a03167f7ff6ea1c893a974b2f363e8f8e474a1b52958080d1fffe0d085c286de30035d28360405190815260200160405180910390a26007805475ff000000000000000000000000000000000000000000191660a860020a1790819055600354610efe91610ef5919060ff16611b6e565b620186a0611b8f565b6006819055610f1890600160a060020a0330163190611ac0565b9050600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610f4b57600080fd5b5050565b600160a060020a03331660009081526008602052604081205481908190118015610f83575060075460a860020a900460ff16155b8015610f905750600b5442115b8015610fa8575060025469021e19e0c9bab240000090105b1515610fb357600080fd5b505033600160a060020a03166000908152602081815260408083208054600890935290832080549184905592909255600254909190610ff29083611ac0565b600255600160a060020a0333167ff505eb6e610340eed3eea0048f8ec258cda0927f73be2d293288fde9a546f1ab8360405190815260200160405180910390a233600160a060020a03167fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a78260405190815260200160405180910390a2600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610f4b57600080fd5b60045460009033600160a060020a039081169116146110bb57fe5b50600c805460ff1916911515919091179055600190565b69021e19e0c9bab240000081565b600160a060020a031660009081526020819052604090205490565b60055433600160a060020a0390811691161461111657600080fd5b6004546005547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a039081169116604051600160a060020a039283168152911660208201526040908101905180910390a1600580546004805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60025481565b600c5460a860020a900460ff1681565b60075460ff1681565b600454600160a060020a031681565b60045460009033600160a060020a039081169116146111eb57fe5b60016002541080156111fd5750834311155b151561120857600080fd5b50600a839055600b82905560078054600160a060020a0383166101000274ffffffffffffffffffffffffffffffffffffffff001990911617905560019392505050565b60035481565b60408051908101604052600381527f574c4b0000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a031660009081526009602052604090205460ff1690565b60065481565b600454600090819033600160a060020a039081169116146112c957fe5b5060005b8251811015611322576001600960008584815181106112e857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790556001016112cd565b50600192915050565b600160a060020a0333166000908152602081905260408120548290108015906113545750600082115b1561141057600160a060020a03331660009081526020819052604090205461137c9083611ac0565b600160a060020a0333811660009081526020819052604080822093909355908516815220546113ab9083611ad2565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a0316600080516020611bc48339815191528460405190815260200160405180910390a350600161099d565b50600061099d565b60045460009033600160a060020a0390811691161461143357fe5b811561149b57600c5460009061146090670de0b6b3a7640000906101009004600160a060020a0316611a26565b1161146a57600080fd5b600c5460009061149190670de0b6b3a7640000906101009004600160a060020a0316611af6565b1161149b57600080fd5b50600c80548215157601000000000000000000000000000000000000000000000276ff00000000000000000000000000000000000000000000199091161790556001919050565b6a0e79c4e6a3023e8180000081565b600a5481565b600554600160a060020a031681565b60045460009033600160a060020a0390811691161461152157fe5b600454600160a060020a038085169163a9059cbb91168460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561158457600080fd5b6102c65a03f1151561159557600080fd5b5050506040518051949350505050565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b60075460a860020a900460ff1681565b6007546101009004600160a060020a031681565b60045460009033600160a060020a0390811691161461160f57fe5b811561167757600c5460009061163c90670de0b6b3a7640000906101009004600160a060020a0316611a26565b1161164657600080fd5b600c5460009061166d90670de0b6b3a7640000906101009004600160a060020a0316611af6565b1161167757600080fd5b50600c805482151560a860020a0275ff000000000000000000000000000000000000000000199091161790556001919050565b60045460009033600160a060020a039081169116146116c557fe5b60075460a860020a900460ff1680156116e1575060018260ff16115b80156116f0575060148260ff16105b15156116fb57600080fd5b506007805460ff831660ff199091161790556001919050565b600454600090819033600160a060020a0390811691161461173157fe5b5060005b82518110156113225760006009600085848151811061175057fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101611735565b60045433600160a060020a039081169116146117a257fe5b600454600160a060020a03828116911614156117bd57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a0381166000908152600960205260408120548190819060ff168061182f5750600160a060020a03331660009081526009602052604090205460ff165b806118505750600160a060020a038416600090815260208190526040812054115b8061185d5750600c5460ff165b8015611873575060075460a860020a900460ff16155b80156118815750600b544211155b801561188d5750600034115b151561189857600080fd5b6002546103e893506118d7906a0e79c4e6a3023e81800000906118d2906901da56a4b0835bf80000906118cd906107d0611b8f565b611ad2565b611b8f565b92506107d08311156118e9576107d092505b6101f48310156118f9576101f492505b600a5443101561190857600080fd5b6119123484611b6e565b915061192060025483611ad2565b90506a0e79c4e6a3023e8180000081111561193a57600080fd5b600281905560035461194c9083611ad2565b600355600160a060020a03808516903016600080516020611bc48339815191528460405190815260200160405180910390a3600160a060020a0384166000908152602081905260409020546119a19083611ad2565b600160a060020a038516600090815260208181526040808320939093556008905220546119ce9034611ad2565b600160a060020a0385166000818152600860205260409081902092909255907f7ff6ea1c893a974b2f363e8f8e474a1b52958080d1fffe0d085c286de30035d29084905190815260200160405180910390a250505050565b6003546006546007546000928392600160a060020a0386169263f7a4c45c92919060ff1688866040516020015260405160e060020a63ffffffff87160281526004810194909452602484019290925260ff1660448301526064820152608401602060405180830381600087803b1515611a9e57600080fd5b6102c65a03f11515611aaf57600080fd5b505050604051805195945050505050565b600082821115611acc57fe5b50900390565b6000828201838110801590611ae75750828110155b1515611aef57fe5b9392505050565b6003546006546007546000928392600160a060020a0386169263949dfa6392919060ff1688866040516020015260405160e060020a63ffffffff87160281526004810194909452602484019290925260ff1660448301526064820152608401602060405180830381600087803b1515611a9e57600080fd5b6000828202831580611ae75750828482811515611b8757fe5b0414611aef57fe5b600080808311611b9b57fe5b8284811515611ba657fe5b0490508284811515611bb457fe5b068184020184141515611aef57fe00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058209aaada50c1671511e7d4a6f65fcfba9395b602433a033c0d707bfb0dbd61a6500029

   Swarm Source:
bzzr://9aaada50c1671511e7d4a6f65fcfba9395b602433a033c0d707bfb0dbd61a650

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.