Overview
ETH Balance: 0 Ether
Mined:  0
No Of Transactions: 4 txns + 2 internalTxns
Misc QRCODE
Address Watch Add To Watch List
  Latest 4 txns

TxHash Block Age From To Value [TxFee]
0xc6f701d37ee6bab3322ce52c9d7f8c2129ebede74cd62615c017a17d937e830f2758099108 days 9 hrs ago0x04b3faaa7c8127a80eb6d24672cfdaf4aecabbf8  IN   0x6abd2b75ff5f306a4d99bfab1ff84b57bb9d23e70 Ether0.0002709
0x61c7e399e51e100396a06a7da4da0c04c7bf0bd14ee352e218d65738ca27d0792758094108 days 9 hrs ago0x04b3faaa7c8127a80eb6d24672cfdaf4aecabbf8  IN   0x6abd2b75ff5f306a4d99bfab1ff84b57bb9d23e70 Ether0.001
0x2f26e4a8ca335bd4097fe719f38d39f72fd109bafabf97e96fa33d9d5d4d5fe82036176228 days 53 mins ago0x04b3faaa7c8127a80eb6d24672cfdaf4aecabbf8  IN   0x6abd2b75ff5f306a4d99bfab1ff84b57bb9d23e742 wei0.00227794
0xed67cf8e6ee34264539349c2a870d648b428d96f6cccaaa05cb9c4ec14139dae2036163228 days 58 mins ago0x04b3faaa7c8127a80eb6d24672cfdaf4aecabbf8  IN    Contract Creation0 Ether0.0042651

[Download: CSV Export ]    
 Internal Transactions as a result of Contract Execution
  Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0xc6f701d37ee6bab3322ce52c9d7f8c2129ebede74cd62615c017a17d937e830f2758099108 days 9 hrs ago0x6abd2b75ff5f306a4d99bfab1ff84b57bb9d23e70x04b3faaa7c8127a80eb6d24672cfdaf4aecabbf842 wei
0x2f26e4a8ca335bd4097fe719f38d39f72fd109bafabf97e96fa33d9d5d4d5fe82036176228 days 53 mins ago0x6abd2b75ff5f306a4d99bfab1ff84b57bb9d23e70x04b3faaa7c8127a80eb6d24672cfdaf4aecabbf842 wei
Contract SUICIDE called at TxHash 0xc6f701d37ee6bab3322ce52c9d7f8c2129ebede74cd62615c017a17d937e830f

Contract Source Code Verified
Contract Name: ThisExternalAssembly
Compiler Version: v0.3.5-2016-08-07-f7af7de
Optimization Enabled: Yes
Online Solidity Editor:  -NA-



  Contract Source Code   Find Similiar Contracts
contract ThisExternalAssembly {
    uint public numcalls;
    uint public numcallsinternal;
    uint public numfails;
    uint public numsuccesses;
    
    address owner;

    event logCall(uint indexed _numcalls, uint indexed _numcallsinternal);
    
    modifier onlyOwner { if (msg.sender != owner) throw; _ }
    modifier onlyThis { if (msg.sender != address(this)) throw; _ }

    // constructor
    function ThisExternalAssembly() {
        owner = msg.sender;
    }

    function failSend() external onlyThis returns (bool) {
        // storage change + nested external call
        numcallsinternal++;
        owner.send(42);

        // placeholder for state checks
        if (true) throw;

        // never happens in this case
        return true;
    }
    
    function doCall(uint _gas) onlyOwner {
        numcalls++;

        address addr = address(this);
        bytes4 sig = bytes4(sha3("failSend()"));

        bool ret;

        // work around `solc` safeguards for throws in external calls
        // https://ethereum.stackexchange.com/questions/6354/
        assembly {
            let x := mload(0x40) // read "empty memory" pointer
            mstore(x,sig)

            ret := call(
                _gas, // gas amount
                addr, // recipient account
                0,    // value (no need to pass)
                x,    // input start location
                0x4,  // input size - just the sig
                x,    // output start location
                0x1)  // output size (bool - 1 byte)

            //ret := mload(x) // no return value ever written :/
            mstore(0x40,add(x,0x4)) // just in case, roll the tape
        }

        if (ret) { numsuccesses++; }
        else { numfails++; }

        // mostly helps with function identification if disassembled
        logCall(numcalls, numcallsinternal);
    }

    // will clean-up :)
    function selfDestruct() onlyOwner { selfdestruct(owner); }
    
    function() { throw; }
}

  Contract ABI  
[{"constant":true,"inputs":[],"name":"numsuccesses","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"numfails","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"numcalls","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":true,"inputs":[],"name":"numcallsinternal","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[],"name":"selfDestruct","outputs":[],"type":"function"},{"constant":false,"inputs":[],"name":"failSend","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"_gas","type":"uint256"}],"name":"doCall","outputs":[],"type":"function"},{"inputs":[],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_numcalls","type":"uint256"},{"indexed":true,"name":"_numcallsinternal","type":"uint256"}],"name":"logCall","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260048054600160a060020a0319163317905561020e806100246000396000f3606060405236156100615760e060020a60003504634a943eb381146100695780635d2230d7146100725780636e8b7c231461007b5780638f259117146100845780639cb8a26a1461008d578063b764e273146100ac578063f1bca7a4146100d1575b6100f9610002565b6100fb60035481565b6100fb60025481565b6100fb60005481565b6100fb60015481565b6100f9600454600160a060020a03908116339091161461012157610002565b61010d600030600160a060020a031633600160a060020a031614151561012f57610002565b6100f96004356004546000908190819033600160a060020a0390811691161461016157610002565b005b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b600454600160a060020a0316ff5b6001805481019055600454604051600160a060020a0390911690600090602a9082818181858883f15050505050610002565b6000805460019081018255604080517f6661696c53656e642829000000000000000000000000000000000000000000008152905190819003600a01812080825230965094509182906004908290888af19150600481016040525080156101cf576003805460010190556101d9565b6002805460010190555b6001546000805460405190917fe187a550592d0937aaaf3d9b82a1798666ec120c2af2d58f114ff1f6faaaa96e91a35050505056
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward