Contract 0x21d5a14e625d767ce6b7a167491c2d18e0785fda

 

TxHash Block Age From To Value [TxFee]
0x6225878eb1c440eb334ce2e84b06265642f9a5a6debe3640e11e72db8298a2b8723135018 hrs 26 mins ago0xd18ca62fe9a8ca51af94177c7605295503089b4c  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.00047147
0xfc03b16fecd3e151245d17bac73b31f68f2af6b303b8801d5f74729a3b3d839c72178454 days 9 mins ago0xdf9e072e54269e2c808bd0b6419382a02553684e  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.0003614703
0x3fb09f399c41c73fa997086e072181aa50ba15ebb1226250203264a4bfa0fe2e72113535 days 13 hrs ago0x17c4fdc5715b7562053740e4c907bb2bc4c5fe8f  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000157605
0x3179028ef2400d78e2fed3190d27a4d8c224c94ec723dc872d961c1e7fcc585172113245 days 13 hrs ago0x17c4fdc5715b7562053740e4c907bb2bc4c5fe8f  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000366709
0x3f359eae0a3b96e8fc02302605072ee76bafe948030e08570ffe6f44c0bc71d172113075 days 13 hrs ago0x246e275df7a0de8752117cc45283c3d1c3292b08  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000301480545
0x37c89760c3c0406eb347de85009d518ca08575824fd380f575eba4899f2c727272105795 days 17 hrs ago0x2e1064e98fea8fda3e3237e446862d7443d0b86f  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.0004825492
0xf03f9ff148c7be3cdda7708874642c49b4a4bbffad729b3ab47ce4fa6c6d2a4172104755 days 18 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.001312875
0xceac453bac9daf3102901ffc5917d5d9c5c88beaa0964e24bf4dab48571a4e1272104695 days 18 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.001314475
0xcef9ca4239161e855816f883b98d7670c3992cf22449402e604d9965d0c56fe372102735 days 19 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.00262575
0xdbcfcfd485cea080f9b3462fb05cb18e19f58849d9681ea0144572057e031787717802912 days 16 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000937875
0x1b9448687e7e6af3da2019259a375ed25b7c293e2d29e23e8b8a3a6768c42855717799612 days 16 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.001309675
0xbe4978efab26e6bac15f21b646372eee0d90425a8c1b1d38ec1cf28ffba39cc9717776112 days 17 hrs ago0x820fea90548df7456d8a1c47e05f39c42bd99590  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000361816
0xb942dbf540fbd3b8b32a8bdf5b36ff18dc746f1ccb1f19028fd420561fe55109717766412 days 18 hrs ago0x69935229fd242ee9365213e525d71b99ba111319  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000306309982
0x0fa104b7027cc8913172a452f322085e0942da8b88001ae2408a1f805fb03900717765512 days 18 hrs ago0x69935229fd242ee9365213e525d71b99ba111319  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000427739865
0x457b33e162ad8d5715f045960a25c9c844b5c44f976c8efdd159147d3fcc0b7b717765112 days 18 hrs ago0x526cf5e989ed801d6af97f2fb9a0303ae720c0ad  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000305787422
0x029936ce884c998120ba44540a79d59b9794cc04aa8bd3650955a6a3343b2524717272513 days 18 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.00187895
0x63044aec98e09cb1c296610ec0fdcfea429562425e9a4fb1b9edfbff015a25d7717216713 days 21 hrs ago0x33b271df37614c56cc29e2d107323c54b3b2a3c0  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.002147867
0xb0a250be6f8355e0391f1edf75e6f12a1e74988be9e35da76d544425e4bdd0e8717011714 days 6 hrs ago0x66773dd1dbf49da638a2afb8eba777217dc58f89  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.0000246961
0x7b0fb08c1a60c9d74cf6ae1f6bcb0fab113985fd8b2ddd7fa3c7587487a1429f716977914 days 8 hrs ago0x69935229fd242ee9365213e525d71b99ba111319  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000295823666
0xbd205d6cf13aa50ec3ad45b10de7b52c8034abc98c2ae2f5dcd04eaee347f222716780414 days 18 hrs ago0x66773dd1dbf49da638a2afb8eba777217dc58f89  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.0000246961
0x0525140c0204da5878da2d224bc8d4be8601f8d2dc32d8f271582275aae3b346716774614 days 18 hrs ago0x69935229fd242ee9365213e525d71b99ba111319  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000361911913
0xf01378cb3fb235833233232a12c28fb1694f3f371c90bf24f3c8701685eaab94716390315 days 13 hrs ago0x66773dd1dbf49da638a2afb8eba777217dc58f89  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.0000486031
0x80b78c58be46f646f019deb8f4ee93acb209f6256686479da9f67f63313a3111716331215 days 16 hrs ago0x69935229fd242ee9365213e525d71b99ba111319  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.000361470313
0x967fe4e49093975f056ed1f0f6a58d1f9f9e3aa05764c9a891ee0c7b28c93bd4715951716 days 11 hrs ago0x57e86b249b3c5821107f1b09614bf85606c06cca  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.00053367685
0x5ab4b901b16071543805fe9a9ded706f9313bf42d0d4fb4ee07574fd1632045e715951516 days 11 hrs ago0x57e86b249b3c5821107f1b09614bf85606c06cca  IN   0x21d5a14e625d767ce6b7a167491c2d18e0785fda0 Ether0.00063042221
[ 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), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Similar Match)
Note: This contract matches the deployed ByteCode of the Verified Source Code for Contract 0xafdda94da6ba9adc953ad52448c9f182a6103bf0
Contract Name: MultiToken
Compiler Version: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity  0.4.21;


library SafeMath {

    function mul(uint a, uint b) internal pure returns(uint) {
        uint c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

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

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


contract ERC20 {
    uint public totalSupply;

    function balanceOf(address who) public view returns(uint);

    function allowance(address owner, address spender) public view returns(uint);

    function transfer(address to, uint value) public returns(bool ok);

    function transferFrom(address from, address to, uint value) public returns(bool ok);

    function approve(address spender, uint value) public returns(bool ok);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    function Ownable() public {
        owner = msg.sender;
        newOwner = address(0);
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param _newOwner The address to transfer ownership to.
    */
    function transferOwnership(address _newOwner) public onlyOwner {
        require(address(0) != _newOwner);
        newOwner = _newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, msg.sender);
        owner = msg.sender;
        newOwner = address(0);
    }

}


// The  Exchange token
contract MultiToken is ERC20, Ownable {

    using SafeMath for uint;
    // Public variables of the token
    string public name;
    string public symbol;
    uint public decimals; // How many decimals to show.
    string public version;
    uint public totalSupply;
    uint public tokenPrice;
    bool public exchangeEnabled;
    bool public codeExportEnabled;
    address public commissionAddress;           // address to deposit commissions
    uint public deploymentCost;                 // cost of deployment with exchange feature
    uint public tokenOnlyDeploymentCost;        // cost of deployment with basic ERC20 feature
    uint public exchangeEnableCost;             // cost of upgrading existing ERC20 to exchange feature
    uint public codeExportCost;                 // cost of exporting the code

    mapping(address => uint) public balances;
    mapping(address => mapping(address => uint)) public allowed;

    // The Token constructor
    function MultiToken(
        uint _initialSupply,
        string _tokenName,
        uint _decimalUnits,
        string _tokenSymbol,
        string _version,
        uint _tokenPrice
                        ) public
    {

        totalSupply = _initialSupply * (10**_decimalUnits);
        name = _tokenName;          // Set the name for display purposes
        symbol = _tokenSymbol;      // Set the symbol for display purposes
        decimals = _decimalUnits;   // Amount of decimals for display purposes
        version = _version;         // Version of token
        tokenPrice = _tokenPrice;   // Token price in ETH

        balances[owner] = totalSupply;

        deploymentCost = 25e17;
        tokenOnlyDeploymentCost = 15e17;
        exchangeEnableCost = 15e17;
        codeExportCost = 1e19;

        codeExportEnabled = true;
        exchangeEnabled = true;

        // if (deploymentCost + codeExportCost == msg.value) {
        //     codeExportEnabled = true;
        //     exchangeEnabled = true;
        // }else if (tokenOnlyDeploymentCost + codeExportCost == msg.value)
        //     codeExportEnabled = true;
        // else if (deploymentCost == msg.value)
        //     exchangeEnabled = true;
        // else if (tokenOnlyDeploymentCost == msg.value)
        //     exchangeEnabled = false;
        // else {
        //     revert();  // fail if wrong amount sent.
        // }
        commissionAddress = 0x80eFc17CcDC8fE6A625cc4eD1fdaf71fD81A2C99;
        // commissionAddress.transfer(msg.value);
    }

    event TransferSold(address indexed to, uint value);
    event TokenExchangeEnabled(address caller, uint exchangeCost);
    event TokenExportEnabled(address caller, uint enableCost);

    // @noice To be called by parent contract to enable exchange functionality
    // @param _tokenPrice {uint} costo of token in ETH
    // @return true {bool} if successful
    function enableExchange(uint _tokenPrice) public payable {

        require(!exchangeEnabled);
        require(exchangeEnableCost == msg.value);
        exchangeEnabled = true;
        tokenPrice = _tokenPrice;
        commissionAddress.transfer(msg.value);
        emit TokenExchangeEnabled(msg.sender, _tokenPrice);
    }

        // @notice to enable code export functionality
    function enableCodeExport() public payable {

        require(!codeExportEnabled);
        require(codeExportCost == msg.value);
        codeExportEnabled = true;
        commissionAddress.transfer(msg.value);
        emit TokenExportEnabled(msg.sender, msg.value);
    }

    // @notice It will send tokens to sender based on the token price
    function swapTokens() public payable {

        require(exchangeEnabled);
        uint tokensToSend;
        tokensToSend = (msg.value * (10**decimals)) / tokenPrice;
        require(balances[owner] >= tokensToSend);
        balances[msg.sender] = balances[msg.sender].add(tokensToSend);
        balances[owner] = balances[owner].sub(tokensToSend);
        owner.transfer(msg.value);
        emit Transfer(owner, msg.sender, tokensToSend);
        emit TransferSold(msg.sender, tokensToSend);
    }


    // @notice will be able to mint tokens in the future
    // @param _target {address} address to which new tokens will be assigned
    // @parm _mintedAmount {uint256} amouont of tokens to mint
    function mintToken(address _target, uint256 _mintedAmount) public onlyOwner() {

        balances[_target] += _mintedAmount;
        totalSupply += _mintedAmount;
        emit Transfer(0, _target, _mintedAmount);
    }

    // @notice transfer tokens to given address
    // @param _to {address} address or recipient
    // @param _value {uint} amount to transfer
    // @return  {bool} true if successful
    function transfer(address _to, uint _value) public returns(bool) {

        require(_to != address(0));
        require(balances[msg.sender] >= _value);
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    // @notice transfer tokens from given address to another address
    // @param _from {address} from whom tokens are transferred
    // @param _to {address} to whom tokens are transferred
    // @param _value {uint} amount of tokens to transfer
    // @return  {bool} true if successful
    function transferFrom(address _from, address _to, uint256 _value) public  returns(bool success) {

        require(_to != address(0));
        require(balances[_from] >= _value); // Check if the sender has enough
        require(_value <= allowed[_from][msg.sender]); // Check if allowed is greater or equal
        balances[_from] = balances[_from].sub(_value); // Subtract from the sender
        balances[_to] = balances[_to].add(_value); // Add the same to the recipient
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); // adjust allowed
        emit Transfer(_from, _to, _value);
        return true;
    }

    // @notice to query balance of account
    // @return _owner {address} address of user to query balance
    function balanceOf(address _owner) public view returns(uint balance) {
        return balances[_owner];
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    *
    * Beware that changing an allowance with this method brings the risk that someone may use both the old
    * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
    * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint _value) public returns(bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // @notice to query of allowance of one user to the other
    // @param _owner {address} of the owner of the account
    // @param _spender {address} of the spender of the account
    // @return remaining {uint} amount of remaining allowance
    function allowance(address _owner, address _spender) public view returns(uint remaining) {
        return allowed[_owner][_spender];
    }

    /**
    * approve should be called when allowed[_spender] == 0. To increment
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    */
    function increaseApproval (address _spender, uint _addedValue) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

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":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"codeExportCost","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":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"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":"_tokenPrice","type":"uint256"}],"name":"enableExchange","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"codeExportEnabled","outputs":[{"name":"","type":"bool"}],"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":"swapTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeEnableCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"commissionAddress","outputs":[{"name":"","type":"address"}],"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":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deploymentCost","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenOnlyDeploymentCost","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":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","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":false,"inputs":[],"name":"enableCodeExport","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"exchangeEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint256"},{"name":"_tokenSymbol","type":"string"},{"name":"_version","type":"string"},{"name":"_tokenPrice","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TransferSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"exchangeCost","type":"uint256"}],"name":"TokenExchangeEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"},{"indexed":false,"name":"enableCost","type":"uint256"}],"name":"TokenExportEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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
606060405234156200001057600080fd5b604051620012893803806200128983398101604052808051919060200180518201919060200180519190602001805182019190602001805182019190602001805160018054600160a060020a033316600160a060020a031991821617909155600280549091169055600a86900a88026007559150600390508580516200009b92916020019062000163565b506004838051620000b192916020019062000163565b5060058490556006828051620000cc92916020019062000163565b50600855505060075460018054600160a060020a03166000908152600e60205260409020919091556722b1c8c1227a0000600a556714d1120d7b160000600b819055600c55678ac7230489e80000600d556009805461010061ff00199091161760ff19169091176201000060b060020a0319167580efc17ccdc8fe6a625cc4ed1fdaf71fd81a2c9900001790555062000208915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a657805160ff1916838001178555620001d6565b82800160010185558215620001d6579182015b82811115620001d6578251825591602001919060010190620001b9565b50620001e4929150620001e8565b5090565b6200020591905b80821115620001e45760008155600101620001ef565b90565b61107180620002186000396000f30060606040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610184578063095ea7b31461020e57806318160ddd1461024457806321f7ac0d1461026957806323b872dd1461027c57806327e235e3146102a4578063313ce567146102c35780633a3b955b146102d657806354fd4d50146102e35780635c658165146102f6578063661884631461031b578063706a99fb1461033d57806370a082311461035057806373d002241461036f5780637896cd951461037757806379ba50971461038a57806379c650681461039d5780637ff9b596146103bf5780638da5cb5b146103d2578063931742d31461040157806395d89b4114610414578063a9059cbb14610427578063ac133d3b14610449578063c53abe291461045c578063d4ee1d901461046f578063d73dd62314610482578063dd62ed3e146104a4578063e46f9ecf146104c9578063f2fde38b146104d1578063f5343752146104f0575b600080fd5b341561018f57600080fd5b610197610503565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101d35780820151838201526020016101bb565b50505050905090810190601f1680156102005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021957600080fd5b610230600160a060020a03600435166024356105a1565b604051901515815260200160405180910390f35b341561024f57600080fd5b61025761060d565b60405190815260200160405180910390f35b341561027457600080fd5b610257610613565b341561028757600080fd5b610230600160a060020a0360043581169060243516604435610619565b34156102af57600080fd5b610257600160a060020a036004351661078a565b34156102ce57600080fd5b61025761079c565b6102e16004356107a2565b005b34156102ee57600080fd5b610197610853565b341561030157600080fd5b610257600160a060020a03600435811690602435166108be565b341561032657600080fd5b610230600160a060020a03600435166024356108db565b341561034857600080fd5b6102306109d5565b341561035b57600080fd5b610257600160a060020a03600435166109e3565b6102e16109fe565b341561038257600080fd5b610257610b72565b341561039557600080fd5b6102e1610b78565b34156103a857600080fd5b6102e1600160a060020a0360043516602435610c05565b34156103ca57600080fd5b610257610c6c565b34156103dd57600080fd5b6103e5610c72565b604051600160a060020a03909116815260200160405180910390f35b341561040c57600080fd5b6103e5610c81565b341561041f57600080fd5b610197610c96565b341561043257600080fd5b610230600160a060020a0360043516602435610d01565b341561045457600080fd5b610257610deb565b341561046757600080fd5b610257610df1565b341561047a57600080fd5b6103e5610df7565b341561048d57600080fd5b610230600160a060020a0360043516602435610e06565b34156104af57600080fd5b610257600160a060020a0360043581169060243516610eaa565b6102e1610ed5565b34156104dc57600080fd5b6102e1600160a060020a0360043516610f87565b34156104fb57600080fd5b610230610fe6565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b505050505081565b600160a060020a033381166000818152600f6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60075481565b600d5481565b6000600160a060020a038316151561063057600080fd5b600160a060020a0384166000908152600e60205260409020548290101561065657600080fd5b600160a060020a038085166000908152600f60209081526040808320339094168352929052205482111561068957600080fd5b600160a060020a0384166000908152600e60205260409020546106b2908363ffffffff610fef16565b600160a060020a038086166000908152600e602052604080822093909355908516815220546106e7908363ffffffff61100116565b600160a060020a038085166000908152600e60209081526040808320949094558783168252600f815283822033909316825291909152205461072f908363ffffffff610fef16565b600160a060020a038086166000818152600f6020908152604080832033861684529091529081902093909355908516916000805160206110268339815191529085905190815260200160405180910390a35060019392505050565b600e6020526000908152604090205481565b60055481565b60095460ff16156107b257600080fd5b600c5434146107c057600080fd5b6009805460ff1916600117908190556008829055600160a060020a0362010000909104163480156108fc0290604051600060405180830381858888f19350505050151561080c57600080fd5b7ffe85d1266bd916cff27ead28d4f4e799fd4d7e084b10ec0d251bd28415913e9f3382604051600160a060020a03909216825260208201526040908101905180910390a150565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105995780601f1061056e57610100808354040283529160200191610599565b600f60209081526000928352604080842090915290825290205481565b600160a060020a033381166000908152600f602090815260408083209386168352929052908120548083111561093857600160a060020a033381166000908152600f6020908152604080832093881683529290529081205561096f565b610948818463ffffffff610fef16565b600160a060020a033381166000908152600f60209081526040808320938916835292905220555b600160a060020a033381166000818152600f602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600954610100900460ff1681565b600160a060020a03166000908152600e602052604090205490565b60095460009060ff161515610a1257600080fd5b600854600554600a0a3402811515610a2657fe5b600154600160a060020a03166000908152600e6020526040902054919004915081901015610a5357600080fd5b600160a060020a0333166000908152600e6020526040902054610a7c908263ffffffff61100116565b600160a060020a033381166000908152600e60205260408082209390935560015490911681522054610ab4908263ffffffff610fef16565b60018054600160a060020a039081166000908152600e60205260409081902093909355905416903480156108fc029151600060405180830381858888f193505050501515610b0157600080fd5b600154600160a060020a0333811691166000805160206110268339815191528360405190815260200160405180910390a333600160a060020a03167f03bf997b577b4b96a3678d7b0fe7a083c012b9a26ab46058ab959610ac2c398c8260405190815260200160405180910390a250565b600c5481565b60025433600160a060020a03908116911614610b9357600080fd5b600154600160a060020a0333811691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360018054600160a060020a03331673ffffffffffffffffffffffffffffffffffffffff1991821617909155600280549091169055565b60015433600160a060020a03908116911614610c2057600080fd5b600160a060020a0382166000818152600e602052604080822080548501905560078054850190556000805160206110268339815191529084905190815260200160405180910390a35050565b60085481565b600154600160a060020a031681565b600954620100009004600160a060020a031681565b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105995780601f1061056e57610100808354040283529160200191610599565b6000600160a060020a0383161515610d1857600080fd5b600160a060020a0333166000908152600e602052604090205482901015610d3e57600080fd5b600160a060020a0333166000908152600e6020526040902054610d67908363ffffffff610fef16565b600160a060020a033381166000908152600e60205260408082209390935590851681522054610d9c908363ffffffff61100116565b600160a060020a038085166000818152600e602052604090819020939093559133909116906000805160206110268339815191529085905190815260200160405180910390a350600192915050565b600a5481565b600b5481565b600254600160a060020a031681565b600160a060020a033381166000908152600f60209081526040808320938616835292905290812054610e3e908363ffffffff61100116565b600160a060020a033381166000818152600f602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a039182166000908152600f6020908152604080832093909416825291909152205490565b600954610100900460ff1615610eea57600080fd5b600d543414610ef857600080fd5b6009805461ff0019166101001790819055600160a060020a0362010000909104163480156108fc0290604051600060405180830381858888f193505050501515610f4157600080fd5b7ff403a5defe31155e78a3f7b6385e6786f07d20d1910bc8b5601b057265d38aef3334604051600160a060020a03909216825260208201526040908101905180910390a1565b60015433600160a060020a03908116911614610fa257600080fd5b600160a060020a0381161515610fb757600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60095460ff1681565b600082821115610ffb57fe5b50900390565b60008282018381108015906110165750828110155b151561101e57fe5b93925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d6c5959d0c45d1be8549b4b36282a2e5c915df8f5f72dfcac7079efcba4dc26a002900000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000474657374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004746573740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013100000000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://d6c5959d0c45d1be8549b4b36282a2e5c915df8f5f72dfcac7079efcba4dc26a
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.