Contract 0x71d01db8d6a2fbea7f8d434599c237980c234e4c

 

TxHash Block Age From To Value [TxFee]
0xc30da3f7cd1ab46c5c89bfa65276c3118a6a1da34fe32f56f4ce897fc966cdcf72386973 hrs 2 mins ago0x8d99443b0f4a92762a0e8bbc60a2140377678720  IN   GladiusToken0 Ether0.00153053
0xbfd17119ee55ed8c1d201380f24e9e36ad2808719f1a9d2d1c952581ca37094d723719811 hrs 33 mins ago0x84dae7e94ebb59c0d5313bb73079bc737b8ab00f  IN   GladiusToken0 Ether0.000592202
0x038ade4664af66e3b468831b16c078d330aa7ef4ff54fc3abc5aa76d05cda7d6723693213 hrs 3 mins ago0xf33ed8c9581fb46eb7f3735f19b06a21fa6b366d  IN   GladiusToken0 Ether0.001186068
0xec7657b52fa779af94672423d7e9018524cce53aeca8f8d2d7496a21fe27e9a7723688413 hrs 21 mins ago0xca344732b6192e0384c40bc671762a843719a6d8  IN   GladiusToken0 Ether0.00078591
0x0bb6e8485cddbabda2745e5526959faceb4bd118d605047c901455dcc6874575723525622 hrs 40 mins ago0xaa0fcfe5a7dace9195d7d5c9819f88faa1532df6  IN   GladiusToken0 Ether0.000336546
0x1f185940e183b406365150feefb0d24ce6f42326ab322731887b661f6f3d3ea172340341 day 5 hrs ago0x689c56aef474df92d44a1b70850f808488f9769c  IN   GladiusToken0 Ether0.000419152
0x37523506f525d29f0096c3aab2506694986f240908dd13ae8082b1ba44f21bbf72327441 day 13 hrs ago0x446cf4e5d268a276d470f4d72e4913231053cc5e  IN   GladiusToken0 Ether0.000273708
0x540f6bf308ec2c41e7763547c6b9c7b85a067a1d9399d5e710dacabc4b15fcaa72316351 day 19 hrs ago0xf6fb44f07cfc3fac77df3efc071c7704dc510f0c  IN   GladiusToken0 Ether0.00018665
0x48e9fbd159bf9cfd4d60e1d544d54b873794b9a22e22dd0e502a23f1448d86cf72284832 days 13 hrs ago0x7cb6271a6cdc6b3c6257e44a9db4dcbc31ed72ed  IN   GladiusToken0 Ether0.000273324
0xfca43b23cad3cb68be4bf00e589c67a9982779eb74bb252008e7e0bbb983a1a272284792 days 13 hrs ago0xb5face91c7973076c1ef5f5ef5d97284cc5341f8  IN   GladiusToken0 Ether0.00014932
0x55f8f7cc9b40286b1be98a179c6838f3630e0884860e004e4c4d3c3a0b34863f72283082 days 14 hrs ago0x396ac0ad937fc9673461bf64e80f601f39e35327  IN   GladiusToken0 Ether0.000273708
0x940ca841082fcde363759fcabd2004dd03f4da469ed6d407f95f93f0c1923e2d72279212 days 16 hrs ago0xa8ecb1cd078d2f7263f7f231a92162fd270c6716  IN   GladiusToken0 Ether0.00018196
0x5db43484ecb4033474463eb31b28275bb39305e7d40a56ca6e1442d50a263f5572278502 days 17 hrs ago0x41640de9af4444a43c700d3a7dfd8e7fe58ff544  IN   GladiusToken0 Ether0.00007466
0x53b22ae9c237e20da33b917f7da70b217227377687f6c44271284fb203f0968572277162 days 17 hrs ago0x2ba07ab5648351d846d7b108e11be1f6ec404099  IN   GladiusToken0 Ether0.000091236
0x10c5810ed10e8db5de5b8fce5ef83dd188fe393697f2f6f6400ddabe85e8213372274742 days 19 hrs ago0xe37a0904834d9b0a72e219967ab8eadc4855f236  IN   GladiusToken0 Ether0.00068427
0x14bc8b137b53e1284485eb004c85a1e0b5a75553c7406fc55cfdc5c800c770ba72274452 days 19 hrs ago0x88512abb31047033c3d6f1bacbc806524511510d  IN   GladiusToken0 Ether0.0000860062
0xb1ab451048f46af1d5b528372f406ce5dc08d889288ebb095fb0db31ae7289f172272392 days 20 hrs agoKucoin  IN   GladiusToken0 Ether0.0006601644
0x556b7b75e26d76a3192345c1d505521070711fc4c9b3c659cebf4b231d97819972256603 days 5 hrs ago0xe3f99419747c0878c26fbf5680e575458b24bbea  IN   GladiusToken0 Ether0.000273324
0x146bd4bfe638a4b1d98953aca91eed986d68cf1bbab8d8dd99454cecbe83db6372256543 days 5 hrs ago0x7bd0b71256796c526f3e1d616546dfc05d83e87a  IN   GladiusToken0 Ether0.00022398
0x8c91372077876b9bcc46cd13a58bced1027e11d0ac783aef1a4def450014d6d372256243 days 5 hrs ago0x42ae5430fcd6925a43eebc889b50a9c2008b9ad4  IN   GladiusToken0 Ether0.00022398
0xa43cc0f0f769ef3d03cec4a7d2c95fb6818211e2f7f2e65b767af6686339f49d72253773 days 7 hrs ago0x8f6b2d2577089839eaa365d74655e0777bed8828  IN   GladiusToken0 Ether0.000149576
0x41af8dcf165eb1f729559a9b079f4fcb632a00f8baf46d1c92f577d2f6f1656572244083 days 13 hrs agoKucoin  IN   GladiusToken0 Ether0.00078591
0x7f1d27bb59f30a1e8e7f4032aca3fec22b0fca6e31817e9dc4b93daa3350783272240753 days 14 hrs ago0xf52b8ddc1e6d211b4a100061e9d47d9ac2c11fb9  IN   GladiusToken0 Ether0.001049214
0x7173a8207f59048e135a4df65464955a159b5c081f92639b28580cbd1e1726a172233963 days 18 hrs ago0xe9ba606839c15e6653707a5f4b114b2a67ac682b  IN   GladiusToken0 Ether0.000273324
0x59203dffe82bb763ec7d07eba59b425e24b480b707bfaaa1220ed8dd0cfe99b372233883 days 18 hrs ago0xfd6ea07d635b2a07e0b6b1345ad9671f83d5b15a  IN   GladiusToken0 Ether0.00041864
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: GLAToken
Compiler Version: v0.4.15+commit.bbb8e64f
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.15;

contract InputValidator {


    /**
     * ERC20 Short Address Attack fix
     */
    modifier safe_arguments(uint _numArgs) {
        assert(msg.data.length == _numArgs * 32 + 4);
        _;
    }
}

contract Owned {

    // The address of the account that is the current owner 
    address internal owner;


    /**
     * The publisher is the inital owner
     */
    function Owned() {
        owner = msg.sender;
    }


    /**
     * Access is restricted to the current owner
     */
    modifier only_owner() {
        require(msg.sender == owner);

        _;
    }
}

contract IOwnership {

    /**
     * Returns true if `_account` is the current owner
     *
     * @param _account The address to test against
     */
    function isOwner(address _account) constant returns (bool);


    /**
     * Gets the current owner
     *
     * @return address The current owner
     */
    function getOwner() constant returns (address);
}

contract Ownership is IOwnership, Owned {


    /**
     * Returns true if `_account` is the current owner
     *
     * @param _account The address to test against
     */
    function isOwner(address _account) public constant returns (bool) {
        return _account == owner;
    }


    /**
     * Gets the current owner
     *
     * @return address The current owner
     */
    function getOwner() public constant returns (address) {
        return owner;
    }
}

contract ITransferableOwnership {

    /**
     * Transfer ownership to `_newOwner`
     *
     * @param _newOwner The address of the account that will become the new owner 
     */
    function transferOwnership(address _newOwner);
}

contract TransferableOwnership is ITransferableOwnership, Ownership {


    /**
     * Transfer ownership to `_newOwner`
     *
     * @param _newOwner The address of the account that will become the new owner 
     */
    function transferOwnership(address _newOwner) public only_owner {
        owner = _newOwner;
    }
}


/**
 * @title ERC20 compatible token interface
 *
 * Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20
 * - Short address attack fix
 *
 * #created 29/09/2017
 * #author Frank Bonnet
 */
contract IToken { 

    /** 
     * Get the total supply of tokens
     * 
     * @return The total supply
     */
    function totalSupply() constant returns (uint);


    /** 
     * Get balance of `_owner` 
     * 
     * @param _owner The address from which the balance will be retrieved
     * @return The balance
     */
    function balanceOf(address _owner) constant returns (uint);


    /** 
     * Send `_value` token to `_to` from `msg.sender`
     * 
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return Whether the transfer was successful or not
     */
    function transfer(address _to, uint _value) returns (bool);


    /** 
     * Send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
     * 
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return Whether the transfer was successful or not
     */
    function transferFrom(address _from, address _to, uint _value) returns (bool);


    /** 
     * `msg.sender` approves `_spender` to spend `_value` tokens
     * 
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of tokens to be approved for transfer
     * @return Whether the approval was successful or not
     */
    function approve(address _spender, uint _value) returns (bool);


    /** 
     * Get the amount of remaining tokens that `_spender` is allowed to spend from `_owner`
     * 
     * @param _owner The address of the account owning tokens
     * @param _spender The address of the account able to transfer the tokens
     * @return Amount of remaining tokens allowed to spent
     */
    function allowance(address _owner, address _spender) constant returns (uint);
}


/**
 * @title ERC20 compatible token
 *
 * Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20
 * - Short address attack fix
 *
 * #created 29/09/2017
 * #author Frank Bonnet
 */
contract Token is IToken, InputValidator {

    // Ethereum token standard
    string public standard = "Token 0.3";
    string public name;        
    string public symbol;
    uint8 public decimals = 8;

    // Token state
    uint internal totalTokenSupply;

    // Token balances
    mapping (address => uint) internal balances;

    // Token allowances
    mapping (address => mapping (address => uint)) internal allowed;


    // Events
    event Transfer(address indexed _from, address indexed _to, uint _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);

    /** 
     * Construct 
     * 
     * @param _name The full token name
     * @param _symbol The token symbol (aberration)
     */
    function Token(string _name, string _symbol) {
        name = _name;
        symbol = _symbol;
        balances[msg.sender] = 0;
        totalTokenSupply = 0;
    }


    /** 
     * Get the total token supply
     * 
     * @return The total supply
     */
    function totalSupply() public constant returns (uint) {
        return totalTokenSupply;
    }


    /** 
     * Get balance of `_owner` 
     * 
     * @param _owner The address from which the balance will be retrieved
     * @return The balance
     */
    function balanceOf(address _owner) public constant returns (uint) {
        return balances[_owner];
    }


    /** 
     * Send `_value` token to `_to` from `msg.sender`
     * 
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return Whether the transfer was successful or not
     */
    function transfer(address _to, uint _value) public safe_arguments(2) returns (bool) {

        // Check if the sender has enough tokens
        require(balances[msg.sender] >= _value);   

        // Check for overflows
        require(balances[_to] + _value >= balances[_to]);

        // Transfer tokens
        balances[msg.sender] -= _value;
        balances[_to] += _value;

        // Notify listeners
        Transfer(msg.sender, _to, _value);
        return true;
    }


    /** 
     * Send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
     * 
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return Whether the transfer was successful or not 
     */
    function transferFrom(address _from, address _to, uint _value) public safe_arguments(3) returns (bool) {

        // Check if the sender has enough
        require(balances[_from] >= _value);

        // Check for overflows
        require(balances[_to] + _value >= balances[_to]);

        // Check allowance
        require(_value <= allowed[_from][msg.sender]);

        // Transfer tokens
        balances[_to] += _value;
        balances[_from] -= _value;

        // Update allowance
        allowed[_from][msg.sender] -= _value;

        // Notify listeners
        Transfer(_from, _to, _value);
        return true;
    }


    /** 
     * `msg.sender` approves `_spender` to spend `_value` tokens
     * 
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of tokens to be approved for transfer
     * @return Whether the approval was successful or not
     */
    function approve(address _spender, uint _value) public safe_arguments(2) returns (bool) {

        // Update allowance
        allowed[msg.sender][_spender] = _value;

        // Notify listeners
        Approval(msg.sender, _spender, _value);
        return true;
    }


    /** 
     * Get the amount of remaining tokens that `_spender` is allowed to spend from `_owner`
     * 
     * @param _owner The address of the account owning tokens
     * @param _spender The address of the account able to transfer the tokens
     * @return Amount of remaining tokens allowed to spent
     */
    function allowance(address _owner, address _spender) public constant returns (uint) {
      return allowed[_owner][_spender];
    }
}


/**
 * @title ManagedToken interface
 *
 * Adds the following functionallity to the basic ERC20 token
 * - Locking
 * - Issuing
 *
 * #created 29/09/2017
 * #author Frank Bonnet
 */
contract IManagedToken is IToken { 

    /** 
     * Returns true if the token is locked
     * 
     * @return Whether the token is locked
     */
    function isLocked() constant returns (bool);


    /**
     * Unlocks the token so that the transferring of value is enabled 
     *
     * @return Whether the unlocking was successful or not
     */
    function unlock() returns (bool);


    /**
     * Issues `_value` new tokens to `_to`
     *
     * @param _to The address to which the tokens will be issued
     * @param _value The amount of new tokens to issue
     * @return Whether the tokens where sucessfully issued or not
     */
    function issue(address _to, uint _value) returns (bool);
}


/**
 * @title ManagedToken
 *
 * Adds the following functionallity to the basic ERC20 token
 * - Locking
 * - Issuing
 *
 * #created 29/09/2017
 * #author Frank Bonnet
 */
contract ManagedToken is IManagedToken, Token, TransferableOwnership {

    // Token state
    bool internal locked;


    /**
     * Allow access only when not locked
     */
    modifier only_when_unlocked() {
        require(!locked);

        _;
    }


    /** 
     * Construct 
     * 
     * @param _name The full token name
     * @param _symbol The token symbol (aberration)
     * @param _locked Whether the token should be locked initially
     */
    function ManagedToken(string _name, string _symbol, bool _locked) Token(_name, _symbol) {
        locked = _locked;
    }


    /** 
     * Send `_value` token to `_to` from `msg.sender`
     * 
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return Whether the transfer was successful or not
     */
    function transfer(address _to, uint _value) public only_when_unlocked returns (bool) {
        return super.transfer(_to, _value);
    }


    /** 
     * Send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
     * 
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return Whether the transfer was successful or not
     */
    function transferFrom(address _from, address _to, uint _value) public only_when_unlocked returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }


    /** 
     * `msg.sender` approves `_spender` to spend `_value` tokens
     * 
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of tokens to be approved for transfer
     * @return Whether the approval was successful or not
     */
    function approve(address _spender, uint _value) public returns (bool) {
        return super.approve(_spender, _value);
    }


    /** 
     * Returns true if the token is locked
     * 
     * @return Wheter the token is locked
     */
    function isLocked() public constant returns (bool) {
        return locked;
    }


    /**
     * Unlocks the token so that the transferring of value is enabled 
     *
     * @return Whether the unlocking was successful or not
     */
    function unlock() public only_owner returns (bool)  {
        locked = false;
        return !locked;
    }


    /**
     * Issues `_value` new tokens to `_to`
     *
     * @param _to The address to which the tokens will be issued
     * @param _value The amount of new tokens to issue
     * @return Whether the approval was successful or not
     */
    function issue(address _to, uint _value) public only_owner safe_arguments(2) returns (bool) {
        
        // Check for overflows
        require(balances[_to] + _value >= balances[_to]);

        // Create tokens
        balances[_to] += _value;
        totalTokenSupply += _value;

        // Notify listeners 
        Transfer(0, this, _value);
        Transfer(this, _to, _value);

        return true;
    }
}


/**
 * @title Token retrieve interface
 *
 * Allows tokens to be retrieved from a contract
 *
 * #created 29/09/2017
 * #author Frank Bonnet
 */
contract ITokenRetreiver {

    /**
     * Extracts tokens from the contract
     *
     * @param _tokenContract The address of ERC20 compatible token
     */
    function retreiveTokens(address _tokenContract);
}

/**
 * @title GLA (Gladius) token
 *
 * #created 26/09/2017
 * #author Frank Bonnet
 */
contract GLAToken is ManagedToken, ITokenRetreiver {


    /**
     * Starts with a total supply of zero and the creator starts with 
     * zero tokens (just like everyone else)
     */
    function GLAToken() ManagedToken("Gladius Token", "GLA", true) {}


    /**
     * Failsafe mechanism
     * 
     * Allows owner to retreive tokens from the contract
     *
     * @param _tokenContract The address of ERC20 compatible token
     */
    function retreiveTokens(address _tokenContract) public only_owner {
        IToken tokenInstance = IToken(_tokenContract);
        uint tokenBalance = tokenInstance.balanceOf(this);
        if (tokenBalance > 0) {
            tokenInstance.transfer(owner, tokenBalance);
        }
    }


    /**
     * Prevents accidental sending of ether
     */
    function () payable {
        revert();
    }
}

Contract ABI
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_account","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"issue","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"retreiveTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"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"}]

Contract Creation Code
606060405260408051908101604052600981527f546f6b656e20302e3300000000000000000000000000000000000000000000006020820152600090805161004b92916020019061016e565b506003805460ff19166008179055341561006457600080fd5b5b604080519081016040908152600d82527f476c616469757320546f6b656e0000000000000000000000000000000000000060208301528051908101604052600381527f474c410000000000000000000000000000000000000000000000000000000000602082015260015b5b82825b60018280516100e792916020019061016e565b5060028180516100fb92916020019061016e565b50600160a060020a03331660009081526005602052604081208190556004555b505060078054600160a060020a03191633600160a060020a03161790555b6007805460a060020a60ff02191674010000000000000000000000000000000000000000831515021790555b5050505b61020e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101af57805160ff19168380011785556101dc565b828001600101855582156101dc579182015b828111156101dc5782518255916020019190600101906101c1565b5b506101e99291506101ed565b5090565b61020b91905b808211156101e957600081556001016101f3565b5090565b90565b610d13806200021e6000396000f300606060405236156100d55763ffffffff60e060020a60003504166306fdde0381146100dd578063095ea7b31461016857806318160ddd1461019e57806323b872dd146101c35780632f54bf6e146101ff578063313ce567146102325780635a3b7e421461025b57806370a08231146102e6578063867904b414610317578063893d20e81461034d57806395d89b411461037c57806396a0492514610407578063a4e2d63414610428578063a69df4b51461044f578063a9059cbb14610476578063dd62ed3e146104ac578063f2fde38b146104e3575b5b600080fd5b005b34156100e857600080fd5b6100f0610504565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561017357600080fd5b61018a600160a060020a03600435166024356105a2565b604051901515815260200160405180910390f35b34156101a957600080fd5b6101b16105b7565b60405190815260200160405180910390f35b34156101ce57600080fd5b61018a600160a060020a03600435811690602435166044356105be565b604051901515815260200160405180910390f35b341561020a57600080fd5b61018a600160a060020a03600435166105ee565b604051901515815260200160405180910390f35b341561023d57600080fd5b610245610605565b60405160ff909116815260200160405180910390f35b341561026657600080fd5b6100f061060e565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102f157600080fd5b6101b1600160a060020a03600435166106ac565b60405190815260200160405180910390f35b341561032257600080fd5b61018a600160a060020a03600435166024356106cb565b604051901515815260200160405180910390f35b341561035857600080fd5b6103606107ad565b604051600160a060020a03909116815260200160405180910390f35b341561038757600080fd5b6100f06107bd565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012d5780820151818401525b602001610114565b50505050905090810190601f16801561015a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041257600080fd5b6100db600160a060020a036004351661085b565b005b341561043357600080fd5b61018a610980565b604051901515815260200160405180910390f35b341561045a57600080fd5b61018a610991565b604051901515815260200160405180910390f35b341561048157600080fd5b61018a600160a060020a03600435166024356109e0565b604051901515815260200160405180910390f35b34156104b757600080fd5b6101b1600160a060020a0360043581169060243516610a0e565b60405190815260200160405180910390f35b34156104ee57600080fd5b6100db600160a060020a0360043516610a3b565b005b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561059a5780601f1061056f5761010080835404028352916020019161059a565b820191906000526020600020905b81548152906001019060200180831161057d57829003601f168201915b505050505081565b60006105ae8383610a83565b90505b92915050565b6004545b90565b60075460009060a060020a900460ff16156105d857600080fd5b6105e3848484610afe565b90505b5b9392505050565b600754600160a060020a038281169116145b919050565b60035460ff1681565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561059a5780601f1061056f5761010080835404028352916020019161059a565b820191906000526020600020905b81548152906001019060200180831161057d57829003601f168201915b505050505081565b600160a060020a0381166000908152600560205260409020545b919050565b60075460009033600160a060020a039081169116146106e957600080fd5b6002366044146106f557fe5b600160a060020a038416600090815260056020526040902054838101101561071c57600080fd5b600160a060020a0380851660009081526005602052604080822080548701905560048054870190553090921691600080516020610cc88339815191529086905190815260200160405180910390a383600160a060020a031630600160a060020a0316600080516020610cc88339815191528560405190815260200160405180910390a3600191505b5b505b92915050565b600754600160a060020a03165b90565b60028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561059a5780601f1061056f5761010080835404028352916020019161059a565b820191906000526020600020905b81548152906001019060200180831161057d57829003601f168201915b505050505081565b600754600090819033600160a060020a0390811691161461087b57600080fd5b82915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156108d557600080fd5b6102c65a03f115156108e657600080fd5b5050506040518051915050600081111561097957600754600160a060020a038084169163a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561095d57600080fd5b6102c65a03f1151561096e57600080fd5b505050604051805150505b5b5b505050565b60075460a060020a900460ff165b90565b60075460009033600160a060020a039081169116146109af57600080fd5b506007805474ff000000000000000000000000000000000000000019169081905560a060020a900460ff16155b5b90565b60075460009060a060020a900460ff16156109fa57600080fd5b6105ae8383610c0c565b90505b5b92915050565b600160a060020a038083166000908152600660209081526040808320938516835292905220545b92915050565b60075433600160a060020a03908116911614610a5657600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b6000600236604414610a9157fe5b600160a060020a03338116600081815260066020908152604080832094891680845294909152908190208690557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259086905190815260200160405180910390a3600191505b5b5092915050565b6000600336606414610b0c57fe5b600160a060020a03851660009081526005602052604090205483901015610b3257600080fd5b600160a060020a0384166000908152600560205260409020548381011015610b5957600080fd5b600160a060020a0380861660009081526006602090815260408083203390941683529290522054831115610b8c57600080fd5b600160a060020a03808516600081815260056020908152604080832080548901905589851680845281842080548a9003905560068352818420339096168452949091529081902080548790039055909190600080516020610cc88339815191529086905190815260200160405180910390a3600191505b5b509392505050565b6000600236604414610c1a57fe5b600160a060020a03331660009081526005602052604090205483901015610c4057600080fd5b600160a060020a0384166000908152600560205260409020548381011015610c6757600080fd5b600160a060020a03338116600081815260056020526040808220805488900390559287168082529083902080548701905591600080516020610cc88339815191529086905190815260200160405180910390a3600191505b5b50929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820110c0ed6fa664ce3b8c73cc210aa33cfbdceffef3ae91ae726724e7102c46b7f0029


   Swarm Source:
bzzr://110c0ed6fa664ce3b8c73cc210aa33cfbdceffef3ae91ae726724e7102c46b7f
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.