Latest 25 transactions from a total of 68627 transactions

TxHash Age From To Value [TxFee]
0xd9abba21cb5445efb500e211a4a7acd80988b968e2f6c7ef87e5b4b4c06ccb4b7 hrs 10 mins ago0xbc5eea869e6a7a30aa41b3b83111aedf23846e33  IN   OysterPearlToken0 Ether0.00031497141
0x87d9e241ed2cfc6cc7767827d6ffe774339c64ba3502323f798e853f889820967 hrs 41 mins agoKucoin  IN   OysterPearlToken0 Ether0.00058539
0xb4eb9c83cee32407a910ee72df7de553d4ef28c195fb17a02d7635bcd89d41058 hrs 36 mins ago0x4403f9384d1696ae9a57549f0210030862e7fb4f  IN   OysterPearlToken0 Ether0.00018414
0x628d04bfd48baf1bb0e2e158896a3cbbdee456459a150b2f6d8ee4a09f1b252a8 hrs 46 mins ago0x13a6b929203d51ac981ff6896938e4f1aafda2d7  IN   OysterPearlToken0 Ether0.0007818
0xfe0abbf217d667d33ee8fef4d92ffe1eaa4a2fd707b6529ba87e2130434fa48712 hrs 55 mins agoKucoin  IN   OysterPearlToken0 Ether0.00058635
0xe529dc394ac101a8f657a8ecefeaa1abc779d4ce859e1c29bcbbd54c08e278f518 hrs ago0xd43af94ac54da9477dd16dfcfb433e596defeef9  IN   OysterPearlToken0 Ether0.000428582
0x8ad107980a4bff9257b9d3860ebccf96a25e89d3c9135a16df1f7048b6d27bc71 day 1 hr agoKucoin  IN   OysterPearlToken0 Ether0.00080943
0x919b8ff3c70fe4c637006f130bdcd450390f64f0fa83655a6b3cd6182a2f8e421 day 9 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x9f085405a851787691a3eedbfaa6f09dd8511147029b9fb51816f9aba88040aa2 days 14 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0xe888544e3c867d356ce34cf2ded72083796393ea5bcb3432c492b19a79e393c13 days 9 hrs ago0x2064c0ad6f83878272487baa9f2f421f29163539  IN   OysterPearlToken0 Ether0.001600066
0x8debdd614941ffd19224b0990e2bfb58a30f8877d4a6baa70c6acda43c0fdebd4 days 3 hrs ago0x241a8f2c0772017fc1af1d14d89eabb6a263149e  IN   OysterPearlToken0 Ether0.00031272
0x6056ea84c6fef8e2d1237d71b1bf5b2fe38554733cd6ed0e9324a507693e9af34 days 11 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00058443
0x0142279c212b86aafc3a1f3f3dc43511b5eb5067ecf721c1a9eeb7dc312076a14 days 21 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x65a404efa64a368f5d2ff0cfa62fd947b57111966346321460f4d8f1d31130495 days 1 hr agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0xbae5d7f61aa82ad49c4d52e4dc5c94e46f5561b3fc1c8979c6fa4ae3e9e3cadb5 days 7 hrs ago0x0cfceb5625530fd9fb01927537dd1bc397cf87f3  IN   OysterPearlToken0 Ether0.001600066
0x245d5ffae44bc0c321cbf5d53276258496f1f4b42bc4a0757e01341b3c72039d5 days 7 hrs ago0x6fdd9a1383a906e7aca3e982be51426f64334f7d  IN   OysterPearlToken0 Ether0.000229535
0xce8151c4c1ed86753c86832f8830e0fb10b307eb8dc43b1785244cf97a8648525 days 7 hrs ago0x77c3371fffa8ff01f66f95143ec7843823527468  IN   OysterPearlToken0 Ether0.0003099354
0x45e8eb3b7a62ce9433616b726cefbfe1fcd259d8fc0810fe4cbcb15d220eda635 days 7 hrs ago0x77c3371fffa8ff01f66f95143ec7843823527468  IN   OysterPearlToken0 Ether0.0006952842
0x6f00feb8a0c56910b860e845356e7265bd03166d0eea06face5ae0d36d5a976d5 days 9 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x880aedf3412c8ba307a00f99ae073f457b6adec64bd4ec1ac27270d27626bd725 days 14 hrs ago0x09842b1a6824ed8c529b6a80cf12bee1815371df  IN   OysterPearlToken0 Ether0.000183884
0xe4666e8559618e03c0a15dc4577f5c7b4e5f12f6992a9c5eab23781f845948375 days 17 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00058443
0x8032bf4b84143be32d9756624197b4147c3042c8e67e5a139aeff71dc2de51b95 days 17 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081135
0xd942f6c704abb85b294cf1a219339c817a006b9ad1f465904d9b4d75b4acb4f05 days 22 hrs ago0x91a298680c408ea4cc00ed00440f53eb34bc3552  IN   OysterPearlToken0 Ether0.00078052
0xeae64b989dc9deb32ff1fc6f777bd407e2af5a9cebfda6efe1672567a9144a196 days 15 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00081039
0x6d7137e64a4e1852e7cb5f1575de18f3f3fdb88eae8b1cdf6698262dd23ec3b07 days 7 hrs agoKucoin  IN   OysterPearlToken0 Ether0.00080943
[ 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
0xc4a83c3d5523ba569054984b07405be785f103983d93b9baff6589c7780115bb661318642 days 16 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54326.890959460668197283 Ether
0xef0a35d75d8d6c8d2fe1f8db3df0c771fe5c8a7412bffc932670f1340f38b96b660675743 days 17 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54173.05 Ether
0xd5276ae0e98699fca10a3a9ef808cf0c8c43170e4c2839a20c30fbbe674f8e29660641443 days 18 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54175 Ether
0x9a45d127190fd888c9858965aa8f89582ef8d3f9733dcced28edd95f0cda4de0660627843 days 19 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a54186 Ether
0x7a5b239770267f81330341dfa7dc0f3dd50011b10ae73ccc9afb78e01c4e43d7660561443 days 21 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5473 Ether
0x987e163425f2e7c0d90f1670baa8631737f29515de30463b9fc9786c1982fae5660537443 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0x6cd48d9e703c27a948d5ea9c0465a262fbba3b5f8d84829dcf39b00b6b722ea2660535743 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0xdabfe80dc77b9aec1f180f39b9d8a792a1bfe226b29e3031dc08495a7a4ef9f6660532343 days 23 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0x2e9694289888365692c052fc026f4c690db6bcb39eb9a71fc9f8bbb497045ff4660529243 days 23 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x0001ee57bb28415742248d946d35c7f87cfd5a5450 Ether
0x86bd1ed3d3e0d8bfe8b297ad4879d147c6857e1edaba89067ea2fb7be69987bd4651421376 days 17 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722653.52202719 Ether
0x1df4d1a5854af3c344193a4b2ea8a86a8e9c1e3ec5366b8797c0f5ee3e750b184630149380 days 5 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.5 Ether
0xf40e68d1ed7b763a9d51b9d61933b869193ab6b2140379a2d5c67799c2f7db7b4622589381 days 10 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.35 Ether
0x978d123f74477a47328a74cbb9db298871b65ba74ab545a39cd514e779005fd84614152382 days 19 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722652.247241 Ether
0x98a3f36758be019f4cf2bbf424b9bd3e5c679ab494c2449386bfc934141e75044603874384 days 10 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.02 Ether
0x9b4458245210a58cdebc4a01f4ea57db9378df45db88fc469a81e1dc21a42dff4576140388 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.01 Ether
0xf7d4b837c4ba6635bcd627c6f9254ba19b693fc5bee5d24dcfda9d9f359279d74557079391 days 23 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.05 Ether
0x5a6c1e97e5b6c27d84aa50169978aef4165fc150ba489aff581b79455af529224553472392 days 13 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722655.4 Ether
0x5da187864b8d28113b7da6d09b578ccd909a71332db0e2ebede2d8e60126e6754553245392 days 14 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce429907226544 Ether
0x27889843dc9b044fbff6529519a66030d8a69920d9d8d4861295481892dac2cb4552940392 days 15 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722652.0006555 Ether
0x46e2514443d8c80ecba130134162fcd0a8789630092e7a02e806db1bf3eb20294550109393 days 2 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722656.50649568 Ether
0xa4b7f589d8e7b2ff59dfc66277fefbea9f568f4737ca294f7fe0be81e91a10314542548394 days 8 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722653.03651558 Ether
0x940f995019467b5f2d302c275ffaac7b6c0a054b05c80b291a98c59d34a8c8b34540908394 days 14 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.2958 Ether
0x2a63e32f8e005c33b220f2010b2b6e21fcef1df0690e71f0fb7abc1dc439c1684531302396 days 3 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.2904 Ether
0x6fd7d55cf4bc03b5c2fb840b0c8c1a84f341486bc6374d9129af5d4f1eca77924524280397 days 6 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651.301 Ether
0xcce7d2b18a0ec583dc1f484bc5943300afcf52b0928c4ebeb4f6896ac13c2d404520907397 days 19 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.