Latest 25 transactions from a total of 68619 transactions

TxHash Age From To Value [TxFee]
0x9f085405a851787691a3eedbfaa6f09dd8511147029b9fb51816f9aba88040aa1 day 2 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0xe888544e3c867d356ce34cf2ded72083796393ea5bcb3432c492b19a79e393c11 day 21 hrs ago0x2064c0ad6f83878272487baa9f2f421f29163539  IN   OysterPearlToken0 Ether0.001600066
0x8debdd614941ffd19224b0990e2bfb58a30f8877d4a6baa70c6acda43c0fdebd2 days 16 hrs ago0x241a8f2c0772017fc1af1d14d89eabb6a263149e  IN   OysterPearlToken0 Ether0.00031272
0x6056ea84c6fef8e2d1237d71b1bf5b2fe38554733cd6ed0e9324a507693e9af33 days 9 mins agoKucoin  IN   OysterPearlToken0 Ether0.00058443
0x0142279c212b86aafc3a1f3f3dc43511b5eb5067ecf721c1a9eeb7dc312076a13 days 9 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x65a404efa64a368f5d2ff0cfa62fd947b57111966346321460f4d8f1d31130493 days 13 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0xbae5d7f61aa82ad49c4d52e4dc5c94e46f5561b3fc1c8979c6fa4ae3e9e3cadb3 days 19 hrs ago0x0cfceb5625530fd9fb01927537dd1bc397cf87f3  IN   OysterPearlToken0 Ether0.001600066
0x245d5ffae44bc0c321cbf5d53276258496f1f4b42bc4a0757e01341b3c72039d3 days 19 hrs ago0x6fdd9a1383a906e7aca3e982be51426f64334f7d  IN   OysterPearlToken0 Ether0.000229535
0xce8151c4c1ed86753c86832f8830e0fb10b307eb8dc43b1785244cf97a8648523 days 20 hrs ago0x77c3371fffa8ff01f66f95143ec7843823527468  IN   OysterPearlToken0 Ether0.0003099354
0x45e8eb3b7a62ce9433616b726cefbfe1fcd259d8fc0810fe4cbcb15d220eda633 days 20 hrs ago0x77c3371fffa8ff01f66f95143ec7843823527468  IN   OysterPearlToken0 Ether0.0006952842
0x6f00feb8a0c56910b860e845356e7265bd03166d0eea06face5ae0d36d5a976d3 days 21 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x880aedf3412c8ba307a00f99ae073f457b6adec64bd4ec1ac27270d27626bd724 days 2 hrs ago0x09842b1a6824ed8c529b6a80cf12bee1815371df  IN   OysterPearlToken0 Ether0.000183884
0xe4666e8559618e03c0a15dc4577f5c7b4e5f12f6992a9c5eab23781f845948374 days 5 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00058443
0x8032bf4b84143be32d9756624197b4147c3042c8e67e5a139aeff71dc2de51b94 days 6 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081135
0xd942f6c704abb85b294cf1a219339c817a006b9ad1f465904d9b4d75b4acb4f04 days 10 hrs ago0x91a298680c408ea4cc00ed00440f53eb34bc3552  IN   OysterPearlToken0 Ether0.00078052
0xeae64b989dc9deb32ff1fc6f777bd407e2af5a9cebfda6efe1672567a9144a195 days 4 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x6d7137e64a4e1852e7cb5f1575de18f3f3fdb88eae8b1cdf6698262dd23ec3b05 days 19 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00080943
0x9e00b0e8db80557129952f4100d2e635a6750fbb46771b6f948b4acfc4e5208d6 days 48 mins agoKucoin  IN   OysterPearlToken0 Ether0.00080943
0xcd0011fb09b83ea85ac4af7ce9ec91a66f39634c84e4b135ed34315c9680a7646 days 2 hrs ago0x2003ec8339506356c4167131fbda64de9ee9b76f  IN   OysterPearlToken0 Ether0.00039026
0x92b3d293dead22467102af372008e296a768708bc5d778ab34a582afef3c6e8a6 days 2 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00080943
0xc4c814206b67916bfa6de40adf1952b7f2bc5047f455e1f85451c070826562616 days 2 hrs ago0xe08bd05d4cd1c8265a7884b155c098a436981409  IN   OysterPearlToken0 Ether0.001672822
0xe94085b007bf41882dfd5c90a1a837768133a90a60bc099bc7268a4f24b353f76 days 9 hrs ago0x4110215f4a2ce2719739187c31f84275cfdf8621  IN   OysterPearlToken0 Ether0.00025268
0xb3a7cc95bc8ca4c7bcbc7ecc3766b31d2b610283656f743ab8f38b7a2fe43e796 days 9 hrs ago0x4110215f4a2ce2719739187c31f84275cfdf8621  IN   OysterPearlToken0 Ether0.000214643
0x44fc3ec796bdcc346713e4dbba92f18ec32dd533c6bc0f30c5b0881d3bb281766 days 20 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00058539
0xa9af7eae99946648676186c9e75849ce4053a19c43852865ade36b35c800ff347 days 1 hr agoKucoin  IN   OysterPearlToken0 Ether0.00081039
[ 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
0xc4a83c3d5523ba569054984b07405be785f103983d93b9baff6589c7780115bb661318641 days 4 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54326.890959460668197283 Ether
0xef0a35d75d8d6c8d2fe1f8db3df0c771fe5c8a7412bffc932670f1340f38b96b660675742 days 5 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54173.05 Ether
0xd5276ae0e98699fca10a3a9ef808cf0c8c43170e4c2839a20c30fbbe674f8e29660641442 days 7 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54175 Ether
0x9a45d127190fd888c9858965aa8f89582ef8d3f9733dcced28edd95f0cda4de0660627842 days 7 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54186 Ether
0x7a5b239770267f81330341dfa7dc0f3dd50011b10ae73ccc9afb78e01c4e43d7660561442 days 10 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5473 Ether
0x987e163425f2e7c0d90f1670baa8631737f29515de30463b9fc9786c1982fae5660537442 days 11 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0x6cd48d9e703c27a948d5ea9c0465a262fbba3b5f8d84829dcf39b00b6b722ea2660535742 days 11 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0xdabfe80dc77b9aec1f180f39b9d8a792a1bfe226b29e3031dc08495a7a4ef9f6660532342 days 11 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0x2e9694289888365692c052fc026f4c690db6bcb39eb9a71fc9f8bbb497045ff4660529242 days 11 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0x86bd1ed3d3e0d8bfe8b297ad4879d147c6857e1edaba89067ea2fb7be69987bd4651421375 days 5 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722653.52202719 Ether
0x1df4d1a5854af3c344193a4b2ea8a86a8e9c1e3ec5366b8797c0f5ee3e750b184630149378 days 17 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.5 Ether
0xf40e68d1ed7b763a9d51b9d61933b869193ab6b2140379a2d5c67799c2f7db7b4622589379 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.35 Ether
0x978d123f74477a47328a74cbb9db298871b65ba74ab545a39cd514e779005fd84614152381 days 7 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722652.247241 Ether
0x98a3f36758be019f4cf2bbf424b9bd3e5c679ab494c2449386bfc934141e75044603874382 days 23 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.02 Ether
0x9b4458245210a58cdebc4a01f4ea57db9378df45db88fc469a81e1dc21a42dff4576140387 days 10 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.01 Ether
0xf7d4b837c4ba6635bcd627c6f9254ba19b693fc5bee5d24dcfda9d9f359279d74557079390 days 12 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.05 Ether
0x5a6c1e97e5b6c27d84aa50169978aef4165fc150ba489aff581b79455af529224553472391 days 1 hr ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722655.4 Ether
0x5da187864b8d28113b7da6d09b578ccd909a71332db0e2ebede2d8e60126e6754553245391 days 2 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce429907226544 Ether
0x27889843dc9b044fbff6529519a66030d8a69920d9d8d4861295481892dac2cb4552940391 days 4 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722652.0006555 Ether
0x46e2514443d8c80ecba130134162fcd0a8789630092e7a02e806db1bf3eb20294550109391 days 15 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722656.50649568 Ether
0xa4b7f589d8e7b2ff59dfc66277fefbea9f568f4737ca294f7fe0be81e91a10314542548392 days 20 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722653.03651558 Ether
0x940f995019467b5f2d302c275ffaac7b6c0a054b05c80b291a98c59d34a8c8b34540908393 days 2 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.2958 Ether
0x2a63e32f8e005c33b220f2010b2b6e21fcef1df0690e71f0fb7abc1dc439c1684531302394 days 15 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.2904 Ether
0x6fd7d55cf4bc03b5c2fb840b0c8c1a84f341486bc6374d9129af5d4f1eca77924524280395 days 18 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651.301 Ether
0xcce7d2b18a0ec583dc1f484bc5943300afcf52b0928c4ebeb4f6896ac13c2d404520907396 days 7 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651.01 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: OysterPearl
Compiler Text: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }

contract OysterPearl {
    // Public variables of PRL
    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 public totalSupply;
    uint256 public funds;
    address public director;
    bool public saleClosed;
    bool public directorLock;
    uint256 public claimAmount;
    uint256 public payAmount;
    uint256 public feeAmount;
    uint256 public epoch;
    uint256 public retentionMax;

    // Array definitions
    mapping (address => uint256) public balances;
    mapping (address => mapping (address => uint256)) public allowance;
    mapping (address => bool) public buried;
    mapping (address => uint256) public claimed;

    // ERC20 event
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    
    // ERC20 event
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    // This notifies clients about the amount burnt
    event Burn(address indexed _from, uint256 _value);
    
    // This notifies clients about an address getting buried
    event Bury(address indexed _target, uint256 _value);
    
    // This notifies clients about a claim being made on a buried address
    event Claim(address indexed _target, address indexed _payout, address indexed _fee);

    /**
     * Constructor function
     *
     * Initializes contract
     */
    function OysterPearl() public {
        director = msg.sender;
        name = "Oyster Pearl";
        symbol = "PRL";
        decimals = 18;
        saleClosed = true;
        directorLock = false;
        funds = 0;
        totalSupply = 0;
        
        // Marketing share (5%)
        totalSupply += 25000000 * 10 ** uint256(decimals);
        
        // Devfund share (15%)
        totalSupply += 75000000 * 10 ** uint256(decimals);
        
        // Allocation to match PREPRL supply and reservation for discretionary use
        totalSupply += 8000000 * 10 ** uint256(decimals);
        
        // Assign reserved PRL supply to the director
        balances[director] = totalSupply;
        
        // Define default values for Oyster functions
        claimAmount = 5 * 10 ** (uint256(decimals) - 1);
        payAmount = 4 * 10 ** (uint256(decimals) - 1);
        feeAmount = 1 * 10 ** (uint256(decimals) - 1);
        
        // Seconds in a year
        epoch = 31536000;
        
        // Maximum time for a sector to remain stored
        retentionMax = 40 * 10 ** uint256(decimals);
    }
    
    /**
     * ERC20 balance function
     */
    function balanceOf(address _owner) public constant returns (uint256 balance) {
        return balances[_owner];
    }
    
    modifier onlyDirector {
        // Director can lock themselves out to complete decentralization of Oyster network
        // An alternative is that another smart contract could become the decentralized director
        require(!directorLock);
        
        // Only the director is permitted
        require(msg.sender == director);
        _;
    }
    
    modifier onlyDirectorForce {
        // Only the director is permitted
        require(msg.sender == director);
        _;
    }
    
    /**
     * Transfers the director to a new address
     */
    function transferDirector(address newDirector) public onlyDirectorForce {
        director = newDirector;
    }
    
    /**
     * Withdraw funds from the contract
     */
    function withdrawFunds() public onlyDirectorForce {
        director.transfer(this.balance);
    }
    
    /**
     * Permanently lock out the director to decentralize Oyster
     * Invocation is discretionary because Oyster might be better suited to
     * transition to an artificially intelligent smart contract director
     */
    function selfLock() public payable onlyDirector {
        // The sale must be closed before the director gets locked out
        require(saleClosed);
        
        // Prevents accidental lockout
        require(msg.value == 10 ether);
        
        // Permanently lock out the director
        directorLock = true;
    }
    
    /**
     * Director can alter the storage-peg and broker fees
     */
    function amendClaim(uint8 claimAmountSet, uint8 payAmountSet, uint8 feeAmountSet, uint8 accuracy) public onlyDirector returns (bool success) {
        require(claimAmountSet == (payAmountSet + feeAmountSet));
        
        claimAmount = claimAmountSet * 10 ** (uint256(decimals) - accuracy);
        payAmount = payAmountSet * 10 ** (uint256(decimals) - accuracy);
        feeAmount = feeAmountSet * 10 ** (uint256(decimals) - accuracy);
        return true;
    }
    
    /**
     * Director can alter the epoch time
     */
    function amendEpoch(uint256 epochSet) public onlyDirector returns (bool success) {
        // Set the epoch
        epoch = epochSet;
        return true;
    }
    
    /**
     * Director can alter the maximum time of storage retention
     */
    function amendRetention(uint8 retentionSet, uint8 accuracy) public onlyDirector returns (bool success) {
        // Set retentionMax
        retentionMax = retentionSet * 10 ** (uint256(decimals) - accuracy);
        return true;
    }
    
    /**
     * Director can close the crowdsale
     */
    function closeSale() public onlyDirector returns (bool success) {
        // The sale must be currently open
        require(!saleClosed);
        
        // Lock the crowdsale
        saleClosed = true;
        return true;
    }

    /**
     * Director can open the crowdsale
     */
    function openSale() public onlyDirector returns (bool success) {
        // The sale must be currently closed
        require(saleClosed);
        
        // Unlock the crowdsale
        saleClosed = false;
        return true;
    }
    
    /**
     * Oyster Protocol Function
     * More information at https://oyster.ws/OysterWhitepaper.pdf
     * 
     * Bury an address
     *
     * When an address is buried; only claimAmount can be withdrawn once per epoch
     */
    function bury() public returns (bool success) {
        // The address must be previously unburied
        require(!buried[msg.sender]);
        
        // An address must have at least claimAmount to be buried
        require(balances[msg.sender] >= claimAmount);
        
        // Prevent addresses with large balances from getting buried
        require(balances[msg.sender] <= retentionMax);
        
        // Set buried state to true
        buried[msg.sender] = true;
        
        // Set the initial claim clock to 1
        claimed[msg.sender] = 1;
        
        // Execute an event reflecting the change
        Bury(msg.sender, balances[msg.sender]);
        return true;
    }
    
    /**
     * Oyster Protocol Function
     * More information at https://oyster.ws/OysterWhitepaper.pdf
     * 
     * Claim PRL from a buried address
     *
     * If a prior claim wasn't made during the current epoch, then claimAmount can be withdrawn
     *
     * @param _payout the address of the website owner
     * @param _fee the address of the broker node
     */
    function claim(address _payout, address _fee) public returns (bool success) {
        // The claimed address must have already been buried
        require(buried[msg.sender]);
        
        // The payout and fee addresses must be different
        require(_payout != _fee);
        
        // The claimed address cannot pay itself
        require(msg.sender != _payout);
        
        // The claimed address cannot pay itself
        require(msg.sender != _fee);
        
        // It must be either the first time this address is being claimed or atleast epoch in time has passed
        require(claimed[msg.sender] == 1 || (block.timestamp - claimed[msg.sender]) >= epoch);
        
        // Check if the buried address has enough
        require(balances[msg.sender] >= claimAmount);
        
        // Reset the claim clock to the current block time
        claimed[msg.sender] = block.timestamp;
        
        // Save this for an assertion in the future
        uint256 previousBalances = balances[msg.sender] + balances[_payout] + balances[_fee];
        
        // Remove claimAmount from the buried address
        balances[msg.sender] -= claimAmount;
        
        // Pay the website owner that invoked the web node that found the PRL seed key
        balances[_payout] += payAmount;
        
        // Pay the broker node that unlocked the PRL
        balances[_fee] += feeAmount;
        
        // Execute events to reflect the changes
        Claim(msg.sender, _payout, _fee);
        Transfer(msg.sender, _payout, payAmount);
        Transfer(msg.sender, _fee, feeAmount);
        
        // Failsafe logic that should never be false
        assert(balances[msg.sender] + balances[_payout] + balances[_fee] == previousBalances);
        return true;
    }
    
    /**
     * Crowdsale function
     */
    function () public payable {
        // Check if crowdsale is still active
        require(!saleClosed);
        
        // Minimum amount is 1 finney
        require(msg.value >= 1 finney);
        
        // Price is 1 ETH = 5000 PRL
        uint256 amount = msg.value * 5000;
        
        // totalSupply limit is 500 million PRL
        require(totalSupply + amount <= (500000000 * 10 ** uint256(decimals)));
        
        // Increases the total supply
        totalSupply += amount;
        
        // Adds the amount to the balance
        balances[msg.sender] += amount;
        
        // Track ETH amount raised
        funds += msg.value;
        
        // Execute an event reflecting the change
        Transfer(this, msg.sender, amount);
    }

    /**
     * Internal transfer, can be called by this contract only
     */
    function _transfer(address _from, address _to, uint _value) internal {
        // Sending addresses cannot be buried
        require(!buried[_from]);
        
        // If the receiving address is buried, it cannot exceed retentionMax
        if (buried[_to]) {
            require(balances[_to] + _value <= retentionMax);
        }
        
        // Prevent transfer to 0x0 address, use burn() instead
        require(_to != 0x0);
        
        // Check if the sender has enough
        require(balances[_from] >= _value);
        
        // Check for overflows
        require(balances[_to] + _value > balances[_to]);
        
        // Save this for an assertion in the future
        uint256 previousBalances = balances[_from] + balances[_to];
        
        // Subtract from the sender
        balances[_from] -= _value;
        
        // Add the same to the recipient
        balances[_to] += _value;
        Transfer(_from, _to, _value);
        
        // Failsafe logic that should never be false
        assert(balances[_from] + balances[_to] == previousBalances);
    }

    /**
     * Transfer tokens
     *
     * Send `_value` tokens to `_to` from your account
     *
     * @param _to the address of the recipient
     * @param _value the amount to send
     */
    function transfer(address _to, uint256 _value) public {
        _transfer(msg.sender, _to, _value);
    }

    /**
     * Transfer tokens from other address
     *
     * Send `_value` tokens to `_to` in behalf of `_from`
     *
     * @param _from the address of the sender
     * @param _to the address of the recipient
     * @param _value the amount to send
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        // Check allowance
        require(_value <= allowance[_from][msg.sender]);
        allowance[_from][msg.sender] -= _value;
        _transfer(_from, _to, _value);
        return true;
    }

    /**
     * Set allowance for other address
     *
     * Allows `_spender` to spend no more than `_value` tokens on your behalf
     *
     * @param _spender the address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public returns (bool success) {
        // Buried addresses cannot be approved
        require(!buried[msg.sender]);
        
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * Set allowance for other address and notify
     *
     * Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it
     *
     * @param _spender the address authorized to spend
     * @param _value the max amount they can spend
     * @param _extraData some extra information to send to the approved contract
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
        tokenRecipient spender = tokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    /**
     * Destroy tokens
     *
     * Remove `_value` tokens from the system irreversibly
     *
     * @param _value the amount of money to burn
     */
    function burn(uint256 _value) public returns (bool success) {
        // Buried addresses cannot be burnt
        require(!buried[msg.sender]);
        
        // Check if the sender has enough
        require(balances[msg.sender] >= _value);
        
        // Subtract from the sender
        balances[msg.sender] -= _value;
        
        // Updates totalSupply
        totalSupply -= _value;
        Burn(msg.sender, _value);
        return true;
    }

    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        // Buried addresses cannot be burnt
        require(!buried[_from]);
        
        // Check if the targeted balance is enough
        require(balances[_from] >= _value);
        
        // Check allowance
        require(_value <= allowance[_from][msg.sender]);
        
        // Subtract from the targeted balance
        balances[_from] -= _value;
        
        // Subtract from the sender's allowance
        allowance[_from][msg.sender] -= _value;
        
        // Update totalSupply
        totalSupply -= _value;
        Burn(_from, _value);
        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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"openSale","outputs":[{"name":"success","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":"_payout","type":"address"},{"name":"_fee","type":"address"}],"name":"claim","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"retentionMax","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":"withdrawFunds","outputs":[],"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":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"buried","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"epochSet","type":"uint256"}],"name":"amendEpoch","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"director","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"retentionSet","type":"uint8"},{"name":"accuracy","type":"uint8"}],"name":"amendRetention","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"bury","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeAmount","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":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"claimAmountSet","type":"uint8"},{"name":"payAmountSet","type":"uint8"},{"name":"feeAmountSet","type":"uint8"},{"name":"accuracy","type":"uint8"}],"name":"amendClaim","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"claimAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"epoch","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":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"payAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"claimed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"funds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"selfLock","outputs":[],"payable":true,"stateMutability":"payable","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":"newDirector","type":"address"}],"name":"transferDirector","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"closeSale","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"directorLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Bury","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"},{"indexed":true,"name":"_payout","type":"address"},{"indexed":true,"name":"_fee","type":"address"}],"name":"Claim","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b60058054600160a060020a03191633600160a060020a031617905560408051908101604052600c81527f4f797374657220506561726c0000000000000000000000000000000000000000602082015260009080516200007492916020019062000180565b5060408051908101604052600381527f50524c000000000000000000000000000000000000000000000000000000000060208201526001908051620000be92916020019062000180565b5060028054601260ff1990911617808255600580547401000000000000000000000000000000000000000060a060020a60ff02199091161760a860020a60ff0219811682556000600481815563017d784060ff958616600a90810a91820263047868c0830201627a120092909202919091016003819055600160a060020a039094168352600b60205260409092209290925593549092166000198101840a9182026006559181026007556008556301e13380600955810a602802905562000225565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001c357805160ff1916838001178555620001f3565b82800160010185558215620001f3579182015b82811115620001f3578251825591602001919060010190620001d6565b506200020192915062000205565b5090565b6200022291905b808211156200020157600081556001016200020c565b90565b61147a80620002356000396000f3006060604052600436106101ab5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461025a578063095ea7b3146102e4578063167ff46f1461031a57806318160ddd1461032d57806321c0b3421461035257806322bb4f531461037757806323b872dd1461038a57806324600fc3146103b257806327e235e3146103c7578063313ce567146103e65780633f1199e61461040f57806342966c681461042e578063549215a3146104445780635af82abf1461045a5780635f5f2aef1461048957806361161aae146104a857806369e15404146104bb57806370a08231146104ce57806379cc6790146104ed5780637dbc9fba1461050f578063830953ab1461053a578063900cf0cf1461054d57806395d89b4114610560578063a9059cbb14610573578063b8c766b814610595578063c8705544146105a8578063c884ef83146105bb578063c89f2ce4146105da578063cae9ca51146105ed578063d1e7e81f14610652578063dd62ed3e1461065a578063ddd41ef61461067f578063ee55efee1461069e578063ffe2d77e146106b1575b60055460009060a060020a900460ff16156101c557600080fd5b66038d7ea4c680003410156101d957600080fd5b5060025460035434611388029160ff16600a0a631dcd650002908201111561020057600080fd5b6003805482019055600160a060020a033381166000818152600b6020526040908190208054850190556004805434019055909130169060008051602061142f8339815191529084905190815260200160405180910390a350005b341561026557600080fd5b61026d6106c4565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102a9578082015183820152602001610291565b50505050905090810190601f1680156102d65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102ef57600080fd5b610306600160a060020a0360043516602435610762565b604051901515815260200160405180910390f35b341561032557600080fd5b6103066107f1565b341561033857600080fd5b610340610862565b60405190815260200160405180910390f35b341561035d57600080fd5b610306600160a060020a0360043581169060243516610868565b341561038257600080fd5b610340610aa9565b341561039557600080fd5b610306600160a060020a0360043581169060243516604435610aaf565b34156103bd57600080fd5b6103c5610b1c565b005b34156103d257600080fd5b610340600160a060020a0360043516610b72565b34156103f157600080fd5b6103f9610b84565b60405160ff909116815260200160405180910390f35b341561041a57600080fd5b610306600160a060020a0360043516610b8d565b341561043957600080fd5b610306600435610ba2565b341561044f57600080fd5b610306600435610c53565b341561046557600080fd5b61046d610c91565b604051600160a060020a03909116815260200160405180910390f35b341561049457600080fd5b61030660ff60043581169060243516610ca0565b34156104b357600080fd5b610306610cf6565b34156104c657600080fd5b610340610ddc565b34156104d957600080fd5b610340600160a060020a0360043516610de2565b34156104f857600080fd5b610306600160a060020a0360043516602435610dfd565b341561051a57600080fd5b61030660ff60043581169060243581169060443581169060643516610eff565b341561054557600080fd5b610340610f74565b341561055857600080fd5b610340610f7a565b341561056b57600080fd5b61026d610f80565b341561057e57600080fd5b6103c5600160a060020a0360043516602435610feb565b34156105a057600080fd5b610306610ffa565b34156105b357600080fd5b61034061100a565b34156105c657600080fd5b610340600160a060020a0360043516611010565b34156105e557600080fd5b610340611022565b34156105f857600080fd5b61030660048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061102895505050505050565b6103c561115a565b341561066557600080fd5b610340600160a060020a03600435811690602435166111df565b341561068a57600080fd5b6103c5600160a060020a03600435166111fc565b34156106a957600080fd5b610306611246565b34156106bc57600080fd5b6103066112bc565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561075a5780601f1061072f5761010080835404028352916020019161075a565b820191906000526020600020905b81548152906001019060200180831161073d57829003601f168201915b505050505081565b600160a060020a0333166000908152600d602052604081205460ff161561078857600080fd5b600160a060020a033381166000818152600c6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055460009060a860020a900460ff161561080b57600080fd5b60055433600160a060020a0390811691161461082657600080fd5b60055460a060020a900460ff16151561083e57600080fd5b506005805474ff000000000000000000000000000000000000000019169055600190565b60035481565b600160a060020a0333166000908152600d6020526040812054819060ff16151561089157600080fd5b600160a060020a0384811690841614156108aa57600080fd5b83600160a060020a031633600160a060020a0316141515156108cb57600080fd5b82600160a060020a031633600160a060020a0316141515156108ec57600080fd5b600160a060020a0333166000908152600e60205260409020546001148061092f5750600954600160a060020a0333166000908152600e6020526040902054420310155b151561093a57600080fd5b600654600160a060020a0333166000908152600b6020526040902054101561096157600080fd5b50600160a060020a033381166000818152600e60209081526040808320429055868516808452600b90925280832080549589168085528285208054878752848720805460065481039091556007548354019092556008549686905283549096019092559301909401939092907fcac3ed26c9dd72a2c44999857298af9c72ba2d1ca9784f5dad48c933e2224c11905160405180910390a483600160a060020a031633600160a060020a031660008051602061142f83398151915260075460405190815260200160405180910390a382600160a060020a031633600160a060020a031660008051602061142f83398151915260085460405190815260200160405180910390a3600160a060020a038084166000908152600b602052604080822054878416835281832054339094168352912054909101018114610a9f57fe5b5060019392505050565b600a5481565b600160a060020a038084166000908152600c6020908152604080832033909416835292905290812054821115610ae457600080fd5b600160a060020a038085166000908152600c602090815260408083203390941683529290522080548390039055610a9f8484846112cc565b60055433600160a060020a03908116911614610b3757600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610b7057600080fd5b565b600b6020526000908152604090205481565b60025460ff1681565b600d6020526000908152604090205460ff1681565b600160a060020a0333166000908152600d602052604081205460ff1615610bc857600080fd5b600160a060020a0333166000908152600b602052604090205482901015610bee57600080fd5b600160a060020a0333166000818152600b602052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b60055460009060a860020a900460ff1615610c6d57600080fd5b60055433600160a060020a03908116911614610c8857600080fd5b50600955600190565b600554600160a060020a031681565b60055460009060a860020a900460ff1615610cba57600080fd5b60055433600160a060020a03908116911614610cd557600080fd5b5060025460ff91821690821603600a90810a92909116919091029055600190565b600160a060020a0333166000908152600d602052604081205460ff1615610d1c57600080fd5b600654600160a060020a0333166000908152600b60205260409020541015610d4357600080fd5b600a54600160a060020a0333166000908152600b60205260409020541115610d6a57600080fd5b600160a060020a0333166000818152600d60209081526040808320805460ff19166001908117909155600e835281842055600b90915290819020547fc96e8fee6eb65975d592ca9a340f33200433df4c42b2f623dd9fc6d22984d495915190815260200160405180910390a250600190565b60085481565b600160a060020a03166000908152600b602052604090205490565b600160a060020a0382166000908152600d602052604081205460ff1615610e2357600080fd5b600160a060020a0383166000908152600b602052604090205482901015610e4957600080fd5b600160a060020a038084166000908152600c602090815260408083203390941683529290522054821115610e7c57600080fd5b600160a060020a038084166000818152600b6020908152604080832080548890039055600c825280832033909516835293905282902080548590039055600380548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b60055460009060a860020a900460ff1615610f1957600080fd5b60055433600160a060020a03908116911614610f3457600080fd5b82840160ff168560ff16141515610f4a57600080fd5b5060025460ff91821690821603600a0a938116840260065591821683026007551602600855600190565b60065481565b60095481565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561075a5780601f1061072f5761010080835404028352916020019161075a565b610ff63383836112cc565b5050565b60055460a060020a900460ff1681565b60075481565b600e6020526000908152604090205481565b60045481565b6000836110358185610762565b156111525780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110eb5780820151838201526020016110d3565b50505050905090810190601f1680156111185780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561113957600080fd5b6102c65a03f1151561114a57600080fd5b505050600191505b509392505050565b60055460a860020a900460ff161561117157600080fd5b60055433600160a060020a0390811691161461118c57600080fd5b60055460a060020a900460ff1615156111a457600080fd5b678ac7230489e8000034146111b857600080fd5b6005805475ff000000000000000000000000000000000000000000191660a860020a179055565b600c60209081526000928352604080842090915290825290205481565b60055433600160a060020a0390811691161461121757600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60055460009060a860020a900460ff161561126057600080fd5b60055433600160a060020a0390811691161461127b57600080fd5b60055460a060020a900460ff161561129257600080fd5b506005805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b60055460a860020a900460ff1681565b600160a060020a0383166000908152600d602052604081205460ff16156112f257600080fd5b600160a060020a0383166000908152600d602052604090205460ff161561133c57600a54600160a060020a0384166000908152600b60205260409020548301111561133c57600080fd5b600160a060020a038316151561135157600080fd5b600160a060020a0384166000908152600b60205260409020548290101561137757600080fd5b600160a060020a0383166000908152600b60205260409020548281011161139d57600080fd5b50600160a060020a038083166000818152600b6020526040808220805494881680845282842080548881039091559385905281548701909155919093019260008051602061142f8339815191529085905190815260200160405180910390a3600160a060020a038084166000908152600b602052604080822054928716825290205401811461142857fe5b505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b75989bfaa699eb7c7bce4f08a57b908d266e9f535c2d4c7d4c7b86a1ff28a040029

   Swarm Source:
bzzr://b75989bfaa699eb7c7bce4f08a57b908d266e9f535c2d4c7d4c7b86a1ff28a04

 

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.