Sponsored:   Temco - Join the Largest VC Backed ICO on the Bitcoin Network! TEMCO KYC Whitelist Starts Now!!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 6 txns
Token Tracker: φιλανθρωπία (φιλα)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x120a517ba4a77499713413403e97c6867f0af5ceat txn 0x2094017a1dda39c4941496ede95ebe838cf5351f6ef5261ca092e402ce52ff34
Token Balance:
 Latest 6 txns

TxHash Age From To Value [TxFee]
0x6129d6207532228b138d3fa20a6fd7e3895dfd65da2bc3b857dcf497252fb619192 days 1 hr ago0x120a517ba4a77499713413403e97c6867f0af5ce  IN   0x261ace754fba8af93e1fecdff13640540402940f0 Ether0.000384146
0xc7558898ac2d8216ec3af8438d3f83af9e3a32f508ed0cf31b0773cb7d32a9b3200 days 3 hrs ago0x03a3f03274abbc0e41c5c3ae5e229ceae72fbb6b  IN   0x261ace754fba8af93e1fecdff13640540402940f0.002 Ether0.001437772
0x84b15ebfc2eaa6168f72cdea583ddec20838226c6adb42ea2d26b478cbb5846f200 days 3 hrs ago0x120a517ba4a77499713413403e97c6867f0af5ce  IN   0x261ace754fba8af93e1fecdff13640540402940f0 Ether0.000384398
0x93eb07fc7dd229451c0c03f3ccd9110befec83ee8acc9e0a2ba82167725ed23a200 days 4 hrs ago0x120a517ba4a77499713413403e97c6867f0af5ce  IN   0x261ace754fba8af93e1fecdff13640540402940f0 Ether0.000594146
0x41850d71167268ca1338ad4c8ddea0d1059ab2adacb224f5981370cefe96343d200 days 4 hrs ago0x120a517ba4a77499713413403e97c6867f0af5ce  IN   0x261ace754fba8af93e1fecdff13640540402940f0 Ether0.00061201
0x2094017a1dda39c4941496ede95ebe838cf5351f6ef5261ca092e402ce52ff34200 days 4 hrs ago0x120a517ba4a77499713413403e97c6867f0af5ce  IN    Contract Creation0 Ether0.011440156
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0xc7558898ac2d8216ec3af8438d3f83af9e3a32f508ed0cf31b0773cb7d32a9b35664401200 days 3 hrs ago0x261ace754fba8af93e1fecdff13640540402940f0xa6c0373f489144f141072b0d0576c004f90ba25f0.002 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Phila_Token
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

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

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

// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol, name and decimals and an
// initial fixed supply
// ----------------------------------------------------------------------------
contract Phila_Token is ERC20Interface, Owned {
    string public constant symbol = "φιλα";
    string public constant name = "φιλανθρωπία";
    uint8 public constant decimals = 0;
    uint private constant _totalSupply = 10000000;

    address public vaultAddress;
    bool public fundingEnabled;
    uint public totalCollected;         // In wei
    uint public tokenPrice;         // In wei

    mapping(address => uint) balances;

    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public {
        balances[this] = _totalSupply;
        emit Transfer(address(0), this, _totalSupply);
    }

    function setVaultAddress(address _vaultAddress) public onlyOwner {
        vaultAddress = _vaultAddress;
        return;
    }

    function setFundingEnabled(bool _fundingEnabled) public onlyOwner {
        fundingEnabled = _fundingEnabled;
        return;
    }

    function updateTokenPrice(uint _newTokenPrice) public onlyOwner {
        require(_newTokenPrice > 0);
        tokenPrice = _newTokenPrice;
        return;
    }

    // ------------------------------------------------------------------------
    // Total supply
    // ------------------------------------------------------------------------
    function totalSupply() public constant returns (uint) {
        return _totalSupply  - balances[address(0)];
    }


    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address tokenOwner) public constant returns (uint) {
        return balances[tokenOwner];
    }


    // ------------------------------------------------------------------------
    // Token owner can approve for `spender` to transferFrom(...) `tokens`
    // from the token owner's account
    //
    // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
    // recommends that there are no checks for the approval double-spend attack
    // as this should be implemented in user interfaces 
    //
    // THIS TOKENS ARE NOT TRANSFERRABLE.
    //
    // ------------------------------------------------------------------------
    function approve(address, uint) public returns (bool) {
        revert();
        return false;
    }


    // ------------------------------------------------------------------------
    // Returns the amount of tokens approved by the owner that can be
    // transferred to the spender's account
    //
    // THIS TOKENS ARE NOT TRANSFERRABLE.
    //
    // ------------------------------------------------------------------------
    function allowance(address, address) public constant returns (uint) {
        return 0;
    }


    // ------------------------------------------------------------------------
    // Transfer the balance from token owner's account to `to` account
    //
    // THIS TOKENS ARE NOT TRANSFERRABLE.
    //
    // - 0 value transfers are allowed
    // ------------------------------------------------------------------------
    function transfer(address _to, uint _amount) public returns (bool) {
       if (_amount == 0) {
           emit Transfer(msg.sender, _to, _amount);    // Follow the spec to louch the event when transfer 0
           return true;
       }
        revert();
        return false;
    }


    // ------------------------------------------------------------------------
    // Transfer `tokens` from the `from` account to the `to` account
    //
    // THIS TOKENS ARE NOT TRANSFERRABLE.
    //
    // ------------------------------------------------------------------------
    function transferFrom(address, address, uint) public returns (bool) {
        revert();
        return false;
    }


    function () public payable {
        require (fundingEnabled && (tokenPrice > 0) && (msg.value >= tokenPrice));
        
        totalCollected += msg.value;

        //Send the ether to the vault
        vaultAddress.transfer(msg.value);

        uint tokens = msg.value / tokenPrice;

           // Do not allow transfer to 0x0 or the token contract itself
           require((msg.sender != 0) && (msg.sender != address(this)));

           // If the amount being transfered is more than the balance of the
           //  account the transfer throws
           uint previousBalanceFrom = balances[this];

           require(previousBalanceFrom >= tokens);

           // First update the balance array with the new value for the address
           //  sending the tokens
           balances[this] = previousBalanceFrom - tokens;

           // Then update the balance array with the new value for the address
           //  receiving the tokens
           uint previousBalanceTo = balances[msg.sender];
           require(previousBalanceTo + tokens >= previousBalanceTo); // Check for overflow
           balances[msg.sender] = previousBalanceTo + tokens;

           // An event to make the transfer easy to find on the blockchain
           emit Transfer(this, msg.sender, tokens);

        return;
    }


    /// @notice This method can be used by the owner to extract mistakenly
    ///  sent tokens to this contract.
    /// @param _token The address of the token contract that you want to recover
    ///  set to 0 in case you want to extract ether.
    //
    // THIS TOKENS ARE NOT TRANSFERRABLE.
    //
    function claimTokens(address _token) public onlyOwner {
        require(_token != address(this));
        if (_token == 0x0) {
            owner.transfer(address(this).balance);
            return;
        }

        ERC20Interface token = ERC20Interface(_token);
        uint balance = token.balanceOf(this);
        token.transfer(owner, balance);
        emit ClaimedTokens(_token, owner, balance);
    }
    
    event ClaimedTokens(address indexed _token, address indexed _controller, uint _amount);
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"address"},{"name":"","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":false,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"vaultAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newTokenPrice","type":"uint256"}],"name":"updateTokenPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_vaultAddress","type":"address"}],"name":"setVaultAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","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":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fundingEnabled","type":"bool"}],"name":"setFundingEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fundingEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalCollected","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_controller","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ClaimedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b5060008054600160a060020a03191633178155308082526005602090815260408084206298968090819055815190815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3610aa38061007f6000396000f30060806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461025f578063095ea7b3146102e957806318160ddd1461032157806323b872dd14610348578063313ce56714610372578063430bf08a1461039d578063676c0d77146103ce57806370a08231146103e857806379ba5097146104095780637ff9b5961461041e57806385535cc5146104335780638da5cb5b1461045457806395d89b4114610469578063a9059cbb1461047e578063c2b4ddde146104a2578063d4ee1d90146104bc578063dd62ed3e146104d1578063df8de3e7146104f8578063e10e95c914610519578063e29eb8361461052e578063f2fde38b14610543575b6000806000600260149054906101000a900460ff16801561013f57506000600454115b801561014d57506004543410155b151561015857600080fd5b6003805434908101909155600254604051600160a060020a039091169180156108fc02916000818181858888f1935050505015801561019b573d6000803e3d6000fd5b50600454348115156101a957fe5b04925033158015906101bb5750333014155b15156101c657600080fd5b306000908152600560205260409020549150828210156101e557600080fd5b5030600090815260056020526040808220848403905533825290205480830181111561021057600080fd5b3360008181526005602090815260409182902084870190558151868152915130927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a3505050005b34801561026b57600080fd5b50610274610564565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ae578181015183820152602001610296565b50505050905090810190601f1680156102db5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102f557600080fd5b5061030d600160a060020a036004351660243561059b565b604080519115158252519081900360200190f35b34801561032d57600080fd5b506103366105a8565b60408051918252519081900360200190f35b34801561035457600080fd5b5061030d600160a060020a036004358116906024351660443561059b565b34801561037e57600080fd5b506103876105db565b6040805160ff9092168252519081900360200190f35b3480156103a957600080fd5b506103b26105e0565b60408051600160a060020a039092168252519081900360200190f35b3480156103da57600080fd5b506103e66004356105ef565b005b3480156103f457600080fd5b50610336600160a060020a0360043516610618565b34801561041557600080fd5b506103e6610633565b34801561042a57600080fd5b506103366106bb565b34801561043f57600080fd5b506103e6600160a060020a03600435166106c1565b34801561046057600080fd5b506103b2610705565b34801561047557600080fd5b50610274610714565b34801561048a57600080fd5b5061030d600160a060020a036004351660243561074b565b3480156104ae57600080fd5b506103e660043515156107a1565b3480156104c857600080fd5b506103b26107f6565b3480156104dd57600080fd5b50610336600160a060020a0360043581169060243516610805565b34801561050457600080fd5b506103e6600160a060020a036004351661080d565b34801561052557600080fd5b5061030d610a0a565b34801561053a57600080fd5b50610336610a2b565b34801561054f57600080fd5b506103e6600160a060020a0360043516610a31565b60408051808201909152601681527fcf86ceb9cebbceb1cebdceb8cf81cf89cf80ceafceb100000000000000000000602082015281565b6000806000fd5b92915050565b6000805260056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc54629896800390565b600081565b600254600160a060020a031681565b600054600160a060020a0316331461060657600080fd5b6000811161061357600080fd5b600455565b600160a060020a031660009081526005602052604090205490565b600154600160a060020a0316331461064a57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60045481565b600054600160a060020a031633146106d857600080fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600054600160a060020a031681565b60408051808201909152600881527fcf86ceb9cebbceb1000000000000000000000000000000000000000000000000602082015281565b600081151561079c57604080518381529051600160a060020a0385169133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35060016105a2565b600080fd5b600054600160a060020a031633146107b857600080fd5b60028054821515740100000000000000000000000000000000000000000274ff00000000000000000000000000000000000000001990911617905550565b600154600160a060020a031681565b600092915050565b600080548190600160a060020a0316331461082757600080fd5b600160a060020a03831630141561083d57600080fd5b600160a060020a038316151561088e5760008054604051600160a060020a0390911691303180156108fc02929091818181858888f19350505050158015610888573d6000803e3d6000fd5b50610a05565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156108f257600080fd5b505af1158015610906573d6000803e3d6000fd5b505050506040513d602081101561091c57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d60208110156109bc57600080fd5b5050600054604080518381529051600160a060020a03928316928616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b505050565b60025474010000000000000000000000000000000000000000900460ff1681565b60035481565b600054600160a060020a03163314610a4857600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820f5bb884dd755b4cbbce12492a16e2abe3db08157256799f3d35fd738fadb1b410029

   Swarm Source:
bzzr://f5bb884dd755b4cbbce12492a16e2abe3db08157256799f3d35fd738fadb1b41

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.