Sponsored Link:   Learn and build dApps today without code using Crowd Machine's Crowd App Studio.
 Latest 25 txns from a total Of 55649 transactions
(+4 PendingTxns)

TxHash Age From To Value [TxFee]
0x710f805db11e88dc6d3f1ec7c79c6ea8d35d6ef144eb94464fcbddd5c1baf0e8(pending)0x4e77b0e4e12d70f6ab701d07ad456072b0272c2b  IN  0x1844b21593262668b7248d0f57a220caaba46ab90 Ether(pending)
0xa3e391f0ee7f7a290a3bf9f509079aa9669261e60a048d89dbcdc663bf680d12(pending)0x4e77b0e4e12d70f6ab701d07ad456072b0272c2b  IN  0x1844b21593262668b7248d0f57a220caaba46ab90 Ether(pending)
0xeec4baa2223ee9b5341a807c6b9e4c2588da744b6828fa3ea5c4f53eee206195(pending)0x4e77b0e4e12d70f6ab701d07ad456072b0272c2b  IN  0x1844b21593262668b7248d0f57a220caaba46ab90 Ether(pending)
0x9d0dd07550d99cd4298b67fc0a5d067e2f5ab98922894da47d9935fe5083b46e(pending)0x3daa49e6e97022603335bbac067c70e77f336f95  IN  0x1844b21593262668b7248d0f57a220caaba46ab90 Ether(pending)
0x36e2ba0d82a460df80db641a31201102ee0ecbba758820b6383bd4bed1a5099854 mins agocoinexchange.io  IN   OysterPearlToken0 Ether0.000407603625
0xa09ff5899b358389886bebaf8d07d8d22319f18be511e30f33f5fbc08eebe4791 hr 8 mins ago0xa2b430aee7b8c3b1230507fb5ada70509de0b41e  IN   OysterPearlToken0 Ether0.000985066
0x91af5363dfbe85be1540e8e158cf60b2981472d20f09e11ac11aa444a6af8a0c1 hr 16 mins ago0xf122119801f48ad80a6400ecbf85c1bab863d25c  IN   OysterPearlToken0 Ether0.00071886
0x5313c1c6082b62eedcacaee309fbd362d458a7e1323e1477952e22114264c3781 hr 40 mins agocoinexchange.io  IN   OysterPearlToken0 Ether0.000377286
0xd05e7014f6c862b7ef2e159e27f83982724580f96fc25fa599b8a8f5d50876ce1 hr 43 mins ago0x3a723e58c4808dde4591543282adc7d6b378715b  IN   OysterPearlToken0 Ether0.001133202
0x9b10e00f6a5a6364590d0a53aa96ab879c793d0aa94ac7d07767cbc7625e317c2 hrs 13 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   OysterPearlToken0 Ether0.00058347
0x9bbce1ad3aca06f40ec9b097cc1896d8f1d4ddbaede54a0d4e6d8659ef8a175c3 hrs 37 mins ago0x65b743ff449b3e842a68d33602b37f2c5565c7bf  IN   OysterPearlToken0 Ether0.000184396
0x77c6ddff874efacc43f6d169813c1980f93e8435f7c7fd8b0d4209f822da8daf3 hrs 42 mins ago0x04eafdf6cecada13a6a1016748162bb04bdd2d79  IN   OysterPearlToken0 Ether0.001600066
0xcc99ca99c6a5eeede8a5a36d7fd8320d1ce1144b90cc3bca44f3821278928b6c4 hrs 40 mins ago0x8457d6bba6a52d11841d58ae409ce067f6a1d1f7  IN   OysterPearlToken0 Ether0.00072078
0xee12ab310207772e254f3e9ce143e4a31fa0400adbae0baaf544127ea40089d25 hrs 27 mins ago0xf8d04a720520d0bcbc722b1d21ca194aa22699f2  IN   OysterPearlToken0 Ether0.000162078
0x84007147a756f2540a0e01dbd012db48e99cd773864be5992508af69dac1cef05 hrs 29 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   OysterPearlToken0 Ether0.00081039
0x555b2815e3c90282febd6943bc4b0d3733fe1e465f36eafbef0269b5f98381ed5 hrs 37 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   OysterPearlToken0 Ether0.00058635
0x7ff67ba5c43a36d5c25247771bde345d75577b7fe6b3e875f979af58bd5a15bf5 hrs 40 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   OysterPearlToken0 Ether0.00080943
0x028d1c64b0a3e40648de9f964e2f37ec52f4821d342adc0960afee1646a94d5c5 hrs 40 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   OysterPearlToken0 Ether0.00058443
0xed2c1ea1a2f2483ec1c94d63d4d605b992c747e913e0f4f778ebdbdbd0a15f236 hrs 28 mins ago0x9096410692868ea33f77ff1ca3ae3d9948faf82c  IN   OysterPearlToken0 Ether0.00009636
0x000db4815520984513b47542f31732a074507a70433eb55897c02eb4c4dbe0866 hrs 47 mins ago0x6685490ed6cf35fffa7a781b236c4d3c2fcbf08f  IN   OysterPearlToken0 Ether0.000275826
0xb8cb275627b059afbe6769dffb79db2348fce2f0bcdcb209486ba627416d90bd9 hrs 23 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   OysterPearlToken0 Ether0.00058539
0x5280f0c168389f3b688117b2b6f85be50676b020143c8a1b0252a303b9b531f09 hrs 26 mins ago0x7cb98f924dd350c6a9efd319890375127dbc30f4  IN   OysterPearlToken0 Ether0.00014618778
0xce5d169dc2bbae539086de8ae4f8ba290937e14993ff807ed427ecaa63e670589 hrs 29 mins ago0x45011170d551bb4ed5052411170ec3380a0364b2  IN   OysterPearlToken0 Ether0.000321797
0x152d8f89ea0792d8a77b7cfa21b8965c8aee99ad7663964df257755248d3779c9 hrs 46 mins ago0x107b379a2a4446b8b38ed5da211e7c1a37f9dde5  IN   OysterPearlToken0 Ether0.001597442
0x55778c234f1f4483fae88311a3c2d49e53910fda9c66af8744c849be5c7c34719 hrs 48 mins ago0x8bf609811a9c4d920cbb365b978ac07113bc8ac4  IN   OysterPearlToken0 Ether0.002212442
[ 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
0x86bd1ed3d3e0d8bfe8b297ad4879d147c6857e1edaba89067ea2fb7be69987bd4651421229 days 12 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722653.52202719 Ether
0x1df4d1a5854af3c344193a4b2ea8a86a8e9c1e3ec5366b8797c0f5ee3e750b184630149233 days 26 mins ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.5 Ether
0xf40e68d1ed7b763a9d51b9d61933b869193ab6b2140379a2d5c67799c2f7db7b4622589234 days 5 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.35 Ether
0x978d123f74477a47328a74cbb9db298871b65ba74ab545a39cd514e779005fd84614152235 days 14 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722652.247241 Ether
0x98a3f36758be019f4cf2bbf424b9bd3e5c679ab494c2449386bfc934141e75044603874237 days 6 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.02 Ether
0x9b4458245210a58cdebc4a01f4ea57db9378df45db88fc469a81e1dc21a42dff4576140241 days 17 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.01 Ether
0xf7d4b837c4ba6635bcd627c6f9254ba19b693fc5bee5d24dcfda9d9f359279d74557079244 days 19 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.05 Ether
0x5a6c1e97e5b6c27d84aa50169978aef4165fc150ba489aff581b79455af529224553472245 days 8 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722655.4 Ether
0x5da187864b8d28113b7da6d09b578ccd909a71332db0e2ebede2d8e60126e6754553245245 days 9 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce429907226544 Ether
0x27889843dc9b044fbff6529519a66030d8a69920d9d8d4861295481892dac2cb4552940245 days 11 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722652.0006555 Ether
0x46e2514443d8c80ecba130134162fcd0a8789630092e7a02e806db1bf3eb20294550109245 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722656.50649568 Ether
0xa4b7f589d8e7b2ff59dfc66277fefbea9f568f4737ca294f7fe0be81e91a10314542548247 days 3 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722653.03651558 Ether
0x940f995019467b5f2d302c275ffaac7b6c0a054b05c80b291a98c59d34a8c8b34540908247 days 9 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.2958 Ether
0x2a63e32f8e005c33b220f2010b2b6e21fcef1df0690e71f0fb7abc1dc439c1684531302248 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.2904 Ether
0x6fd7d55cf4bc03b5c2fb840b0c8c1a84f341486bc6374d9129af5d4f1eca77924524280250 days 1 hr ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651.301 Ether
0xcce7d2b18a0ec583dc1f484bc5943300afcf52b0928c4ebeb4f6896ac13c2d404520907250 days 14 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651.01 Ether
0x13da030c332d09bff3bd3ad81afd10433a05b483d06733a4a0a39adae59824ef4515269251 days 12 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.323 Ether
0xbecbfaa1a74aa87dccc27a3c5962b08f224265e794290813e95aeb4d03f989e04502251253 days 14 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.23 Ether
0xe6582fb8fb5a1981b93ac39b47b8a89fe7959b5c39bc75b28bd2013e71d61cd24500260253 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651 Ether
0x94b2c8e9143168918436b787563b8316791442b4eff43ed4fee1437b9bd129564499299254 days 1 hr ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.49 Ether
0x6481bdb58f7d788c7eebd4355445036dbd8f1b0ba30074e88b1b6ee8045367744491323255 days 8 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.3 Ether
0xeb463fefb663af65717275623a83b9f8f2abf23b048ad92d9e21be6b141cc4274484719256 days 9 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.212 Ether
0xb70ab2dc76c29e43d1b61b8173797450cb9c11074b3825687a3192b4e87531014475252257 days 22 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.15 Ether
0x385c4a57e93c330e226ac0f93ece98e788d55e5bdac7d39d2e4670a98c0ebc874472717258 days 8 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722650.76808578 Ether
0x196c4a75ae1914bfe55b06dfd800776e055198792e21661a295c0923fedf48c04466097259 days 10 hrs ago0x1844b21593262668b7248d0f57a220caaba46ab90x2da59901939682eab8887edb0fd1ce42990722651.0085 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: OysterPearl
Compiler Version: 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 txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.